@kerebron/legacy-compat 0.7.5 → 0.7.7

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 (435) hide show
  1. package/dist/kerebron-light.css +1 -1
  2. package/dist/kerebron.cjs +196 -1
  3. package/dist/kerebron.css +1 -1
  4. package/dist/kerebron.js +35005 -5
  5. package/dist/kerebron3.cjs.map +1 -1
  6. package/dist/kerebron3.js.map +1 -1
  7. package/package.json +1 -1
  8. package/dist/__vite-browser-external-DEj2HSsT.cjs +0 -235
  9. package/dist/__vite-browser-external-DEj2HSsT.cjs.map +0 -1
  10. package/dist/__vite-browser-external-ZW37Brf4.js +0 -56473
  11. package/dist/__vite-browser-external-ZW37Brf4.js.map +0 -1
  12. package/dist/apl-B2DGVGxc.js +0 -77
  13. package/dist/apl-B2DGVGxc.js.map +0 -1
  14. package/dist/apl-M-DNMvvR.cjs +0 -2
  15. package/dist/apl-M-DNMvvR.cjs.map +0 -1
  16. package/dist/asciiarmor-2LVJmxlE.js +0 -35
  17. package/dist/asciiarmor-2LVJmxlE.js.map +0 -1
  18. package/dist/asciiarmor-BMx3XVjX.cjs +0 -2
  19. package/dist/asciiarmor-BMx3XVjX.cjs.map +0 -1
  20. package/dist/asn1-OOsVM4yU.cjs +0 -2
  21. package/dist/asn1-OOsVM4yU.cjs.map +0 -1
  22. package/dist/asn1-jKiBa2Ya.js +0 -96
  23. package/dist/asn1-jKiBa2Ya.js.map +0 -1
  24. package/dist/asterisk-B1QUaW1C.cjs +0 -2
  25. package/dist/asterisk-B1QUaW1C.cjs.map +0 -1
  26. package/dist/asterisk-DS281yxp.js +0 -272
  27. package/dist/asterisk-DS281yxp.js.map +0 -1
  28. package/dist/brainfuck-BjUlYKdF.cjs +0 -2
  29. package/dist/brainfuck-BjUlYKdF.cjs.map +0 -1
  30. package/dist/brainfuck-C_p9pTT8.js +0 -35
  31. package/dist/brainfuck-C_p9pTT8.js.map +0 -1
  32. package/dist/clike-DE3V9X8-.js +0 -616
  33. package/dist/clike-DE3V9X8-.js.map +0 -1
  34. package/dist/clike-DLHgOXgk.cjs +0 -2
  35. package/dist/clike-DLHgOXgk.cjs.map +0 -1
  36. package/dist/clojure-Ap_IXD2I.cjs +0 -2
  37. package/dist/clojure-Ap_IXD2I.cjs.map +0 -1
  38. package/dist/clojure-CCKyeQKf.js +0 -801
  39. package/dist/clojure-CCKyeQKf.js.map +0 -1
  40. package/dist/cmake-C4D5_VmS.cjs +0 -2
  41. package/dist/cmake-C4D5_VmS.cjs.map +0 -1
  42. package/dist/cmake-CuaCgAKt.js +0 -29
  43. package/dist/cmake-CuaCgAKt.js.map +0 -1
  44. package/dist/cobol-BlTKFDRj.js +0 -73
  45. package/dist/cobol-BlTKFDRj.js.map +0 -1
  46. package/dist/cobol-Du-cT2hr.cjs +0 -2
  47. package/dist/cobol-Du-cT2hr.cjs.map +0 -1
  48. package/dist/coffeescript-BVCvwO8I.js +0 -180
  49. package/dist/coffeescript-BVCvwO8I.js.map +0 -1
  50. package/dist/coffeescript-DDFAj2ea.cjs +0 -2
  51. package/dist/coffeescript-DDFAj2ea.cjs.map +0 -1
  52. package/dist/commonlisp-CXBBRCTx.cjs +0 -2
  53. package/dist/commonlisp-CXBBRCTx.cjs.map +0 -1
  54. package/dist/commonlisp-D_kxz07b.js +0 -76
  55. package/dist/commonlisp-D_kxz07b.js.map +0 -1
  56. package/dist/crystal-D309uH6_.js +0 -218
  57. package/dist/crystal-D309uH6_.js.map +0 -1
  58. package/dist/crystal-DAFWRDbh.cjs +0 -2
  59. package/dist/crystal-DAFWRDbh.cjs.map +0 -1
  60. package/dist/cypher-BMq4Fwjl.js +0 -69
  61. package/dist/cypher-BMq4Fwjl.js.map +0 -1
  62. package/dist/cypher-BN0-oCze.cjs +0 -2
  63. package/dist/cypher-BN0-oCze.cjs.map +0 -1
  64. package/dist/d-BHsqGcfm.cjs +0 -2
  65. package/dist/d-BHsqGcfm.cjs.map +0 -1
  66. package/dist/d-BZcgY6La.js +0 -128
  67. package/dist/d-BZcgY6La.js.map +0 -1
  68. package/dist/diff-CemTHKfk.cjs +0 -2
  69. package/dist/diff-CemTHKfk.cjs.map +0 -1
  70. package/dist/diff-Cg9d_RX2.js +0 -19
  71. package/dist/diff-Cg9d_RX2.js.map +0 -1
  72. package/dist/dockerfile-BBTH3voH.cjs +0 -2
  73. package/dist/dockerfile-BBTH3voH.cjs.map +0 -1
  74. package/dist/dockerfile-DIy8NleC.js +0 -195
  75. package/dist/dockerfile-DIy8NleC.js.map +0 -1
  76. package/dist/dtd-ChoVQPwv.cjs +0 -2
  77. package/dist/dtd-ChoVQPwv.cjs.map +0 -1
  78. package/dist/dtd-CtLokQ-U.js +0 -85
  79. package/dist/dtd-CtLokQ-U.js.map +0 -1
  80. package/dist/dylan-QYeExnWK.js +0 -235
  81. package/dist/dylan-QYeExnWK.js.map +0 -1
  82. package/dist/dylan-apTQIgUA.cjs +0 -2
  83. package/dist/dylan-apTQIgUA.cjs.map +0 -1
  84. package/dist/ebnf-DUPDuY4r.js +0 -79
  85. package/dist/ebnf-DUPDuY4r.js.map +0 -1
  86. package/dist/ebnf-LYmLy17h.cjs +0 -2
  87. package/dist/ebnf-LYmLy17h.cjs.map +0 -1
  88. package/dist/ecl-C7WNQq7-.cjs +0 -2
  89. package/dist/ecl-C7WNQq7-.cjs.map +0 -1
  90. package/dist/ecl-CiXN-g_D.js +0 -122
  91. package/dist/ecl-CiXN-g_D.js.map +0 -1
  92. package/dist/eiffel-BJThA8RG.cjs +0 -2
  93. package/dist/eiffel-BJThA8RG.cjs.map +0 -1
  94. package/dist/eiffel-yQhjl4T1.js +0 -111
  95. package/dist/eiffel-yQhjl4T1.js.map +0 -1
  96. package/dist/elm-CNT9vbN0.js +0 -109
  97. package/dist/elm-CNT9vbN0.js.map +0 -1
  98. package/dist/elm-CcXP9T36.cjs +0 -2
  99. package/dist/elm-CcXP9T36.cjs.map +0 -1
  100. package/dist/erlang-B6mpcObI.cjs +0 -2
  101. package/dist/erlang-B6mpcObI.cjs.map +0 -1
  102. package/dist/erlang-CFOYdy9e.js +0 -488
  103. package/dist/erlang-CFOYdy9e.js.map +0 -1
  104. package/dist/factor-B-tsx9yW.cjs +0 -2
  105. package/dist/factor-B-tsx9yW.cjs.map +0 -1
  106. package/dist/factor-DDOC7X6P.js +0 -66
  107. package/dist/factor-DDOC7X6P.js.map +0 -1
  108. package/dist/fcl-BzAKklXo.cjs +0 -2
  109. package/dist/fcl-BzAKklXo.cjs.map +0 -1
  110. package/dist/fcl-CPC2WYrI.js +0 -104
  111. package/dist/fcl-CPC2WYrI.js.map +0 -1
  112. package/dist/forth-BmxRyE9S.js +0 -61
  113. package/dist/forth-BmxRyE9S.js.map +0 -1
  114. package/dist/forth-CPAzyZ_n.cjs +0 -2
  115. package/dist/forth-CPAzyZ_n.cjs.map +0 -1
  116. package/dist/fortran-9bvPyrOW.js +0 -443
  117. package/dist/fortran-9bvPyrOW.js.map +0 -1
  118. package/dist/fortran-DHiTlGV1.cjs +0 -2
  119. package/dist/fortran-DHiTlGV1.cjs.map +0 -1
  120. package/dist/gas-BiPtGF2E.cjs +0 -2
  121. package/dist/gas-BiPtGF2E.cjs.map +0 -1
  122. package/dist/gas-cpmYfFX2.js +0 -184
  123. package/dist/gas-cpmYfFX2.js.map +0 -1
  124. package/dist/gherkin-CJuwpceU.js +0 -35
  125. package/dist/gherkin-CJuwpceU.js.map +0 -1
  126. package/dist/gherkin-Djo7Y51D.cjs +0 -2
  127. package/dist/gherkin-Djo7Y51D.cjs.map +0 -1
  128. package/dist/go-BHVhI2MG.js +0 -156
  129. package/dist/go-BHVhI2MG.js.map +0 -1
  130. package/dist/go-BgtlNyKc.cjs +0 -2
  131. package/dist/go-BgtlNyKc.cjs.map +0 -1
  132. package/dist/groovy-BMVITiCm.cjs +0 -2
  133. package/dist/groovy-BMVITiCm.cjs.map +0 -1
  134. package/dist/groovy-DZeT_VM-.js +0 -147
  135. package/dist/groovy-DZeT_VM-.js.map +0 -1
  136. package/dist/haskell-C46lNFBv.cjs +0 -2
  137. package/dist/haskell-C46lNFBv.cjs.map +0 -1
  138. package/dist/haskell-CxiO_7JL.js +0 -376
  139. package/dist/haskell-CxiO_7JL.js.map +0 -1
  140. package/dist/haxe-BhV0x0nk.js +0 -337
  141. package/dist/haxe-BhV0x0nk.js.map +0 -1
  142. package/dist/haxe-G9XvbXZx.cjs +0 -2
  143. package/dist/haxe-G9XvbXZx.cjs.map +0 -1
  144. package/dist/http-BkLifcnL.cjs +0 -2
  145. package/dist/http-BkLifcnL.cjs.map +0 -1
  146. package/dist/http-D9LttvKF.js +0 -45
  147. package/dist/http-D9LttvKF.js.map +0 -1
  148. package/dist/idl-B6TRFYjl.js +0 -948
  149. package/dist/idl-B6TRFYjl.js.map +0 -1
  150. package/dist/idl-FmHDmsE-.cjs +0 -2
  151. package/dist/idl-FmHDmsE-.cjs.map +0 -1
  152. package/dist/index-1FwPug-t.js +0 -961
  153. package/dist/index-1FwPug-t.js.map +0 -1
  154. package/dist/index-B6dEzV2b.cjs +0 -2
  155. package/dist/index-B6dEzV2b.cjs.map +0 -1
  156. package/dist/index-B7gU7Fh_.js +0 -613
  157. package/dist/index-B7gU7Fh_.js.map +0 -1
  158. package/dist/index-B8srnV19.js +0 -1306
  159. package/dist/index-B8srnV19.js.map +0 -1
  160. package/dist/index-BBMh0BvB.js +0 -63
  161. package/dist/index-BBMh0BvB.js.map +0 -1
  162. package/dist/index-BQ530BQl.cjs +0 -2
  163. package/dist/index-BQ530BQl.cjs.map +0 -1
  164. package/dist/index-BUEvxYg1.cjs +0 -4
  165. package/dist/index-BUEvxYg1.cjs.map +0 -1
  166. package/dist/index-BZ5P3Kv0.cjs +0 -7
  167. package/dist/index-BZ5P3Kv0.cjs.map +0 -1
  168. package/dist/index-BvLgnTK0.cjs +0 -2
  169. package/dist/index-BvLgnTK0.cjs.map +0 -1
  170. package/dist/index-Byc1bIE2.js +0 -310
  171. package/dist/index-Byc1bIE2.js.map +0 -1
  172. package/dist/index-BzuM7CSO.js +0 -77
  173. package/dist/index-BzuM7CSO.js.map +0 -1
  174. package/dist/index-CQpRl1to.js +0 -303
  175. package/dist/index-CQpRl1to.js.map +0 -1
  176. package/dist/index-CYSjCryY.cjs +0 -2
  177. package/dist/index-CYSjCryY.cjs.map +0 -1
  178. package/dist/index-Cb9pkCYO.js +0 -158
  179. package/dist/index-Cb9pkCYO.js.map +0 -1
  180. package/dist/index-CcIqnmcV.js +0 -60
  181. package/dist/index-CcIqnmcV.js.map +0 -1
  182. package/dist/index-CdGHKsNJ.cjs +0 -2
  183. package/dist/index-CdGHKsNJ.cjs.map +0 -1
  184. package/dist/index-CsNjufUm.cjs +0 -3
  185. package/dist/index-CsNjufUm.cjs.map +0 -1
  186. package/dist/index-D0nsdJs5.js +0 -95
  187. package/dist/index-D0nsdJs5.js.map +0 -1
  188. package/dist/index-D203InKa.cjs +0 -2
  189. package/dist/index-D203InKa.cjs.map +0 -1
  190. package/dist/index-DBCbd-3W.cjs +0 -2
  191. package/dist/index-DBCbd-3W.cjs.map +0 -1
  192. package/dist/index-DPNQvgDc.cjs +0 -14
  193. package/dist/index-DPNQvgDc.cjs.map +0 -1
  194. package/dist/index-D__6kAHa.js +0 -1918
  195. package/dist/index-D__6kAHa.js.map +0 -1
  196. package/dist/index-DjzVrRux.cjs +0 -2
  197. package/dist/index-DjzVrRux.cjs.map +0 -1
  198. package/dist/index-DkicjISi.cjs +0 -2
  199. package/dist/index-DkicjISi.cjs.map +0 -1
  200. package/dist/index-DvZkiV6W.cjs +0 -2
  201. package/dist/index-DvZkiV6W.cjs.map +0 -1
  202. package/dist/index-E9rwTPVg.cjs +0 -2
  203. package/dist/index-E9rwTPVg.cjs.map +0 -1
  204. package/dist/index-Hy59UYbT.js +0 -566
  205. package/dist/index-Hy59UYbT.js.map +0 -1
  206. package/dist/index-MOkOI4Tj.js +0 -554
  207. package/dist/index-MOkOI4Tj.js.map +0 -1
  208. package/dist/index-qEqiXfAO.js +0 -946
  209. package/dist/index-qEqiXfAO.js.map +0 -1
  210. package/dist/index-yxAWy9bG.js +0 -139
  211. package/dist/index-yxAWy9bG.js.map +0 -1
  212. package/dist/jinja2-DnB6dQmV.js +0 -155
  213. package/dist/jinja2-DnB6dQmV.js.map +0 -1
  214. package/dist/jinja2-wbVbDTNi.cjs +0 -2
  215. package/dist/jinja2-wbVbDTNi.cjs.map +0 -1
  216. package/dist/julia-DA67Qw9E.cjs +0 -2
  217. package/dist/julia-DA67Qw9E.cjs.map +0 -1
  218. package/dist/julia-DpvXAuO6.js +0 -242
  219. package/dist/julia-DpvXAuO6.js.map +0 -1
  220. package/dist/livescript-Bg3URadp.cjs +0 -2
  221. package/dist/livescript-Bg3URadp.cjs.map +0 -1
  222. package/dist/livescript-CanGTf8u.js +0 -273
  223. package/dist/livescript-CanGTf8u.js.map +0 -1
  224. package/dist/lua-CIsxjGwi.cjs +0 -2
  225. package/dist/lua-CIsxjGwi.cjs.map +0 -1
  226. package/dist/lua-XplVlWi_.js +0 -218
  227. package/dist/lua-XplVlWi_.js.map +0 -1
  228. package/dist/mathematica-BG089QIc.cjs +0 -2
  229. package/dist/mathematica-BG089QIc.cjs.map +0 -1
  230. package/dist/mathematica-jaRHnSxC.js +0 -36
  231. package/dist/mathematica-jaRHnSxC.js.map +0 -1
  232. package/dist/mbox-BctzC1hL.js +0 -77
  233. package/dist/mbox-BctzC1hL.js.map +0 -1
  234. package/dist/mbox-CySolFFZ.cjs +0 -2
  235. package/dist/mbox-CySolFFZ.cjs.map +0 -1
  236. package/dist/mirc-BfqEffzk.cjs +0 -2
  237. package/dist/mirc-BfqEffzk.cjs.map +0 -1
  238. package/dist/mirc-CFBPAOaF.js +0 -73
  239. package/dist/mirc-CFBPAOaF.js.map +0 -1
  240. package/dist/mllike-CBK_zjnT.cjs +0 -2
  241. package/dist/mllike-CBK_zjnT.cjs.map +0 -1
  242. package/dist/mllike-gvRenHsu.js +0 -273
  243. package/dist/mllike-gvRenHsu.js.map +0 -1
  244. package/dist/modelica-B6Zhcb-M.cjs +0 -2
  245. package/dist/modelica-B6Zhcb-M.cjs.map +0 -1
  246. package/dist/modelica-vUgVs--1.js +0 -94
  247. package/dist/modelica-vUgVs--1.js.map +0 -1
  248. package/dist/mscgen-B_Dg_s1G.cjs +0 -2
  249. package/dist/mscgen-B_Dg_s1G.cjs.map +0 -1
  250. package/dist/mscgen-ucEwbOaK.js +0 -82
  251. package/dist/mscgen-ucEwbOaK.js.map +0 -1
  252. package/dist/mumps-CQoS1kWX.js +0 -26
  253. package/dist/mumps-CQoS1kWX.js.map +0 -1
  254. package/dist/mumps-wfyQdxSu.cjs +0 -2
  255. package/dist/mumps-wfyQdxSu.cjs.map +0 -1
  256. package/dist/nginx-CwqyBUfA.cjs +0 -2
  257. package/dist/nginx-CwqyBUfA.cjs.map +0 -1
  258. package/dist/nginx-zDPm3Z74.js +0 -90
  259. package/dist/nginx-zDPm3Z74.js.map +0 -1
  260. package/dist/nsis-DPj2fUaP.cjs +0 -2
  261. package/dist/nsis-DPj2fUaP.cjs.map +0 -1
  262. package/dist/nsis-fePjrhq7.js +0 -63
  263. package/dist/nsis-fePjrhq7.js.map +0 -1
  264. package/dist/ntriples-CsNjv2QF.js +0 -80
  265. package/dist/ntriples-CsNjv2QF.js.map +0 -1
  266. package/dist/ntriples-DgwJmozm.cjs +0 -2
  267. package/dist/ntriples-DgwJmozm.cjs.map +0 -1
  268. package/dist/octave-1pkKrgAA.cjs +0 -2
  269. package/dist/octave-1pkKrgAA.cjs.map +0 -1
  270. package/dist/octave-C8PmmSRH.js +0 -144
  271. package/dist/octave-C8PmmSRH.js.map +0 -1
  272. package/dist/oz-BXOZCt0U.cjs +0 -2
  273. package/dist/oz-BXOZCt0U.cjs.map +0 -1
  274. package/dist/oz-Ce8aN8oE.js +0 -152
  275. package/dist/oz-Ce8aN8oE.js.map +0 -1
  276. package/dist/pascal-De0D6mP7.js +0 -78
  277. package/dist/pascal-De0D6mP7.js.map +0 -1
  278. package/dist/pascal-DtY2LEkJ.cjs +0 -2
  279. package/dist/pascal-DtY2LEkJ.cjs.map +0 -1
  280. package/dist/perl-B4bSCe1C.js +0 -916
  281. package/dist/perl-B4bSCe1C.js.map +0 -1
  282. package/dist/perl-CVDWbEju.cjs +0 -2
  283. package/dist/perl-CVDWbEju.cjs.map +0 -1
  284. package/dist/pig-D24Z8EXi.js +0 -55
  285. package/dist/pig-D24Z8EXi.js.map +0 -1
  286. package/dist/pig-DMByOrnr.cjs +0 -2
  287. package/dist/pig-DMByOrnr.cjs.map +0 -1
  288. package/dist/powershell-BaoYaFvj.cjs +0 -2
  289. package/dist/powershell-BaoYaFvj.cjs.map +0 -1
  290. package/dist/powershell-DkYVfTzP.js +0 -250
  291. package/dist/powershell-DkYVfTzP.js.map +0 -1
  292. package/dist/properties-DXHJZ3WE.cjs +0 -2
  293. package/dist/properties-DXHJZ3WE.cjs.map +0 -1
  294. package/dist/properties-Dn9wna3M.js +0 -27
  295. package/dist/properties-Dn9wna3M.js.map +0 -1
  296. package/dist/protobuf-BKhXdfH6.cjs +0 -2
  297. package/dist/protobuf-BKhXdfH6.cjs.map +0 -1
  298. package/dist/protobuf-BPIjwpzm.js +0 -50
  299. package/dist/protobuf-BPIjwpzm.js.map +0 -1
  300. package/dist/puppet-8mAyuMbW.cjs +0 -2
  301. package/dist/puppet-8mAyuMbW.cjs.map +0 -1
  302. package/dist/puppet-nyd4dhjf.js +0 -46
  303. package/dist/puppet-nyd4dhjf.js.map +0 -1
  304. package/dist/q-BPQ45Nxu.cjs +0 -2
  305. package/dist/q-BPQ45Nxu.cjs.map +0 -1
  306. package/dist/q-DXjKs-tC.js +0 -84
  307. package/dist/q-DXjKs-tC.js.map +0 -1
  308. package/dist/r-LKEuhEGI.js +0 -105
  309. package/dist/r-LKEuhEGI.js.map +0 -1
  310. package/dist/r-r2_EZsON.cjs +0 -2
  311. package/dist/r-r2_EZsON.cjs.map +0 -1
  312. package/dist/rpm-BoAefZZ1.js +0 -50
  313. package/dist/rpm-BoAefZZ1.js.map +0 -1
  314. package/dist/rpm-C6UDHByS.cjs +0 -2
  315. package/dist/rpm-C6UDHByS.cjs.map +0 -1
  316. package/dist/ruby-CcYfvIk6.js +0 -229
  317. package/dist/ruby-CcYfvIk6.js.map +0 -1
  318. package/dist/ruby-Cn1sFkZF.cjs +0 -2
  319. package/dist/ruby-Cn1sFkZF.cjs.map +0 -1
  320. package/dist/sas-7E8yHoCW.js +0 -106
  321. package/dist/sas-7E8yHoCW.js.map +0 -1
  322. package/dist/sas-DAGcJy94.cjs +0 -2
  323. package/dist/sas-DAGcJy94.cjs.map +0 -1
  324. package/dist/scheme-B0ZrbojV.cjs +0 -2
  325. package/dist/scheme-B0ZrbojV.cjs.map +0 -1
  326. package/dist/scheme-DjibxsNh.js +0 -125
  327. package/dist/scheme-DjibxsNh.js.map +0 -1
  328. package/dist/shell-BMYo43V6.cjs +0 -2
  329. package/dist/shell-BMYo43V6.cjs.map +0 -1
  330. package/dist/shell-C0C2sNA_.js +0 -183
  331. package/dist/shell-C0C2sNA_.js.map +0 -1
  332. package/dist/simple-mode-B0dvCdAA.js +0 -90
  333. package/dist/simple-mode-B0dvCdAA.js.map +0 -1
  334. package/dist/simple-mode-BIKNPBes.cjs +0 -2
  335. package/dist/simple-mode-BIKNPBes.cjs.map +0 -1
  336. package/dist/smalltalk-Bhddl2pB.js +0 -49
  337. package/dist/smalltalk-Bhddl2pB.js.map +0 -1
  338. package/dist/smalltalk-CSslY-3i.cjs +0 -2
  339. package/dist/smalltalk-CSslY-3i.cjs.map +0 -1
  340. package/dist/solr-A1kSnAwJ.cjs +0 -2
  341. package/dist/solr-A1kSnAwJ.cjs.map +0 -1
  342. package/dist/solr-BNlsLglM.js +0 -42
  343. package/dist/solr-BNlsLglM.js.map +0 -1
  344. package/dist/sparql-DnHMBLLY.cjs +0 -2
  345. package/dist/sparql-DnHMBLLY.cjs.map +0 -1
  346. package/dist/sparql-FarWu_Gb.js +0 -198
  347. package/dist/sparql-FarWu_Gb.js.map +0 -1
  348. package/dist/spreadsheet-B7_BK8hB.cjs +0 -2
  349. package/dist/spreadsheet-B7_BK8hB.cjs.map +0 -1
  350. package/dist/spreadsheet-C-cy4P5N.js +0 -50
  351. package/dist/spreadsheet-C-cy4P5N.js.map +0 -1
  352. package/dist/stex-B4wyjEnp.cjs +0 -2
  353. package/dist/stex-B4wyjEnp.cjs.map +0 -1
  354. package/dist/stex-Du4h4KAU.js +0 -130
  355. package/dist/stex-Du4h4KAU.js.map +0 -1
  356. package/dist/stylus-B3vYZZY8.cjs +0 -2
  357. package/dist/stylus-B3vYZZY8.cjs.map +0 -1
  358. package/dist/stylus-DRcbY16X.js +0 -251
  359. package/dist/stylus-DRcbY16X.js.map +0 -1
  360. package/dist/swift-DGw6Cgu8.cjs +0 -2
  361. package/dist/swift-DGw6Cgu8.cjs.map +0 -1
  362. package/dist/swift-DSxqR9R6.js +0 -231
  363. package/dist/swift-DSxqR9R6.js.map +0 -1
  364. package/dist/tcl-ByLXbQFo.cjs +0 -2
  365. package/dist/tcl-ByLXbQFo.cjs.map +0 -1
  366. package/dist/tcl-xfoLljhY.js +0 -82
  367. package/dist/tcl-xfoLljhY.js.map +0 -1
  368. package/dist/textile-D1AWE-pc.js +0 -296
  369. package/dist/textile-D1AWE-pc.js.map +0 -1
  370. package/dist/textile-iryw-lTw.cjs +0 -2
  371. package/dist/textile-iryw-lTw.cjs.map +0 -1
  372. package/dist/tiddlywiki-5wqsXtSk.js +0 -156
  373. package/dist/tiddlywiki-5wqsXtSk.js.map +0 -1
  374. package/dist/tiddlywiki-D8IJz1k7.cjs +0 -2
  375. package/dist/tiddlywiki-D8IJz1k7.cjs.map +0 -1
  376. package/dist/tiki-C5p5KSQK.cjs +0 -2
  377. package/dist/tiki-C5p5KSQK.cjs.map +0 -1
  378. package/dist/tiki-__Kn3CeS.js +0 -182
  379. package/dist/tiki-__Kn3CeS.js.map +0 -1
  380. package/dist/toml-3ZsH_4Qa.cjs +0 -2
  381. package/dist/toml-3ZsH_4Qa.cjs.map +0 -1
  382. package/dist/toml-BHiuTcfn.js +0 -50
  383. package/dist/toml-BHiuTcfn.js.map +0 -1
  384. package/dist/troff-D-3QCOYN.cjs +0 -2
  385. package/dist/troff-D-3QCOYN.cjs.map +0 -1
  386. package/dist/troff-D2UO-fKf.js +0 -36
  387. package/dist/troff-D2UO-fKf.js.map +0 -1
  388. package/dist/ttcn-Bsa4sfRm.js +0 -124
  389. package/dist/ttcn-Bsa4sfRm.js.map +0 -1
  390. package/dist/ttcn-C2MXAqcM.cjs +0 -2
  391. package/dist/ttcn-C2MXAqcM.cjs.map +0 -1
  392. package/dist/turtle-DSJNatSv.cjs +0 -2
  393. package/dist/turtle-DSJNatSv.cjs.map +0 -1
  394. package/dist/turtle-xwJUxoPV.js +0 -81
  395. package/dist/turtle-xwJUxoPV.js.map +0 -1
  396. package/dist/vb-c2kQGd6-.js +0 -75
  397. package/dist/vb-c2kQGd6-.js.map +0 -1
  398. package/dist/vb-qzHzzvyB.cjs +0 -2
  399. package/dist/vb-qzHzzvyB.cjs.map +0 -1
  400. package/dist/vbscript-1f_Dhg5H.js +0 -325
  401. package/dist/vbscript-1f_Dhg5H.js.map +0 -1
  402. package/dist/vbscript-CWm8v9tE.cjs +0 -2
  403. package/dist/vbscript-CWm8v9tE.cjs.map +0 -1
  404. package/dist/velocity-D3_yAIp3.cjs +0 -2
  405. package/dist/velocity-D3_yAIp3.cjs.map +0 -1
  406. package/dist/velocity-DJd0pTTC.js +0 -97
  407. package/dist/velocity-DJd0pTTC.js.map +0 -1
  408. package/dist/verilog-BOhLNmQo.cjs +0 -2
  409. package/dist/verilog-BOhLNmQo.cjs.map +0 -1
  410. package/dist/verilog-CiS1jyi5.js +0 -263
  411. package/dist/verilog-CiS1jyi5.js.map +0 -1
  412. package/dist/vhdl-CMFbi8Im.cjs +0 -2
  413. package/dist/vhdl-CMFbi8Im.cjs.map +0 -1
  414. package/dist/vhdl-T9HkrbI2.js +0 -107
  415. package/dist/vhdl-T9HkrbI2.js.map +0 -1
  416. package/dist/webidl-CWb_flNk.cjs +0 -2
  417. package/dist/webidl-CWb_flNk.cjs.map +0 -1
  418. package/dist/webidl-CjfDENEo.js +0 -156
  419. package/dist/webidl-CjfDENEo.js.map +0 -1
  420. package/dist/xquery-Ct6lEb4B.js +0 -423
  421. package/dist/xquery-Ct6lEb4B.js.map +0 -1
  422. package/dist/xquery-mbJFEpkV.cjs +0 -2
  423. package/dist/xquery-mbJFEpkV.cjs.map +0 -1
  424. package/dist/yacas-C0absKBh.js +0 -74
  425. package/dist/yacas-C0absKBh.js.map +0 -1
  426. package/dist/yacas-urx_N5C8.cjs +0 -2
  427. package/dist/yacas-urx_N5C8.cjs.map +0 -1
  428. package/dist/yaml-CSixJMdf.cjs +0 -2
  429. package/dist/yaml-CSixJMdf.cjs.map +0 -1
  430. package/dist/yaml-Dt6Tp2eU.js +0 -54
  431. package/dist/yaml-Dt6Tp2eU.js.map +0 -1
  432. package/dist/z80-CsG3CM6M.cjs +0 -2
  433. package/dist/z80-CsG3CM6M.cjs.map +0 -1
  434. package/dist/z80-Pki2zAjW.js +0 -62
  435. package/dist/z80-Pki2zAjW.js.map +0 -1
package/dist/kerebron.cjs CHANGED
@@ -1,2 +1,197 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./__vite-browser-external-DEj2HSsT.cjs");exports.AdvancedEditorKit=e.AdvancedEditorKit;exports.CoreEditor=e.CoreEditor;exports.ExtensionHistory=e.ExtensionHistory;exports.createAssetLoad=e.createAssetLoad;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var _documentCurrentScript=typeof document<"u"?document.currentScript:null;function OrderedMap(t){this.content=t}OrderedMap.prototype={constructor:OrderedMap,find:function(t){for(var e=0;e<this.content.length;e+=2)if(this.content[e]===t)return e;return-1},get:function(t){var e=this.find(t);return e==-1?void 0:this.content[e+1]},update:function(t,e,A){var n=A&&A!=t?this.remove(A):this,r=n.find(t),o=n.content.slice();return r==-1?o.push(A||t,e):(o[r+1]=e,A&&(o[r]=A)),new OrderedMap(o)},remove:function(t){var e=this.find(t);if(e==-1)return this;var A=this.content.slice();return A.splice(e,2),new OrderedMap(A)},addToStart:function(t,e){return new OrderedMap([t,e].concat(this.remove(t).content))},addToEnd:function(t,e){var A=this.remove(t).content.slice();return A.push(t,e),new OrderedMap(A)},addBefore:function(t,e,A){var n=this.remove(e),r=n.content.slice(),o=n.find(t);return r.splice(o==-1?r.length:o,0,e,A),new OrderedMap(r)},forEach:function(t){for(var e=0;e<this.content.length;e+=2)t(this.content[e],this.content[e+1])},prepend:function(t){return t=OrderedMap.from(t),t.size?new OrderedMap(t.content.concat(this.subtract(t).content)):this},append:function(t){return t=OrderedMap.from(t),t.size?new OrderedMap(this.subtract(t).content.concat(t.content)):this},subtract:function(t){var e=this;t=OrderedMap.from(t);for(var A=0;A<t.content.length;A+=2)e=e.remove(t.content[A]);return e},toObject:function(){var t={};return this.forEach(function(e,A){t[e]=A}),t},get size(){return this.content.length>>1}};OrderedMap.from=function(t){if(t instanceof OrderedMap)return t;var e=[];if(t)for(var A in t)e.push(A,t[A]);return new OrderedMap(e)};function findDiffStart(t,e,A){for(let n=0;;n++){if(n==t.childCount||n==e.childCount)return t.childCount==e.childCount?null:A;let r=t.child(n),o=e.child(n);if(r==o){A+=r.nodeSize;continue}if(!r.sameMarkup(o))return A;if(r.isText&&r.text!=o.text){for(let s=0;r.text[s]==o.text[s];s++)A++;return A}if(r.content.size||o.content.size){let s=findDiffStart(r.content,o.content,A+1);if(s!=null)return s}A+=r.nodeSize}}function findDiffEnd(t,e,A,n){for(let r=t.childCount,o=e.childCount;;){if(r==0||o==0)return r==o?null:{a:A,b:n};let s=t.child(--r),a=e.child(--o),l=s.nodeSize;if(s==a){A-=l,n-=l;continue}if(!s.sameMarkup(a))return{a:A,b:n};if(s.isText&&s.text!=a.text){let g=0,c=Math.min(s.text.length,a.text.length);for(;g<c&&s.text[s.text.length-g-1]==a.text[a.text.length-g-1];)g++,A--,n--;return{a:A,b:n}}if(s.content.size||a.content.size){let g=findDiffEnd(s.content,a.content,A-1,n-1);if(g)return g}A-=l,n-=l}}class Fragment{constructor(e,A){if(this.content=e,this.size=A||0,A==null)for(let n=0;n<e.length;n++)this.size+=e[n].nodeSize}nodesBetween(e,A,n,r=0,o){for(let s=0,a=0;a<A;s++){let l=this.content[s],g=a+l.nodeSize;if(g>e&&n(l,r+a,o||null,s)!==!1&&l.content.size){let c=a+1;l.nodesBetween(Math.max(0,e-c),Math.min(l.content.size,A-c),n,r+c)}a=g}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,A,n,r){let o="",s=!0;return this.nodesBetween(e,A,(a,l)=>{let g=a.isText?a.text.slice(Math.max(e,l)-l,A-l):a.isLeaf?r?typeof r=="function"?r(a):r:a.type.spec.leafText?a.type.spec.leafText(a):"":"";a.isBlock&&(a.isLeaf&&g||a.isTextblock)&&n&&(s?s=!1:o+=n),o+=g},0),o}append(e){if(!e.size)return this;if(!this.size)return e;let A=this.lastChild,n=e.firstChild,r=this.content.slice(),o=0;for(A.isText&&A.sameMarkup(n)&&(r[r.length-1]=A.withText(A.text+n.text),o=1);o<e.content.length;o++)r.push(e.content[o]);return new Fragment(r,this.size+e.size)}cut(e,A=this.size){if(e==0&&A==this.size)return this;let n=[],r=0;if(A>e)for(let o=0,s=0;s<A;o++){let a=this.content[o],l=s+a.nodeSize;l>e&&((s<e||l>A)&&(a.isText?a=a.cut(Math.max(0,e-s),Math.min(a.text.length,A-s)):a=a.cut(Math.max(0,e-s-1),Math.min(a.content.size,A-s-1))),n.push(a),r+=a.nodeSize),s=l}return new Fragment(n,r)}cutByIndex(e,A){return e==A?Fragment.empty:e==0&&A==this.content.length?this:new Fragment(this.content.slice(e,A))}replaceChild(e,A){let n=this.content[e];if(n==A)return this;let r=this.content.slice(),o=this.size+A.nodeSize-n.nodeSize;return r[e]=A,new Fragment(r,o)}addToStart(e){return new Fragment([e].concat(this.content),this.size+e.nodeSize)}addToEnd(e){return new Fragment(this.content.concat(e),this.size+e.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let A=0;A<this.content.length;A++)if(!this.content[A].eq(e.content[A]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let A=this.content[e];if(!A)throw new RangeError("Index "+e+" out of range for "+this);return A}maybeChild(e){return this.content[e]||null}forEach(e){for(let A=0,n=0;A<this.content.length;A++){let r=this.content[A];e(r,n,A),n+=r.nodeSize}}findDiffStart(e,A=0){return findDiffStart(this,e,A)}findDiffEnd(e,A=this.size,n=e.size){return findDiffEnd(this,e,A,n)}findIndex(e){if(e==0)return retIndex(0,e);if(e==this.size)return retIndex(this.content.length,e);if(e>this.size||e<0)throw new RangeError(`Position ${e} outside of fragment (${this})`);for(let A=0,n=0;;A++){let r=this.child(A),o=n+r.nodeSize;if(o>=e)return o==e?retIndex(A+1,o):retIndex(A,n);n=o}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(e,A){if(!A)return Fragment.empty;if(!Array.isArray(A))throw new RangeError("Invalid input for Fragment.fromJSON");return new Fragment(A.map(e.nodeFromJSON))}static fromArray(e){if(!e.length)return Fragment.empty;let A,n=0;for(let r=0;r<e.length;r++){let o=e[r];n+=o.nodeSize,r&&o.isText&&e[r-1].sameMarkup(o)?(A||(A=e.slice(0,r)),A[A.length-1]=o.withText(A[A.length-1].text+o.text)):A&&A.push(o)}return new Fragment(A||e,n)}static from(e){if(!e)return Fragment.empty;if(e instanceof Fragment)return e;if(Array.isArray(e))return this.fromArray(e);if(e.attrs)return new Fragment([e],e.nodeSize);throw new RangeError("Can not convert "+e+" to a Fragment"+(e.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}Fragment.empty=new Fragment([],0);const found={index:0,offset:0};function retIndex(t,e){return found.index=t,found.offset=e,found}function compareDeep(t,e){if(t===e)return!0;if(!(t&&typeof t=="object")||!(e&&typeof e=="object"))return!1;let A=Array.isArray(t);if(Array.isArray(e)!=A)return!1;if(A){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!compareDeep(t[n],e[n]))return!1}else{for(let n in t)if(!(n in e)||!compareDeep(t[n],e[n]))return!1;for(let n in e)if(!(n in t))return!1}return!0}let Mark$1=class U{constructor(e,A){this.type=e,this.attrs=A}addToSet(e){let A,n=!1;for(let r=0;r<e.length;r++){let o=e[r];if(this.eq(o))return e;if(this.type.excludes(o.type))A||(A=e.slice(0,r));else{if(o.type.excludes(this.type))return e;!n&&o.type.rank>this.type.rank&&(A||(A=e.slice(0,r)),A.push(this),n=!0),A&&A.push(o)}}return A||(A=e.slice()),n||A.push(this),A}removeFromSet(e){for(let A=0;A<e.length;A++)if(this.eq(e[A]))return e.slice(0,A).concat(e.slice(A+1));return e}isInSet(e){for(let A=0;A<e.length;A++)if(this.eq(e[A]))return!0;return!1}eq(e){return this==e||this.type==e.type&&compareDeep(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let A in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,A){if(!A)throw new RangeError("Invalid input for Mark.fromJSON");let n=e.marks[A.type];if(!n)throw new RangeError(`There is no mark type ${A.type} in this schema`);let r=n.create(A.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,A){if(e==A)return!0;if(e.length!=A.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(A[n]))return!1;return!0}static setFrom(e){if(!e||Array.isArray(e)&&e.length==0)return U.none;if(e instanceof U)return[e];let A=e.slice();return A.sort((n,r)=>n.type.rank-r.type.rank),A}};Mark$1.none=[];class ReplaceError extends Error{}class Slice{constructor(e,A,n){this.content=e,this.openStart=A,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(e,A){let n=insertInto(this.content,e+this.openStart,A);return n&&new Slice(n,this.openStart,this.openEnd)}removeBetween(e,A){return new Slice(removeRange(this.content,e+this.openStart,A+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(e,A){if(!A)return Slice.empty;let n=A.openStart||0,r=A.openEnd||0;if(typeof n!="number"||typeof r!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new Slice(Fragment.fromJSON(e,A.content),n,r)}static maxOpen(e,A=!0){let n=0,r=0;for(let o=e.firstChild;o&&!o.isLeaf&&(A||!o.type.spec.isolating);o=o.firstChild)n++;for(let o=e.lastChild;o&&!o.isLeaf&&(A||!o.type.spec.isolating);o=o.lastChild)r++;return new Slice(e,n,r)}}Slice.empty=new Slice(Fragment.empty,0,0);function removeRange(t,e,A){let{index:n,offset:r}=t.findIndex(e),o=t.maybeChild(n),{index:s,offset:a}=t.findIndex(A);if(r==e||o.isText){if(a!=A&&!t.child(s).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(A))}if(n!=s)throw new RangeError("Removing non-flat range");return t.replaceChild(n,o.copy(removeRange(o.content,e-r-1,A-r-1)))}function insertInto(t,e,A,n){let{index:r,offset:o}=t.findIndex(e),s=t.maybeChild(r);if(o==e||s.isText)return n&&!n.canReplace(r,r,A)?null:t.cut(0,e).append(A).append(t.cut(e));let a=insertInto(s.content,e-o-1,A,s);return a&&t.replaceChild(r,s.copy(a))}function replace(t,e,A){if(A.openStart>t.depth)throw new ReplaceError("Inserted content deeper than insertion position");if(t.depth-A.openStart!=e.depth-A.openEnd)throw new ReplaceError("Inconsistent open depths");return replaceOuter(t,e,A,0)}function replaceOuter(t,e,A,n){let r=t.index(n),o=t.node(n);if(r==e.index(n)&&n<t.depth-A.openStart){let s=replaceOuter(t,e,A,n+1);return o.copy(o.content.replaceChild(r,s))}else if(A.content.size)if(!A.openStart&&!A.openEnd&&t.depth==n&&e.depth==n){let s=t.parent,a=s.content;return close(s,a.cut(0,t.parentOffset).append(A.content).append(a.cut(e.parentOffset)))}else{let{start:s,end:a}=prepareSliceForReplace(A,t);return close(o,replaceThreeWay(t,s,a,e,n))}else return close(o,replaceTwoWay(t,e,n))}function checkJoin(t,e){if(!e.type.compatibleContent(t.type))throw new ReplaceError("Cannot join "+e.type.name+" onto "+t.type.name)}function joinable$1(t,e,A){let n=t.node(A);return checkJoin(n,e.node(A)),n}function addNode(t,e){let A=e.length-1;A>=0&&t.isText&&t.sameMarkup(e[A])?e[A]=t.withText(e[A].text+t.text):e.push(t)}function addRange(t,e,A,n){let r=(e||t).node(A),o=0,s=e?e.index(A):r.childCount;t&&(o=t.index(A),t.depth>A?o++:t.textOffset&&(addNode(t.nodeAfter,n),o++));for(let a=o;a<s;a++)addNode(r.child(a),n);e&&e.depth==A&&e.textOffset&&addNode(e.nodeBefore,n)}function close(t,e){return t.type.checkContent(e),t.copy(e)}function replaceThreeWay(t,e,A,n,r){let o=t.depth>r&&joinable$1(t,e,r+1),s=n.depth>r&&joinable$1(A,n,r+1),a=[];return addRange(null,t,r,a),o&&s&&e.index(r)==A.index(r)?(checkJoin(o,s),addNode(close(o,replaceThreeWay(t,e,A,n,r+1)),a)):(o&&addNode(close(o,replaceTwoWay(t,e,r+1)),a),addRange(e,A,r,a),s&&addNode(close(s,replaceTwoWay(A,n,r+1)),a)),addRange(n,null,r,a),new Fragment(a)}function replaceTwoWay(t,e,A){let n=[];if(addRange(null,t,A,n),t.depth>A){let r=joinable$1(t,e,A+1);addNode(close(r,replaceTwoWay(t,e,A+1)),n)}return addRange(e,null,A,n),new Fragment(n)}function prepareSliceForReplace(t,e){let A=e.depth-t.openStart,r=e.node(A).copy(t.content);for(let o=A-1;o>=0;o--)r=e.node(o).copy(Fragment.from(r));return{start:r.resolveNoCache(t.openStart+A),end:r.resolveNoCache(r.content.size-t.openEnd-A)}}class ResolvedPos{constructor(e,A,n){this.pos=e,this.path=A,this.parentOffset=n,this.depth=A.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position before the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position after the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,A=this.index(this.depth);if(A==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(A);return n?e.child(A).cut(n):r}get nodeBefore(){let e=this.index(this.depth),A=this.pos-this.path[this.path.length-1];return A?this.parent.child(e).cut(0,A):e==0?null:this.parent.child(e-1)}posAtIndex(e,A){A=this.resolveDepth(A);let n=this.path[A*3],r=A==0?0:this.path[A*3-1]+1;for(let o=0;o<e;o++)r+=n.child(o).nodeSize;return r}marks(){let e=this.parent,A=this.index();if(e.content.size==0)return Mark$1.none;if(this.textOffset)return e.child(A).marks;let n=e.maybeChild(A-1),r=e.maybeChild(A);if(!n){let a=n;n=r,r=a}let o=n.marks;for(var s=0;s<o.length;s++)o[s].type.spec.inclusive===!1&&(!r||!o[s].isInSet(r.marks))&&(o=o[s--].removeFromSet(o));return o}marksAcross(e){let A=this.parent.maybeChild(this.index());if(!A||!A.isInline)return null;let n=A.marks,r=e.parent.maybeChild(e.index());for(var o=0;o<n.length;o++)n[o].type.spec.inclusive===!1&&(!r||!n[o].isInSet(r.marks))&&(n=n[o--].removeFromSet(n));return n}sharedDepth(e){for(let A=this.depth;A>0;A--)if(this.start(A)<=e&&this.end(A)>=e)return A;return 0}blockRange(e=this,A){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!A||A(this.node(n))))return new NodeRange(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e="";for(let A=1;A<=this.depth;A++)e+=(e?"/":"")+this.node(A).type.name+"_"+this.index(A-1);return e+":"+this.parentOffset}static resolve(e,A){if(!(A>=0&&A<=e.content.size))throw new RangeError("Position "+A+" out of range");let n=[],r=0,o=A;for(let s=e;;){let{index:a,offset:l}=s.content.findIndex(o),g=o-l;if(n.push(s,a,r+l),!g||(s=s.child(a),s.isText))break;o=g-1,r+=l+1}return new ResolvedPos(A,n,o)}static resolveCached(e,A){let n=resolveCache.get(e);if(n)for(let o=0;o<n.elts.length;o++){let s=n.elts[o];if(s.pos==A)return s}else resolveCache.set(e,n=new ResolveCache);let r=n.elts[n.i]=ResolvedPos.resolve(e,A);return n.i=(n.i+1)%resolveCacheSize,r}}class ResolveCache{constructor(){this.elts=[],this.i=0}}const resolveCacheSize=12,resolveCache=new WeakMap;class NodeRange{constructor(e,A,n){this.$from=e,this.$to=A,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const emptyAttrs=Object.create(null);let Node$3=class J{constructor(e,A,n,r=Mark$1.none){this.type=e,this.attrs=A,this.marks=r,this.content=n||Fragment.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,A,n,r=0){this.content.nodesBetween(e,A,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(e,A,n,r){return this.content.textBetween(e,A,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,A,n){return this.type==e&&compareDeep(this.attrs,A||e.defaultAttrs||emptyAttrs)&&Mark$1.sameSet(this.marks,n||Mark$1.none)}copy(e=null){return e==this.content?this:new J(this.type,this.attrs,e,this.marks)}mark(e){return e==this.marks?this:new J(this.type,this.attrs,this.content,e)}cut(e,A=this.content.size){return e==0&&A==this.content.size?this:this.copy(this.content.cut(e,A))}slice(e,A=this.content.size,n=!1){if(e==A)return Slice.empty;let r=this.resolve(e),o=this.resolve(A),s=n?0:r.sharedDepth(A),a=r.start(s),g=r.node(s).content.cut(r.pos-a,o.pos-a);return new Slice(g,r.depth-s,o.depth-s)}replace(e,A,n){return replace(this.resolve(e),this.resolve(A),n)}nodeAt(e){for(let A=this;;){let{index:n,offset:r}=A.content.findIndex(e);if(A=A.maybeChild(n),!A)return null;if(r==e||A.isText)return A;e-=r+1}}childAfter(e){let{index:A,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(A),index:A,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:A,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(A),index:A,offset:n};let r=this.content.child(A-1);return{node:r,index:A-1,offset:n-r.nodeSize}}resolve(e){return ResolvedPos.resolveCached(this,e)}resolveNoCache(e){return ResolvedPos.resolve(this,e)}rangeHasMark(e,A,n){let r=!1;return A>e&&this.nodesBetween(e,A,o=>(n.isInSet(o.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+="("+this.content.toStringInner()+")"),wrapMarks(this.marks,e)}contentMatchAt(e){let A=this.type.contentMatch.matchFragment(this.content,0,e);if(!A)throw new Error("Called contentMatchAt on a node with invalid content");return A}canReplace(e,A,n=Fragment.empty,r=0,o=n.childCount){let s=this.contentMatchAt(e).matchFragment(n,r,o),a=s&&s.matchFragment(this.content,A);if(!a||!a.validEnd)return!1;for(let l=r;l<o;l++)if(!this.type.allowsMarks(n.child(l).marks))return!1;return!0}canReplaceWith(e,A,n,r){if(r&&!this.type.allowsMarks(r))return!1;let o=this.contentMatchAt(e).matchType(n),s=o&&o.matchFragment(this.content,A);return s?s.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=Mark$1.none;for(let A=0;A<this.marks.length;A++){let n=this.marks[A];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!Mark$1.sameSet(e,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(A=>A.type.name)}`);this.content.forEach(A=>A.check())}toJSON(){let e={type:this.type.name};for(let A in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(A=>A.toJSON())),e}static fromJSON(e,A){if(!A)throw new RangeError("Invalid input for Node.fromJSON");let n;if(A.marks){if(!Array.isArray(A.marks))throw new RangeError("Invalid mark data for Node.fromJSON");n=A.marks.map(e.markFromJSON)}if(A.type=="text"){if(typeof A.text!="string")throw new RangeError("Invalid text node in JSON");return e.text(A.text,n)}let r=Fragment.fromJSON(e,A.content),o=e.nodeType(A.type).create(A.attrs,r,n);return o.type.checkAttrs(o.attrs),o}};Node$3.prototype.text=void 0;class TextNode extends Node$3{constructor(e,A,n,r){if(super(e,A,null,r),!n)throw new RangeError("Empty text nodes are not allowed");this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):wrapMarks(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,A){return this.text.slice(e,A)}get nodeSize(){return this.text.length}mark(e){return e==this.marks?this:new TextNode(this.type,this.attrs,this.text,e)}withText(e){return e==this.text?this:new TextNode(this.type,this.attrs,e,this.marks)}cut(e=0,A=this.text.length){return e==0&&A==this.text.length?this:this.withText(this.text.slice(e,A))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}}function wrapMarks(t,e){for(let A=t.length-1;A>=0;A--)e=t[A].type.name+"("+e+")";return e}class ContentMatch{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(e,A){let n=new TokenStream(e,A);if(n.next==null)return ContentMatch.empty;let r=parseExpr(n);n.next&&n.err("Unexpected trailing text");let o=dfa(nfa(r));return checkForDeadEnds(o,n),o}matchType(e){for(let A=0;A<this.next.length;A++)if(this.next[A].type==e)return this.next[A].next;return null}matchFragment(e,A=0,n=e.childCount){let r=this;for(let o=A;r&&o<n;o++)r=r.matchType(e.child(o).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:A}=this.next[e];if(!(A.isText||A.hasRequiredAttrs()))return A}return null}compatible(e){for(let A=0;A<this.next.length;A++)for(let n=0;n<e.next.length;n++)if(this.next[A].type==e.next[n].type)return!0;return!1}fillBefore(e,A=!1,n=0){let r=[this];function o(s,a){let l=s.matchFragment(e,n);if(l&&(!A||l.validEnd))return Fragment.from(a.map(g=>g.createAndFill()));for(let g=0;g<s.next.length;g++){let{type:c,next:I}=s.next[g];if(!(c.isText||c.hasRequiredAttrs())&&r.indexOf(I)==-1){r.push(I);let d=o(I,a.concat(c));if(d)return d}}return null}return o(this,[])}findWrapping(e){for(let n=0;n<this.wrapCache.length;n+=2)if(this.wrapCache[n]==e)return this.wrapCache[n+1];let A=this.computeWrapping(e);return this.wrapCache.push(e,A),A}computeWrapping(e){let A=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),o=r.match;if(o.matchType(e)){let s=[];for(let a=r;a.type;a=a.via)s.push(a.type);return s.reverse()}for(let s=0;s<o.next.length;s++){let{type:a,next:l}=o.next[s];!a.isLeaf&&!a.hasRequiredAttrs()&&!(a.name in A)&&(!r.type||l.validEnd)&&(n.push({match:a.contentMatch,type:a,via:r}),A[a.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw new RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function A(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&A(n.next[r].next)}return A(this),e.map((n,r)=>{let o=r+(n.validEnd?"*":" ")+" ";for(let s=0;s<n.next.length;s++)o+=(s?", ":"")+n.next[s].type.name+"->"+e.indexOf(n.next[s].next);return o}).join(`
2
+ `)}}ContentMatch.empty=new ContentMatch(!0);class TokenStream{constructor(e,A){this.string=e,this.nodeTypes=A,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw new SyntaxError(e+" (in content expression '"+this.string+"')")}}function parseExpr(t){let e=[];do e.push(parseExprSeq(t));while(t.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function parseExprSeq(t){let e=[];do e.push(parseExprSubscript(t));while(t.next&&t.next!=")"&&t.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function parseExprSubscript(t){let e=parseExprAtom(t);for(;;)if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else if(t.eat("{"))e=parseExprRange(t,e);else break;return e}function parseNum(t){/\D/.test(t.next)&&t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);return t.pos++,e}function parseExprRange(t,e){let A=parseNum(t),n=A;return t.eat(",")&&(t.next!="}"?n=parseNum(t):n=-1),t.eat("}")||t.err("Unclosed braced range"),{type:"range",min:A,max:n,expr:e}}function resolveName(t,e){let A=t.nodeTypes,n=A[e];if(n)return[n];let r=[];for(let o in A){let s=A[o];s.isInGroup(e)&&r.push(s)}return r.length==0&&t.err("No node type or group '"+e+"' found"),r}function parseExprAtom(t){if(t.eat("(")){let e=parseExpr(t);return t.eat(")")||t.err("Missing closing paren"),e}else if(/\W/.test(t.next))t.err("Unexpected token '"+t.next+"'");else{let e=resolveName(t,t.next).map(A=>(t.inline==null?t.inline=A.isInline:t.inline!=A.isInline&&t.err("Mixing inline and block content"),{type:"name",value:A}));return t.pos++,e.length==1?e[0]:{type:"choice",exprs:e}}}function nfa(t){let e=[[]];return r(o(t,0),A()),e;function A(){return e.push([])-1}function n(s,a,l){let g={term:l,to:a};return e[s].push(g),g}function r(s,a){s.forEach(l=>l.to=a)}function o(s,a){if(s.type=="choice")return s.exprs.reduce((l,g)=>l.concat(o(g,a)),[]);if(s.type=="seq")for(let l=0;;l++){let g=o(s.exprs[l],a);if(l==s.exprs.length-1)return g;r(g,a=A())}else if(s.type=="star"){let l=A();return n(a,l),r(o(s.expr,l),l),[n(l)]}else if(s.type=="plus"){let l=A();return r(o(s.expr,a),l),r(o(s.expr,l),l),[n(l)]}else{if(s.type=="opt")return[n(a)].concat(o(s.expr,a));if(s.type=="range"){let l=a;for(let g=0;g<s.min;g++){let c=A();r(o(s.expr,l),c),l=c}if(s.max==-1)r(o(s.expr,l),l);else for(let g=s.min;g<s.max;g++){let c=A();n(l,c),r(o(s.expr,l),c),l=c}return[n(l)]}else{if(s.type=="name")return[n(a,void 0,s.value)];throw new Error("Unknown expr type")}}}}function cmp(t,e){return e-t}function nullFrom(t,e){let A=[];return n(e),A.sort(cmp);function n(r){let o=t[r];if(o.length==1&&!o[0].term)return n(o[0].to);A.push(r);for(let s=0;s<o.length;s++){let{term:a,to:l}=o[s];!a&&A.indexOf(l)==-1&&n(l)}}}function dfa(t){let e=Object.create(null);return A(nullFrom(t,0));function A(n){let r=[];n.forEach(s=>{t[s].forEach(({term:a,to:l})=>{if(!a)return;let g;for(let c=0;c<r.length;c++)r[c][0]==a&&(g=r[c][1]);nullFrom(t,l).forEach(c=>{g||r.push([a,g=[]]),g.indexOf(c)==-1&&g.push(c)})})});let o=e[n.join(",")]=new ContentMatch(n.indexOf(t.length-1)>-1);for(let s=0;s<r.length;s++){let a=r[s][1].sort(cmp);o.next.push({type:r[s][0],next:e[a.join(",")]||A(a)})}return o}}function checkForDeadEnds(t,e){for(let A=0,n=[t];A<n.length;A++){let r=n[A],o=!r.validEnd,s=[];for(let a=0;a<r.next.length;a++){let{type:l,next:g}=r.next[a];s.push(l.name),o&&!(l.isText||l.hasRequiredAttrs())&&(o=!1),n.indexOf(g)==-1&&n.push(g)}o&&e.err("Only non-generatable nodes ("+s.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function defaultAttrs(t){let e=Object.create(null);for(let A in t){let n=t[A];if(!n.hasDefault)return null;e[A]=n.default}return e}function computeAttrs(t,e){let A=Object.create(null);for(let n in t){let r=e&&e[n];if(r===void 0){let o=t[n];if(o.hasDefault)r=o.default;else throw new RangeError("No value supplied for attribute "+n)}A[n]=r}return A}function checkAttrs(t,e,A,n){for(let r in e)if(!(r in t))throw new RangeError(`Unsupported attribute ${r} for ${A} of type ${r}`);for(let r in t){let o=t[r];o.validate&&o.validate(e[r])}}function initAttrs(t,e){let A=Object.create(null);if(e)for(let n in e)A[n]=new Attribute(t,n,e[n]);return A}let NodeType$1=class P{constructor(e,A,n){this.name=e,this.schema=A,this.spec=n,this.markSet=null,this.groups=n.group?n.group.split(" "):[],this.attrs=initAttrs(e,n.attrs),this.defaultAttrs=defaultAttrs(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(n.inline||e=="text"),this.isText=e=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==ContentMatch.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:computeAttrs(this.attrs,e)}create(e=null,A,n){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new Node$3(this,this.computeAttrs(e),Fragment.from(A),Mark$1.setFrom(n))}createChecked(e=null,A,n){return A=Fragment.from(A),this.checkContent(A),new Node$3(this,this.computeAttrs(e),A,Mark$1.setFrom(n))}createAndFill(e=null,A,n){if(e=this.computeAttrs(e),A=Fragment.from(A),A.size){let s=this.contentMatch.fillBefore(A);if(!s)return null;A=s.append(A)}let r=this.contentMatch.matchFragment(A),o=r&&r.fillBefore(Fragment.empty,!0);return o?new Node$3(this,e,A.append(o),Mark$1.setFrom(n)):null}validContent(e){let A=this.contentMatch.matchFragment(e);if(!A||!A.validEnd)return!1;for(let n=0;n<e.childCount;n++)if(!this.allowsMarks(e.child(n).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw new RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){checkAttrs(this.attrs,e,"node",this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let A=0;A<e.length;A++)if(!this.allowsMarkType(e[A].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let A;for(let n=0;n<e.length;n++)this.allowsMarkType(e[n].type)?A&&A.push(e[n]):A||(A=e.slice(0,n));return A?A.length?A:Mark$1.none:e}static compile(e,A){let n=Object.create(null);e.forEach((o,s)=>n[o]=new P(o,A,s));let r=A.spec.topNode||"doc";if(!n[r])throw new RangeError("Schema is missing its top node type ('"+r+"')");if(!n.text)throw new RangeError("Every schema needs a 'text' type");for(let o in n.text.attrs)throw new RangeError("The text node type should not have attributes");return n}};function validateType(t,e,A){let n=A.split("|");return r=>{let o=r===null?"null":typeof r;if(n.indexOf(o)<0)throw new RangeError(`Expected value of type ${n} for attribute ${e} on type ${t}, got ${o}`)}}class Attribute{constructor(e,A,n){this.hasDefault=Object.prototype.hasOwnProperty.call(n,"default"),this.default=n.default,this.validate=typeof n.validate=="string"?validateType(e,A,n.validate):n.validate}get isRequired(){return!this.hasDefault}}class MarkType{constructor(e,A,n,r){this.name=e,this.rank=A,this.schema=n,this.spec=r,this.attrs=initAttrs(e,r.attrs),this.excluded=null;let o=defaultAttrs(this.attrs);this.instance=o?new Mark$1(this,o):null}create(e=null){return!e&&this.instance?this.instance:new Mark$1(this,computeAttrs(this.attrs,e))}static compile(e,A){let n=Object.create(null),r=0;return e.forEach((o,s)=>n[o]=new MarkType(o,r++,A,s)),n}removeFromSet(e){for(var A=0;A<e.length;A++)e[A].type==this&&(e=e.slice(0,A).concat(e.slice(A+1)),A--);return e}isInSet(e){for(let A=0;A<e.length;A++)if(e[A].type==this)return e[A]}checkAttrs(e){checkAttrs(this.attrs,e,"mark",this.name)}excludes(e){return this.excluded.indexOf(e)>-1}}class Schema{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let A=this.spec={};for(let r in e)A[r]=e[r];A.nodes=OrderedMap.from(e.nodes),A.marks=OrderedMap.from(e.marks||{}),this.nodes=NodeType$1.compile(this.spec.nodes,this),this.marks=MarkType.compile(this.spec.marks,this);let n=Object.create(null);for(let r in this.nodes){if(r in this.marks)throw new RangeError(r+" can not be both a node and a mark");let o=this.nodes[r],s=o.spec.content||"",a=o.spec.marks;if(o.contentMatch=n[s]||(n[s]=ContentMatch.parse(s,this.nodes)),o.inlineContent=o.contentMatch.inlineContent,o.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!o.isInline||!o.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=o}o.markSet=a=="_"?null:a?gatherMarks(this,a.split(" ")):a==""||!o.inlineContent?[]:null}for(let r in this.marks){let o=this.marks[r],s=o.spec.excludes;o.excluded=s==null?[o]:s==""?[]:gatherMarks(this,s.split(" "))}this.nodeFromJSON=r=>Node$3.fromJSON(this,r),this.markFromJSON=r=>Mark$1.fromJSON(this,r),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(e,A=null,n,r){if(typeof e=="string")e=this.nodeType(e);else if(e instanceof NodeType$1){if(e.schema!=this)throw new RangeError("Node type from different schema used ("+e.name+")")}else throw new RangeError("Invalid node type: "+e);return e.createChecked(A,n,r)}text(e,A){let n=this.nodes.text;return new TextNode(n,n.defaultAttrs,e,Mark$1.setFrom(A))}mark(e,A){return typeof e=="string"&&(e=this.marks[e]),e.create(A)}nodeType(e){let A=this.nodes[e];if(!A)throw new RangeError("Unknown node type: "+e);return A}}function gatherMarks(t,e){let A=[];for(let n=0;n<e.length;n++){let r=e[n],o=t.marks[r],s=o;if(o)A.push(o);else for(let a in t.marks){let l=t.marks[a];(r=="_"||l.spec.group&&l.spec.group.split(" ").indexOf(r)>-1)&&A.push(s=l)}if(!s)throw new SyntaxError("Unknown mark type: '"+e[n]+"'")}return A}function isTagRule(t){return t.tag!=null}function isStyleRule(t){return t.style!=null}let DOMParser$1=class x{constructor(e,A){this.schema=e,this.rules=A,this.tags=[],this.styles=[];let n=this.matchedStyles=[];A.forEach(r=>{if(isTagRule(r))this.tags.push(r);else if(isStyleRule(r)){let o=/[^=]*/.exec(r.style)[0];n.indexOf(o)<0&&n.push(o),this.styles.push(r)}}),this.normalizeLists=!this.tags.some(r=>{if(!/^(ul|ol)\b/.test(r.tag)||!r.node)return!1;let o=e.nodes[r.node];return o.contentMatch.matchType(o)})}parse(e,A={}){let n=new ParseContext(this,A,!1);return n.addAll(e,Mark$1.none,A.from,A.to),n.finish()}parseSlice(e,A={}){let n=new ParseContext(this,A,!0);return n.addAll(e,Mark$1.none,A.from,A.to),Slice.maxOpen(n.finish())}matchTag(e,A,n){for(let r=n?this.tags.indexOf(n)+1:0;r<this.tags.length;r++){let o=this.tags[r];if(matches(e,o.tag)&&(o.namespace===void 0||e.namespaceURI==o.namespace)&&(!o.context||A.matchesContext(o.context))){if(o.getAttrs){let s=o.getAttrs(e);if(s===!1)continue;o.attrs=s||void 0}return o}}}matchStyle(e,A,n,r){for(let o=r?this.styles.indexOf(r)+1:0;o<this.styles.length;o++){let s=this.styles[o],a=s.style;if(!(a.indexOf(e)!=0||s.context&&!n.matchesContext(s.context)||a.length>e.length&&(a.charCodeAt(e.length)!=61||a.slice(e.length+1)!=A))){if(s.getAttrs){let l=s.getAttrs(A);if(l===!1)continue;s.attrs=l||void 0}return s}}}static schemaRules(e){let A=[];function n(r){let o=r.priority==null?50:r.priority,s=0;for(;s<A.length;s++){let a=A[s];if((a.priority==null?50:a.priority)<o)break}A.splice(s,0,r)}for(let r in e.marks){let o=e.marks[r].spec.parseDOM;o&&o.forEach(s=>{n(s=copy(s)),s.mark||s.ignore||s.clearMark||(s.mark=r)})}for(let r in e.nodes){let o=e.nodes[r].spec.parseDOM;o&&o.forEach(s=>{n(s=copy(s)),s.node||s.ignore||s.mark||(s.node=r)})}return A}static fromSchema(e){return e.cached.domParser||(e.cached.domParser=new x(e,x.schemaRules(e)))}};const blockTags={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},ignoreTags={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},listTags={ol:!0,ul:!0},OPT_PRESERVE_WS=1,OPT_PRESERVE_WS_FULL=2,OPT_OPEN_LEFT=4;function wsOptionsFor(t,e,A){return e!=null?(e?OPT_PRESERVE_WS:0)|(e==="full"?OPT_PRESERVE_WS_FULL:0):t&&t.whitespace=="pre"?OPT_PRESERVE_WS|OPT_PRESERVE_WS_FULL:A&~OPT_OPEN_LEFT}class NodeContext{constructor(e,A,n,r,o,s){this.type=e,this.attrs=A,this.marks=n,this.solid=r,this.options=s,this.content=[],this.activeMarks=Mark$1.none,this.match=o||(s&OPT_OPEN_LEFT?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let A=this.type.contentMatch.fillBefore(Fragment.from(e));if(A)this.match=this.type.contentMatch.matchFragment(A);else{let n=this.type.contentMatch,r;return(r=n.findWrapping(e.type))?(this.match=n,r):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&OPT_PRESERVE_WS)){let n=this.content[this.content.length-1],r;if(n&&n.isText&&(r=/[ \t\r\n\u000c]+$/.exec(n.text))){let o=n;n.text.length==r[0].length?this.content.pop():this.content[this.content.length-1]=o.withText(o.text.slice(0,o.text.length-r[0].length))}}let A=Fragment.from(this.content);return!e&&this.match&&(A=A.append(this.match.fillBefore(Fragment.empty,!0))),this.type?this.type.create(this.attrs,A,this.marks):A}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!blockTags.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}}class ParseContext{constructor(e,A,n){this.parser=e,this.options=A,this.isOpen=n,this.open=0,this.localPreserveWS=!1;let r=A.topNode,o,s=wsOptionsFor(null,A.preserveWhitespace,0)|(n?OPT_OPEN_LEFT:0);r?o=new NodeContext(r.type,r.attrs,Mark$1.none,!0,A.topMatch||r.type.contentMatch,s):n?o=new NodeContext(null,null,Mark$1.none,!0,null,s):o=new NodeContext(e.schema.topNodeType,null,Mark$1.none,!0,null,s),this.nodes=[o],this.find=A.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,A){e.nodeType==3?this.addTextNode(e,A):e.nodeType==1&&this.addElement(e,A)}addTextNode(e,A){let n=e.nodeValue,r=this.top,o=r.options&OPT_PRESERVE_WS_FULL?"full":this.localPreserveWS||(r.options&OPT_PRESERVE_WS)>0;if(o==="full"||r.inlineContext(e)||/[^ \t\r\n\u000c]/.test(n)){if(o)o!=="full"?n=n.replace(/\r?\n|\r/g," "):n=n.replace(/\r\n?/g,`
3
+ `);else if(n=n.replace(/[ \t\r\n\u000c]+/g," "),/^[ \t\r\n\u000c]/.test(n)&&this.open==this.nodes.length-1){let s=r.content[r.content.length-1],a=e.previousSibling;(!s||a&&a.nodeName=="BR"||s.isText&&/[ \t\r\n\u000c]$/.test(s.text))&&(n=n.slice(1))}n&&this.insertNode(this.parser.schema.text(n),A,!/\S/.test(n)),this.findInText(e)}else this.findInside(e)}addElement(e,A,n){let r=this.localPreserveWS,o=this.top;(e.tagName=="PRE"||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let s=e.nodeName.toLowerCase(),a;listTags.hasOwnProperty(s)&&this.parser.normalizeLists&&normalizeList(e);let l=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(a=this.parser.matchTag(e,this,n));e:if(l?l.ignore:ignoreTags.hasOwnProperty(s))this.findInside(e),this.ignoreFallback(e,A);else if(!l||l.skip||l.closeParent){l&&l.closeParent?this.open=Math.max(0,this.open-1):l&&l.skip.nodeType&&(e=l.skip);let g,c=this.needsBlock;if(blockTags.hasOwnProperty(s))o.content.length&&o.content[0].isInline&&this.open&&(this.open--,o=this.top),g=!0,o.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,A);break e}let I=l&&l.skip?A:this.readStyles(e,A);I&&this.addAll(e,I),g&&this.sync(o),this.needsBlock=c}else{let g=this.readStyles(e,A);g&&this.addElementByRule(e,l,g,l.consuming===!1?a:void 0)}this.localPreserveWS=r}leafFallback(e,A){e.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
4
+ `),A)}ignoreFallback(e,A){e.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text("-"),A,!0)}readStyles(e,A){let n=e.style;if(n&&n.length)for(let r=0;r<this.parser.matchedStyles.length;r++){let o=this.parser.matchedStyles[r],s=n.getPropertyValue(o);if(s)for(let a=void 0;;){let l=this.parser.matchStyle(o,s,this,a);if(!l)break;if(l.ignore)return null;if(l.clearMark?A=A.filter(g=>!l.clearMark(g)):A=A.concat(this.parser.schema.marks[l.mark].create(l.attrs)),l.consuming===!1)a=l;else break}}return A}addElementByRule(e,A,n,r){let o,s;if(A.node)if(s=this.parser.schema.nodes[A.node],s.isLeaf)this.insertNode(s.create(A.attrs),n,e.nodeName=="BR")||this.leafFallback(e,n);else{let l=this.enter(s,A.attrs||null,n,A.preserveWhitespace);l&&(o=!0,n=l)}else{let l=this.parser.schema.marks[A.mark];n=n.concat(l.create(A.attrs))}let a=this.top;if(s&&s.isLeaf)this.findInside(e);else if(r)this.addElement(e,n,r);else if(A.getContent)this.findInside(e),A.getContent(e,this.parser.schema).forEach(l=>this.insertNode(l,n,!1));else{let l=e;typeof A.contentElement=="string"?l=e.querySelector(A.contentElement):typeof A.contentElement=="function"?l=A.contentElement(e):A.contentElement&&(l=A.contentElement),this.findAround(e,l,!0),this.addAll(l,n),this.findAround(e,l,!1)}o&&this.sync(a)&&this.open--}addAll(e,A,n,r){let o=n||0;for(let s=n?e.childNodes[n]:e.firstChild,a=r==null?null:e.childNodes[r];s!=a;s=s.nextSibling,++o)this.findAtPoint(e,o),this.addDOM(s,A);this.findAtPoint(e,o)}findPlace(e,A,n){let r,o;for(let s=this.open,a=0;s>=0;s--){let l=this.nodes[s],g=l.findWrapping(e);if(g&&(!r||r.length>g.length+a)&&(r=g,o=l,!g.length))break;if(l.solid){if(n)break;a+=2}}if(!r)return null;this.sync(o);for(let s=0;s<r.length;s++)A=this.enterInner(r[s],null,A,!1);return A}insertNode(e,A,n){if(e.isInline&&this.needsBlock&&!this.top.type){let o=this.textblockFromContext();o&&(A=this.enterInner(o,null,A))}let r=this.findPlace(e,A,n);if(r){this.closeExtra();let o=this.top;o.match&&(o.match=o.match.matchType(e.type));let s=Mark$1.none;for(let a of r.concat(e.marks))(o.type?o.type.allowsMarkType(a.type):markMayApply(a.type,e.type))&&(s=a.addToSet(s));return o.content.push(e.mark(s)),!0}return!1}enter(e,A,n,r){let o=this.findPlace(e.create(A),n,!1);return o&&(o=this.enterInner(e,A,n,!0,r)),o}enterInner(e,A,n,r=!1,o){this.closeExtra();let s=this.top;s.match=s.match&&s.match.matchType(e);let a=wsOptionsFor(e,o,s.options);s.options&OPT_OPEN_LEFT&&s.content.length==0&&(a|=OPT_OPEN_LEFT);let l=Mark$1.none;return n=n.filter(g=>(s.type?s.type.allowsMarkType(g.type):markMayApply(g.type,e))?(l=g.addToSet(l),!1):!0),this.nodes.push(new NodeContext(e,A,l,r,null,a)),this.open++,n}closeExtra(e=!1){let A=this.nodes.length-1;if(A>this.open){for(;A>this.open;A--)this.nodes[A-1].content.push(this.nodes[A].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let A=this.open;A>=0;A--){if(this.nodes[A]==e)return this.open=A,!0;this.localPreserveWS&&(this.nodes[A].options|=OPT_PRESERVE_WS)}return!1}get currentPos(){this.closeExtra();let e=0;for(let A=this.open;A>=0;A--){let n=this.nodes[A].content;for(let r=n.length-1;r>=0;r--)e+=n[r].nodeSize;A&&e++}return e}findAtPoint(e,A){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&this.find[n].offset==A&&(this.find[n].pos=this.currentPos)}findInside(e){if(this.find)for(let A=0;A<this.find.length;A++)this.find[A].pos==null&&e.nodeType==1&&e.contains(this.find[A].node)&&(this.find[A].pos=this.currentPos)}findAround(e,A,n){if(e!=A&&this.find)for(let r=0;r<this.find.length;r++)this.find[r].pos==null&&e.nodeType==1&&e.contains(this.find[r].node)&&A.compareDocumentPosition(this.find[r].node)&(n?2:4)&&(this.find[r].pos=this.currentPos)}findInText(e){if(this.find)for(let A=0;A<this.find.length;A++)this.find[A].node==e&&(this.find[A].pos=this.currentPos-(e.nodeValue.length-this.find[A].offset))}matchesContext(e){if(e.indexOf("|")>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let A=e.split("/"),n=this.options.context,r=!this.isOpen&&(!n||n.parent.type==this.nodes[0].type),o=-(n?n.depth+1:0)+(r?0:1),s=(a,l)=>{for(;a>=0;a--){let g=A[a];if(g==""){if(a==A.length-1||a==0)continue;for(;l>=o;l--)if(s(a-1,l))return!0;return!1}else{let c=l>0||l==0&&r?this.nodes[l].type:n&&l>=o?n.node(l-o).type:null;if(!c||c.name!=g&&!c.isInGroup(g))return!1;l--}}return!0};return s(A.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let A=e.depth;A>=0;A--){let n=e.node(A).contentMatchAt(e.indexAfter(A)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(let A in this.parser.schema.nodes){let n=this.parser.schema.nodes[A];if(n.isTextblock&&n.defaultAttrs)return n}}}function normalizeList(t){for(let e=t.firstChild,A=null;e;e=e.nextSibling){let n=e.nodeType==1?e.nodeName.toLowerCase():null;n&&listTags.hasOwnProperty(n)&&A?(A.appendChild(e),e=A):n=="li"?A=e:n&&(A=null)}}function matches(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function copy(t){let e={};for(let A in t)e[A]=t[A];return e}function markMayApply(t,e){let A=e.schema.nodes;for(let n in A){let r=A[n];if(!r.allowsMarkType(t))continue;let o=[],s=a=>{o.push(a);for(let l=0;l<a.edgeCount;l++){let{type:g,next:c}=a.edge(l);if(g==e||o.indexOf(c)<0&&s(c))return!0}};if(s(r.contentMatch))return!0}}class DOMSerializer{constructor(e,A){this.nodes=e,this.marks=A}serializeFragment(e,A={},n){n||(n=doc$1(A).createDocumentFragment());let r=n,o=[];return e.forEach(s=>{if(o.length||s.marks.length){let a=0,l=0;for(;a<o.length&&l<s.marks.length;){let g=s.marks[l];if(!this.marks[g.type.name]){l++;continue}if(!g.eq(o[a][0])||g.type.spec.spanning===!1)break;a++,l++}for(;a<o.length;)r=o.pop()[1];for(;l<s.marks.length;){let g=s.marks[l++],c=this.serializeMark(g,s.isInline,A);c&&(o.push([g,r]),r.appendChild(c.dom),r=c.contentDOM||c.dom)}}r.appendChild(this.serializeNodeInner(s,A))}),n}serializeNodeInner(e,A){let{dom:n,contentDOM:r}=renderSpec(doc$1(A),this.nodes[e.type.name](e),null,e.attrs);if(r){if(e.isLeaf)throw new RangeError("Content hole not allowed in a leaf node spec");this.serializeFragment(e.content,A,r)}return n}serializeNode(e,A={}){let n=this.serializeNodeInner(e,A);for(let r=e.marks.length-1;r>=0;r--){let o=this.serializeMark(e.marks[r],e.isInline,A);o&&((o.contentDOM||o.dom).appendChild(n),n=o.dom)}return n}serializeMark(e,A,n={}){let r=this.marks[e.type.name];return r&&renderSpec(doc$1(n),r(e,A),null,e.attrs)}static renderSpec(e,A,n=null,r){return renderSpec(e,A,n,r)}static fromSchema(e){return e.cached.domSerializer||(e.cached.domSerializer=new DOMSerializer(this.nodesFromSchema(e),this.marksFromSchema(e)))}static nodesFromSchema(e){let A=gatherToDOM(e.nodes);return A.text||(A.text=n=>n.text),A}static marksFromSchema(e){return gatherToDOM(e.marks)}}function gatherToDOM(t){let e={};for(let A in t){let n=t[A].spec.toDOM;n&&(e[A]=n)}return e}function doc$1(t){return t.document||window.document}const suspiciousAttributeCache=new WeakMap;function suspiciousAttributes(t){let e=suspiciousAttributeCache.get(t);return e===void 0&&suspiciousAttributeCache.set(t,e=suspiciousAttributesInner(t)),e}function suspiciousAttributesInner(t){let e=null;function A(n){if(n&&typeof n=="object")if(Array.isArray(n))if(typeof n[0]=="string")e||(e=[]),e.push(n);else for(let r=0;r<n.length;r++)A(n[r]);else for(let r in n)A(n[r])}return A(t),e}function renderSpec(t,e,A,n){if(typeof e=="string")return{dom:t.createTextNode(e)};if(e.nodeType!=null)return{dom:e};if(e.dom&&e.dom.nodeType!=null)return e;let r=e[0],o;if(typeof r!="string")throw new RangeError("Invalid array passed to renderSpec");if(n&&(o=suspiciousAttributes(n))&&o.indexOf(e)>-1)throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");let s=r.indexOf(" ");s>0&&(A=r.slice(0,s),r=r.slice(s+1));let a,l=A?t.createElementNS(A,r):t.createElement(r),g=e[1],c=1;if(g&&typeof g=="object"&&g.nodeType==null&&!Array.isArray(g)){c=2;for(let I in g)if(g[I]!=null){let d=I.indexOf(" ");d>0?l.setAttributeNS(I.slice(0,d),I.slice(d+1),g[I]):I=="style"&&l.style?l.style.cssText=g[I]:l.setAttribute(I,g[I])}}for(let I=c;I<e.length;I++){let d=e[I];if(d===0){if(I<e.length-1||I>c)throw new RangeError("Content hole must be the only child of its parent node");return{dom:l,contentDOM:l}}else{let{dom:h,contentDOM:u}=renderSpec(t,d,A,n);if(l.appendChild(h),u){if(a)throw new RangeError("Multiple content holes");a=u}}}return{dom:l,contentDOM:a}}const lower16=65535,factor16=Math.pow(2,16);function makeRecover(t,e){return t+e*factor16}function recoverIndex(t){return t&lower16}function recoverOffset(t){return(t-(t&lower16))/factor16}const DEL_BEFORE=1,DEL_AFTER=2,DEL_ACROSS=4,DEL_SIDE=8;class MapResult{constructor(e,A,n){this.pos=e,this.delInfo=A,this.recover=n}get deleted(){return(this.delInfo&DEL_SIDE)>0}get deletedBefore(){return(this.delInfo&(DEL_BEFORE|DEL_ACROSS))>0}get deletedAfter(){return(this.delInfo&(DEL_AFTER|DEL_ACROSS))>0}get deletedAcross(){return(this.delInfo&DEL_ACROSS)>0}}class StepMap{constructor(e,A=!1){if(this.ranges=e,this.inverted=A,!e.length&&StepMap.empty)return StepMap.empty}recover(e){let A=0,n=recoverIndex(e);if(!this.inverted)for(let r=0;r<n;r++)A+=this.ranges[r*3+2]-this.ranges[r*3+1];return this.ranges[n*3]+A+recoverOffset(e)}mapResult(e,A=1){return this._map(e,A,!1)}map(e,A=1){return this._map(e,A,!0)}_map(e,A,n){let r=0,o=this.inverted?2:1,s=this.inverted?1:2;for(let a=0;a<this.ranges.length;a+=3){let l=this.ranges[a]-(this.inverted?r:0);if(l>e)break;let g=this.ranges[a+o],c=this.ranges[a+s],I=l+g;if(e<=I){let d=g?e==l?-1:e==I?1:A:A,h=l+r+(d<0?0:c);if(n)return h;let u=e==(A<0?l:I)?null:makeRecover(a/3,e-l),B=e==l?DEL_AFTER:e==I?DEL_BEFORE:DEL_ACROSS;return(A<0?e!=l:e!=I)&&(B|=DEL_SIDE),new MapResult(h,B,u)}r+=c-g}return n?e+r:new MapResult(e+r,0,null)}touches(e,A){let n=0,r=recoverIndex(A),o=this.inverted?2:1,s=this.inverted?1:2;for(let a=0;a<this.ranges.length;a+=3){let l=this.ranges[a]-(this.inverted?n:0);if(l>e)break;let g=this.ranges[a+o],c=l+g;if(e<=c&&a==r*3)return!0;n+=this.ranges[a+s]-g}return!1}forEach(e){let A=this.inverted?2:1,n=this.inverted?1:2;for(let r=0,o=0;r<this.ranges.length;r+=3){let s=this.ranges[r],a=s-(this.inverted?o:0),l=s+(this.inverted?0:o),g=this.ranges[r+A],c=this.ranges[r+n];e(a,a+g,l,l+c),o+=c-g}}invert(){return new StepMap(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(e){return e==0?StepMap.empty:new StepMap(e<0?[0,-e,0]:[0,0,e])}}StepMap.empty=new StepMap([]);class Mapping{constructor(e,A,n=0,r=e?e.length:0){this.mirror=A,this.from=n,this.to=r,this._maps=e||[],this.ownData=!(e||A)}get maps(){return this._maps}slice(e=0,A=this.maps.length){return new Mapping(this._maps,this.mirror,e,A)}appendMap(e,A){this.ownData||(this._maps=this._maps.slice(),this.mirror=this.mirror&&this.mirror.slice(),this.ownData=!0),this.to=this._maps.push(e),A!=null&&this.setMirror(this._maps.length-1,A)}appendMapping(e){for(let A=0,n=this._maps.length;A<e._maps.length;A++){let r=e.getMirror(A);this.appendMap(e._maps[A],r!=null&&r<A?n+r:void 0)}}getMirror(e){if(this.mirror){for(let A=0;A<this.mirror.length;A++)if(this.mirror[A]==e)return this.mirror[A+(A%2?-1:1)]}}setMirror(e,A){this.mirror||(this.mirror=[]),this.mirror.push(e,A)}appendMappingInverted(e){for(let A=e.maps.length-1,n=this._maps.length+e._maps.length;A>=0;A--){let r=e.getMirror(A);this.appendMap(e._maps[A].invert(),r!=null&&r>A?n-r-1:void 0)}}invert(){let e=new Mapping;return e.appendMappingInverted(this),e}map(e,A=1){if(this.mirror)return this._map(e,A,!0);for(let n=this.from;n<this.to;n++)e=this._maps[n].map(e,A);return e}mapResult(e,A=1){return this._map(e,A,!1)}_map(e,A,n){let r=0;for(let o=this.from;o<this.to;o++){let s=this._maps[o],a=s.mapResult(e,A);if(a.recover!=null){let l=this.getMirror(o);if(l!=null&&l>o&&l<this.to){o=l,e=this._maps[l].recover(a.recover);continue}}r|=a.delInfo,e=a.pos}return n?e:new MapResult(e,r,null)}}const stepsByID=Object.create(null);class Step{getMap(){return StepMap.empty}merge(e){return null}static fromJSON(e,A){if(!A||!A.stepType)throw new RangeError("Invalid input for Step.fromJSON");let n=stepsByID[A.stepType];if(!n)throw new RangeError(`No step type ${A.stepType} defined`);return n.fromJSON(e,A)}static jsonID(e,A){if(e in stepsByID)throw new RangeError("Duplicate use of step JSON ID "+e);return stepsByID[e]=A,A.prototype.jsonID=e,A}}class StepResult{constructor(e,A){this.doc=e,this.failed=A}static ok(e){return new StepResult(e,null)}static fail(e){return new StepResult(null,e)}static fromReplace(e,A,n,r){try{return StepResult.ok(e.replace(A,n,r))}catch(o){if(o instanceof ReplaceError)return StepResult.fail(o.message);throw o}}}function mapFragment(t,e,A){let n=[];for(let r=0;r<t.childCount;r++){let o=t.child(r);o.content.size&&(o=o.copy(mapFragment(o.content,e,o))),o.isInline&&(o=e(o,A,r)),n.push(o)}return Fragment.fromArray(n)}class AddMarkStep extends Step{constructor(e,A,n){super(),this.from=e,this.to=A,this.mark=n}apply(e){let A=e.slice(this.from,this.to),n=e.resolve(this.from),r=n.node(n.sharedDepth(this.to)),o=new Slice(mapFragment(A.content,(s,a)=>!s.isAtom||!a.type.allowsMarkType(this.mark.type)?s:s.mark(this.mark.addToSet(s.marks)),r),A.openStart,A.openEnd);return StepResult.fromReplace(e,this.from,this.to,o)}invert(){return new RemoveMarkStep(this.from,this.to,this.mark)}map(e){let A=e.mapResult(this.from,1),n=e.mapResult(this.to,-1);return A.deleted&&n.deleted||A.pos>=n.pos?null:new AddMarkStep(A.pos,n.pos,this.mark)}merge(e){return e instanceof AddMarkStep&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new AddMarkStep(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,A){if(typeof A.from!="number"||typeof A.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new AddMarkStep(A.from,A.to,e.markFromJSON(A.mark))}}Step.jsonID("addMark",AddMarkStep);class RemoveMarkStep extends Step{constructor(e,A,n){super(),this.from=e,this.to=A,this.mark=n}apply(e){let A=e.slice(this.from,this.to),n=new Slice(mapFragment(A.content,r=>r.mark(this.mark.removeFromSet(r.marks)),e),A.openStart,A.openEnd);return StepResult.fromReplace(e,this.from,this.to,n)}invert(){return new AddMarkStep(this.from,this.to,this.mark)}map(e){let A=e.mapResult(this.from,1),n=e.mapResult(this.to,-1);return A.deleted&&n.deleted||A.pos>=n.pos?null:new RemoveMarkStep(A.pos,n.pos,this.mark)}merge(e){return e instanceof RemoveMarkStep&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new RemoveMarkStep(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,A){if(typeof A.from!="number"||typeof A.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new RemoveMarkStep(A.from,A.to,e.markFromJSON(A.mark))}}Step.jsonID("removeMark",RemoveMarkStep);class AddNodeMarkStep extends Step{constructor(e,A){super(),this.pos=e,this.mark=A}apply(e){let A=e.nodeAt(this.pos);if(!A)return StepResult.fail("No node at mark step's position");let n=A.type.create(A.attrs,null,this.mark.addToSet(A.marks));return StepResult.fromReplace(e,this.pos,this.pos+1,new Slice(Fragment.from(n),0,A.isLeaf?0:1))}invert(e){let A=e.nodeAt(this.pos);if(A){let n=this.mark.addToSet(A.marks);if(n.length==A.marks.length){for(let r=0;r<A.marks.length;r++)if(!A.marks[r].isInSet(n))return new AddNodeMarkStep(this.pos,A.marks[r]);return new AddNodeMarkStep(this.pos,this.mark)}}return new RemoveNodeMarkStep(this.pos,this.mark)}map(e){let A=e.mapResult(this.pos,1);return A.deletedAfter?null:new AddNodeMarkStep(A.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,A){if(typeof A.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new AddNodeMarkStep(A.pos,e.markFromJSON(A.mark))}}Step.jsonID("addNodeMark",AddNodeMarkStep);class RemoveNodeMarkStep extends Step{constructor(e,A){super(),this.pos=e,this.mark=A}apply(e){let A=e.nodeAt(this.pos);if(!A)return StepResult.fail("No node at mark step's position");let n=A.type.create(A.attrs,null,this.mark.removeFromSet(A.marks));return StepResult.fromReplace(e,this.pos,this.pos+1,new Slice(Fragment.from(n),0,A.isLeaf?0:1))}invert(e){let A=e.nodeAt(this.pos);return!A||!this.mark.isInSet(A.marks)?this:new AddNodeMarkStep(this.pos,this.mark)}map(e){let A=e.mapResult(this.pos,1);return A.deletedAfter?null:new RemoveNodeMarkStep(A.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,A){if(typeof A.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new RemoveNodeMarkStep(A.pos,e.markFromJSON(A.mark))}}Step.jsonID("removeNodeMark",RemoveNodeMarkStep);class ReplaceStep extends Step{constructor(e,A,n,r=!1){super(),this.from=e,this.to=A,this.slice=n,this.structure=r}apply(e){return this.structure&&contentBetween(e,this.from,this.to)?StepResult.fail("Structure replace would overwrite content"):StepResult.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new StepMap([this.from,this.to-this.from,this.slice.size])}invert(e){return new ReplaceStep(this.from,this.from+this.slice.size,e.slice(this.from,this.to))}map(e){let A=e.mapResult(this.from,1),n=e.mapResult(this.to,-1);return A.deletedAcross&&n.deletedAcross?null:new ReplaceStep(A.pos,Math.max(A.pos,n.pos),this.slice,this.structure)}merge(e){if(!(e instanceof ReplaceStep)||e.structure||this.structure)return null;if(this.from+this.slice.size==e.from&&!this.slice.openEnd&&!e.slice.openStart){let A=this.slice.size+e.slice.size==0?Slice.empty:new Slice(this.slice.content.append(e.slice.content),this.slice.openStart,e.slice.openEnd);return new ReplaceStep(this.from,this.to+(e.to-e.from),A,this.structure)}else if(e.to==this.from&&!this.slice.openStart&&!e.slice.openEnd){let A=this.slice.size+e.slice.size==0?Slice.empty:new Slice(e.slice.content.append(this.slice.content),e.slice.openStart,this.slice.openEnd);return new ReplaceStep(e.from,this.to,A,this.structure)}else return null}toJSON(){let e={stepType:"replace",from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,A){if(typeof A.from!="number"||typeof A.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new ReplaceStep(A.from,A.to,Slice.fromJSON(e,A.slice),!!A.structure)}}Step.jsonID("replace",ReplaceStep);class ReplaceAroundStep extends Step{constructor(e,A,n,r,o,s,a=!1){super(),this.from=e,this.to=A,this.gapFrom=n,this.gapTo=r,this.slice=o,this.insert=s,this.structure=a}apply(e){if(this.structure&&(contentBetween(e,this.from,this.gapFrom)||contentBetween(e,this.gapTo,this.to)))return StepResult.fail("Structure gap-replace would overwrite content");let A=e.slice(this.gapFrom,this.gapTo);if(A.openStart||A.openEnd)return StepResult.fail("Gap is not a flat range");let n=this.slice.insertAt(this.insert,A.content);return n?StepResult.fromReplace(e,this.from,this.to,n):StepResult.fail("Content does not fit in gap")}getMap(){return new StepMap([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(e){let A=this.gapTo-this.gapFrom;return new ReplaceAroundStep(this.from,this.from+this.slice.size+A,this.from+this.insert,this.from+this.insert+A,e.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(e){let A=e.mapResult(this.from,1),n=e.mapResult(this.to,-1),r=this.from==this.gapFrom?A.pos:e.map(this.gapFrom,-1),o=this.to==this.gapTo?n.pos:e.map(this.gapTo,1);return A.deletedAcross&&n.deletedAcross||r<A.pos||o>n.pos?null:new ReplaceAroundStep(A.pos,n.pos,r,o,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,A){if(typeof A.from!="number"||typeof A.to!="number"||typeof A.gapFrom!="number"||typeof A.gapTo!="number"||typeof A.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new ReplaceAroundStep(A.from,A.to,A.gapFrom,A.gapTo,Slice.fromJSON(e,A.slice),A.insert,!!A.structure)}}Step.jsonID("replaceAround",ReplaceAroundStep);function contentBetween(t,e,A){let n=t.resolve(e),r=A-e,o=n.depth;for(;r>0&&o>0&&n.indexAfter(o)==n.node(o).childCount;)o--,r--;if(r>0){let s=n.node(o).maybeChild(n.indexAfter(o));for(;r>0;){if(!s||s.isLeaf)return!0;s=s.firstChild,r--}}return!1}function addMark(t,e,A,n){let r=[],o=[],s,a;t.doc.nodesBetween(e,A,(l,g,c)=>{if(!l.isInline)return;let I=l.marks;if(!n.isInSet(I)&&c.type.allowsMarkType(n.type)){let d=Math.max(g,e),h=Math.min(g+l.nodeSize,A),u=n.addToSet(I);for(let B=0;B<I.length;B++)I[B].isInSet(u)||(s&&s.to==d&&s.mark.eq(I[B])?s.to=h:r.push(s=new RemoveMarkStep(d,h,I[B])));a&&a.to==d?a.to=h:o.push(a=new AddMarkStep(d,h,n))}}),r.forEach(l=>t.step(l)),o.forEach(l=>t.step(l))}function removeMark(t,e,A,n){let r=[],o=0;t.doc.nodesBetween(e,A,(s,a)=>{if(!s.isInline)return;o++;let l=null;if(n instanceof MarkType){let g=s.marks,c;for(;c=n.isInSet(g);)(l||(l=[])).push(c),g=c.removeFromSet(g)}else n?n.isInSet(s.marks)&&(l=[n]):l=s.marks;if(l&&l.length){let g=Math.min(a+s.nodeSize,A);for(let c=0;c<l.length;c++){let I=l[c],d;for(let h=0;h<r.length;h++){let u=r[h];u.step==o-1&&I.eq(r[h].style)&&(d=u)}d?(d.to=g,d.step=o):r.push({style:I,from:Math.max(a,e),to:g,step:o})}}}),r.forEach(s=>t.step(new RemoveMarkStep(s.from,s.to,s.style)))}function clearIncompatible(t,e,A,n=A.contentMatch,r=!0){let o=t.doc.nodeAt(e),s=[],a=e+1;for(let l=0;l<o.childCount;l++){let g=o.child(l),c=a+g.nodeSize,I=n.matchType(g.type);if(!I)s.push(new ReplaceStep(a,c,Slice.empty));else{n=I;for(let d=0;d<g.marks.length;d++)A.allowsMarkType(g.marks[d].type)||t.step(new RemoveMarkStep(a,c,g.marks[d]));if(r&&g.isText&&A.whitespace!="pre"){let d,h=/\r?\n|\r/g,u;for(;d=h.exec(g.text);)u||(u=new Slice(Fragment.from(A.schema.text(" ",A.allowedMarks(g.marks))),0,0)),s.push(new ReplaceStep(a+d.index,a+d.index+d[0].length,u))}}a=c}if(!n.validEnd){let l=n.fillBefore(Fragment.empty,!0);t.replace(a,a,new Slice(l,0,0))}for(let l=s.length-1;l>=0;l--)t.step(s[l])}function canCut(t,e,A){return(e==0||t.canReplace(e,t.childCount))&&(A==t.childCount||t.canReplace(0,A))}function liftTarget(t){let A=t.parent.content.cutByIndex(t.startIndex,t.endIndex);for(let n=t.depth;;--n){let r=t.$from.node(n),o=t.$from.index(n),s=t.$to.indexAfter(n);if(n<t.depth&&r.canReplace(o,s,A))return n;if(n==0||r.type.spec.isolating||!canCut(r,o,s))break}return null}function lift$1(t,e,A){let{$from:n,$to:r,depth:o}=e,s=n.before(o+1),a=r.after(o+1),l=s,g=a,c=Fragment.empty,I=0;for(let u=o,B=!1;u>A;u--)B||n.index(u)>0?(B=!0,c=Fragment.from(n.node(u).copy(c)),I++):l--;let d=Fragment.empty,h=0;for(let u=o,B=!1;u>A;u--)B||r.after(u+1)<r.end(u)?(B=!0,d=Fragment.from(r.node(u).copy(d)),h++):g++;t.step(new ReplaceAroundStep(l,g,s,a,new Slice(c.append(d),I,h),c.size-I,!0))}function findWrapping(t,e,A=null,n=t){let r=findWrappingOutside(t,e),o=r&&findWrappingInside(n,e);return o?r.map(withAttrs).concat({type:e,attrs:A}).concat(o.map(withAttrs)):null}function withAttrs(t){return{type:t,attrs:null}}function findWrappingOutside(t,e){let{parent:A,startIndex:n,endIndex:r}=t,o=A.contentMatchAt(n).findWrapping(e);if(!o)return null;let s=o.length?o[0]:e;return A.canReplaceWith(n,r,s)?o:null}function findWrappingInside(t,e){let{parent:A,startIndex:n,endIndex:r}=t,o=A.child(n),s=e.contentMatch.findWrapping(o.type);if(!s)return null;let l=(s.length?s[s.length-1]:e).contentMatch;for(let g=n;l&&g<r;g++)l=l.matchType(A.child(g).type);return!l||!l.validEnd?null:s}function wrap(t,e,A){let n=Fragment.empty;for(let s=A.length-1;s>=0;s--){if(n.size){let a=A[s].type.contentMatch.matchFragment(n);if(!a||!a.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}n=Fragment.from(A[s].type.create(A[s].attrs,n))}let r=e.start,o=e.end;t.step(new ReplaceAroundStep(r,o,r,o,new Slice(n,0,0),A.length,!0))}function setBlockType$1(t,e,A,n,r){if(!n.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let o=t.steps.length;t.doc.nodesBetween(e,A,(s,a)=>{let l=typeof r=="function"?r(s):r;if(s.isTextblock&&!s.hasMarkup(n,l)&&canChangeType(t.doc,t.mapping.slice(o).map(a),n)){let g=null;if(n.schema.linebreakReplacement){let h=n.whitespace=="pre",u=!!n.contentMatch.matchType(n.schema.linebreakReplacement);h&&!u?g=!1:!h&&u&&(g=!0)}g===!1&&replaceLinebreaks(t,s,a,o),clearIncompatible(t,t.mapping.slice(o).map(a,1),n,void 0,g===null);let c=t.mapping.slice(o),I=c.map(a,1),d=c.map(a+s.nodeSize,1);return t.step(new ReplaceAroundStep(I,d,I+1,d-1,new Slice(Fragment.from(n.create(l,null,s.marks)),0,0),1,!0)),g===!0&&replaceNewlines(t,s,a,o),!1}})}function replaceNewlines(t,e,A,n){e.forEach((r,o)=>{if(r.isText){let s,a=/\r?\n|\r/g;for(;s=a.exec(r.text);){let l=t.mapping.slice(n).map(A+1+o+s.index);t.replaceWith(l,l+1,e.type.schema.linebreakReplacement.create())}}})}function replaceLinebreaks(t,e,A,n){e.forEach((r,o)=>{if(r.type==r.type.schema.linebreakReplacement){let s=t.mapping.slice(n).map(A+1+o);t.replaceWith(s,s+1,e.type.schema.text(`
5
+ `))}})}function canChangeType(t,e,A){let n=t.resolve(e),r=n.index();return n.parent.canReplaceWith(r,r+1,A)}function setNodeMarkup(t,e,A,n,r){let o=t.doc.nodeAt(e);if(!o)throw new RangeError("No node at given position");A||(A=o.type);let s=A.create(n,null,r||o.marks);if(o.isLeaf)return t.replaceWith(e,e+o.nodeSize,s);if(!A.validContent(o.content))throw new RangeError("Invalid content for node type "+A.name);t.step(new ReplaceAroundStep(e,e+o.nodeSize,e+1,e+o.nodeSize-1,new Slice(Fragment.from(s),0,0),1,!0))}function canSplit(t,e,A=1,n){let r=t.resolve(e),o=r.depth-A,s=n&&n[n.length-1]||r.parent;if(o<0||r.parent.type.spec.isolating||!r.parent.canReplace(r.index(),r.parent.childCount)||!s.type.validContent(r.parent.content.cutByIndex(r.index(),r.parent.childCount)))return!1;for(let g=r.depth-1,c=A-2;g>o;g--,c--){let I=r.node(g),d=r.index(g);if(I.type.spec.isolating)return!1;let h=I.content.cutByIndex(d,I.childCount),u=n&&n[c+1];u&&(h=h.replaceChild(0,u.type.create(u.attrs)));let B=n&&n[c]||I;if(!I.canReplace(d+1,I.childCount)||!B.type.validContent(h))return!1}let a=r.indexAfter(o),l=n&&n[0];return r.node(o).canReplaceWith(a,a,l?l.type:r.node(o+1).type)}function split(t,e,A=1,n){let r=t.doc.resolve(e),o=Fragment.empty,s=Fragment.empty;for(let a=r.depth,l=r.depth-A,g=A-1;a>l;a--,g--){o=Fragment.from(r.node(a).copy(o));let c=n&&n[g];s=Fragment.from(c?c.type.create(c.attrs,s):r.node(a).copy(s))}t.step(new ReplaceStep(e,e,new Slice(o.append(s),A,A),!0))}function canJoin(t,e){let A=t.resolve(e),n=A.index();return joinable(A.nodeBefore,A.nodeAfter)&&A.parent.canReplace(n,n+1)}function canAppendWithSubstitutedLinebreaks(t,e){e.content.size||t.type.compatibleContent(e.type);let A=t.contentMatchAt(t.childCount),{linebreakReplacement:n}=t.type.schema;for(let r=0;r<e.childCount;r++){let o=e.child(r),s=o.type==n?t.type.schema.nodes.text:o.type;if(A=A.matchType(s),!A||!t.type.allowsMarks(o.marks))return!1}return A.validEnd}function joinable(t,e){return!!(t&&e&&!t.isLeaf&&canAppendWithSubstitutedLinebreaks(t,e))}function joinPoint(t,e,A=-1){let n=t.resolve(e);for(let r=n.depth;;r--){let o,s,a=n.index(r);if(r==n.depth?(o=n.nodeBefore,s=n.nodeAfter):A>0?(o=n.node(r+1),a++,s=n.node(r).maybeChild(a)):(o=n.node(r).maybeChild(a-1),s=n.node(r+1)),o&&!o.isTextblock&&joinable(o,s)&&n.node(r).canReplace(a,a+1))return e;if(r==0)break;e=A<0?n.before(r):n.after(r)}}function join(t,e,A){let n=null,{linebreakReplacement:r}=t.doc.type.schema,o=t.doc.resolve(e-A),s=o.node().type;if(r&&s.inlineContent){let c=s.whitespace=="pre",I=!!s.contentMatch.matchType(r);c&&!I?n=!1:!c&&I&&(n=!0)}let a=t.steps.length;if(n===!1){let c=t.doc.resolve(e+A);replaceLinebreaks(t,c.node(),c.before(),a)}s.inlineContent&&clearIncompatible(t,e+A-1,s,o.node().contentMatchAt(o.index()),n==null);let l=t.mapping.slice(a),g=l.map(e-A);if(t.step(new ReplaceStep(g,l.map(e+A,-1),Slice.empty,!0)),n===!0){let c=t.doc.resolve(g);replaceNewlines(t,c.node(),c.before(),t.steps.length)}return t}function insertPoint(t,e,A){let n=t.resolve(e);if(n.parent.canReplaceWith(n.index(),n.index(),A))return e;if(n.parentOffset==0)for(let r=n.depth-1;r>=0;r--){let o=n.index(r);if(n.node(r).canReplaceWith(o,o,A))return n.before(r+1);if(o>0)return null}if(n.parentOffset==n.parent.content.size)for(let r=n.depth-1;r>=0;r--){let o=n.indexAfter(r);if(n.node(r).canReplaceWith(o,o,A))return n.after(r+1);if(o<n.node(r).childCount)return null}return null}function dropPoint(t,e,A){let n=t.resolve(e);if(!A.content.size)return e;let r=A.content;for(let o=0;o<A.openStart;o++)r=r.firstChild.content;for(let o=1;o<=(A.openStart==0&&A.size?2:1);o++)for(let s=n.depth;s>=0;s--){let a=s==n.depth?0:n.pos<=(n.start(s+1)+n.end(s+1))/2?-1:1,l=n.index(s)+(a>0?1:0),g=n.node(s),c=!1;if(o==1)c=g.canReplace(l,l,r);else{let I=g.contentMatchAt(l).findWrapping(r.firstChild.type);c=I&&g.canReplaceWith(l,l,I[0])}if(c)return a==0?n.pos:a<0?n.before(s+1):n.after(s+1)}return null}function replaceStep(t,e,A=e,n=Slice.empty){if(e==A&&!n.size)return null;let r=t.resolve(e),o=t.resolve(A);return fitsTrivially(r,o,n)?new ReplaceStep(e,A,n):new Fitter(r,o,n).fit()}function fitsTrivially(t,e,A){return!A.openStart&&!A.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),A.content)}class Fitter{constructor(e,A,n){this.$from=e,this.$to=A,this.unplaced=n,this.frontier=[],this.placed=Fragment.empty;for(let r=0;r<=e.depth;r++){let o=e.node(r);this.frontier.push({type:o.type,match:o.contentMatchAt(e.indexAfter(r))})}for(let r=e.depth;r>0;r--)this.placed=Fragment.from(e.node(r).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let g=this.findFittable();g?this.placeNodes(g):this.openMore()||this.dropNode()}let e=this.mustMoveInline(),A=this.placed.size-this.depth-this.$from.depth,n=this.$from,r=this.close(e<0?this.$to:n.doc.resolve(e));if(!r)return null;let o=this.placed,s=n.depth,a=r.depth;for(;s&&a&&o.childCount==1;)o=o.firstChild.content,s--,a--;let l=new Slice(o,s,a);return e>-1?new ReplaceAroundStep(n.pos,e,this.$to.pos,this.$to.end(),l,A):l.size||n.pos!=this.$to.pos?new ReplaceStep(n.pos,r.pos,l):null}findFittable(){let e=this.unplaced.openStart;for(let A=this.unplaced.content,n=0,r=this.unplaced.openEnd;n<e;n++){let o=A.firstChild;if(A.childCount>1&&(r=0),o.type.spec.isolating&&r<=n){e=n;break}A=o.content}for(let A=1;A<=2;A++)for(let n=A==1?e:this.unplaced.openStart;n>=0;n--){let r,o=null;n?(o=contentAt(this.unplaced.content,n-1).firstChild,r=o.content):r=this.unplaced.content;let s=r.firstChild;for(let a=this.depth;a>=0;a--){let{type:l,match:g}=this.frontier[a],c,I=null;if(A==1&&(s?g.matchType(s.type)||(I=g.fillBefore(Fragment.from(s),!1)):o&&l.compatibleContent(o.type)))return{sliceDepth:n,frontierDepth:a,parent:o,inject:I};if(A==2&&s&&(c=g.findWrapping(s.type)))return{sliceDepth:n,frontierDepth:a,parent:o,wrap:c};if(o&&g.matchType(o.type))break}}}openMore(){let{content:e,openStart:A,openEnd:n}=this.unplaced,r=contentAt(e,A);return!r.childCount||r.firstChild.isLeaf?!1:(this.unplaced=new Slice(e,A+1,Math.max(n,r.size+A>=e.size-n?A+1:0)),!0)}dropNode(){let{content:e,openStart:A,openEnd:n}=this.unplaced,r=contentAt(e,A);if(r.childCount<=1&&A>0){let o=e.size-A<=A+r.size;this.unplaced=new Slice(dropFromFragment(e,A-1,1),A-1,o?A-1:n)}else this.unplaced=new Slice(dropFromFragment(e,A,1),A,n)}placeNodes({sliceDepth:e,frontierDepth:A,parent:n,inject:r,wrap:o}){for(;this.depth>A;)this.closeFrontierNode();if(o)for(let B=0;B<o.length;B++)this.openFrontierNode(o[B]);let s=this.unplaced,a=n?n.content:s.content,l=s.openStart-e,g=0,c=[],{match:I,type:d}=this.frontier[A];if(r){for(let B=0;B<r.childCount;B++)c.push(r.child(B));I=I.matchFragment(r)}let h=a.size+e-(s.content.size-s.openEnd);for(;g<a.childCount;){let B=a.child(g),E=I.matchType(B.type);if(!E)break;g++,(g>1||l==0||B.content.size)&&(I=E,c.push(closeNodeStart(B.mark(d.allowedMarks(B.marks)),g==1?l:0,g==a.childCount?h:-1)))}let u=g==a.childCount;u||(h=-1),this.placed=addToFragment(this.placed,A,Fragment.from(c)),this.frontier[A].match=I,u&&h<0&&n&&n.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let B=0,E=a;B<h;B++){let f=E.lastChild;this.frontier.push({type:f.type,match:f.contentMatchAt(f.childCount)}),E=f.content}this.unplaced=u?e==0?Slice.empty:new Slice(dropFromFragment(s.content,e-1,1),e-1,h<0?s.openEnd:e-1):new Slice(dropFromFragment(s.content,e,g),s.openStart,s.openEnd)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let e=this.frontier[this.depth],A;if(!e.type.isTextblock||!contentAfterFits(this.$to,this.$to.depth,e.type,e.match,!1)||this.$to.depth==this.depth&&(A=this.findCloseLevel(this.$to))&&A.depth==this.depth)return-1;let{depth:n}=this.$to,r=this.$to.after(n);for(;n>1&&r==this.$to.end(--n);)++r;return r}findCloseLevel(e){e:for(let A=Math.min(this.depth,e.depth);A>=0;A--){let{match:n,type:r}=this.frontier[A],o=A<e.depth&&e.end(A+1)==e.pos+(e.depth-(A+1)),s=contentAfterFits(e,A,r,n,o);if(s){for(let a=A-1;a>=0;a--){let{match:l,type:g}=this.frontier[a],c=contentAfterFits(e,a,g,l,!0);if(!c||c.childCount)continue e}return{depth:A,fit:s,move:o?e.doc.resolve(e.after(A+1)):e}}}}close(e){let A=this.findCloseLevel(e);if(!A)return null;for(;this.depth>A.depth;)this.closeFrontierNode();A.fit.childCount&&(this.placed=addToFragment(this.placed,A.depth,A.fit)),e=A.move;for(let n=A.depth+1;n<=e.depth;n++){let r=e.node(n),o=r.type.contentMatch.fillBefore(r.content,!0,e.index(n));this.openFrontierNode(r.type,r.attrs,o)}return e}openFrontierNode(e,A=null,n){let r=this.frontier[this.depth];r.match=r.match.matchType(e),this.placed=addToFragment(this.placed,this.depth,Fragment.from(e.create(A,n))),this.frontier.push({type:e,match:e.contentMatch})}closeFrontierNode(){let A=this.frontier.pop().match.fillBefore(Fragment.empty,!0);A.childCount&&(this.placed=addToFragment(this.placed,this.frontier.length,A))}}function dropFromFragment(t,e,A){return e==0?t.cutByIndex(A,t.childCount):t.replaceChild(0,t.firstChild.copy(dropFromFragment(t.firstChild.content,e-1,A)))}function addToFragment(t,e,A){return e==0?t.append(A):t.replaceChild(t.childCount-1,t.lastChild.copy(addToFragment(t.lastChild.content,e-1,A)))}function contentAt(t,e){for(let A=0;A<e;A++)t=t.firstChild.content;return t}function closeNodeStart(t,e,A){if(e<=0)return t;let n=t.content;return e>1&&(n=n.replaceChild(0,closeNodeStart(n.firstChild,e-1,n.childCount==1?A-1:0))),e>0&&(n=t.type.contentMatch.fillBefore(n).append(n),A<=0&&(n=n.append(t.type.contentMatch.matchFragment(n).fillBefore(Fragment.empty,!0)))),t.copy(n)}function contentAfterFits(t,e,A,n,r){let o=t.node(e),s=r?t.indexAfter(e):t.index(e);if(s==o.childCount&&!A.compatibleContent(o.type))return null;let a=n.fillBefore(o.content,!0,s);return a&&!invalidMarks(A,o.content,s)?a:null}function invalidMarks(t,e,A){for(let n=A;n<e.childCount;n++)if(!t.allowsMarks(e.child(n).marks))return!0;return!1}function definesContent(t){return t.spec.defining||t.spec.definingForContent}function replaceRange(t,e,A,n){if(!n.size)return t.deleteRange(e,A);let r=t.doc.resolve(e),o=t.doc.resolve(A);if(fitsTrivially(r,o,n))return t.step(new ReplaceStep(e,A,n));let s=coveredDepths(r,t.doc.resolve(A));s[s.length-1]==0&&s.pop();let a=-(r.depth+1);s.unshift(a);for(let d=r.depth,h=r.pos-1;d>0;d--,h--){let u=r.node(d).type.spec;if(u.defining||u.definingAsContext||u.isolating)break;s.indexOf(d)>-1?a=d:r.before(d)==h&&s.splice(1,0,-d)}let l=s.indexOf(a),g=[],c=n.openStart;for(let d=n.content,h=0;;h++){let u=d.firstChild;if(g.push(u),h==n.openStart)break;d=u.content}for(let d=c-1;d>=0;d--){let h=g[d],u=definesContent(h.type);if(u&&!h.sameMarkup(r.node(Math.abs(a)-1)))c=d;else if(u||!h.type.isTextblock)break}for(let d=n.openStart;d>=0;d--){let h=(d+c+1)%(n.openStart+1),u=g[h];if(u)for(let B=0;B<s.length;B++){let E=s[(B+l)%s.length],f=!0;E<0&&(f=!1,E=-E);let Q=r.node(E-1),p=r.index(E-1);if(Q.canReplaceWith(p,p,u.type,u.marks))return t.replace(r.before(E),f?o.after(E):A,new Slice(closeFragment(n.content,0,n.openStart,h),h,n.openEnd))}}let I=t.steps.length;for(let d=s.length-1;d>=0&&(t.replace(e,A,n),!(t.steps.length>I));d--){let h=s[d];h<0||(e=r.before(h),A=o.after(h))}}function closeFragment(t,e,A,n,r){if(e<A){let o=t.firstChild;t=t.replaceChild(0,o.copy(closeFragment(o.content,e+1,A,n,o)))}if(e>n){let o=r.contentMatchAt(0),s=o.fillBefore(t).append(t);t=s.append(o.matchFragment(s).fillBefore(Fragment.empty,!0))}return t}function replaceRangeWith(t,e,A,n){if(!n.isInline&&e==A&&t.doc.resolve(e).parent.content.size){let r=insertPoint(t.doc,e,n.type);r!=null&&(e=A=r)}t.replaceRange(e,A,new Slice(Fragment.from(n),0,0))}function deleteRange(t,e,A){let n=t.doc.resolve(e),r=t.doc.resolve(A),o=coveredDepths(n,r);for(let s=0;s<o.length;s++){let a=o[s],l=s==o.length-1;if(l&&a==0||n.node(a).type.contentMatch.validEnd)return t.delete(n.start(a),r.end(a));if(a>0&&(l||n.node(a-1).canReplace(n.index(a-1),r.indexAfter(a-1))))return t.delete(n.before(a),r.after(a))}for(let s=1;s<=n.depth&&s<=r.depth;s++)if(e-n.start(s)==n.depth-s&&A>n.end(s)&&r.end(s)-A!=r.depth-s&&n.start(s-1)==r.start(s-1)&&n.node(s-1).canReplace(n.index(s-1),r.index(s-1)))return t.delete(n.before(s),A);t.delete(e,A)}function coveredDepths(t,e){let A=[],n=Math.min(t.depth,e.depth);for(let r=n;r>=0;r--){let o=t.start(r);if(o<t.pos-(t.depth-r)||e.end(r)>e.pos+(e.depth-r)||t.node(r).type.spec.isolating||e.node(r).type.spec.isolating)break;(o==e.start(r)||r==t.depth&&r==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&r&&e.start(r-1)==o-1)&&A.push(r)}return A}class AttrStep extends Step{constructor(e,A,n){super(),this.pos=e,this.attr=A,this.value=n}apply(e){let A=e.nodeAt(this.pos);if(!A)return StepResult.fail("No node at attribute step's position");let n=Object.create(null);for(let o in A.attrs)n[o]=A.attrs[o];n[this.attr]=this.value;let r=A.type.create(n,null,A.marks);return StepResult.fromReplace(e,this.pos,this.pos+1,new Slice(Fragment.from(r),0,A.isLeaf?0:1))}getMap(){return StepMap.empty}invert(e){return new AttrStep(this.pos,this.attr,e.nodeAt(this.pos).attrs[this.attr])}map(e){let A=e.mapResult(this.pos,1);return A.deletedAfter?null:new AttrStep(A.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(e,A){if(typeof A.pos!="number"||typeof A.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new AttrStep(A.pos,A.attr,A.value)}}Step.jsonID("attr",AttrStep);class DocAttrStep extends Step{constructor(e,A){super(),this.attr=e,this.value=A}apply(e){let A=Object.create(null);for(let r in e.attrs)A[r]=e.attrs[r];A[this.attr]=this.value;let n=e.type.create(A,e.content,e.marks);return StepResult.ok(n)}getMap(){return StepMap.empty}invert(e){return new DocAttrStep(this.attr,e.attrs[this.attr])}map(e){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(e,A){if(typeof A.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new DocAttrStep(A.attr,A.value)}}Step.jsonID("docAttr",DocAttrStep);let TransformError=class extends Error{};TransformError=function t(e){let A=Error.call(this,e);return A.__proto__=t.prototype,A};TransformError.prototype=Object.create(Error.prototype);TransformError.prototype.constructor=TransformError;TransformError.prototype.name="TransformError";class Transform{constructor(e){this.doc=e,this.steps=[],this.docs=[],this.mapping=new Mapping}get before(){return this.docs.length?this.docs[0]:this.doc}step(e){let A=this.maybeStep(e);if(A.failed)throw new TransformError(A.failed);return this}maybeStep(e){let A=e.apply(this.doc);return A.failed||this.addStep(e,A.doc),A}get docChanged(){return this.steps.length>0}addStep(e,A){this.docs.push(this.doc),this.steps.push(e),this.mapping.appendMap(e.getMap()),this.doc=A}replace(e,A=e,n=Slice.empty){let r=replaceStep(this.doc,e,A,n);return r&&this.step(r),this}replaceWith(e,A,n){return this.replace(e,A,new Slice(Fragment.from(n),0,0))}delete(e,A){return this.replace(e,A,Slice.empty)}insert(e,A){return this.replaceWith(e,e,A)}replaceRange(e,A,n){return replaceRange(this,e,A,n),this}replaceRangeWith(e,A,n){return replaceRangeWith(this,e,A,n),this}deleteRange(e,A){return deleteRange(this,e,A),this}lift(e,A){return lift$1(this,e,A),this}join(e,A=1){return join(this,e,A),this}wrap(e,A){return wrap(this,e,A),this}setBlockType(e,A=e,n,r=null){return setBlockType$1(this,e,A,n,r),this}setNodeMarkup(e,A,n=null,r){return setNodeMarkup(this,e,A,n,r),this}setNodeAttribute(e,A,n){return this.step(new AttrStep(e,A,n)),this}setDocAttribute(e,A){return this.step(new DocAttrStep(e,A)),this}addNodeMark(e,A){return this.step(new AddNodeMarkStep(e,A)),this}removeNodeMark(e,A){let n=this.doc.nodeAt(e);if(!n)throw new RangeError("No node at position "+e);if(A instanceof Mark$1)A.isInSet(n.marks)&&this.step(new RemoveNodeMarkStep(e,A));else{let r=n.marks,o,s=[];for(;o=A.isInSet(r);)s.push(new RemoveNodeMarkStep(e,o)),r=o.removeFromSet(r);for(let a=s.length-1;a>=0;a--)this.step(s[a])}return this}split(e,A=1,n){return split(this,e,A,n),this}addMark(e,A,n){return addMark(this,e,A,n),this}removeMark(e,A,n){return removeMark(this,e,A,n),this}clearIncompatible(e,A,n){return clearIncompatible(this,e,A,n),this}}const classesById=Object.create(null);class Selection{constructor(e,A,n){this.$anchor=e,this.$head=A,this.ranges=n||[new SelectionRange(e.min(A),e.max(A))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let e=this.ranges;for(let A=0;A<e.length;A++)if(e[A].$from.pos!=e[A].$to.pos)return!1;return!0}content(){return this.$from.doc.slice(this.from,this.to,!0)}replace(e,A=Slice.empty){let n=A.content.lastChild,r=null;for(let a=0;a<A.openEnd;a++)r=n,n=n.lastChild;let o=e.steps.length,s=this.ranges;for(let a=0;a<s.length;a++){let{$from:l,$to:g}=s[a],c=e.mapping.slice(o);e.replaceRange(c.map(l.pos),c.map(g.pos),a?Slice.empty:A),a==0&&selectionToInsertionEnd(e,o,(n?n.isInline:r&&r.isTextblock)?-1:1)}}replaceWith(e,A){let n=e.steps.length,r=this.ranges;for(let o=0;o<r.length;o++){let{$from:s,$to:a}=r[o],l=e.mapping.slice(n),g=l.map(s.pos),c=l.map(a.pos);o?e.deleteRange(g,c):(e.replaceRangeWith(g,c,A),selectionToInsertionEnd(e,n,A.isInline?-1:1))}}static findFrom(e,A,n=!1){let r=e.parent.inlineContent?new TextSelection(e):findSelectionIn(e.node(0),e.parent,e.pos,e.index(),A,n);if(r)return r;for(let o=e.depth-1;o>=0;o--){let s=A<0?findSelectionIn(e.node(0),e.node(o),e.before(o+1),e.index(o),A,n):findSelectionIn(e.node(0),e.node(o),e.after(o+1),e.index(o)+1,A,n);if(s)return s}return null}static near(e,A=1){return this.findFrom(e,A)||this.findFrom(e,-A)||new AllSelection(e.node(0))}static atStart(e){return findSelectionIn(e,e,0,0,1)||new AllSelection(e)}static atEnd(e){return findSelectionIn(e,e,e.content.size,e.childCount,-1)||new AllSelection(e)}static fromJSON(e,A){if(!A||!A.type)throw new RangeError("Invalid input for Selection.fromJSON");let n=classesById[A.type];if(!n)throw new RangeError(`No selection type ${A.type} defined`);return n.fromJSON(e,A)}static jsonID(e,A){if(e in classesById)throw new RangeError("Duplicate use of selection JSON ID "+e);return classesById[e]=A,A.prototype.jsonID=e,A}getBookmark(){return TextSelection.between(this.$anchor,this.$head).getBookmark()}}Selection.prototype.visible=!0;class SelectionRange{constructor(e,A){this.$from=e,this.$to=A}}let warnedAboutTextSelection=!1;function checkTextSelection(t){!warnedAboutTextSelection&&!t.parent.inlineContent&&(warnedAboutTextSelection=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")"))}class TextSelection extends Selection{constructor(e,A=e){checkTextSelection(e),checkTextSelection(A),super(e,A)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(e,A){let n=e.resolve(A.map(this.head));if(!n.parent.inlineContent)return Selection.near(n);let r=e.resolve(A.map(this.anchor));return new TextSelection(r.parent.inlineContent?r:n,n)}replace(e,A=Slice.empty){if(super.replace(e,A),A==Slice.empty){let n=this.$from.marksAcross(this.$to);n&&e.ensureMarks(n)}}eq(e){return e instanceof TextSelection&&e.anchor==this.anchor&&e.head==this.head}getBookmark(){return new TextBookmark(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(e,A){if(typeof A.anchor!="number"||typeof A.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new TextSelection(e.resolve(A.anchor),e.resolve(A.head))}static create(e,A,n=A){let r=e.resolve(A);return new this(r,n==A?r:e.resolve(n))}static between(e,A,n){let r=e.pos-A.pos;if((!n||r)&&(n=r>=0?1:-1),!A.parent.inlineContent){let o=Selection.findFrom(A,n,!0)||Selection.findFrom(A,-n,!0);if(o)A=o.$head;else return Selection.near(A,n)}return e.parent.inlineContent||(r==0?e=A:(e=(Selection.findFrom(e,-n,!0)||Selection.findFrom(e,n,!0)).$anchor,e.pos<A.pos!=r<0&&(e=A))),new TextSelection(e,A)}}Selection.jsonID("text",TextSelection);class TextBookmark{constructor(e,A){this.anchor=e,this.head=A}map(e){return new TextBookmark(e.map(this.anchor),e.map(this.head))}resolve(e){return TextSelection.between(e.resolve(this.anchor),e.resolve(this.head))}}class NodeSelection extends Selection{constructor(e){let A=e.nodeAfter,n=e.node(0).resolve(e.pos+A.nodeSize);super(e,n),this.node=A}map(e,A){let{deleted:n,pos:r}=A.mapResult(this.anchor),o=e.resolve(r);return n?Selection.near(o):new NodeSelection(o)}content(){return new Slice(Fragment.from(this.node),0,0)}eq(e){return e instanceof NodeSelection&&e.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new NodeBookmark$1(this.anchor)}static fromJSON(e,A){if(typeof A.anchor!="number")throw new RangeError("Invalid input for NodeSelection.fromJSON");return new NodeSelection(e.resolve(A.anchor))}static create(e,A){return new NodeSelection(e.resolve(A))}static isSelectable(e){return!e.isText&&e.type.spec.selectable!==!1}}NodeSelection.prototype.visible=!1;Selection.jsonID("node",NodeSelection);let NodeBookmark$1=class q{constructor(e){this.anchor=e}map(e){let{deleted:A,pos:n}=e.mapResult(this.anchor);return A?new TextBookmark(n,n):new q(n)}resolve(e){let A=e.resolve(this.anchor),n=A.nodeAfter;return n&&NodeSelection.isSelectable(n)?new NodeSelection(A):Selection.near(A)}};class AllSelection extends Selection{constructor(e){super(e.resolve(0),e.resolve(e.content.size))}replace(e,A=Slice.empty){if(A==Slice.empty){e.delete(0,e.doc.content.size);let n=Selection.atStart(e.doc);n.eq(e.selection)||e.setSelection(n)}else super.replace(e,A)}toJSON(){return{type:"all"}}static fromJSON(e){return new AllSelection(e)}map(e){return new AllSelection(e)}eq(e){return e instanceof AllSelection}getBookmark(){return AllBookmark}}Selection.jsonID("all",AllSelection);const AllBookmark={map(){return this},resolve(t){return new AllSelection(t)}};function findSelectionIn(t,e,A,n,r,o=!1){if(e.inlineContent)return TextSelection.create(t,A);for(let s=n-(r>0?0:1);r>0?s<e.childCount:s>=0;s+=r){let a=e.child(s);if(a.isAtom){if(!o&&NodeSelection.isSelectable(a))return NodeSelection.create(t,A-(r<0?a.nodeSize:0))}else{let l=findSelectionIn(t,a,A+r,r<0?a.childCount:0,r,o);if(l)return l}A+=a.nodeSize*r}return null}function selectionToInsertionEnd(t,e,A){let n=t.steps.length-1;if(n<e)return;let r=t.steps[n];if(!(r instanceof ReplaceStep||r instanceof ReplaceAroundStep))return;let o=t.mapping.maps[n],s;o.forEach((a,l,g,c)=>{s==null&&(s=c)}),t.setSelection(Selection.near(t.doc.resolve(s),A))}const UPDATED_SEL=1,UPDATED_MARKS=2,UPDATED_SCROLL=4;class Transaction extends Transform{constructor(e){super(e.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=e.selection,this.storedMarks=e.storedMarks}get selection(){return this.curSelectionFor<this.steps.length&&(this.curSelection=this.curSelection.map(this.doc,this.mapping.slice(this.curSelectionFor)),this.curSelectionFor=this.steps.length),this.curSelection}setSelection(e){if(e.$from.doc!=this.doc)throw new RangeError("Selection passed to setSelection must point at the current document");return this.curSelection=e,this.curSelectionFor=this.steps.length,this.updated=(this.updated|UPDATED_SEL)&~UPDATED_MARKS,this.storedMarks=null,this}get selectionSet(){return(this.updated&UPDATED_SEL)>0}setStoredMarks(e){return this.storedMarks=e,this.updated|=UPDATED_MARKS,this}ensureMarks(e){return Mark$1.sameSet(this.storedMarks||this.selection.$from.marks(),e)||this.setStoredMarks(e),this}addStoredMark(e){return this.ensureMarks(e.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(e){return this.ensureMarks(e.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&UPDATED_MARKS)>0}addStep(e,A){super.addStep(e,A),this.updated=this.updated&~UPDATED_MARKS,this.storedMarks=null}setTime(e){return this.time=e,this}replaceSelection(e){return this.selection.replace(this,e),this}replaceSelectionWith(e,A=!0){let n=this.selection;return A&&(e=e.mark(this.storedMarks||(n.empty?n.$from.marks():n.$from.marksAcross(n.$to)||Mark$1.none))),n.replaceWith(this,e),this}deleteSelection(){return this.selection.replace(this),this}insertText(e,A,n){let r=this.doc.type.schema;if(A==null)return e?this.replaceSelectionWith(r.text(e),!0):this.deleteSelection();{if(n==null&&(n=A),n=n??A,!e)return this.deleteRange(A,n);let o=this.storedMarks;if(!o){let s=this.doc.resolve(A);o=n==A?s.marks():s.marksAcross(this.doc.resolve(n))}return this.replaceRangeWith(A,n,r.text(e,o)),this.selection.empty||this.setSelection(Selection.near(this.selection.$to)),this}}setMeta(e,A){return this.meta[typeof e=="string"?e:e.key]=A,this}getMeta(e){return this.meta[typeof e=="string"?e:e.key]}get isGeneric(){for(let e in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=UPDATED_SCROLL,this}get scrolledIntoView(){return(this.updated&UPDATED_SCROLL)>0}}function bind(t,e){return!e||!t?t:t.bind(e)}class FieldDesc{constructor(e,A,n){this.name=e,this.init=bind(A.init,n),this.apply=bind(A.apply,n)}}const baseFields=[new FieldDesc("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new FieldDesc("selection",{init(t,e){return t.selection||Selection.atStart(e.doc)},apply(t){return t.selection}}),new FieldDesc("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,A,n){return n.selection.$cursor?t.storedMarks:null}}),new FieldDesc("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}})];class Configuration{constructor(e,A){this.schema=e,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=baseFields.slice(),A&&A.forEach(n=>{if(this.pluginsByKey[n.key])throw new RangeError("Adding different instances of a keyed plugin ("+n.key+")");this.plugins.push(n),this.pluginsByKey[n.key]=n,n.spec.state&&this.fields.push(new FieldDesc(n.key,n.spec.state,n))})}}class EditorState{constructor(e){this.config=e}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(e){return this.applyTransaction(e).state}filterTransaction(e,A=-1){for(let n=0;n<this.config.plugins.length;n++)if(n!=A){let r=this.config.plugins[n];if(r.spec.filterTransaction&&!r.spec.filterTransaction.call(r,e,this))return!1}return!0}applyTransaction(e){if(!this.filterTransaction(e))return{state:this,transactions:[]};let A=[e],n=this.applyInner(e),r=null;for(;;){let o=!1;for(let s=0;s<this.config.plugins.length;s++){let a=this.config.plugins[s];if(a.spec.appendTransaction){let l=r?r[s].n:0,g=r?r[s].state:this,c=l<A.length&&a.spec.appendTransaction.call(a,l?A.slice(l):A,g,n);if(c&&n.filterTransaction(c,s)){if(c.setMeta("appendedTransaction",e),!r){r=[];for(let I=0;I<this.config.plugins.length;I++)r.push(I<s?{state:n,n:A.length}:{state:this,n:0})}A.push(c),n=n.applyInner(c),o=!0}r&&(r[s]={state:n,n:A.length})}}if(!o)return{state:n,transactions:A}}}applyInner(e){if(!e.before.eq(this.doc))throw new RangeError("Applying a mismatched transaction");let A=new EditorState(this.config),n=this.config.fields;for(let r=0;r<n.length;r++){let o=n[r];A[o.name]=o.apply(e,this[o.name],this,A)}return A}get tr(){return new Transaction(this)}static create(e){let A=new Configuration(e.doc?e.doc.type.schema:e.schema,e.plugins),n=new EditorState(A);for(let r=0;r<A.fields.length;r++)n[A.fields[r].name]=A.fields[r].init(e,n);return n}reconfigure(e){let A=new Configuration(this.schema,e.plugins),n=A.fields,r=new EditorState(A);for(let o=0;o<n.length;o++){let s=n[o].name;r[s]=this.hasOwnProperty(s)?this[s]:n[o].init(e,r)}return r}toJSON(e){let A={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks&&(A.storedMarks=this.storedMarks.map(n=>n.toJSON())),e&&typeof e=="object")for(let n in e){if(n=="doc"||n=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let r=e[n],o=r.spec.state;o&&o.toJSON&&(A[n]=o.toJSON.call(r,this[r.key]))}return A}static fromJSON(e,A,n){if(!A)throw new RangeError("Invalid input for EditorState.fromJSON");if(!e.schema)throw new RangeError("Required config field 'schema' missing");let r=new Configuration(e.schema,e.plugins),o=new EditorState(r);return r.fields.forEach(s=>{if(s.name=="doc")o.doc=Node$3.fromJSON(e.schema,A.doc);else if(s.name=="selection")o.selection=Selection.fromJSON(o.doc,A.selection);else if(s.name=="storedMarks")A.storedMarks&&(o.storedMarks=A.storedMarks.map(e.schema.markFromJSON));else{if(n)for(let a in n){let l=n[a],g=l.spec.state;if(l.key==s.name&&g&&g.fromJSON&&Object.prototype.hasOwnProperty.call(A,a)){o[s.name]=g.fromJSON.call(l,e,A[a],o);return}}o[s.name]=s.init(e,o)}}),o}}function bindProps(t,e,A){for(let n in t){let r=t[n];r instanceof Function?r=r.bind(e):n=="handleDOMEvents"&&(r=bindProps(r,e,{})),A[n]=r}return A}class Plugin{constructor(e){this.spec=e,this.props={},e.props&&bindProps(e.props,this,this.props),this.key=e.key?e.key.key:createKey("plugin")}getState(e){return e[this.key]}}const keys=Object.create(null);function createKey(t){return t in keys?t+"$"+ ++keys[t]:(keys[t]=0,t+"$")}class PluginKey{constructor(e="key"){this.key=createKey(e)}get(e){return e.config.pluginsByKey[this.key]}getState(e){return e[this.key]}}const domIndex=function(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e},parentNode=function(t){let e=t.assignedSlot||t.parentNode;return e&&e.nodeType==11?e.host:e};let reusedRange=null;const textRange=function(t,e,A){let n=reusedRange||(reusedRange=document.createRange());return n.setEnd(t,A??t.nodeValue.length),n.setStart(t,e||0),n},clearReusedRange=function(){reusedRange=null},isEquivalentPosition=function(t,e,A,n){return A&&(scanFor(t,e,A,n,-1)||scanFor(t,e,A,n,1))},atomElements=/^(img|br|input|textarea|hr)$/i;function scanFor(t,e,A,n,r){for(var o;;){if(t==A&&e==n)return!0;if(e==(r<0?0:nodeSize(t))){let s=t.parentNode;if(!s||s.nodeType!=1||hasBlockDesc(t)||atomElements.test(t.nodeName)||t.contentEditable=="false")return!1;e=domIndex(t)+(r<0?0:1),t=s}else if(t.nodeType==1){let s=t.childNodes[e+(r<0?-1:0)];if(s.nodeType==1&&s.contentEditable=="false")if(!((o=s.pmViewDesc)===null||o===void 0)&&o.ignoreForSelection)e+=r;else return!1;else t=s,e=r<0?nodeSize(t):0}else return!1}}function nodeSize(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function textNodeBefore$1(t,e){for(;;){if(t.nodeType==3&&e)return t;if(t.nodeType==1&&e>0){if(t.contentEditable=="false")return null;t=t.childNodes[e-1],e=nodeSize(t)}else if(t.parentNode&&!hasBlockDesc(t))e=domIndex(t),t=t.parentNode;else return null}}function textNodeAfter$1(t,e){for(;;){if(t.nodeType==3&&e<t.nodeValue.length)return t;if(t.nodeType==1&&e<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[e],e=0}else if(t.parentNode&&!hasBlockDesc(t))e=domIndex(t)+1,t=t.parentNode;else return null}}function isOnEdge(t,e,A){for(let n=e==0,r=e==nodeSize(t);n||r;){if(t==A)return!0;let o=domIndex(t);if(t=t.parentNode,!t)return!1;n=n&&o==0,r=r&&o==nodeSize(t)}}function hasBlockDesc(t){let e;for(let A=t;A&&!(e=A.pmViewDesc);A=A.parentNode);return e&&e.node&&e.node.isBlock&&(e.dom==t||e.contentDOM==t)}const selectionCollapsed=function(t){return t.focusNode&&isEquivalentPosition(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)};function keyEvent(t,e){let A=document.createEvent("Event");return A.initEvent("keydown",!0,!0),A.keyCode=t,A.key=A.code=e,A}function deepActiveElement(t){let e=t.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function caretFromPoint(t,e,A){if(t.caretPositionFromPoint)try{let n=t.caretPositionFromPoint(e,A);if(n)return{node:n.offsetNode,offset:Math.min(nodeSize(n.offsetNode),n.offset)}}catch{}if(t.caretRangeFromPoint){let n=t.caretRangeFromPoint(e,A);if(n)return{node:n.startContainer,offset:Math.min(nodeSize(n.startContainer),n.startOffset)}}}const nav=typeof navigator<"u"?navigator:null,doc=typeof document<"u"?document:null,agent=nav&&nav.userAgent||"",ie_edge=/Edge\/(\d+)/.exec(agent),ie_upto10=/MSIE \d/.exec(agent),ie_11up=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(agent),ie$1=!!(ie_upto10||ie_11up||ie_edge),ie_version=ie_upto10?document.documentMode:ie_11up?+ie_11up[1]:ie_edge?+ie_edge[1]:0,gecko=!ie$1&&/gecko\/(\d+)/i.test(agent);gecko&&+(/Firefox\/(\d+)/.exec(agent)||[0,0])[1];const _chrome=!ie$1&&/Chrome\/(\d+)/.exec(agent),chrome=!!_chrome,chrome_version=_chrome?+_chrome[1]:0,safari=!ie$1&&!!nav&&/Apple Computer/.test(nav.vendor),ios=safari&&(/Mobile\/\w+/.test(agent)||!!nav&&nav.maxTouchPoints>2),mac$3=ios||(nav?/Mac/.test(nav.platform):!1),windows$1=nav?/Win/.test(nav.platform):!1,android=/Android \d/.test(agent),webkit=!!doc&&"webkitFontSmoothing"in doc.documentElement.style,webkit_version=webkit?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function windowRect(t){let e=t.defaultView&&t.defaultView.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function getSide(t,e){return typeof t=="number"?t:t[e]}function clientRect(t){let e=t.getBoundingClientRect(),A=e.width/t.offsetWidth||1,n=e.height/t.offsetHeight||1;return{left:e.left,right:e.left+t.clientWidth*A,top:e.top,bottom:e.top+t.clientHeight*n}}function scrollRectIntoView(t,e,A){let n=t.someProp("scrollThreshold")||0,r=t.someProp("scrollMargin")||5,o=t.dom.ownerDocument;for(let s=A||t.dom;s;){if(s.nodeType!=1){s=parentNode(s);continue}let a=s,l=a==o.body,g=l?windowRect(o):clientRect(a),c=0,I=0;if(e.top<g.top+getSide(n,"top")?I=-(g.top-e.top+getSide(r,"top")):e.bottom>g.bottom-getSide(n,"bottom")&&(I=e.bottom-e.top>g.bottom-g.top?e.top+getSide(r,"top")-g.top:e.bottom-g.bottom+getSide(r,"bottom")),e.left<g.left+getSide(n,"left")?c=-(g.left-e.left+getSide(r,"left")):e.right>g.right-getSide(n,"right")&&(c=e.right-g.right+getSide(r,"right")),c||I)if(l)o.defaultView.scrollBy(c,I);else{let h=a.scrollLeft,u=a.scrollTop;I&&(a.scrollTop+=I),c&&(a.scrollLeft+=c);let B=a.scrollLeft-h,E=a.scrollTop-u;e={left:e.left-B,top:e.top-E,right:e.right-B,bottom:e.bottom-E}}let d=l?"fixed":getComputedStyle(s).position;if(/^(fixed|sticky)$/.test(d))break;s=d=="absolute"?s.offsetParent:parentNode(s)}}function storeScrollPos(t){let e=t.dom.getBoundingClientRect(),A=Math.max(0,e.top),n,r;for(let o=(e.left+e.right)/2,s=A+1;s<Math.min(innerHeight,e.bottom);s+=5){let a=t.root.elementFromPoint(o,s);if(!a||a==t.dom||!t.dom.contains(a))continue;let l=a.getBoundingClientRect();if(l.top>=A-20){n=a,r=l.top;break}}return{refDOM:n,refTop:r,stack:scrollStack(t.dom)}}function scrollStack(t){let e=[],A=t.ownerDocument;for(let n=t;n&&(e.push({dom:n,top:n.scrollTop,left:n.scrollLeft}),t!=A);n=parentNode(n));return e}function resetScrollPos({refDOM:t,refTop:e,stack:A}){let n=t?t.getBoundingClientRect().top:0;restoreScrollStack(A,n==0?0:n-e)}function restoreScrollStack(t,e){for(let A=0;A<t.length;A++){let{dom:n,top:r,left:o}=t[A];n.scrollTop!=r+e&&(n.scrollTop=r+e),n.scrollLeft!=o&&(n.scrollLeft=o)}}let preventScrollSupported=null;function focusPreventScroll(t){if(t.setActive)return t.setActive();if(preventScrollSupported)return t.focus(preventScrollSupported);let e=scrollStack(t);t.focus(preventScrollSupported==null?{get preventScroll(){return preventScrollSupported={preventScroll:!0},!0}}:void 0),preventScrollSupported||(preventScrollSupported=!1,restoreScrollStack(e,0))}function findOffsetInNode(t,e){let A,n=2e8,r,o=0,s=e.top,a=e.top,l,g;for(let c=t.firstChild,I=0;c;c=c.nextSibling,I++){let d;if(c.nodeType==1)d=c.getClientRects();else if(c.nodeType==3)d=textRange(c).getClientRects();else continue;for(let h=0;h<d.length;h++){let u=d[h];if(u.top<=s&&u.bottom>=a){s=Math.max(u.bottom,s),a=Math.min(u.top,a);let B=u.left>e.left?u.left-e.left:u.right<e.left?e.left-u.right:0;if(B<n){A=c,n=B,r=B&&A.nodeType==3?{left:u.right<e.left?u.right:u.left,top:e.top}:e,c.nodeType==1&&B&&(o=I+(e.left>=(u.left+u.right)/2?1:0));continue}}else u.top>e.top&&!l&&u.left<=e.left&&u.right>=e.left&&(l=c,g={left:Math.max(u.left,Math.min(u.right,e.left)),top:u.top});!A&&(e.left>=u.right&&e.top>=u.top||e.left>=u.left&&e.top>=u.bottom)&&(o=I+1)}}return!A&&l&&(A=l,r=g,n=0),A&&A.nodeType==3?findOffsetInText(A,r):!A||n&&A.nodeType==1?{node:t,offset:o}:findOffsetInNode(A,r)}function findOffsetInText(t,e){let A=t.nodeValue.length,n=document.createRange();for(let r=0;r<A;r++){n.setEnd(t,r+1),n.setStart(t,r);let o=singleRect(n,1);if(o.top!=o.bottom&&inRect(e,o))return{node:t,offset:r+(e.left>=(o.left+o.right)/2?1:0)}}return{node:t,offset:0}}function inRect(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function targetKludge(t,e){let A=t.parentNode;return A&&/^li$/i.test(A.nodeName)&&e.left<t.getBoundingClientRect().left?A:t}function posFromElement(t,e,A){let{node:n,offset:r}=findOffsetInNode(e,A),o=-1;if(n.nodeType==1&&!n.firstChild){let s=n.getBoundingClientRect();o=s.left!=s.right&&A.left>(s.left+s.right)/2?1:-1}return t.docView.posFromDOM(n,r,o)}function posFromCaret(t,e,A,n){let r=-1;for(let o=e,s=!1;o!=t.dom;){let a=t.docView.nearestDesc(o,!0),l;if(!a)return null;if(a.dom.nodeType==1&&(a.node.isBlock&&a.parent||!a.contentDOM)&&((l=a.dom.getBoundingClientRect()).width||l.height)&&(a.node.isBlock&&a.parent&&(!s&&l.left>n.left||l.top>n.top?r=a.posBefore:(!s&&l.right<n.left||l.bottom<n.top)&&(r=a.posAfter),s=!0),!a.contentDOM&&r<0&&!a.node.isText))return(a.node.isBlock?n.top<(l.top+l.bottom)/2:n.left<(l.left+l.right)/2)?a.posBefore:a.posAfter;o=a.dom.parentNode}return r>-1?r:t.docView.posFromDOM(e,A,-1)}function elementFromPoint(t,e,A){let n=t.childNodes.length;if(n&&A.top<A.bottom)for(let r=Math.max(0,Math.min(n-1,Math.floor(n*(e.top-A.top)/(A.bottom-A.top))-2)),o=r;;){let s=t.childNodes[o];if(s.nodeType==1){let a=s.getClientRects();for(let l=0;l<a.length;l++){let g=a[l];if(inRect(e,g))return elementFromPoint(s,e,g)}}if((o=(o+1)%n)==r)break}return t}function posAtCoords(t,e){let A=t.dom.ownerDocument,n,r=0,o=caretFromPoint(A,e.left,e.top);o&&({node:n,offset:r}=o);let s=(t.root.elementFromPoint?t.root:A).elementFromPoint(e.left,e.top),a;if(!s||!t.dom.contains(s.nodeType!=1?s.parentNode:s)){let g=t.dom.getBoundingClientRect();if(!inRect(e,g)||(s=elementFromPoint(t.dom,e,g),!s))return null}if(safari)for(let g=s;n&&g;g=parentNode(g))g.draggable&&(n=void 0);if(s=targetKludge(s,e),n){if(gecko&&n.nodeType==1&&(r=Math.min(r,n.childNodes.length),r<n.childNodes.length)){let c=n.childNodes[r],I;c.nodeName=="IMG"&&(I=c.getBoundingClientRect()).right<=e.left&&I.bottom>e.top&&r++}let g;webkit&&r&&n.nodeType==1&&(g=n.childNodes[r-1]).nodeType==1&&g.contentEditable=="false"&&g.getBoundingClientRect().top>=e.top&&r--,n==t.dom&&r==n.childNodes.length-1&&n.lastChild.nodeType==1&&e.top>n.lastChild.getBoundingClientRect().bottom?a=t.state.doc.content.size:(r==0||n.nodeType!=1||n.childNodes[r-1].nodeName!="BR")&&(a=posFromCaret(t,n,r,e))}a==null&&(a=posFromElement(t,s,e));let l=t.docView.nearestDesc(s,!0);return{pos:a,inside:l?l.posAtStart-l.border:-1}}function nonZero(t){return t.top<t.bottom||t.left<t.right}function singleRect(t,e){let A=t.getClientRects();if(A.length){let n=A[e<0?0:A.length-1];if(nonZero(n))return n}return Array.prototype.find.call(A,nonZero)||t.getBoundingClientRect()}const BIDI=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;function coordsAtPos(t,e,A){let{node:n,offset:r,atom:o}=t.docView.domFromPos(e,A<0?-1:1),s=webkit||gecko;if(n.nodeType==3)if(s&&(BIDI.test(n.nodeValue)||(A<0?!r:r==n.nodeValue.length))){let l=singleRect(textRange(n,r,r),A);if(gecko&&r&&/\s/.test(n.nodeValue[r-1])&&r<n.nodeValue.length){let g=singleRect(textRange(n,r-1,r-1),-1);if(g.top==l.top){let c=singleRect(textRange(n,r,r+1),-1);if(c.top!=l.top)return flattenV(c,c.left<g.left)}}return l}else{let l=r,g=r,c=A<0?1:-1;return A<0&&!r?(g++,c=-1):A>=0&&r==n.nodeValue.length?(l--,c=1):A<0?l--:g++,flattenV(singleRect(textRange(n,l,g),c),c<0)}if(!t.state.doc.resolve(e-(o||0)).parent.inlineContent){if(o==null&&r&&(A<0||r==nodeSize(n))){let l=n.childNodes[r-1];if(l.nodeType==1)return flattenH(l.getBoundingClientRect(),!1)}if(o==null&&r<nodeSize(n)){let l=n.childNodes[r];if(l.nodeType==1)return flattenH(l.getBoundingClientRect(),!0)}return flattenH(n.getBoundingClientRect(),A>=0)}if(o==null&&r&&(A<0||r==nodeSize(n))){let l=n.childNodes[r-1],g=l.nodeType==3?textRange(l,nodeSize(l)-(s?0:1)):l.nodeType==1&&(l.nodeName!="BR"||!l.nextSibling)?l:null;if(g)return flattenV(singleRect(g,1),!1)}if(o==null&&r<nodeSize(n)){let l=n.childNodes[r];for(;l.pmViewDesc&&l.pmViewDesc.ignoreForCoords;)l=l.nextSibling;let g=l?l.nodeType==3?textRange(l,0,s?0:1):l.nodeType==1?l:null:null;if(g)return flattenV(singleRect(g,-1),!0)}return flattenV(singleRect(n.nodeType==3?textRange(n):n,-A),A>=0)}function flattenV(t,e){if(t.width==0)return t;let A=e?t.left:t.right;return{top:t.top,bottom:t.bottom,left:A,right:A}}function flattenH(t,e){if(t.height==0)return t;let A=e?t.top:t.bottom;return{top:A,bottom:A,left:t.left,right:t.right}}function withFlushedState(t,e,A){let n=t.state,r=t.root.activeElement;n!=e&&t.updateState(e),r!=t.dom&&t.focus();try{return A()}finally{n!=e&&t.updateState(n),r!=t.dom&&r&&r.focus()}}function endOfTextblockVertical(t,e,A){let n=e.selection,r=A=="up"?n.$from:n.$to;return withFlushedState(t,e,()=>{let{node:o}=t.docView.domFromPos(r.pos,A=="up"?-1:1);for(;;){let a=t.docView.nearestDesc(o,!0);if(!a)break;if(a.node.isBlock){o=a.contentDOM||a.dom;break}o=a.dom.parentNode}let s=coordsAtPos(t,r.pos,1);for(let a=o.firstChild;a;a=a.nextSibling){let l;if(a.nodeType==1)l=a.getClientRects();else if(a.nodeType==3)l=textRange(a,0,a.nodeValue.length).getClientRects();else continue;for(let g=0;g<l.length;g++){let c=l[g];if(c.bottom>c.top+1&&(A=="up"?s.top-c.top>(c.bottom-s.top)*2:c.bottom-s.bottom>(s.bottom-c.top)*2))return!1}}return!0})}const maybeRTL=/[\u0590-\u08ac]/;function endOfTextblockHorizontal(t,e,A){let{$head:n}=e.selection;if(!n.parent.isTextblock)return!1;let r=n.parentOffset,o=!r,s=r==n.parent.content.size,a=t.domSelection();return a?!maybeRTL.test(n.parent.textContent)||!a.modify?A=="left"||A=="backward"?o:s:withFlushedState(t,e,()=>{let{focusNode:l,focusOffset:g,anchorNode:c,anchorOffset:I}=t.domSelectionRange(),d=a.caretBidiLevel;a.modify("move",A,"character");let h=n.depth?t.docView.domAfterPos(n.before()):t.dom,{focusNode:u,focusOffset:B}=t.domSelectionRange(),E=u&&!h.contains(u.nodeType==1?u:u.parentNode)||l==u&&g==B;try{a.collapse(c,I),l&&(l!=c||g!=I)&&a.extend&&a.extend(l,g)}catch{}return d!=null&&(a.caretBidiLevel=d),E}):n.pos==n.start()||n.pos==n.end()}let cachedState=null,cachedDir=null,cachedResult=!1;function endOfTextblock(t,e,A){return cachedState==e&&cachedDir==A?cachedResult:(cachedState=e,cachedDir=A,cachedResult=A=="up"||A=="down"?endOfTextblockVertical(t,e,A):endOfTextblockHorizontal(t,e,A))}const NOT_DIRTY=0,CHILD_DIRTY=1,CONTENT_DIRTY=2,NODE_DIRTY=3;class ViewDesc{constructor(e,A,n,r){this.parent=e,this.children=A,this.dom=n,this.contentDOM=r,this.dirty=NOT_DIRTY,n.pmViewDesc=this}matchesWidget(e){return!1}matchesMark(e){return!1}matchesNode(e,A,n){return!1}matchesHack(e){return!1}parseRule(){return null}stopEvent(e){return!1}get size(){let e=0;for(let A=0;A<this.children.length;A++)e+=this.children[A].size;return e}get border(){return 0}destroy(){this.parent=void 0,this.dom.pmViewDesc==this&&(this.dom.pmViewDesc=void 0);for(let e=0;e<this.children.length;e++)this.children[e].destroy()}posBeforeChild(e){for(let A=0,n=this.posAtStart;;A++){let r=this.children[A];if(r==e)return n;n+=r.size}}get posBefore(){return this.parent.posBeforeChild(this)}get posAtStart(){return this.parent?this.parent.posBeforeChild(this)+this.border:0}get posAfter(){return this.posBefore+this.size}get posAtEnd(){return this.posAtStart+this.size-2*this.border}localPosFromDOM(e,A,n){if(this.contentDOM&&this.contentDOM.contains(e.nodeType==1?e:e.parentNode))if(n<0){let o,s;if(e==this.contentDOM)o=e.childNodes[A-1];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;o=e.previousSibling}for(;o&&!((s=o.pmViewDesc)&&s.parent==this);)o=o.previousSibling;return o?this.posBeforeChild(s)+s.size:this.posAtStart}else{let o,s;if(e==this.contentDOM)o=e.childNodes[A];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;o=e.nextSibling}for(;o&&!((s=o.pmViewDesc)&&s.parent==this);)o=o.nextSibling;return o?this.posBeforeChild(s):this.posAtEnd}let r;if(e==this.dom&&this.contentDOM)r=A>domIndex(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))r=e.compareDocumentPosition(this.contentDOM)&2;else if(this.dom.firstChild){if(A==0)for(let o=e;;o=o.parentNode){if(o==this.dom){r=!1;break}if(o.previousSibling)break}if(r==null&&A==e.childNodes.length)for(let o=e;;o=o.parentNode){if(o==this.dom){r=!0;break}if(o.nextSibling)break}}return r??n>0?this.posAtEnd:this.posAtStart}nearestDesc(e,A=!1){for(let n=!0,r=e;r;r=r.parentNode){let o=this.getDesc(r),s;if(o&&(!A||o.node))if(n&&(s=o.nodeDOM)&&!(s.nodeType==1?s.contains(e.nodeType==1?e:e.parentNode):s==e))n=!1;else return o}}getDesc(e){let A=e.pmViewDesc;for(let n=A;n;n=n.parent)if(n==this)return A}posFromDOM(e,A,n){for(let r=e;r;r=r.parentNode){let o=this.getDesc(r);if(o)return o.localPosFromDOM(e,A,n)}return-1}descAt(e){for(let A=0,n=0;A<this.children.length;A++){let r=this.children[A],o=n+r.size;if(n==e&&o!=n){for(;!r.border&&r.children.length;)for(let s=0;s<r.children.length;s++){let a=r.children[s];if(a.size){r=a;break}}return r}if(e<o)return r.descAt(e-n-r.border);n=o}}domFromPos(e,A){if(!this.contentDOM)return{node:this.dom,offset:0,atom:e+1};let n=0,r=0;for(let o=0;n<this.children.length;n++){let s=this.children[n],a=o+s.size;if(a>e||s instanceof TrailingHackViewDesc){r=e-o;break}o=a}if(r)return this.children[n].domFromPos(r-this.children[n].border,A);for(let o;n&&!(o=this.children[n-1]).size&&o instanceof WidgetViewDesc&&o.side>=0;n--);if(A<=0){let o,s=!0;for(;o=n?this.children[n-1]:null,!(!o||o.dom.parentNode==this.contentDOM);n--,s=!1);return o&&A&&s&&!o.border&&!o.domAtom?o.domFromPos(o.size,A):{node:this.contentDOM,offset:o?domIndex(o.dom)+1:0}}else{let o,s=!0;for(;o=n<this.children.length?this.children[n]:null,!(!o||o.dom.parentNode==this.contentDOM);n++,s=!1);return o&&s&&!o.border&&!o.domAtom?o.domFromPos(0,A):{node:this.contentDOM,offset:o?domIndex(o.dom):this.contentDOM.childNodes.length}}}parseRange(e,A,n=0){if(this.children.length==0)return{node:this.contentDOM,from:e,to:A,fromOffset:0,toOffset:this.contentDOM.childNodes.length};let r=-1,o=-1;for(let s=n,a=0;;a++){let l=this.children[a],g=s+l.size;if(r==-1&&e<=g){let c=s+l.border;if(e>=c&&A<=g-l.border&&l.node&&l.contentDOM&&this.contentDOM.contains(l.contentDOM))return l.parseRange(e,A,c);e=s;for(let I=a;I>0;I--){let d=this.children[I-1];if(d.size&&d.dom.parentNode==this.contentDOM&&!d.emptyChildAt(1)){r=domIndex(d.dom)+1;break}e-=d.size}r==-1&&(r=0)}if(r>-1&&(g>A||a==this.children.length-1)){A=g;for(let c=a+1;c<this.children.length;c++){let I=this.children[c];if(I.size&&I.dom.parentNode==this.contentDOM&&!I.emptyChildAt(-1)){o=domIndex(I.dom);break}A+=I.size}o==-1&&(o=this.contentDOM.childNodes.length);break}s=g}return{node:this.contentDOM,from:e,to:A,fromOffset:r,toOffset:o}}emptyChildAt(e){if(this.border||!this.contentDOM||!this.children.length)return!1;let A=this.children[e<0?0:this.children.length-1];return A.size==0||A.emptyChildAt(e)}domAfterPos(e){let{node:A,offset:n}=this.domFromPos(e,0);if(A.nodeType!=1||n==A.childNodes.length)throw new RangeError("No node after pos "+e);return A.childNodes[n]}setSelection(e,A,n,r=!1){let o=Math.min(e,A),s=Math.max(e,A);for(let h=0,u=0;h<this.children.length;h++){let B=this.children[h],E=u+B.size;if(o>u&&s<E)return B.setSelection(e-u-B.border,A-u-B.border,n,r);u=E}let a=this.domFromPos(e,e?-1:1),l=A==e?a:this.domFromPos(A,A?-1:1),g=n.root.getSelection(),c=n.domSelectionRange(),I=!1;if((gecko||safari)&&e==A){let{node:h,offset:u}=a;if(h.nodeType==3){if(I=!!(u&&h.nodeValue[u-1]==`
6
+ `),I&&u==h.nodeValue.length)for(let B=h,E;B;B=B.parentNode){if(E=B.nextSibling){E.nodeName=="BR"&&(a=l={node:E.parentNode,offset:domIndex(E)+1});break}let f=B.pmViewDesc;if(f&&f.node&&f.node.isBlock)break}}else{let B=h.childNodes[u-1];I=B&&(B.nodeName=="BR"||B.contentEditable=="false")}}if(gecko&&c.focusNode&&c.focusNode!=l.node&&c.focusNode.nodeType==1){let h=c.focusNode.childNodes[c.focusOffset];h&&h.contentEditable=="false"&&(r=!0)}if(!(r||I&&safari)&&isEquivalentPosition(a.node,a.offset,c.anchorNode,c.anchorOffset)&&isEquivalentPosition(l.node,l.offset,c.focusNode,c.focusOffset))return;let d=!1;if((g.extend||e==A)&&!I){g.collapse(a.node,a.offset);try{e!=A&&g.extend(l.node,l.offset),d=!0}catch{}}if(!d){if(e>A){let u=a;a=l,l=u}let h=document.createRange();h.setEnd(l.node,l.offset),h.setStart(a.node,a.offset),g.removeAllRanges(),g.addRange(h)}}ignoreMutation(e){return!this.contentDOM&&e.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(e,A){for(let n=0,r=0;r<this.children.length;r++){let o=this.children[r],s=n+o.size;if(n==s?e<=s&&A>=n:e<s&&A>n){let a=n+o.border,l=s-o.border;if(e>=a&&A<=l){this.dirty=e==n||A==s?CONTENT_DIRTY:CHILD_DIRTY,e==a&&A==l&&(o.contentLost||o.dom.parentNode!=this.contentDOM)?o.dirty=NODE_DIRTY:o.markDirty(e-a,A-a);return}else o.dirty=o.dom==o.contentDOM&&o.dom.parentNode==this.contentDOM&&!o.children.length?CONTENT_DIRTY:NODE_DIRTY}n=s}this.dirty=CONTENT_DIRTY}markParentsDirty(){let e=1;for(let A=this.parent;A;A=A.parent,e++){let n=e==1?CONTENT_DIRTY:CHILD_DIRTY;A.dirty<n&&(A.dirty=n)}}get domAtom(){return!1}get ignoreForCoords(){return!1}get ignoreForSelection(){return!1}isText(e){return!1}}class WidgetViewDesc extends ViewDesc{constructor(e,A,n,r){let o,s=A.type.toDOM;if(typeof s=="function"&&(s=s(n,()=>{if(!o)return r;if(o.parent)return o.parent.posBeforeChild(o)})),!A.type.spec.raw){if(s.nodeType!=1){let a=document.createElement("span");a.appendChild(s),s=a}s.contentEditable="false",s.classList.add("ProseMirror-widget")}super(e,[],s,null),this.widget=A,this.widget=A,o=this}matchesWidget(e){return this.dirty==NOT_DIRTY&&e.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(e){let A=this.widget.spec.stopEvent;return A?A(e):!1}ignoreMutation(e){return e.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get ignoreForSelection(){return!!this.widget.type.spec.relaxedSide}get side(){return this.widget.type.side}}class CompositionViewDesc extends ViewDesc{constructor(e,A,n,r){super(e,[],A,null),this.textDOM=n,this.text=r}get size(){return this.text.length}localPosFromDOM(e,A){return e!=this.textDOM?this.posAtStart+(A?this.size:0):this.posAtStart+A}domFromPos(e){return{node:this.textDOM,offset:e}}ignoreMutation(e){return e.type==="characterData"&&e.target.nodeValue==e.oldValue}}class MarkViewDesc extends ViewDesc{constructor(e,A,n,r,o){super(e,[],n,r),this.mark=A,this.spec=o}static create(e,A,n,r){let o=r.nodeViews[A.type.name],s=o&&o(A,r,n);return(!s||!s.dom)&&(s=DOMSerializer.renderSpec(document,A.type.spec.toDOM(A,n),null,A.attrs)),new MarkViewDesc(e,A,s.dom,s.contentDOM||s.dom,s)}parseRule(){return this.dirty&NODE_DIRTY||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(e){return this.dirty!=NODE_DIRTY&&this.mark.eq(e)}markDirty(e,A){if(super.markDirty(e,A),this.dirty!=NOT_DIRTY){let n=this.parent;for(;!n.node;)n=n.parent;n.dirty<this.dirty&&(n.dirty=this.dirty),this.dirty=NOT_DIRTY}}slice(e,A,n){let r=MarkViewDesc.create(this.parent,this.mark,!0,n),o=this.children,s=this.size;A<s&&(o=replaceNodes(o,A,s,n)),e>0&&(o=replaceNodes(o,0,e,n));for(let a=0;a<o.length;a++)o[a].parent=r;return r.children=o,r}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}}class NodeViewDesc extends ViewDesc{constructor(e,A,n,r,o,s,a,l,g){super(e,[],o,s),this.node=A,this.outerDeco=n,this.innerDeco=r,this.nodeDOM=a}static create(e,A,n,r,o,s){let a=o.nodeViews[A.type.name],l,g=a&&a(A,o,()=>{if(!l)return s;if(l.parent)return l.parent.posBeforeChild(l)},n,r),c=g&&g.dom,I=g&&g.contentDOM;if(A.isText){if(!c)c=document.createTextNode(A.text);else if(c.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else c||({dom:c,contentDOM:I}=DOMSerializer.renderSpec(document,A.type.spec.toDOM(A),null,A.attrs));!I&&!A.isText&&c.nodeName!="BR"&&(c.hasAttribute("contenteditable")||(c.contentEditable="false"),A.type.spec.draggable&&(c.draggable=!0));let d=c;return c=applyOuterDeco(c,n,A),g?l=new CustomNodeViewDesc(e,A,n,r,c,I||null,d,g,o,s+1):A.isText?new TextViewDesc(e,A,n,r,c,d,o):new NodeViewDesc(e,A,n,r,c,I||null,d,o,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let e={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre"&&(e.preserveWhitespace="full"),!this.contentDOM)e.getContent=()=>this.node.content;else if(!this.contentLost)e.contentElement=this.contentDOM;else{for(let A=this.children.length-1;A>=0;A--){let n=this.children[A];if(this.dom.contains(n.dom.parentNode)){e.contentElement=n.dom.parentNode;break}}e.contentElement||(e.getContent=()=>Fragment.empty)}return e}matchesNode(e,A,n){return this.dirty==NOT_DIRTY&&e.eq(this.node)&&sameOuterDeco(A,this.outerDeco)&&n.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(e,A){let n=this.node.inlineContent,r=A,o=e.composing?this.localCompositionInfo(e,A):null,s=o&&o.pos>-1?o:null,a=o&&o.pos<0,l=new ViewTreeUpdater(this,s&&s.node,e);iterDeco(this.node,this.innerDeco,(g,c,I)=>{g.spec.marks?l.syncToMarks(g.spec.marks,n,e):g.type.side>=0&&!I&&l.syncToMarks(c==this.node.childCount?Mark$1.none:this.node.child(c).marks,n,e),l.placeWidget(g,e,r)},(g,c,I,d)=>{l.syncToMarks(g.marks,n,e);let h;l.findNodeMatch(g,c,I,d)||a&&e.state.selection.from>r&&e.state.selection.to<r+g.nodeSize&&(h=l.findIndexWithChild(o.node))>-1&&l.updateNodeAt(g,c,I,h,e)||l.updateNextNode(g,c,I,e,d,r)||l.addNode(g,c,I,e,r),r+=g.nodeSize}),l.syncToMarks([],n,e),this.node.isTextblock&&l.addTextblockHacks(),l.destroyRest(),(l.changed||this.dirty==CONTENT_DIRTY)&&(s&&this.protectLocalComposition(e,s),renderDescs(this.contentDOM,this.children,e),ios&&iosHacks(this.dom))}localCompositionInfo(e,A){let{from:n,to:r}=e.state.selection;if(!(e.state.selection instanceof TextSelection)||n<A||r>A+this.node.content.size)return null;let o=e.input.compositionNode;if(!o||!this.dom.contains(o.parentNode))return null;if(this.node.inlineContent){let s=o.nodeValue,a=findTextInFragment(this.node.content,s,n-A,r-A);return a<0?null:{node:o,pos:a,text:s}}else return{node:o,pos:-1,text:""}}protectLocalComposition(e,{node:A,pos:n,text:r}){if(this.getDesc(A))return;let o=A;for(;o.parentNode!=this.contentDOM;o=o.parentNode){for(;o.previousSibling;)o.parentNode.removeChild(o.previousSibling);for(;o.nextSibling;)o.parentNode.removeChild(o.nextSibling);o.pmViewDesc&&(o.pmViewDesc=void 0)}let s=new CompositionViewDesc(this,o,A,r);e.input.compositionNodes.push(s),this.children=replaceNodes(this.children,n,n+r.length,e,s)}update(e,A,n,r){return this.dirty==NODE_DIRTY||!e.sameMarkup(this.node)?!1:(this.updateInner(e,A,n,r),!0)}updateInner(e,A,n,r){this.updateOuterDeco(A),this.node=e,this.innerDeco=n,this.contentDOM&&this.updateChildren(r,this.posAtStart),this.dirty=NOT_DIRTY}updateOuterDeco(e){if(sameOuterDeco(e,this.outerDeco))return;let A=this.nodeDOM.nodeType!=1,n=this.dom;this.dom=patchOuterDeco(this.dom,this.nodeDOM,computeOuterDeco(this.outerDeco,this.node,A),computeOuterDeco(e,this.node,A)),this.dom!=n&&(n.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=e}selectNode(){this.nodeDOM.nodeType==1&&this.nodeDOM.classList.add("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&(this.dom.draggable=!0)}deselectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.remove("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&this.dom.removeAttribute("draggable"))}get domAtom(){return this.node.isAtom}}function docViewDesc(t,e,A,n,r){applyOuterDeco(n,e,t);let o=new NodeViewDesc(void 0,t,e,A,n,n,n,r,0);return o.contentDOM&&o.updateChildren(r,0),o}class TextViewDesc extends NodeViewDesc{constructor(e,A,n,r,o,s,a){super(e,A,n,r,o,null,s,a,0)}parseRule(){let e=this.nodeDOM.parentNode;for(;e&&e!=this.dom&&!e.pmIsDeco;)e=e.parentNode;return{skip:e||!0}}update(e,A,n,r){return this.dirty==NODE_DIRTY||this.dirty!=NOT_DIRTY&&!this.inParent()||!e.sameMarkup(this.node)?!1:(this.updateOuterDeco(A),(this.dirty!=NOT_DIRTY||e.text!=this.node.text)&&e.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=e.text,r.trackWrites==this.nodeDOM&&(r.trackWrites=null)),this.node=e,this.dirty=NOT_DIRTY,!0)}inParent(){let e=this.parent.contentDOM;for(let A=this.nodeDOM;A;A=A.parentNode)if(A==e)return!0;return!1}domFromPos(e){return{node:this.nodeDOM,offset:e}}localPosFromDOM(e,A,n){return e==this.nodeDOM?this.posAtStart+Math.min(A,this.node.text.length):super.localPosFromDOM(e,A,n)}ignoreMutation(e){return e.type!="characterData"&&e.type!="selection"}slice(e,A,n){let r=this.node.cut(e,A),o=document.createTextNode(r.text);return new TextViewDesc(this.parent,r,this.outerDeco,this.innerDeco,o,o,n)}markDirty(e,A){super.markDirty(e,A),this.dom!=this.nodeDOM&&(e==0||A==this.nodeDOM.nodeValue.length)&&(this.dirty=NODE_DIRTY)}get domAtom(){return!1}isText(e){return this.node.text==e}}class TrailingHackViewDesc extends ViewDesc{parseRule(){return{ignore:!0}}matchesHack(e){return this.dirty==NOT_DIRTY&&this.dom.nodeName==e}get domAtom(){return!0}get ignoreForCoords(){return this.dom.nodeName=="IMG"}}class CustomNodeViewDesc extends NodeViewDesc{constructor(e,A,n,r,o,s,a,l,g,c){super(e,A,n,r,o,s,a,g,c),this.spec=l}update(e,A,n,r){if(this.dirty==NODE_DIRTY)return!1;if(this.spec.update&&(this.node.type==e.type||this.spec.multiType)){let o=this.spec.update(e,A,n);return o&&this.updateInner(e,A,n,r),o}else return!this.contentDOM&&!e.isLeaf?!1:super.update(e,A,n,r)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(e,A,n,r){this.spec.setSelection?this.spec.setSelection(e,A,n.root):super.setSelection(e,A,n,r)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(e){return this.spec.stopEvent?this.spec.stopEvent(e):!1}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}}function renderDescs(t,e,A){let n=t.firstChild,r=!1;for(let o=0;o<e.length;o++){let s=e[o],a=s.dom;if(a.parentNode==t){for(;a!=n;)n=rm(n),r=!0;n=n.nextSibling}else r=!0,t.insertBefore(a,n);if(s instanceof MarkViewDesc){let l=n?n.previousSibling:t.lastChild;renderDescs(s.contentDOM,s.children,A),n=l?l.nextSibling:t.firstChild}}for(;n;)n=rm(n),r=!0;r&&A.trackWrites==t&&(A.trackWrites=null)}const OuterDecoLevel=function(t){t&&(this.nodeName=t)};OuterDecoLevel.prototype=Object.create(null);const noDeco=[new OuterDecoLevel];function computeOuterDeco(t,e,A){if(t.length==0)return noDeco;let n=A?noDeco[0]:new OuterDecoLevel,r=[n];for(let o=0;o<t.length;o++){let s=t[o].type.attrs;if(s){s.nodeName&&r.push(n=new OuterDecoLevel(s.nodeName));for(let a in s){let l=s[a];l!=null&&(A&&r.length==1&&r.push(n=new OuterDecoLevel(e.isInline?"span":"div")),a=="class"?n.class=(n.class?n.class+" ":"")+l:a=="style"?n.style=(n.style?n.style+";":"")+l:a!="nodeName"&&(n[a]=l))}}}return r}function patchOuterDeco(t,e,A,n){if(A==noDeco&&n==noDeco)return e;let r=e;for(let o=0;o<n.length;o++){let s=n[o],a=A[o];if(o){let l;a&&a.nodeName==s.nodeName&&r!=t&&(l=r.parentNode)&&l.nodeName.toLowerCase()==s.nodeName||(l=document.createElement(s.nodeName),l.pmIsDeco=!0,l.appendChild(r),a=noDeco[0]),r=l}patchAttributes(r,a||noDeco[0],s)}return r}function patchAttributes(t,e,A){for(let n in e)n!="class"&&n!="style"&&n!="nodeName"&&!(n in A)&&t.removeAttribute(n);for(let n in A)n!="class"&&n!="style"&&n!="nodeName"&&A[n]!=e[n]&&t.setAttribute(n,A[n]);if(e.class!=A.class){let n=e.class?e.class.split(" ").filter(Boolean):[],r=A.class?A.class.split(" ").filter(Boolean):[];for(let o=0;o<n.length;o++)r.indexOf(n[o])==-1&&t.classList.remove(n[o]);for(let o=0;o<r.length;o++)n.indexOf(r[o])==-1&&t.classList.add(r[o]);t.classList.length==0&&t.removeAttribute("class")}if(e.style!=A.style){if(e.style){let n=/\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g,r;for(;r=n.exec(e.style);)t.style.removeProperty(r[1])}A.style&&(t.style.cssText+=A.style)}}function applyOuterDeco(t,e,A){return patchOuterDeco(t,t,noDeco,computeOuterDeco(e,A,t.nodeType!=1))}function sameOuterDeco(t,e){if(t.length!=e.length)return!1;for(let A=0;A<t.length;A++)if(!t[A].type.eq(e[A].type))return!1;return!0}function rm(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class ViewTreeUpdater{constructor(e,A,n){this.lock=A,this.view=n,this.index=0,this.stack=[],this.changed=!1,this.top=e,this.preMatch=preMatch(e.node.content,e)}destroyBetween(e,A){if(e!=A){for(let n=e;n<A;n++)this.top.children[n].destroy();this.top.children.splice(e,A-e),this.changed=!0}}destroyRest(){this.destroyBetween(this.index,this.top.children.length)}syncToMarks(e,A,n){let r=0,o=this.stack.length>>1,s=Math.min(o,e.length);for(;r<s&&(r==o-1?this.top:this.stack[r+1<<1]).matchesMark(e[r])&&e[r].type.spec.spanning!==!1;)r++;for(;r<o;)this.destroyRest(),this.top.dirty=NOT_DIRTY,this.index=this.stack.pop(),this.top=this.stack.pop(),o--;for(;o<e.length;){this.stack.push(this.top,this.index+1);let a=-1;for(let l=this.index;l<Math.min(this.index+3,this.top.children.length);l++){let g=this.top.children[l];if(g.matchesMark(e[o])&&!this.isLocked(g.dom)){a=l;break}}if(a>-1)a>this.index&&(this.changed=!0,this.destroyBetween(this.index,a)),this.top=this.top.children[this.index];else{let l=MarkViewDesc.create(this.top,e[o],A,n);this.top.children.splice(this.index,0,l),this.top=l,this.changed=!0}this.index=0,o++}}findNodeMatch(e,A,n,r){let o=-1,s;if(r>=this.preMatch.index&&(s=this.preMatch.matches[r-this.preMatch.index]).parent==this.top&&s.matchesNode(e,A,n))o=this.top.children.indexOf(s,this.index);else for(let a=this.index,l=Math.min(this.top.children.length,a+5);a<l;a++){let g=this.top.children[a];if(g.matchesNode(e,A,n)&&!this.preMatch.matched.has(g)){o=a;break}}return o<0?!1:(this.destroyBetween(this.index,o),this.index++,!0)}updateNodeAt(e,A,n,r,o){let s=this.top.children[r];return s.dirty==NODE_DIRTY&&s.dom==s.contentDOM&&(s.dirty=CONTENT_DIRTY),s.update(e,A,n,o)?(this.destroyBetween(this.index,r),this.index++,!0):!1}findIndexWithChild(e){for(;;){let A=e.parentNode;if(!A)return-1;if(A==this.top.contentDOM){let n=e.pmViewDesc;if(n){for(let r=this.index;r<this.top.children.length;r++)if(this.top.children[r]==n)return r}return-1}e=A}}updateNextNode(e,A,n,r,o,s){for(let a=this.index;a<this.top.children.length;a++){let l=this.top.children[a];if(l instanceof NodeViewDesc){let g=this.preMatch.matched.get(l);if(g!=null&&g!=o)return!1;let c=l.dom,I,d=this.isLocked(c)&&!(e.isText&&l.node&&l.node.isText&&l.nodeDOM.nodeValue==e.text&&l.dirty!=NODE_DIRTY&&sameOuterDeco(A,l.outerDeco));if(!d&&l.update(e,A,n,r))return this.destroyBetween(this.index,a),l.dom!=c&&(this.changed=!0),this.index++,!0;if(!d&&(I=this.recreateWrapper(l,e,A,n,r,s)))return this.destroyBetween(this.index,a),this.top.children[this.index]=I,I.contentDOM&&(I.dirty=CONTENT_DIRTY,I.updateChildren(r,s+1),I.dirty=NOT_DIRTY),this.changed=!0,this.index++,!0;break}}return!1}recreateWrapper(e,A,n,r,o,s){if(e.dirty||A.isAtom||!e.children.length||!e.node.content.eq(A.content)||!sameOuterDeco(n,e.outerDeco)||!r.eq(e.innerDeco))return null;let a=NodeViewDesc.create(this.top,A,n,r,o,s);if(a.contentDOM){a.children=e.children,e.children=[];for(let l of a.children)l.parent=a}return e.destroy(),a}addNode(e,A,n,r,o){let s=NodeViewDesc.create(this.top,e,A,n,r,o);s.contentDOM&&s.updateChildren(r,o+1),this.top.children.splice(this.index++,0,s),this.changed=!0}placeWidget(e,A,n){let r=this.index<this.top.children.length?this.top.children[this.index]:null;if(r&&r.matchesWidget(e)&&(e==r.widget||!r.widget.type.toDOM.parentNode))this.index++;else{let o=new WidgetViewDesc(this.top,e,A,n);this.top.children.splice(this.index++,0,o),this.changed=!0}}addTextblockHacks(){let e=this.top.children[this.index-1],A=this.top;for(;e instanceof MarkViewDesc;)A=e,e=A.children[A.children.length-1];(!e||!(e instanceof TextViewDesc)||/\n$/.test(e.node.text)||this.view.requiresGeckoHackNode&&/\s$/.test(e.node.text))&&((safari||chrome)&&e&&e.dom.contentEditable=="false"&&this.addHackNode("IMG",A),this.addHackNode("BR",this.top))}addHackNode(e,A){if(A==this.top&&this.index<A.children.length&&A.children[this.index].matchesHack(e))this.index++;else{let n=document.createElement(e);e=="IMG"&&(n.className="ProseMirror-separator",n.alt=""),e=="BR"&&(n.className="ProseMirror-trailingBreak");let r=new TrailingHackViewDesc(this.top,[],n,null);A!=this.top?A.children.push(r):A.children.splice(this.index++,0,r),this.changed=!0}}isLocked(e){return this.lock&&(e==this.lock||e.nodeType==1&&e.contains(this.lock.parentNode))}}function preMatch(t,e){let A=e,n=A.children.length,r=t.childCount,o=new Map,s=[];e:for(;r>0;){let a;for(;;)if(n){let g=A.children[n-1];if(g instanceof MarkViewDesc)A=g,n=g.children.length;else{a=g,n--;break}}else{if(A==e)break e;n=A.parent.children.indexOf(A),A=A.parent}let l=a.node;if(l){if(l!=t.child(r-1))break;--r,o.set(a,r),s.push(a)}}return{index:r,matched:o,matches:s.reverse()}}function compareSide(t,e){return t.type.side-e.type.side}function iterDeco(t,e,A,n){let r=e.locals(t),o=0;if(r.length==0){for(let g=0;g<t.childCount;g++){let c=t.child(g);n(c,r,e.forChild(o,c),g),o+=c.nodeSize}return}let s=0,a=[],l=null;for(let g=0;;){let c,I;for(;s<r.length&&r[s].to==o;){let E=r[s++];E.widget&&(c?(I||(I=[c])).push(E):c=E)}if(c)if(I){I.sort(compareSide);for(let E=0;E<I.length;E++)A(I[E],g,!!l)}else A(c,g,!!l);let d,h;if(l)h=-1,d=l,l=null;else if(g<t.childCount)h=g,d=t.child(g++);else break;for(let E=0;E<a.length;E++)a[E].to<=o&&a.splice(E--,1);for(;s<r.length&&r[s].from<=o&&r[s].to>o;)a.push(r[s++]);let u=o+d.nodeSize;if(d.isText){let E=u;s<r.length&&r[s].from<E&&(E=r[s].from);for(let f=0;f<a.length;f++)a[f].to<E&&(E=a[f].to);E<u&&(l=d.cut(E-o),d=d.cut(0,E-o),u=E,h=-1)}else for(;s<r.length&&r[s].to<u;)s++;let B=d.isInline&&!d.isLeaf?a.filter(E=>!E.inline):a.slice();n(d,B,e.forChild(o,d),h),o=u}}function iosHacks(t){if(t.nodeName=="UL"||t.nodeName=="OL"){let e=t.style.cssText;t.style.cssText=e+"; list-style: square !important",window.getComputedStyle(t).listStyle,t.style.cssText=e}}function findTextInFragment(t,e,A,n){for(let r=0,o=0;r<t.childCount&&o<=n;){let s=t.child(r++),a=o;if(o+=s.nodeSize,!s.isText)continue;let l=s.text;for(;r<t.childCount;){let g=t.child(r++);if(o+=g.nodeSize,!g.isText)break;l+=g.text}if(o>=A){if(o>=n&&l.slice(n-e.length-a,n-a)==e)return n-e.length;let g=a<n?l.lastIndexOf(e,n-a-1):-1;if(g>=0&&g+e.length+a>=A)return a+g;if(A==n&&l.length>=n+e.length-a&&l.slice(n-a,n-a+e.length)==e)return n}}return-1}function replaceNodes(t,e,A,n,r){let o=[];for(let s=0,a=0;s<t.length;s++){let l=t[s],g=a,c=a+=l.size;g>=A||c<=e?o.push(l):(g<e&&o.push(l.slice(0,e-g,n)),r&&(o.push(r),r=void 0),c>A&&o.push(l.slice(A-g,l.size,n)))}return o}function selectionFromDOM(t,e=null){let A=t.domSelectionRange(),n=t.state.doc;if(!A.focusNode)return null;let r=t.docView.nearestDesc(A.focusNode),o=r&&r.size==0,s=t.docView.posFromDOM(A.focusNode,A.focusOffset,1);if(s<0)return null;let a=n.resolve(s),l,g;if(selectionCollapsed(A)){for(l=s;r&&!r.node;)r=r.parent;let I=r.node;if(r&&I.isAtom&&NodeSelection.isSelectable(I)&&r.parent&&!(I.isInline&&isOnEdge(A.focusNode,A.focusOffset,r.dom))){let d=r.posBefore;g=new NodeSelection(s==d?a:n.resolve(d))}}else{if(A instanceof t.dom.ownerDocument.defaultView.Selection&&A.rangeCount>1){let I=s,d=s;for(let h=0;h<A.rangeCount;h++){let u=A.getRangeAt(h);I=Math.min(I,t.docView.posFromDOM(u.startContainer,u.startOffset,1)),d=Math.max(d,t.docView.posFromDOM(u.endContainer,u.endOffset,-1))}if(I<0)return null;[l,s]=d==t.state.selection.anchor?[d,I]:[I,d],a=n.resolve(s)}else l=t.docView.posFromDOM(A.anchorNode,A.anchorOffset,1);if(l<0)return null}let c=n.resolve(l);if(!g){let I=e=="pointer"||t.state.selection.head<a.pos&&!o?1:-1;g=selectionBetween(t,c,a,I)}return g}function editorOwnsSelection(t){return t.editable?t.hasFocus():hasSelection(t)&&document.activeElement&&document.activeElement.contains(t.dom)}function selectionToDOM(t,e=!1){let A=t.state.selection;if(syncNodeSelection(t,A),!!editorOwnsSelection(t)){if(!e&&t.input.mouseDown&&t.input.mouseDown.allowDefault&&chrome){let n=t.domSelectionRange(),r=t.domObserver.currentSelection;if(n.anchorNode&&r.anchorNode&&isEquivalentPosition(n.anchorNode,n.anchorOffset,r.anchorNode,r.anchorOffset)){t.input.mouseDown.delayedSelectionSync=!0,t.domObserver.setCurSelection();return}}if(t.domObserver.disconnectSelection(),t.cursorWrapper)selectCursorWrapper(t);else{let{anchor:n,head:r}=A,o,s;brokenSelectBetweenUneditable&&!(A instanceof TextSelection)&&(A.$from.parent.inlineContent||(o=temporarilyEditableNear(t,A.from)),!A.empty&&!A.$from.parent.inlineContent&&(s=temporarilyEditableNear(t,A.to))),t.docView.setSelection(n,r,t,e),brokenSelectBetweenUneditable&&(o&&resetEditable(o),s&&resetEditable(s)),A.visible?t.dom.classList.remove("ProseMirror-hideselection"):(t.dom.classList.add("ProseMirror-hideselection"),"onselectionchange"in document&&removeClassOnSelectionChange(t))}t.domObserver.setCurSelection(),t.domObserver.connectSelection()}}const brokenSelectBetweenUneditable=safari||chrome&&chrome_version<63;function temporarilyEditableNear(t,e){let{node:A,offset:n}=t.docView.domFromPos(e,0),r=n<A.childNodes.length?A.childNodes[n]:null,o=n?A.childNodes[n-1]:null;if(safari&&r&&r.contentEditable=="false")return setEditable(r);if((!r||r.contentEditable=="false")&&(!o||o.contentEditable=="false")){if(r)return setEditable(r);if(o)return setEditable(o)}}function setEditable(t){return t.contentEditable="true",safari&&t.draggable&&(t.draggable=!1,t.wasDraggable=!0),t}function resetEditable(t){t.contentEditable="false",t.wasDraggable&&(t.draggable=!0,t.wasDraggable=null)}function removeClassOnSelectionChange(t){let e=t.dom.ownerDocument;e.removeEventListener("selectionchange",t.input.hideSelectionGuard);let A=t.domSelectionRange(),n=A.anchorNode,r=A.anchorOffset;e.addEventListener("selectionchange",t.input.hideSelectionGuard=()=>{(A.anchorNode!=n||A.anchorOffset!=r)&&(e.removeEventListener("selectionchange",t.input.hideSelectionGuard),setTimeout(()=>{(!editorOwnsSelection(t)||t.state.selection.visible)&&t.dom.classList.remove("ProseMirror-hideselection")},20))})}function selectCursorWrapper(t){let e=t.domSelection(),A=document.createRange();if(!e)return;let n=t.cursorWrapper.dom,r=n.nodeName=="IMG";r?A.setStart(n.parentNode,domIndex(n)+1):A.setStart(n,0),A.collapse(!0),e.removeAllRanges(),e.addRange(A),!r&&!t.state.selection.visible&&ie$1&&ie_version<=11&&(n.disabled=!0,n.disabled=!1)}function syncNodeSelection(t,e){if(e instanceof NodeSelection){let A=t.docView.descAt(e.from);A!=t.lastSelectedViewDesc&&(clearNodeSelection(t),A&&A.selectNode(),t.lastSelectedViewDesc=A)}else clearNodeSelection(t)}function clearNodeSelection(t){t.lastSelectedViewDesc&&(t.lastSelectedViewDesc.parent&&t.lastSelectedViewDesc.deselectNode(),t.lastSelectedViewDesc=void 0)}function selectionBetween(t,e,A,n){return t.someProp("createSelectionBetween",r=>r(t,e,A))||TextSelection.between(e,A,n)}function hasFocusAndSelection(t){return t.editable&&!t.hasFocus()?!1:hasSelection(t)}function hasSelection(t){let e=t.domSelectionRange();if(!e.anchorNode)return!1;try{return t.dom.contains(e.anchorNode.nodeType==3?e.anchorNode.parentNode:e.anchorNode)&&(t.editable||t.dom.contains(e.focusNode.nodeType==3?e.focusNode.parentNode:e.focusNode))}catch{return!1}}function anchorInRightPlace(t){let e=t.docView.domFromPos(t.state.selection.anchor,0),A=t.domSelectionRange();return isEquivalentPosition(e.node,e.offset,A.anchorNode,A.anchorOffset)}function moveSelectionBlock(t,e){let{$anchor:A,$head:n}=t.selection,r=e>0?A.max(n):A.min(n),o=r.parent.inlineContent?r.depth?t.doc.resolve(e>0?r.after():r.before()):null:r;return o&&Selection.findFrom(o,e)}function apply(t,e){return t.dispatch(t.state.tr.setSelection(e).scrollIntoView()),!0}function selectHorizontally(t,e,A){let n=t.state.selection;if(n instanceof TextSelection)if(A.indexOf("s")>-1){let{$head:r}=n,o=r.textOffset?null:e<0?r.nodeBefore:r.nodeAfter;if(!o||o.isText||!o.isLeaf)return!1;let s=t.state.doc.resolve(r.pos+o.nodeSize*(e<0?-1:1));return apply(t,new TextSelection(n.$anchor,s))}else if(n.empty){if(t.endOfTextblock(e>0?"forward":"backward")){let r=moveSelectionBlock(t.state,e);return r&&r instanceof NodeSelection?apply(t,r):!1}else if(!(mac$3&&A.indexOf("m")>-1)){let r=n.$head,o=r.textOffset?null:e<0?r.nodeBefore:r.nodeAfter,s;if(!o||o.isText)return!1;let a=e<0?r.pos-o.nodeSize:r.pos;return o.isAtom||(s=t.docView.descAt(a))&&!s.contentDOM?NodeSelection.isSelectable(o)?apply(t,new NodeSelection(e<0?t.state.doc.resolve(r.pos-o.nodeSize):r)):webkit?apply(t,new TextSelection(t.state.doc.resolve(e<0?a:a+o.nodeSize))):!1:!1}}else return!1;else{if(n instanceof NodeSelection&&n.node.isInline)return apply(t,new TextSelection(e>0?n.$to:n.$from));{let r=moveSelectionBlock(t.state,e);return r?apply(t,r):!1}}}function nodeLen(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function isIgnorable(t,e){let A=t.pmViewDesc;return A&&A.size==0&&(e<0||t.nextSibling||t.nodeName!="BR")}function skipIgnoredNodes(t,e){return e<0?skipIgnoredNodesBefore(t):skipIgnoredNodesAfter(t)}function skipIgnoredNodesBefore(t){let e=t.domSelectionRange(),A=e.focusNode,n=e.focusOffset;if(!A)return;let r,o,s=!1;for(gecko&&A.nodeType==1&&n<nodeLen(A)&&isIgnorable(A.childNodes[n],-1)&&(s=!0);;)if(n>0){if(A.nodeType!=1)break;{let a=A.childNodes[n-1];if(isIgnorable(a,-1))r=A,o=--n;else if(a.nodeType==3)A=a,n=A.nodeValue.length;else break}}else{if(isBlockNode(A))break;{let a=A.previousSibling;for(;a&&isIgnorable(a,-1);)r=A.parentNode,o=domIndex(a),a=a.previousSibling;if(a)A=a,n=nodeLen(A);else{if(A=A.parentNode,A==t.dom)break;n=0}}}s?setSelFocus(t,A,n):r&&setSelFocus(t,r,o)}function skipIgnoredNodesAfter(t){let e=t.domSelectionRange(),A=e.focusNode,n=e.focusOffset;if(!A)return;let r=nodeLen(A),o,s;for(;;)if(n<r){if(A.nodeType!=1)break;let a=A.childNodes[n];if(isIgnorable(a,1))o=A,s=++n;else break}else{if(isBlockNode(A))break;{let a=A.nextSibling;for(;a&&isIgnorable(a,1);)o=a.parentNode,s=domIndex(a)+1,a=a.nextSibling;if(a)A=a,n=0,r=nodeLen(A);else{if(A=A.parentNode,A==t.dom)break;n=r=0}}}o&&setSelFocus(t,o,s)}function isBlockNode(t){let e=t.pmViewDesc;return e&&e.node&&e.node.isBlock}function textNodeAfter(t,e){for(;t&&e==t.childNodes.length&&!hasBlockDesc(t);)e=domIndex(t)+1,t=t.parentNode;for(;t&&e<t.childNodes.length;){let A=t.childNodes[e];if(A.nodeType==3)return A;if(A.nodeType==1&&A.contentEditable=="false")break;t=A,e=0}}function textNodeBefore(t,e){for(;t&&!e&&!hasBlockDesc(t);)e=domIndex(t),t=t.parentNode;for(;t&&e;){let A=t.childNodes[e-1];if(A.nodeType==3)return A;if(A.nodeType==1&&A.contentEditable=="false")break;t=A,e=t.childNodes.length}}function setSelFocus(t,e,A){if(e.nodeType!=3){let o,s;(s=textNodeAfter(e,A))?(e=s,A=0):(o=textNodeBefore(e,A))&&(e=o,A=o.nodeValue.length)}let n=t.domSelection();if(!n)return;if(selectionCollapsed(n)){let o=document.createRange();o.setEnd(e,A),o.setStart(e,A),n.removeAllRanges(),n.addRange(o)}else n.extend&&n.extend(e,A);t.domObserver.setCurSelection();let{state:r}=t;setTimeout(()=>{t.state==r&&selectionToDOM(t)},50)}function findDirection(t,e){let A=t.state.doc.resolve(e);if(!(chrome||windows$1)&&A.parent.inlineContent){let r=t.coordsAtPos(e);if(e>A.start()){let o=t.coordsAtPos(e-1),s=(o.top+o.bottom)/2;if(s>r.top&&s<r.bottom&&Math.abs(o.left-r.left)>1)return o.left<r.left?"ltr":"rtl"}if(e<A.end()){let o=t.coordsAtPos(e+1),s=(o.top+o.bottom)/2;if(s>r.top&&s<r.bottom&&Math.abs(o.left-r.left)>1)return o.left>r.left?"ltr":"rtl"}}return getComputedStyle(t.dom).direction=="rtl"?"rtl":"ltr"}function selectVertically(t,e,A){let n=t.state.selection;if(n instanceof TextSelection&&!n.empty||A.indexOf("s")>-1||mac$3&&A.indexOf("m")>-1)return!1;let{$from:r,$to:o}=n;if(!r.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let s=moveSelectionBlock(t.state,e);if(s&&s instanceof NodeSelection)return apply(t,s)}if(!r.parent.inlineContent){let s=e<0?r:o,a=n instanceof AllSelection?Selection.near(s,e):Selection.findFrom(s,e);return a?apply(t,a):!1}return!1}function stopNativeHorizontalDelete(t,e){if(!(t.state.selection instanceof TextSelection))return!0;let{$head:A,$anchor:n,empty:r}=t.state.selection;if(!A.sameParent(n))return!0;if(!r)return!1;if(t.endOfTextblock(e>0?"forward":"backward"))return!0;let o=!A.textOffset&&(e<0?A.nodeBefore:A.nodeAfter);if(o&&!o.isText){let s=t.state.tr;return e<0?s.delete(A.pos-o.nodeSize,A.pos):s.delete(A.pos,A.pos+o.nodeSize),t.dispatch(s),!0}return!1}function switchEditable(t,e,A){t.domObserver.stop(),e.contentEditable=A,t.domObserver.start()}function safariDownArrowBug(t){if(!safari||t.state.selection.$head.parentOffset>0)return!1;let{focusNode:e,focusOffset:A}=t.domSelectionRange();if(e&&e.nodeType==1&&A==0&&e.firstChild&&e.firstChild.contentEditable=="false"){let n=e.firstChild;switchEditable(t,n,"true"),setTimeout(()=>switchEditable(t,n,"false"),20)}return!1}function getMods(t){let e="";return t.ctrlKey&&(e+="c"),t.metaKey&&(e+="m"),t.altKey&&(e+="a"),t.shiftKey&&(e+="s"),e}function captureKeyDown(t,e){let A=e.keyCode,n=getMods(e);if(A==8||mac$3&&A==72&&n=="c")return stopNativeHorizontalDelete(t,-1)||skipIgnoredNodes(t,-1);if(A==46&&!e.shiftKey||mac$3&&A==68&&n=="c")return stopNativeHorizontalDelete(t,1)||skipIgnoredNodes(t,1);if(A==13||A==27)return!0;if(A==37||mac$3&&A==66&&n=="c"){let r=A==37?findDirection(t,t.state.selection.from)=="ltr"?-1:1:-1;return selectHorizontally(t,r,n)||skipIgnoredNodes(t,r)}else if(A==39||mac$3&&A==70&&n=="c"){let r=A==39?findDirection(t,t.state.selection.from)=="ltr"?1:-1:1;return selectHorizontally(t,r,n)||skipIgnoredNodes(t,r)}else{if(A==38||mac$3&&A==80&&n=="c")return selectVertically(t,-1,n)||skipIgnoredNodes(t,-1);if(A==40||mac$3&&A==78&&n=="c")return safariDownArrowBug(t)||selectVertically(t,1,n)||skipIgnoredNodes(t,1);if(n==(mac$3?"m":"c")&&(A==66||A==73||A==89||A==90))return!0}return!1}function serializeForClipboard(t,e){t.someProp("transformCopied",h=>{e=h(e,t)});let A=[],{content:n,openStart:r,openEnd:o}=e;for(;r>1&&o>1&&n.childCount==1&&n.firstChild.childCount==1;){r--,o--;let h=n.firstChild;A.push(h.type.name,h.attrs!=h.type.defaultAttrs?h.attrs:null),n=h.content}let s=t.someProp("clipboardSerializer")||DOMSerializer.fromSchema(t.state.schema),a=detachedDoc(),l=a.createElement("div");l.appendChild(s.serializeFragment(n,{document:a}));let g=l.firstChild,c,I=0;for(;g&&g.nodeType==1&&(c=wrapMap[g.nodeName.toLowerCase()]);){for(let h=c.length-1;h>=0;h--){let u=a.createElement(c[h]);for(;l.firstChild;)u.appendChild(l.firstChild);l.appendChild(u),I++}g=l.firstChild}g&&g.nodeType==1&&g.setAttribute("data-pm-slice",`${r} ${o}${I?` -${I}`:""} ${JSON.stringify(A)}`);let d=t.someProp("clipboardTextSerializer",h=>h(e,t))||e.content.textBetween(0,e.content.size,`
7
+
8
+ `);return{dom:l,text:d,slice:e}}function parseFromClipboard(t,e,A,n,r){let o=r.parent.type.spec.code,s,a;if(!A&&!e)return null;let l=e&&(n||o||!A);if(l){if(t.someProp("transformPastedText",d=>{e=d(e,o||n,t)}),o)return e?new Slice(Fragment.from(t.state.schema.text(e.replace(/\r\n?/g,`
9
+ `))),0,0):Slice.empty;let I=t.someProp("clipboardTextParser",d=>d(e,r,n,t));if(I)a=I;else{let d=r.marks(),{schema:h}=t.state,u=DOMSerializer.fromSchema(h);s=document.createElement("div"),e.split(/(?:\r\n?|\n)+/).forEach(B=>{let E=s.appendChild(document.createElement("p"));B&&E.appendChild(u.serializeNode(h.text(B,d)))})}}else t.someProp("transformPastedHTML",I=>{A=I(A,t)}),s=readHTML(A),webkit&&restoreReplacedSpaces(s);let g=s&&s.querySelector("[data-pm-slice]"),c=g&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(g.getAttribute("data-pm-slice")||"");if(c&&c[3])for(let I=+c[3];I>0;I--){let d=s.firstChild;for(;d&&d.nodeType!=1;)d=d.nextSibling;if(!d)break;s=d}if(a||(a=(t.someProp("clipboardParser")||t.someProp("domParser")||DOMParser$1.fromSchema(t.state.schema)).parseSlice(s,{preserveWhitespace:!!(l||c),context:r,ruleFromNode(d){return d.nodeName=="BR"&&!d.nextSibling&&d.parentNode&&!inlineParents.test(d.parentNode.nodeName)?{ignore:!0}:null}})),c)a=addContext(closeSlice$1(a,+c[1],+c[2]),c[4]);else if(a=Slice.maxOpen(normalizeSiblings$1(a.content,r),!0),a.openStart||a.openEnd){let I=0,d=0;for(let h=a.content.firstChild;I<a.openStart&&!h.type.spec.isolating;I++,h=h.firstChild);for(let h=a.content.lastChild;d<a.openEnd&&!h.type.spec.isolating;d++,h=h.lastChild);a=closeSlice$1(a,I,d)}return t.someProp("transformPasted",I=>{a=I(a,t)}),a}const inlineParents=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function normalizeSiblings$1(t,e){if(t.childCount<2)return t;for(let A=e.depth;A>=0;A--){let r=e.node(A).contentMatchAt(e.index(A)),o,s=[];if(t.forEach(a=>{if(!s)return;let l=r.findWrapping(a.type),g;if(!l)return s=null;if(g=s.length&&o.length&&addToSibling$1(l,o,a,s[s.length-1],0))s[s.length-1]=g;else{s.length&&(s[s.length-1]=closeRight$1(s[s.length-1],o.length));let c=withWrappers$1(a,l);s.push(c),r=r.matchType(c.type),o=l}}),s)return Fragment.from(s)}return t}function withWrappers$1(t,e,A=0){for(let n=e.length-1;n>=A;n--)t=e[n].create(null,Fragment.from(t));return t}function addToSibling$1(t,e,A,n,r){if(r<t.length&&r<e.length&&t[r]==e[r]){let o=addToSibling$1(t,e,A,n.lastChild,r+1);if(o)return n.copy(n.content.replaceChild(n.childCount-1,o));if(n.contentMatchAt(n.childCount).matchType(r==t.length-1?A.type:t[r+1]))return n.copy(n.content.append(Fragment.from(withWrappers$1(A,t,r+1))))}}function closeRight$1(t,e){if(e==0)return t;let A=t.content.replaceChild(t.childCount-1,closeRight$1(t.lastChild,e-1)),n=t.contentMatchAt(t.childCount).fillBefore(Fragment.empty,!0);return t.copy(A.append(n))}function closeRange$1(t,e,A,n,r,o){let s=e<0?t.firstChild:t.lastChild,a=s.content;return t.childCount>1&&(o=0),r<n-1&&(a=closeRange$1(a,e,A,n,r+1,o)),r>=A&&(a=e<0?s.contentMatchAt(0).fillBefore(a,o<=r).append(a):a.append(s.contentMatchAt(s.childCount).fillBefore(Fragment.empty,!0))),t.replaceChild(e<0?0:t.childCount-1,s.copy(a))}function closeSlice$1(t,e,A){return e<t.openStart&&(t=new Slice(closeRange$1(t.content,-1,e,t.openStart,0,t.openEnd),e,t.openEnd)),A<t.openEnd&&(t=new Slice(closeRange$1(t.content,1,A,t.openEnd,0,0),t.openStart,A)),t}const wrapMap={thead:["table"],tbody:["table"],tfoot:["table"],caption:["table"],colgroup:["table"],col:["table","colgroup"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","tbody","tr"]};let _detachedDoc=null;function detachedDoc(){return _detachedDoc||(_detachedDoc=document.implementation.createHTMLDocument("title"))}let _policy=null;function maybeWrapTrusted(t){let e=window.trustedTypes;return e?(_policy||(_policy=e.defaultPolicy||e.createPolicy("ProseMirrorClipboard",{createHTML:A=>A})),_policy.createHTML(t)):t}function readHTML(t){let e=/^(\s*<meta [^>]*>)*/.exec(t);e&&(t=t.slice(e[0].length));let A=detachedDoc().createElement("div"),n=/<([a-z][^>\s]+)/i.exec(t),r;if((r=n&&wrapMap[n[1].toLowerCase()])&&(t=r.map(o=>"<"+o+">").join("")+t+r.map(o=>"</"+o+">").reverse().join("")),A.innerHTML=maybeWrapTrusted(t),r)for(let o=0;o<r.length;o++)A=A.querySelector(r[o])||A;return A}function restoreReplacedSpaces(t){let e=t.querySelectorAll(chrome?"span:not([class]):not([style])":"span.Apple-converted-space");for(let A=0;A<e.length;A++){let n=e[A];n.childNodes.length==1&&n.textContent==" "&&n.parentNode&&n.parentNode.replaceChild(t.ownerDocument.createTextNode(" "),n)}}function addContext(t,e){if(!t.size)return t;let A=t.content.firstChild.type.schema,n;try{n=JSON.parse(e)}catch{return t}let{content:r,openStart:o,openEnd:s}=t;for(let a=n.length-2;a>=0;a-=2){let l=A.nodes[n[a]];if(!l||l.hasRequiredAttrs())break;r=Fragment.from(l.create(n[a+1],r)),o++,s++}return new Slice(r,o,s)}const handlers={},editHandlers={},passiveHandlers={touchstart:!0,touchmove:!0};class InputState{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:"",button:0},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}}function initInput(t){for(let e in handlers){let A=handlers[e];t.dom.addEventListener(e,t.input.eventHandlers[e]=n=>{eventBelongsToView(t,n)&&!runCustomHandler(t,n)&&(t.editable||!(n.type in editHandlers))&&A(t,n)},passiveHandlers[e]?{passive:!0}:void 0)}safari&&t.dom.addEventListener("input",()=>null),ensureListeners(t)}function setSelectionOrigin(t,e){t.input.lastSelectionOrigin=e,t.input.lastSelectionTime=Date.now()}function destroyInput(t){t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout),clearTimeout(t.input.lastIOSEnterFallbackTimeout)}function ensureListeners(t){t.someProp("handleDOMEvents",e=>{for(let A in e)t.input.eventHandlers[A]||t.dom.addEventListener(A,t.input.eventHandlers[A]=n=>runCustomHandler(t,n))})}function runCustomHandler(t,e){return t.someProp("handleDOMEvents",A=>{let n=A[e.type];return n?n(t,e)||e.defaultPrevented:!1})}function eventBelongsToView(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let A=e.target;A!=t.dom;A=A.parentNode)if(!A||A.nodeType==11||A.pmViewDesc&&A.pmViewDesc.stopEvent(e))return!1;return!0}function dispatchEvent(t,e){!runCustomHandler(t,e)&&handlers[e.type]&&(t.editable||!(e.type in editHandlers))&&handlers[e.type](t,e)}editHandlers.keydown=(t,e)=>{let A=e;if(t.input.shiftKey=A.keyCode==16||A.shiftKey,!inOrNearComposition(t,A)&&(t.input.lastKeyCode=A.keyCode,t.input.lastKeyCodeTime=Date.now(),!(android&&chrome&&A.keyCode==13)))if(A.keyCode!=229&&t.domObserver.forceFlush(),ios&&A.keyCode==13&&!A.ctrlKey&&!A.altKey&&!A.metaKey){let n=Date.now();t.input.lastIOSEnter=n,t.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{t.input.lastIOSEnter==n&&(t.someProp("handleKeyDown",r=>r(t,keyEvent(13,"Enter"))),t.input.lastIOSEnter=0)},200)}else t.someProp("handleKeyDown",n=>n(t,A))||captureKeyDown(t,A)?A.preventDefault():setSelectionOrigin(t,"key")};editHandlers.keyup=(t,e)=>{e.keyCode==16&&(t.input.shiftKey=!1)};editHandlers.keypress=(t,e)=>{let A=e;if(inOrNearComposition(t,A)||!A.charCode||A.ctrlKey&&!A.altKey||mac$3&&A.metaKey)return;if(t.someProp("handleKeyPress",r=>r(t,A))){A.preventDefault();return}let n=t.state.selection;if(!(n instanceof TextSelection)||!n.$from.sameParent(n.$to)){let r=String.fromCharCode(A.charCode),o=()=>t.state.tr.insertText(r).scrollIntoView();!/[\r\n]/.test(r)&&!t.someProp("handleTextInput",s=>s(t,n.$from.pos,n.$to.pos,r,o))&&t.dispatch(o()),A.preventDefault()}};function eventCoords(t){return{left:t.clientX,top:t.clientY}}function isNear(t,e){let A=e.x-t.clientX,n=e.y-t.clientY;return A*A+n*n<100}function runHandlerOnContext(t,e,A,n,r){if(n==-1)return!1;let o=t.state.doc.resolve(n);for(let s=o.depth+1;s>0;s--)if(t.someProp(e,a=>s>o.depth?a(t,A,o.nodeAfter,o.before(s),r,!0):a(t,A,o.node(s),o.before(s),r,!1)))return!0;return!1}function updateSelection(t,e,A){if(t.focused||t.focus(),t.state.selection.eq(e))return;let n=t.state.tr.setSelection(e);n.setMeta("pointer",!0),t.dispatch(n)}function selectClickedLeaf(t,e){if(e==-1)return!1;let A=t.state.doc.resolve(e),n=A.nodeAfter;return n&&n.isAtom&&NodeSelection.isSelectable(n)?(updateSelection(t,new NodeSelection(A)),!0):!1}function selectClickedNode(t,e){if(e==-1)return!1;let A=t.state.selection,n,r;A instanceof NodeSelection&&(n=A.node);let o=t.state.doc.resolve(e);for(let s=o.depth+1;s>0;s--){let a=s>o.depth?o.nodeAfter:o.node(s);if(NodeSelection.isSelectable(a)){n&&A.$from.depth>0&&s>=A.$from.depth&&o.before(A.$from.depth+1)==A.$from.pos?r=o.before(A.$from.depth):r=o.before(s);break}}return r!=null?(updateSelection(t,NodeSelection.create(t.state.doc,r)),!0):!1}function handleSingleClick(t,e,A,n,r){return runHandlerOnContext(t,"handleClickOn",e,A,n)||t.someProp("handleClick",o=>o(t,e,n))||(r?selectClickedNode(t,A):selectClickedLeaf(t,A))}function handleDoubleClick(t,e,A,n){return runHandlerOnContext(t,"handleDoubleClickOn",e,A,n)||t.someProp("handleDoubleClick",r=>r(t,e,n))}function handleTripleClick$1(t,e,A,n){return runHandlerOnContext(t,"handleTripleClickOn",e,A,n)||t.someProp("handleTripleClick",r=>r(t,e,n))||defaultTripleClick(t,A,n)}function defaultTripleClick(t,e,A){if(A.button!=0)return!1;let n=t.state.doc;if(e==-1)return n.inlineContent?(updateSelection(t,TextSelection.create(n,0,n.content.size)),!0):!1;let r=n.resolve(e);for(let o=r.depth+1;o>0;o--){let s=o>r.depth?r.nodeAfter:r.node(o),a=r.before(o);if(s.inlineContent)updateSelection(t,TextSelection.create(n,a+1,a+1+s.content.size));else if(NodeSelection.isSelectable(s))updateSelection(t,NodeSelection.create(n,a));else continue;return!0}}function forceDOMFlush(t){return endComposition(t)}const selectNodeModifier=mac$3?"metaKey":"ctrlKey";handlers.mousedown=(t,e)=>{let A=e;t.input.shiftKey=A.shiftKey;let n=forceDOMFlush(t),r=Date.now(),o="singleClick";r-t.input.lastClick.time<500&&isNear(A,t.input.lastClick)&&!A[selectNodeModifier]&&t.input.lastClick.button==A.button&&(t.input.lastClick.type=="singleClick"?o="doubleClick":t.input.lastClick.type=="doubleClick"&&(o="tripleClick")),t.input.lastClick={time:r,x:A.clientX,y:A.clientY,type:o,button:A.button};let s=t.posAtCoords(eventCoords(A));s&&(o=="singleClick"?(t.input.mouseDown&&t.input.mouseDown.done(),t.input.mouseDown=new MouseDown(t,s,A,!!n)):(o=="doubleClick"?handleDoubleClick:handleTripleClick$1)(t,s.pos,s.inside,A)?A.preventDefault():setSelectionOrigin(t,"pointer"))};class MouseDown{constructor(e,A,n,r){this.view=e,this.pos=A,this.event=n,this.flushed=r,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=e.state.doc,this.selectNode=!!n[selectNodeModifier],this.allowDefault=n.shiftKey;let o,s;if(A.inside>-1)o=e.state.doc.nodeAt(A.inside),s=A.inside;else{let c=e.state.doc.resolve(A.pos);o=c.parent,s=c.depth?c.before():0}const a=r?null:n.target,l=a?e.docView.nearestDesc(a,!0):null;this.target=l&&l.dom.nodeType==1?l.dom:null;let{selection:g}=e.state;(n.button==0&&o.type.spec.draggable&&o.type.spec.selectable!==!1||g instanceof NodeSelection&&g.from<=s&&g.to>s)&&(this.mightDrag={node:o,pos:s,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&gecko&&!this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")},20),this.view.domObserver.start()),e.root.addEventListener("mouseup",this.up=this.up.bind(this)),e.root.addEventListener("mousemove",this.move=this.move.bind(this)),setSelectionOrigin(e,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>selectionToDOM(this.view)),this.view.input.mouseDown=null}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let A=this.pos;this.view.state.doc!=this.startDoc&&(A=this.view.posAtCoords(eventCoords(e))),this.updateAllowDefault(e),this.allowDefault||!A?setSelectionOrigin(this.view,"pointer"):handleSingleClick(this.view,A.pos,A.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||safari&&this.mightDrag&&!this.mightDrag.node.isAtom||chrome&&!this.view.state.selection.visible&&Math.min(Math.abs(A.pos-this.view.state.selection.from),Math.abs(A.pos-this.view.state.selection.to))<=2)?(updateSelection(this.view,Selection.near(this.view.state.doc.resolve(A.pos))),e.preventDefault()):setSelectionOrigin(this.view,"pointer")}move(e){this.updateAllowDefault(e),setSelectionOrigin(this.view,"pointer"),e.buttons==0&&this.done()}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}}handlers.touchstart=t=>{t.input.lastTouch=Date.now(),forceDOMFlush(t),setSelectionOrigin(t,"pointer")};handlers.touchmove=t=>{t.input.lastTouch=Date.now(),setSelectionOrigin(t,"pointer")};handlers.contextmenu=t=>forceDOMFlush(t);function inOrNearComposition(t,e){return t.composing?!0:safari&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500?(t.input.compositionEndedAt=-2e8,!0):!1}const timeoutComposition=android?5e3:-1;editHandlers.compositionstart=editHandlers.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,A=e.selection.$to;if(e.selection instanceof TextSelection&&(e.storedMarks||!A.textOffset&&A.parentOffset&&A.nodeBefore.marks.some(n=>n.type.spec.inclusive===!1)))t.markCursor=t.state.storedMarks||A.marks(),endComposition(t,!0),t.markCursor=null;else if(endComposition(t,!e.selection.empty),gecko&&e.selection.empty&&A.parentOffset&&!A.textOffset&&A.nodeBefore.marks.length){let n=t.domSelectionRange();for(let r=n.focusNode,o=n.focusOffset;r&&r.nodeType==1&&o!=0;){let s=o<0?r.lastChild:r.childNodes[o-1];if(!s)break;if(s.nodeType==3){let a=t.domSelection();a&&a.collapse(s,s.nodeValue.length);break}else r=s,o=-1}}t.input.composing=!0}scheduleComposeEnd(t,timeoutComposition)};editHandlers.compositionend=(t,e)=>{t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=e.timeStamp,t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0,t.input.compositionNode=null,t.input.compositionPendingChanges&&Promise.resolve().then(()=>t.domObserver.flush()),t.input.compositionID++,scheduleComposeEnd(t,20))};function scheduleComposeEnd(t,e){clearTimeout(t.input.composingTimeout),e>-1&&(t.input.composingTimeout=setTimeout(()=>endComposition(t),e))}function clearComposition(t){for(t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=timestampFromCustomEvent());t.input.compositionNodes.length>0;)t.input.compositionNodes.pop().markParentsDirty()}function findCompositionNode(t){let e=t.domSelectionRange();if(!e.focusNode)return null;let A=textNodeBefore$1(e.focusNode,e.focusOffset),n=textNodeAfter$1(e.focusNode,e.focusOffset);if(A&&n&&A!=n){let r=n.pmViewDesc,o=t.domObserver.lastChangedTextNode;if(A==o||n==o)return o;if(!r||!r.isText(n.nodeValue))return n;if(t.input.compositionNode==n){let s=A.pmViewDesc;if(!(!s||!s.isText(A.nodeValue)))return n}}return A||n}function timestampFromCustomEvent(){let t=document.createEvent("Event");return t.initEvent("event",!0,!0),t.timeStamp}function endComposition(t,e=!1){if(!(android&&t.domObserver.flushingSoon>=0)){if(t.domObserver.forceFlush(),clearComposition(t),e||t.docView&&t.docView.dirty){let A=selectionFromDOM(t),n=t.state.selection;return A&&!A.eq(n)?t.dispatch(t.state.tr.setSelection(A)):(t.markCursor||e)&&!n.$from.node(n.$from.sharedDepth(n.to)).inlineContent?t.dispatch(t.state.tr.deleteSelection()):t.updateState(t.state),!0}return!1}}function captureCopy(t,e){if(!t.dom.parentNode)return;let A=t.dom.parentNode.appendChild(document.createElement("div"));A.appendChild(e),A.style.cssText="position: fixed; left: -10000px; top: 10px";let n=getSelection(),r=document.createRange();r.selectNodeContents(e),t.dom.blur(),n.removeAllRanges(),n.addRange(r),setTimeout(()=>{A.parentNode&&A.parentNode.removeChild(A),t.focus()},50)}const brokenClipboardAPI=ie$1&&ie_version<15||ios&&webkit_version<604;handlers.copy=editHandlers.cut=(t,e)=>{let A=e,n=t.state.selection,r=A.type=="cut";if(n.empty)return;let o=brokenClipboardAPI?null:A.clipboardData,s=n.content(),{dom:a,text:l}=serializeForClipboard(t,s);o?(A.preventDefault(),o.clearData(),o.setData("text/html",a.innerHTML),o.setData("text/plain",l)):captureCopy(t,a),r&&t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function sliceSingleNode$1(t){return t.openStart==0&&t.openEnd==0&&t.content.childCount==1?t.content.firstChild:null}function capturePaste(t,e){if(!t.dom.parentNode)return;let A=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code,n=t.dom.parentNode.appendChild(document.createElement(A?"textarea":"div"));A||(n.contentEditable="true"),n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus();let r=t.input.shiftKey&&t.input.lastKeyCode!=45;setTimeout(()=>{t.focus(),n.parentNode&&n.parentNode.removeChild(n),A?doPaste(t,n.value,null,r,e):doPaste(t,n.textContent,n.innerHTML,r,e)},50)}function doPaste(t,e,A,n,r){let o=parseFromClipboard(t,e,A,n,t.state.selection.$from);if(t.someProp("handlePaste",l=>l(t,r,o||Slice.empty)))return!0;if(!o)return!1;let s=sliceSingleNode$1(o),a=s?t.state.tr.replaceSelectionWith(s,n):t.state.tr.replaceSelection(o);return t.dispatch(a.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function getText$1(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let A=t.getData("text/uri-list");return A?A.replace(/\r?\n/g," "):""}editHandlers.paste=(t,e)=>{let A=e;if(t.composing&&!android)return;let n=brokenClipboardAPI?null:A.clipboardData,r=t.input.shiftKey&&t.input.lastKeyCode!=45;n&&doPaste(t,getText$1(n),n.getData("text/html"),r,A)?A.preventDefault():capturePaste(t,A)};class Dragging{constructor(e,A,n){this.slice=e,this.move=A,this.node=n}}const dragCopyModifier=mac$3?"altKey":"ctrlKey";function dragMoves(t,e){let A=t.someProp("dragCopies",n=>!n(e));return A??!e[dragCopyModifier]}handlers.dragstart=(t,e)=>{let A=e,n=t.input.mouseDown;if(n&&n.done(),!A.dataTransfer)return;let r=t.state.selection,o=r.empty?null:t.posAtCoords(eventCoords(A)),s;if(!(o&&o.pos>=r.from&&o.pos<=(r instanceof NodeSelection?r.to-1:r.to))){if(n&&n.mightDrag)s=NodeSelection.create(t.state.doc,n.mightDrag.pos);else if(A.target&&A.target.nodeType==1){let I=t.docView.nearestDesc(A.target,!0);I&&I.node.type.spec.draggable&&I!=t.docView&&(s=NodeSelection.create(t.state.doc,I.posBefore))}}let a=(s||t.state.selection).content(),{dom:l,text:g,slice:c}=serializeForClipboard(t,a);(!A.dataTransfer.files.length||!chrome||chrome_version>120)&&A.dataTransfer.clearData(),A.dataTransfer.setData(brokenClipboardAPI?"Text":"text/html",l.innerHTML),A.dataTransfer.effectAllowed="copyMove",brokenClipboardAPI||A.dataTransfer.setData("text/plain",g),t.dragging=new Dragging(c,dragMoves(t,A),s)};handlers.dragend=t=>{let e=t.dragging;window.setTimeout(()=>{t.dragging==e&&(t.dragging=null)},50)};editHandlers.dragover=editHandlers.dragenter=(t,e)=>e.preventDefault();editHandlers.drop=(t,e)=>{let A=e,n=t.dragging;if(t.dragging=null,!A.dataTransfer)return;let r=t.posAtCoords(eventCoords(A));if(!r)return;let o=t.state.doc.resolve(r.pos),s=n&&n.slice;s?t.someProp("transformPasted",u=>{s=u(s,t)}):s=parseFromClipboard(t,getText$1(A.dataTransfer),brokenClipboardAPI?null:A.dataTransfer.getData("text/html"),!1,o);let a=!!(n&&dragMoves(t,A));if(t.someProp("handleDrop",u=>u(t,A,s||Slice.empty,a))){A.preventDefault();return}if(!s)return;A.preventDefault();let l=s?dropPoint(t.state.doc,o.pos,s):o.pos;l==null&&(l=o.pos);let g=t.state.tr;if(a){let{node:u}=n;u?u.replace(g):g.deleteSelection()}let c=g.mapping.map(l),I=s.openStart==0&&s.openEnd==0&&s.content.childCount==1,d=g.doc;if(I?g.replaceRangeWith(c,c,s.content.firstChild):g.replaceRange(c,c,s),g.doc.eq(d))return;let h=g.doc.resolve(c);if(I&&NodeSelection.isSelectable(s.content.firstChild)&&h.nodeAfter&&h.nodeAfter.sameMarkup(s.content.firstChild))g.setSelection(new NodeSelection(h));else{let u=g.mapping.map(l);g.mapping.maps[g.mapping.maps.length-1].forEach((B,E,f,Q)=>u=Q),g.setSelection(selectionBetween(t,h,g.doc.resolve(u)))}t.focus(),t.dispatch(g.setMeta("uiEvent","drop"))};handlers.focus=t=>{t.input.lastFocus=Date.now(),t.focused||(t.domObserver.stop(),t.dom.classList.add("ProseMirror-focused"),t.domObserver.start(),t.focused=!0,setTimeout(()=>{t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange())&&selectionToDOM(t)},20))};handlers.blur=(t,e)=>{let A=e;t.focused&&(t.domObserver.stop(),t.dom.classList.remove("ProseMirror-focused"),t.domObserver.start(),A.relatedTarget&&t.dom.contains(A.relatedTarget)&&t.domObserver.currentSelection.clear(),t.focused=!1)};handlers.beforeinput=(t,e)=>{if(chrome&&android&&e.inputType=="deleteContentBackward"){t.domObserver.flushSoon();let{domChangeCount:n}=t.input;setTimeout(()=>{if(t.input.domChangeCount!=n||(t.dom.blur(),t.focus(),t.someProp("handleKeyDown",o=>o(t,keyEvent(8,"Backspace")))))return;let{$cursor:r}=t.state.selection;r&&r.pos>0&&t.dispatch(t.state.tr.delete(r.pos-1,r.pos).scrollIntoView())},50)}};for(let t in editHandlers)handlers[t]=editHandlers[t];function compareObjs(t,e){if(t==e)return!0;for(let A in t)if(t[A]!==e[A])return!1;for(let A in e)if(!(A in t))return!1;return!0}class WidgetType{constructor(e,A){this.toDOM=e,this.spec=A||noSpec,this.side=this.spec.side||0}map(e,A,n,r){let{pos:o,deleted:s}=e.mapResult(A.from+r,this.side<0?-1:1);return s?null:new Decoration(o-n,o-n,this)}valid(){return!0}eq(e){return this==e||e instanceof WidgetType&&(this.spec.key&&this.spec.key==e.spec.key||this.toDOM==e.toDOM&&compareObjs(this.spec,e.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}}class InlineType{constructor(e,A){this.attrs=e,this.spec=A||noSpec}map(e,A,n,r){let o=e.map(A.from+r,this.spec.inclusiveStart?-1:1)-n,s=e.map(A.to+r,this.spec.inclusiveEnd?1:-1)-n;return o>=s?null:new Decoration(o,s,this)}valid(e,A){return A.from<A.to}eq(e){return this==e||e instanceof InlineType&&compareObjs(this.attrs,e.attrs)&&compareObjs(this.spec,e.spec)}static is(e){return e.type instanceof InlineType}destroy(){}}class NodeType{constructor(e,A){this.attrs=e,this.spec=A||noSpec}map(e,A,n,r){let o=e.mapResult(A.from+r,1);if(o.deleted)return null;let s=e.mapResult(A.to+r,-1);return s.deleted||s.pos<=o.pos?null:new Decoration(o.pos-n,s.pos-n,this)}valid(e,A){let{index:n,offset:r}=e.content.findIndex(A.from),o;return r==A.from&&!(o=e.child(n)).isText&&r+o.nodeSize==A.to}eq(e){return this==e||e instanceof NodeType&&compareObjs(this.attrs,e.attrs)&&compareObjs(this.spec,e.spec)}destroy(){}}class Decoration{constructor(e,A,n){this.from=e,this.to=A,this.type=n}copy(e,A){return new Decoration(e,A,this.type)}eq(e,A=0){return this.type.eq(e.type)&&this.from+A==e.from&&this.to+A==e.to}map(e,A,n){return this.type.map(e,this,A,n)}static widget(e,A,n){return new Decoration(e,e,new WidgetType(A,n))}static inline(e,A,n,r){return new Decoration(e,A,new InlineType(n,r))}static node(e,A,n,r){return new Decoration(e,A,new NodeType(n,r))}get spec(){return this.type.spec}get inline(){return this.type instanceof InlineType}get widget(){return this.type instanceof WidgetType}}const none=[],noSpec={};class DecorationSet{constructor(e,A){this.local=e.length?e:none,this.children=A.length?A:none}static create(e,A){return A.length?buildTree(A,e,0,noSpec):empty$1}find(e,A,n){let r=[];return this.findInner(e??0,A??1e9,r,0,n),r}findInner(e,A,n,r,o){for(let s=0;s<this.local.length;s++){let a=this.local[s];a.from<=A&&a.to>=e&&(!o||o(a.spec))&&n.push(a.copy(a.from+r,a.to+r))}for(let s=0;s<this.children.length;s+=3)if(this.children[s]<A&&this.children[s+1]>e){let a=this.children[s]+1;this.children[s+2].findInner(e-a,A-a,n,r+a,o)}}map(e,A,n){return this==empty$1||e.maps.length==0?this:this.mapInner(e,A,0,0,n||noSpec)}mapInner(e,A,n,r,o){let s;for(let a=0;a<this.local.length;a++){let l=this.local[a].map(e,n,r);l&&l.type.valid(A,l)?(s||(s=[])).push(l):o.onRemove&&o.onRemove(this.local[a].spec)}return this.children.length?mapChildren(this.children,s||[],e,A,n,r,o):s?new DecorationSet(s.sort(byPos),none):empty$1}add(e,A){return A.length?this==empty$1?DecorationSet.create(e,A):this.addInner(e,A,0):this}addInner(e,A,n){let r,o=0;e.forEach((a,l)=>{let g=l+n,c;if(c=takeSpansForNode(A,a,g)){for(r||(r=this.children.slice());o<r.length&&r[o]<l;)o+=3;r[o]==l?r[o+2]=r[o+2].addInner(a,c,g+1):r.splice(o,0,l,l+a.nodeSize,buildTree(c,a,g+1,noSpec)),o+=3}});let s=moveSpans(o?withoutNulls(A):A,-n);for(let a=0;a<s.length;a++)s[a].type.valid(e,s[a])||s.splice(a--,1);return new DecorationSet(s.length?this.local.concat(s).sort(byPos):this.local,r||this.children)}remove(e){return e.length==0||this==empty$1?this:this.removeInner(e,0)}removeInner(e,A){let n=this.children,r=this.local;for(let o=0;o<n.length;o+=3){let s,a=n[o]+A,l=n[o+1]+A;for(let c=0,I;c<e.length;c++)(I=e[c])&&I.from>a&&I.to<l&&(e[c]=null,(s||(s=[])).push(I));if(!s)continue;n==this.children&&(n=this.children.slice());let g=n[o+2].removeInner(s,a+1);g!=empty$1?n[o+2]=g:(n.splice(o,3),o-=3)}if(r.length){for(let o=0,s;o<e.length;o++)if(s=e[o])for(let a=0;a<r.length;a++)r[a].eq(s,A)&&(r==this.local&&(r=this.local.slice()),r.splice(a--,1))}return n==this.children&&r==this.local?this:r.length||n.length?new DecorationSet(r,n):empty$1}forChild(e,A){if(this==empty$1)return this;if(A.isLeaf)return DecorationSet.empty;let n,r;for(let a=0;a<this.children.length;a+=3)if(this.children[a]>=e){this.children[a]==e&&(n=this.children[a+2]);break}let o=e+1,s=o+A.content.size;for(let a=0;a<this.local.length;a++){let l=this.local[a];if(l.from<s&&l.to>o&&l.type instanceof InlineType){let g=Math.max(o,l.from)-o,c=Math.min(s,l.to)-o;g<c&&(r||(r=[])).push(l.copy(g,c))}}if(r){let a=new DecorationSet(r.sort(byPos),none);return n?new DecorationGroup([a,n]):a}return n||empty$1}eq(e){if(this==e)return!0;if(!(e instanceof DecorationSet)||this.local.length!=e.local.length||this.children.length!=e.children.length)return!1;for(let A=0;A<this.local.length;A++)if(!this.local[A].eq(e.local[A]))return!1;for(let A=0;A<this.children.length;A+=3)if(this.children[A]!=e.children[A]||this.children[A+1]!=e.children[A+1]||!this.children[A+2].eq(e.children[A+2]))return!1;return!0}locals(e){return removeOverlap(this.localsInner(e))}localsInner(e){if(this==empty$1)return none;if(e.inlineContent||!this.local.some(InlineType.is))return this.local;let A=[];for(let n=0;n<this.local.length;n++)this.local[n].type instanceof InlineType||A.push(this.local[n]);return A}forEachSet(e){e(this)}}DecorationSet.empty=new DecorationSet([],[]);DecorationSet.removeOverlap=removeOverlap;const empty$1=DecorationSet.empty;class DecorationGroup{constructor(e){this.members=e}map(e,A){const n=this.members.map(r=>r.map(e,A,noSpec));return DecorationGroup.from(n)}forChild(e,A){if(A.isLeaf)return DecorationSet.empty;let n=[];for(let r=0;r<this.members.length;r++){let o=this.members[r].forChild(e,A);o!=empty$1&&(o instanceof DecorationGroup?n=n.concat(o.members):n.push(o))}return DecorationGroup.from(n)}eq(e){if(!(e instanceof DecorationGroup)||e.members.length!=this.members.length)return!1;for(let A=0;A<this.members.length;A++)if(!this.members[A].eq(e.members[A]))return!1;return!0}locals(e){let A,n=!0;for(let r=0;r<this.members.length;r++){let o=this.members[r].localsInner(e);if(o.length)if(!A)A=o;else{n&&(A=A.slice(),n=!1);for(let s=0;s<o.length;s++)A.push(o[s])}}return A?removeOverlap(n?A:A.sort(byPos)):none}static from(e){switch(e.length){case 0:return empty$1;case 1:return e[0];default:return new DecorationGroup(e.every(A=>A instanceof DecorationSet)?e:e.reduce((A,n)=>A.concat(n instanceof DecorationSet?n:n.members),[]))}}forEachSet(e){for(let A=0;A<this.members.length;A++)this.members[A].forEachSet(e)}}function mapChildren(t,e,A,n,r,o,s){let a=t.slice();for(let g=0,c=o;g<A.maps.length;g++){let I=0;A.maps[g].forEach((d,h,u,B)=>{let E=B-u-(h-d);for(let f=0;f<a.length;f+=3){let Q=a[f+1];if(Q<0||d>Q+c-I)continue;let p=a[f]+c-I;h>=p?a[f+1]=d<=p?-2:-1:d>=c&&E&&(a[f]+=E,a[f+1]+=E)}I+=E}),c=A.maps[g].map(c,-1)}let l=!1;for(let g=0;g<a.length;g+=3)if(a[g+1]<0){if(a[g+1]==-2){l=!0,a[g+1]=-1;continue}let c=A.map(t[g]+o),I=c-r;if(I<0||I>=n.content.size){l=!0;continue}let d=A.map(t[g+1]+o,-1),h=d-r,{index:u,offset:B}=n.content.findIndex(I),E=n.maybeChild(u);if(E&&B==I&&B+E.nodeSize==h){let f=a[g+2].mapInner(A,E,c+1,t[g]+o+1,s);f!=empty$1?(a[g]=I,a[g+1]=h,a[g+2]=f):(a[g+1]=-2,l=!0)}else l=!0}if(l){let g=mapAndGatherRemainingDecorations(a,t,e,A,r,o,s),c=buildTree(g,n,0,s);e=c.local;for(let I=0;I<a.length;I+=3)a[I+1]<0&&(a.splice(I,3),I-=3);for(let I=0,d=0;I<c.children.length;I+=3){let h=c.children[I];for(;d<a.length&&a[d]<h;)d+=3;a.splice(d,0,c.children[I],c.children[I+1],c.children[I+2])}}return new DecorationSet(e.sort(byPos),a)}function moveSpans(t,e){if(!e||!t.length)return t;let A=[];for(let n=0;n<t.length;n++){let r=t[n];A.push(new Decoration(r.from+e,r.to+e,r.type))}return A}function mapAndGatherRemainingDecorations(t,e,A,n,r,o,s){function a(l,g){for(let c=0;c<l.local.length;c++){let I=l.local[c].map(n,r,g);I?A.push(I):s.onRemove&&s.onRemove(l.local[c].spec)}for(let c=0;c<l.children.length;c+=3)a(l.children[c+2],l.children[c]+g+1)}for(let l=0;l<t.length;l+=3)t[l+1]==-1&&a(t[l+2],e[l]+o+1);return A}function takeSpansForNode(t,e,A){if(e.isLeaf)return null;let n=A+e.nodeSize,r=null;for(let o=0,s;o<t.length;o++)(s=t[o])&&s.from>A&&s.to<n&&((r||(r=[])).push(s),t[o]=null);return r}function withoutNulls(t){let e=[];for(let A=0;A<t.length;A++)t[A]!=null&&e.push(t[A]);return e}function buildTree(t,e,A,n){let r=[],o=!1;e.forEach((a,l)=>{let g=takeSpansForNode(t,a,l+A);if(g){o=!0;let c=buildTree(g,a,A+l+1,n);c!=empty$1&&r.push(l,l+a.nodeSize,c)}});let s=moveSpans(o?withoutNulls(t):t,-A).sort(byPos);for(let a=0;a<s.length;a++)s[a].type.valid(e,s[a])||(n.onRemove&&n.onRemove(s[a].spec),s.splice(a--,1));return s.length||r.length?new DecorationSet(s,r):empty$1}function byPos(t,e){return t.from-e.from||t.to-e.to}function removeOverlap(t){let e=t;for(let A=0;A<e.length-1;A++){let n=e[A];if(n.from!=n.to)for(let r=A+1;r<e.length;r++){let o=e[r];if(o.from==n.from){o.to!=n.to&&(e==t&&(e=t.slice()),e[r]=o.copy(o.from,n.to),insertAhead(e,r+1,o.copy(n.to,o.to)));continue}else{o.from<n.to&&(e==t&&(e=t.slice()),e[A]=n.copy(n.from,o.from),insertAhead(e,r,n.copy(o.from,n.to)));break}}}return e}function insertAhead(t,e,A){for(;e<t.length&&byPos(A,t[e])>0;)e++;t.splice(e,0,A)}function viewDecorations(t){let e=[];return t.someProp("decorations",A=>{let n=A(t.state);n&&n!=empty$1&&e.push(n)}),t.cursorWrapper&&e.push(DecorationSet.create(t.state.doc,[t.cursorWrapper.deco])),DecorationGroup.from(e)}const observeOptions={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},useCharData=ie$1&&ie_version<=11;class SelectionState{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}}class DOMObserver{constructor(e,A){this.view=e,this.handleDOMChange=A,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new SelectionState,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(n=>{for(let r=0;r<n.length;r++)this.queue.push(n[r]);ie$1&&ie_version<=11&&n.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),useCharData&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,observeOptions)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let e=this.observer.takeRecords();if(e.length){for(let A=0;A<e.length;A++)this.queue.push(e[A]);window.setTimeout(()=>this.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(hasFocusAndSelection(this.view)){if(this.suppressingSelectionUpdates)return selectionToDOM(this.view);if(ie$1&&ie_version<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&isEquivalentPosition(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(e){if(!e.focusNode)return!0;let A=new Set,n;for(let o=e.focusNode;o;o=parentNode(o))A.add(o);for(let o=e.anchorNode;o;o=parentNode(o))if(A.has(o)){n=o;break}let r=n&&this.view.docView.nearestDesc(n);if(r&&r.ignoreMutation({type:"selection",target:n.nodeType==3?n.parentNode:n}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let A=this.pendingRecords();A.length&&(this.queue=[]);let n=e.domSelectionRange(),r=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(n)&&hasFocusAndSelection(e)&&!this.ignoreSelectionChange(n),o=-1,s=-1,a=!1,l=[];if(e.editable)for(let c=0;c<A.length;c++){let I=this.registerMutation(A[c],l);I&&(o=o<0?I.from:Math.min(I.from,o),s=s<0?I.to:Math.max(I.to,s),I.typeOver&&(a=!0))}if(gecko&&l.length){let c=l.filter(I=>I.nodeName=="BR");if(c.length==2){let[I,d]=c;I.parentNode&&I.parentNode.parentNode==d.parentNode?d.remove():I.remove()}else{let{focusNode:I}=this.currentSelection;for(let d of c){let h=d.parentNode;h&&h.nodeName=="LI"&&(!I||blockParent(e,I)!=h)&&d.remove()}}}let g=null;o<0&&r&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)<Date.now()-300&&selectionCollapsed(n)&&(g=selectionFromDOM(e))&&g.eq(Selection.near(e.state.doc.resolve(0),1))?(e.input.lastFocus=0,selectionToDOM(e),this.currentSelection.set(n),e.scrollToSelection()):(o>-1||r)&&(o>-1&&(e.docView.markDirty(o,s),checkCSS(e)),this.handleDOMChange(o,s,a,l),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(n)||selectionToDOM(e),this.currentSelection.set(n))}registerMutation(e,A){if(A.indexOf(e.target)>-1)return null;let n=this.view.docView.nearestDesc(e.target);if(e.type=="attributes"&&(n==this.view.docView||e.attributeName=="contenteditable"||e.attributeName=="style"&&!e.oldValue&&!e.target.getAttribute("style"))||!n||n.ignoreMutation(e))return null;if(e.type=="childList"){for(let c=0;c<e.addedNodes.length;c++){let I=e.addedNodes[c];A.push(I),I.nodeType==3&&(this.lastChangedTextNode=I)}if(n.contentDOM&&n.contentDOM!=n.dom&&!n.contentDOM.contains(e.target))return{from:n.posBefore,to:n.posAfter};let r=e.previousSibling,o=e.nextSibling;if(ie$1&&ie_version<=11&&e.addedNodes.length)for(let c=0;c<e.addedNodes.length;c++){let{previousSibling:I,nextSibling:d}=e.addedNodes[c];(!I||Array.prototype.indexOf.call(e.addedNodes,I)<0)&&(r=I),(!d||Array.prototype.indexOf.call(e.addedNodes,d)<0)&&(o=d)}let s=r&&r.parentNode==e.target?domIndex(r)+1:0,a=n.localPosFromDOM(e.target,s,-1),l=o&&o.parentNode==e.target?domIndex(o):e.target.childNodes.length,g=n.localPosFromDOM(e.target,l,1);return{from:a,to:g}}else return e.type=="attributes"?{from:n.posAtStart-n.border,to:n.posAtEnd+n.border}:(this.lastChangedTextNode=e.target,{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue})}}let cssChecked=new WeakMap,cssCheckWarned=!1;function checkCSS(t){if(!cssChecked.has(t)&&(cssChecked.set(t,null),["normal","nowrap","pre-line"].indexOf(getComputedStyle(t.dom).whiteSpace)!==-1)){if(t.requiresGeckoHackNode=gecko,cssCheckWarned)return;console.warn("ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package."),cssCheckWarned=!0}}function rangeToSelectionRange(t,e){let A=e.startContainer,n=e.startOffset,r=e.endContainer,o=e.endOffset,s=t.domAtPos(t.state.selection.anchor);return isEquivalentPosition(s.node,s.offset,r,o)&&([A,n,r,o]=[r,o,A,n]),{anchorNode:A,anchorOffset:n,focusNode:r,focusOffset:o}}function safariShadowSelectionRange(t,e){if(e.getComposedRanges){let r=e.getComposedRanges(t.root)[0];if(r)return rangeToSelectionRange(t,r)}let A;function n(r){r.preventDefault(),r.stopImmediatePropagation(),A=r.getTargetRanges()[0]}return t.dom.addEventListener("beforeinput",n,!0),document.execCommand("indent"),t.dom.removeEventListener("beforeinput",n,!0),A?rangeToSelectionRange(t,A):null}function blockParent(t,e){for(let A=e.parentNode;A&&A!=t.dom;A=A.parentNode){let n=t.docView.nearestDesc(A,!0);if(n&&n.node.isBlock)return A}return null}function parseBetween(t,e,A){let{node:n,fromOffset:r,toOffset:o,from:s,to:a}=t.docView.parseRange(e,A),l=t.domSelectionRange(),g,c=l.anchorNode;if(c&&t.dom.contains(c.nodeType==1?c:c.parentNode)&&(g=[{node:c,offset:l.anchorOffset}],selectionCollapsed(l)||g.push({node:l.focusNode,offset:l.focusOffset})),chrome&&t.input.lastKeyCode===8)for(let E=o;E>r;E--){let f=n.childNodes[E-1],Q=f.pmViewDesc;if(f.nodeName=="BR"&&!Q){o=E;break}if(!Q||Q.size)break}let I=t.state.doc,d=t.someProp("domParser")||DOMParser$1.fromSchema(t.state.schema),h=I.resolve(s),u=null,B=d.parse(n,{topNode:h.parent,topMatch:h.parent.contentMatchAt(h.index()),topOpen:!0,from:r,to:o,preserveWhitespace:h.parent.type.whitespace=="pre"?"full":!0,findPositions:g,ruleFromNode,context:h});if(g&&g[0].pos!=null){let E=g[0].pos,f=g[1]&&g[1].pos;f==null&&(f=E),u={anchor:E+s,head:f+s}}return{doc:B,sel:u,from:s,to:a}}function ruleFromNode(t){let e=t.pmViewDesc;if(e)return e.parseRule();if(t.nodeName=="BR"&&t.parentNode){if(safari&&/^(ul|ol)$/i.test(t.parentNode.nodeName)){let A=document.createElement("div");return A.appendChild(document.createElement("li")),{skip:A}}else if(t.parentNode.lastChild==t||safari&&/^(tr|table)$/i.test(t.parentNode.nodeName))return{ignore:!0}}else if(t.nodeName=="IMG"&&t.getAttribute("mark-placeholder"))return{ignore:!0};return null}const isInline=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function readDOMChange(t,e,A,n,r){let o=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);if(t.input.compositionPendingChanges=0,e<0){let _=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null,k=selectionFromDOM(t,_);if(k&&!t.state.selection.eq(k)){if(chrome&&android&&t.input.lastKeyCode===13&&Date.now()-100<t.input.lastKeyCodeTime&&t.someProp("handleKeyDown",F=>F(t,keyEvent(13,"Enter"))))return;let S=t.state.tr.setSelection(k);_=="pointer"?S.setMeta("pointer",!0):_=="key"&&S.scrollIntoView(),o&&S.setMeta("composition",o),t.dispatch(S)}return}let s=t.state.doc.resolve(e),a=s.sharedDepth(A);e=s.before(a+1),A=t.state.doc.resolve(A).after(a+1);let l=t.state.selection,g=parseBetween(t,e,A),c=t.state.doc,I=c.slice(g.from,g.to),d,h;t.input.lastKeyCode===8&&Date.now()-100<t.input.lastKeyCodeTime?(d=t.state.selection.to,h="end"):(d=t.state.selection.from,h="start"),t.input.lastKeyCode=null;let u=findDiff(I.content,g.doc.content,g.from,d,h);if(u&&t.input.domChangeCount++,(ios&&t.input.lastIOSEnter>Date.now()-225||android)&&r.some(_=>_.nodeType==1&&!isInline.test(_.nodeName))&&(!u||u.endA>=u.endB)&&t.someProp("handleKeyDown",_=>_(t,keyEvent(13,"Enter")))){t.input.lastIOSEnter=0;return}if(!u)if(n&&l instanceof TextSelection&&!l.empty&&l.$head.sameParent(l.$anchor)&&!t.composing&&!(g.sel&&g.sel.anchor!=g.sel.head))u={start:l.from,endA:l.to,endB:l.to};else{if(g.sel){let _=resolveSelection(t,t.state.doc,g.sel);if(_&&!_.eq(t.state.selection)){let k=t.state.tr.setSelection(_);o&&k.setMeta("composition",o),t.dispatch(k)}}return}t.state.selection.from<t.state.selection.to&&u.start==u.endB&&t.state.selection instanceof TextSelection&&(u.start>t.state.selection.from&&u.start<=t.state.selection.from+2&&t.state.selection.from>=g.from?u.start=t.state.selection.from:u.endA<t.state.selection.to&&u.endA>=t.state.selection.to-2&&t.state.selection.to<=g.to&&(u.endB+=t.state.selection.to-u.endA,u.endA=t.state.selection.to)),ie$1&&ie_version<=11&&u.endB==u.start+1&&u.endA==u.start&&u.start>g.from&&g.doc.textBetween(u.start-g.from-1,u.start-g.from+1)=="  "&&(u.start--,u.endA--,u.endB--);let B=g.doc.resolveNoCache(u.start-g.from),E=g.doc.resolveNoCache(u.endB-g.from),f=c.resolve(u.start),Q=B.sameParent(E)&&B.parent.inlineContent&&f.end()>=u.endA,p;if((ios&&t.input.lastIOSEnter>Date.now()-225&&(!Q||r.some(_=>_.nodeName=="DIV"||_.nodeName=="P"))||!Q&&B.pos<g.doc.content.size&&(!B.sameParent(E)||!B.parent.inlineContent)&&!/\S/.test(g.doc.textBetween(B.pos,E.pos,"",""))&&(p=Selection.findFrom(g.doc.resolve(B.pos+1),1,!0))&&p.head>B.pos)&&t.someProp("handleKeyDown",_=>_(t,keyEvent(13,"Enter")))){t.input.lastIOSEnter=0;return}if(t.state.selection.anchor>u.start&&looksLikeBackspace(c,u.start,u.endA,B,E)&&t.someProp("handleKeyDown",_=>_(t,keyEvent(8,"Backspace")))){android&&chrome&&t.domObserver.suppressSelectionUpdates();return}chrome&&u.endB==u.start&&(t.input.lastChromeDelete=Date.now()),android&&!Q&&B.start()!=E.start()&&E.parentOffset==0&&B.depth==E.depth&&g.sel&&g.sel.anchor==g.sel.head&&g.sel.head==u.endA&&(u.endB-=2,E=g.doc.resolveNoCache(u.endB-g.from),setTimeout(()=>{t.someProp("handleKeyDown",function(_){return _(t,keyEvent(13,"Enter"))})},20));let m=u.start,y=u.endA,w=_=>{let k=_||t.state.tr.replace(m,y,g.doc.slice(u.start-g.from,u.endB-g.from));if(g.sel){let S=resolveSelection(t,k.doc,g.sel);S&&!(chrome&&t.composing&&S.empty&&(u.start!=u.endB||t.input.lastChromeDelete<Date.now()-100)&&(S.head==m||S.head==k.mapping.map(y)-1)||ie$1&&S.empty&&S.head==m)&&k.setSelection(S)}return o&&k.setMeta("composition",o),k.scrollIntoView()},D;if(Q){if(B.pos==E.pos){ie$1&&ie_version<=11&&B.parentOffset==0&&(t.domObserver.suppressSelectionUpdates(),setTimeout(()=>selectionToDOM(t),20));let _=w(t.state.tr.delete(m,y)),k=c.resolve(u.start).marksAcross(c.resolve(u.endA));k&&_.ensureMarks(k),t.dispatch(_)}else if(u.endA==u.endB&&(D=isMarkChange(B.parent.content.cut(B.parentOffset,E.parentOffset),f.parent.content.cut(f.parentOffset,u.endA-f.start())))){let _=w(t.state.tr);D.type=="add"?_.addMark(m,y,D.mark):_.removeMark(m,y,D.mark),t.dispatch(_)}else if(B.parent.child(B.index()).isText&&B.index()==E.index()-(E.textOffset?0:1)){let _=B.parent.textBetween(B.parentOffset,E.parentOffset),k=()=>w(t.state.tr.insertText(_,m,y));t.someProp("handleTextInput",S=>S(t,m,y,_,k))||t.dispatch(k())}}else t.dispatch(w())}function resolveSelection(t,e,A){return Math.max(A.anchor,A.head)>e.content.size?null:selectionBetween(t,e.resolve(A.anchor),e.resolve(A.head))}function isMarkChange(t,e){let A=t.firstChild.marks,n=e.firstChild.marks,r=A,o=n,s,a,l;for(let c=0;c<n.length;c++)r=n[c].removeFromSet(r);for(let c=0;c<A.length;c++)o=A[c].removeFromSet(o);if(r.length==1&&o.length==0)a=r[0],s="add",l=c=>c.mark(a.addToSet(c.marks));else if(r.length==0&&o.length==1)a=o[0],s="remove",l=c=>c.mark(a.removeFromSet(c.marks));else return null;let g=[];for(let c=0;c<e.childCount;c++)g.push(l(e.child(c)));if(Fragment.from(g).eq(t))return{mark:a,type:s}}function looksLikeBackspace(t,e,A,n,r){if(A-e<=r.pos-n.pos||skipClosingAndOpening(n,!0,!1)<r.pos)return!1;let o=t.resolve(e);if(!n.parent.isTextblock){let a=o.nodeAfter;return a!=null&&A==e+a.nodeSize}if(o.parentOffset<o.parent.content.size||!o.parent.isTextblock)return!1;let s=t.resolve(skipClosingAndOpening(o,!0,!0));return!s.parent.isTextblock||s.pos>A||skipClosingAndOpening(s,!0,!1)<A?!1:n.parent.content.cut(n.parentOffset).eq(s.parent.content)}function skipClosingAndOpening(t,e,A){let n=t.depth,r=e?t.end():t.pos;for(;n>0&&(e||t.indexAfter(n)==t.node(n).childCount);)n--,r++,e=!1;if(A){let o=t.node(n).maybeChild(t.indexAfter(n));for(;o&&!o.isLeaf;)o=o.firstChild,r++}return r}function findDiff(t,e,A,n,r){let o=t.findDiffStart(e,A);if(o==null)return null;let{a:s,b:a}=t.findDiffEnd(e,A+t.size,A+e.size);if(r=="end"){let l=Math.max(0,o-Math.min(s,a));n-=s+l-o}if(s<o&&t.size<e.size){let l=n<=o&&n>=s?o-n:0;o-=l,o&&o<e.size&&isSurrogatePair(e.textBetween(o-1,o+1))&&(o+=l?1:-1),a=o+(a-s),s=o}else if(a<o){let l=n<=o&&n>=a?o-n:0;o-=l,o&&o<t.size&&isSurrogatePair(t.textBetween(o-1,o+1))&&(o+=l?1:-1),s=o+(s-a),a=o}return{start:o,endA:s,endB:a}}function isSurrogatePair(t){if(t.length!=2)return!1;let e=t.charCodeAt(0),A=t.charCodeAt(1);return e>=56320&&e<=57343&&A>=55296&&A<=56319}class EditorView{constructor(e,A){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new InputState,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=A,this.state=A.state,this.directPlugins=A.plugins||[],this.directPlugins.forEach(checkStateComponent$1),this.dispatch=this.dispatch.bind(this),this.dom=e&&e.mount||document.createElement("div"),e&&(e.appendChild?e.appendChild(this.dom):typeof e=="function"?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=getEditable$1(this),updateCursorWrapper(this),this.nodeViews=buildNodeViews$1(this),this.docView=docViewDesc(this.state.doc,computeDocDeco(this),viewDecorations(this),this.dom,this),this.domObserver=new DOMObserver(this,(n,r,o,s)=>readDOMChange(this,n,r,o,s)),this.domObserver.start(),initInput(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let A in e)this._props[A]=e[A];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&ensureListeners(this);let A=this._props;this._props=e,e.plugins&&(e.plugins.forEach(checkStateComponent$1),this.directPlugins=e.plugins),this.updateStateInner(e.state,A)}setProps(e){let A={};for(let n in this._props)A[n]=this._props[n];A.state=this.state;for(let n in e)A[n]=e[n];this.update(A)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,A){var n;let r=this.state,o=!1,s=!1;e.storedMarks&&this.composing&&(clearComposition(this),s=!0),this.state=e;let a=r.plugins!=e.plugins||this._props.plugins!=A.plugins;if(a||this._props.plugins!=A.plugins||this._props.nodeViews!=A.nodeViews){let h=buildNodeViews$1(this);changedNodeViews$1(h,this.nodeViews)&&(this.nodeViews=h,o=!0)}(a||A.handleDOMEvents!=this._props.handleDOMEvents)&&ensureListeners(this),this.editable=getEditable$1(this),updateCursorWrapper(this);let l=viewDecorations(this),g=computeDocDeco(this),c=r.plugins!=e.plugins&&!r.doc.eq(e.doc)?"reset":e.scrollToSelection>r.scrollToSelection?"to selection":"preserve",I=o||!this.docView.matchesNode(e.doc,g,l);(I||!e.selection.eq(r.selection))&&(s=!0);let d=c=="preserve"&&s&&this.dom.style.overflowAnchor==null&&storeScrollPos(this);if(s){this.domObserver.stop();let h=I&&(ie$1||chrome)&&!this.composing&&!r.selection.empty&&!e.selection.empty&&selectionContextChanged(r.selection,e.selection);if(I){let u=chrome?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=findCompositionNode(this)),(o||!this.docView.update(e.doc,g,l,this))&&(this.docView.updateOuterDeco(g),this.docView.destroy(),this.docView=docViewDesc(e.doc,g,l,this.dom,this)),u&&!this.trackWrites&&(h=!0)}h||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&anchorInRightPlace(this))?selectionToDOM(this,h):(syncNodeSelection(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(r),!((n=this.dragging)===null||n===void 0)&&n.node&&!r.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,r),c=="reset"?this.dom.scrollTop=0:c=="to selection"?this.scrollToSelection():d&&resetScrollPos(d)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!(!e||!this.dom.contains(e.nodeType==1?e:e.parentNode))){if(!this.someProp("handleScrollToSelection",A=>A(this)))if(this.state.selection instanceof NodeSelection){let A=this.docView.domAfterPos(this.state.selection.from);A.nodeType==1&&scrollRectIntoView(this,A.getBoundingClientRect(),e)}else scrollRectIntoView(this,this.coordsAtPos(this.state.selection.head,1),e)}}destroyPluginViews(){let e;for(;e=this.pluginViews.pop();)e.destroy&&e.destroy()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let A=0;A<this.directPlugins.length;A++){let n=this.directPlugins[A];n.spec.view&&this.pluginViews.push(n.spec.view(this))}for(let A=0;A<this.state.plugins.length;A++){let n=this.state.plugins[A];n.spec.view&&this.pluginViews.push(n.spec.view(this))}}else for(let A=0;A<this.pluginViews.length;A++){let n=this.pluginViews[A];n.update&&n.update(this,e)}}updateDraggedNode(e,A){let n=e.node,r=-1;if(this.state.doc.nodeAt(n.from)==n.node)r=n.from;else{let o=n.from+(this.state.doc.content.size-A.doc.content.size);(o>0&&this.state.doc.nodeAt(o))==n.node&&(r=o)}this.dragging=new Dragging(e.slice,e.move,r<0?void 0:NodeSelection.create(this.state.doc,r))}someProp(e,A){let n=this._props&&this._props[e],r;if(n!=null&&(r=A?A(n):n))return r;for(let s=0;s<this.directPlugins.length;s++){let a=this.directPlugins[s].props[e];if(a!=null&&(r=A?A(a):a))return r}let o=this.state.plugins;if(o)for(let s=0;s<o.length;s++){let a=o[s].props[e];if(a!=null&&(r=A?A(a):a))return r}}hasFocus(){if(ie$1){let e=this.root.activeElement;if(e==this.dom)return!0;if(!e||!this.dom.contains(e))return!1;for(;e&&this.dom!=e&&this.dom.contains(e);){if(e.contentEditable=="false")return!1;e=e.parentElement}return!0}return this.root.activeElement==this.dom}focus(){this.domObserver.stop(),this.editable&&focusPreventScroll(this.dom),selectionToDOM(this),this.domObserver.start()}get root(){let e=this._root;if(e==null){for(let A=this.dom.parentNode;A;A=A.parentNode)if(A.nodeType==9||A.nodeType==11&&A.host)return A.getSelection||(Object.getPrototypeOf(A).getSelection=()=>A.ownerDocument.getSelection()),this._root=A}return e||document}updateRoot(){this._root=null}posAtCoords(e){return posAtCoords(this,e)}coordsAtPos(e,A=1){return coordsAtPos(this,e,A)}domAtPos(e,A=0){return this.docView.domFromPos(e,A)}nodeDOM(e){let A=this.docView.descAt(e);return A?A.nodeDOM:null}posAtDOM(e,A,n=-1){let r=this.docView.posFromDOM(e,A,n);if(r==null)throw new RangeError("DOM position not inside the editor");return r}endOfTextblock(e,A){return endOfTextblock(this,A||this.state,e)}pasteHTML(e,A){return doPaste(this,"",e,!1,A||new ClipboardEvent("paste"))}pasteText(e,A){return doPaste(this,e,null,!0,A||new ClipboardEvent("paste"))}serializeForClipboard(e){return serializeForClipboard(this,e)}destroy(){this.docView&&(destroyInput(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],viewDecorations(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,clearReusedRange())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return dispatchEvent(this,e)}domSelectionRange(){let e=this.domSelection();return e?safari&&this.root.nodeType===11&&deepActiveElement(this.dom.ownerDocument)==this.dom&&safariShadowSelectionRange(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}}EditorView.prototype.dispatch=function(t){let e=this._props.dispatchTransaction;e?e.call(this,t):this.updateState(this.state.apply(t))};function computeDocDeco(t){let e=Object.create(null);return e.class="ProseMirror",e.contenteditable=String(t.editable),t.someProp("attributes",A=>{if(typeof A=="function"&&(A=A(t.state)),A)for(let n in A)n=="class"?e.class+=" "+A[n]:n=="style"?e.style=(e.style?e.style+";":"")+A[n]:!e[n]&&n!="contenteditable"&&n!="nodeName"&&(e[n]=String(A[n]))}),e.translate||(e.translate="no"),[Decoration.node(0,t.state.doc.content.size,e)]}function updateCursorWrapper(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator",e.setAttribute("mark-placeholder","true"),e.setAttribute("alt",""),t.cursorWrapper={dom:e,deco:Decoration.widget(t.state.selection.from,e,{raw:!0,marks:t.markCursor})}}else t.cursorWrapper=null}function getEditable$1(t){return!t.someProp("editable",e=>e(t.state)===!1)}function selectionContextChanged(t,e){let A=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(A)!=e.$anchor.start(A)}function buildNodeViews$1(t){let e=Object.create(null);function A(n){for(let r in n)Object.prototype.hasOwnProperty.call(e,r)||(e[r]=n[r])}return t.someProp("nodeViews",A),t.someProp("markViews",A),e}function changedNodeViews$1(t,e){let A=0,n=0;for(let r in t){if(t[r]!=e[r])return!0;A++}for(let r in e)n++;return A!=n}function checkStateComponent$1(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}const MAX_MATCH=500;class InputRule{constructor(e,A,n={}){this.regex=e,this.regex=e,this.handler=typeof A=="string"?stringHandler(A):A,this.undoable=n.undoable!==!1,this.inCode=n.inCode||!1}}function stringHandler(t){return function(e,A,n,r,o){e||(e=A.tr);let s=t;if(n[1]){const a=n[0].lastIndexOf(n[1]);s+=n[0].slice(a+n[1].length),r+=a;const l=r-o;l>0&&(s=n[0].slice(a-l,a)+s,r=o)}return e.insertText(s,r,o)}}class InputRulesPlugin extends Plugin{constructor(e){super({key:new PluginKey("input-rules"),state:{init(){return null},apply(A,n){const r=A.getMeta(this);return r||(A.selectionSet||A.docChanged?null:n)}},props:{handleTextInput(A,n,r,o){const s=runInputRulesRange(n,r,o),a=l=>{A.dispatch(l)};return s(A.state,a,A)},handleDOMEvents:{compositionend:A=>{setTimeout(()=>{const{$cursor:n}=A.state.selection;if(n){const r=runInputRulesRange(n.pos,n.pos,""),o=s=>{A.dispatch(s)};return r(A.state,o,A)}})}}},rules:e,isInputRules:!0})}}const runInputRulesTexts=()=>{const t=(e,A,n)=>{const o=e.plugins.find(g=>g.spec.isInputRules);if(!o)return!1;const s=o.spec.rules;if(n?.composing)return!1;let a=e.doc,l=e.tr;for(let g=0;g<s.length;g++){const c=s[g],I=[];if(a.descendants((d,h)=>{d.isText&&I.push({pos:h,node:d})}),I.length===0)return!1;for(let d=I.length-1;d>=0;d--){const{pos:h,node:u}=I[d];if(!u.isText||!u.text)continue;let B=u.text;if(u.type.spec.code){if(!c.inCode)continue}else if(c.inCode==="only")continue;const E=c.regex.exec(B);if(!E)continue;const f=E.index,Q=h+f,p=h+f+E[0].length;let m=c.handler(l,e,E,Q,p);m&&(l=m,a=l.doc,c.undoable&&l.setMeta(o,{transform:l,from:Q,to:p,text:B}))}}return A&&A(l),l.docChanged};return t.displayName="runInputRulesTexts",t},runInputRulesRange=(t,e,A)=>{const n=(r,o,s)=>{const l=r.plugins.find(h=>h.spec.isInputRules);if(!l)return!1;const g=l.spec.rules;if(s?.composing)return!1;const c=r.doc.resolve(t),I=c.parent.textBetween(Math.max(0,c.parentOffset-MAX_MATCH),c.parentOffset,null,"")+A;let d=r.tr;for(let h=0;h<g.length;h++){const u=g[h];if(c.parent.type.spec.code){if(!u.inCode)continue}else if(u.inCode==="only")continue;const B=u.regex.exec(I);if(!B)continue;const E=u.handler(d,r,B,d.mapping.map(t-(B[0].length-A.length)),d.mapping.map(e));if(E){d=E,u.undoable&&d.setMeta(l,{transform:d,from:t,to:e,text:A});break}}return d.docChanged?(o?.(d),!0):!1};return n.displayName="runInputRulesRange",n},undoInputRuleCommand=(t,e)=>{const n=t.plugins.find(o=>o.spec.isInputRules);if(!n)return!1;const r=n.getState(t);if(!r)return!1;if(e){const o=t.tr,s=r.transform;for(let a=s.steps.length-1;a>=0;a--)o.step(s.steps[a].invert(s.docs[a]));if(r.text){const a=o.doc.resolve(r.from).marks();o.replaceWith(r.from,r.to,t.schema.text(r.text,a))}else o.delete(r.from,r.to);e(o)}return!0},base={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},shift={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},mac$2=typeof navigator<"u"&&/Mac/.test(navigator.platform),ie=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(let t=0;t<10;t++)base[48+t]=base[96+t]=String(t);for(let t=1;t<=24;t++)base[t+111]="F"+t;for(let t=65;t<=90;t++)base[t]=String.fromCharCode(t+32),shift[t]=String.fromCharCode(t);for(const t in base)Object.prototype.hasOwnProperty.call(shift,t)||(shift[t]=base[t]);function keyName(t){let A=!(mac$2&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||ie&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified")&&t.key||(t.shiftKey?shift:base)[t.keyCode]||t.key||"Unidentified";return A=="Esc"&&(A="Escape"),A=="Del"&&(A="Delete"),A=="Left"&&(A="ArrowLeft"),A=="Up"&&(A="ArrowUp"),A=="Right"&&(A="ArrowRight"),A=="Down"&&(A="ArrowDown"),A}const mac$1=typeof navigator<"u"&&/Mac|iP(hone|[oa]d)/.test(navigator?.platform),windows=typeof navigator<"u"&&/Win/.test(navigator?.platform);function normalizeKeyName(t){let e=t.split(/-(?!$)/),A=e[e.length-1];A=="Space"&&(A=" ");let n,r,o,s;for(let a=0;a<e.length-1;a++){let l=e[a];if(/^(cmd|meta|m)$/i.test(l))s=!0;else if(/^a(lt)?$/i.test(l))n=!0;else if(/^(c|ctrl|control)$/i.test(l))r=!0;else if(/^s(hift)?$/i.test(l))o=!0;else if(/^mod$/i.test(l))mac$1?s=!0:r=!0;else throw new Error("Unrecognized modifier name: "+l)}return n&&(A="Alt-"+A),r&&(A="Ctrl-"+A),s&&(A="Meta-"+A),o&&(A="Shift-"+A),A}function normalize(t){let e=Object.create(null);for(let A in t)e[normalizeKeyName(A)]=t[A];return e}function modifiers(t,e,A=!0){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),A&&e.shiftKey&&(t="Shift-"+t),t}class KeymapPlugin extends Plugin{constructor(e){super({key:new PluginKey("keymap"),props:{handleKeyDown:keydownHandler(e)}})}}function keydownHandler(t){let e=normalize(t);return function(A,n){let r=keyName(n),o,s=e[modifiers(r,n)];if(s&&s(A.state,A.dispatch,A))return!0;if(r.length==1&&r!=" "){if(n.shiftKey){let a=e[modifiers(r,n,!1)];if(a&&a(A.state,A.dispatch,A))return!0}if((n.altKey||n.metaKey||n.ctrlKey)&&!(windows&&n.ctrlKey&&n.altKey)&&(o=base[n.keyCode])&&o!=r){let a=e[modifiers(o,n)];if(a&&a(A.state,A.dispatch,A))return!0}}return!1}}function firstCommand$1(...t){const e=function(A,n,r){for(let o=0;o<t.length;o++)if(t[o](A,n,r))return t[o].displayName!=="first"&&console.debug("firstCommand: ",t[o].displayName||t[o]),!0;return!1};return e.displayName="first",e}function getHtmlAttributes(t,e){const A={};if(t.attributes)for(const[n,r]of Object.entries(t.attributes))typeof e.attrs[n]<"u"?A[n]=e.attrs[n]:r.toDom?A[n]=r.toDom(e):A[n]=r.default;return A}function setHtmlAttributes(t,e){const A={};if(t.attributes)for(const[n,r]of Object.entries(t.attributes))r.fromDom?A[n]=r.fromDom(e):A[n]=r.default;return A}function addAttributesToSchema(t,e){if(e.attributes){t.attrs||(t.attrs={});for(const[A,n]of Object.entries(e.attributes))t.attrs[A]=n,n.toDom||(n.toDom=r=>r.attrs[A])}}class TrackSelecionPlugin extends Plugin{constructor(e){super({key:new PluginKey("track-selection"),view(A){return{update(n,r){const o=n.state,s=r.selection,a=o.selection;if(!s.eq(a)){const l=new CustomEvent("selection",{detail:{selection:a}});e.dispatchEvent(l)}}}}})}}function splitExtensions(t){const e=Array.from(t).filter(r=>r.type==="extension"),A=Array.from(t).filter(r=>r.type==="node"),n=Array.from(t).filter(r=>r.type==="mark");return{baseExtensions:e,nodeExtensions:A,markExtensions:n}}class ExtensionManager{constructor(e,A=!1){this.editorKits=e,this.debug=A,this.extensions=new Set,this.plugins=[],this.nodeViews={},this.converters={};const n=e.reduce((r,o)=>r.concat(o.getExtensions()),[]);this.setupExtensions(new Set(n))}getExtension(e){const{baseExtensions:A}=splitExtensions(this.extensions);for(const n of A)if(n.name===e)return n}initPlugins(e,A){const n=[],r=new Map,o=(a,l)=>{for(const g in a){if(!a[g])continue;const c=e.commandFactories[a[g]];if(!c){console.warn(`No command constructor: ${a[g]}`);continue}const I=c(),d=r.get(g);d?r.set(g,firstCommand$1(I,d)):r.set(g,I)}};let s={};for(const a of this.extensions){if(a.setEditor(e),a.type==="node"){const l=A.nodes[a.name];n.push(...a.getInputRules(l)),this.plugins.push(...a.getProseMirrorPlugins()),e.mergeCommandFactories(a.getCommandFactories(e,l),a.name),o(a.getKeyboardShortcuts(e),a.name),s={...s,...a.getConverters(e,A)};const g=a.getNodeView(e);g&&(this.nodeViews[a.name]=g)}if(a.type==="mark"){const l=A.marks[a.name];n.push(...a.getInputRules(l)),e.mergeCommandFactories(a.getCommandFactories(e,l),a.name),o(a.getKeyboardShortcuts(e),a.name)}a.type==="extension"&&(this.plugins.push(...a.getProseMirrorPlugins()),e.mergeCommandFactories(a.getCommandFactories(e),a.name),o(a.getKeyboardShortcuts(e),a.name),s={...s,...a.getConverters(e,A)})}if(this.debug)for(const a in r){const l=r.get(a);if(!l)continue;const g=(c,I,d)=>(console.debug(`Key: ${a}`),!0);r.set(a,firstCommand$1(g,l))}this.converters=s,this.plugins.push(new InputRulesPlugin(n)),this.plugins.push(new KeymapPlugin(Object.fromEntries(r))),this.plugins.push(new TrackSelecionPlugin(e))}setupExtensions(e){const A=new Map,n=a=>{for(const l of a){if("name"in l){const g=A.get(l.name);if(g&&"type"in g&&l.type!==g.type)throw new Error(`Duplicate mark/node: ${l.name}`);A.set(l.name,l)}if("requires"in l){const g=Array.from(l.requires).filter(c=>typeof c!="string");n(new Set(g))}}};n(e);const r=new Set,o=a=>{this.debug&&console.info(`Initialize ${a.type} ${a.name}`),this.extensions.add(a)};function s(a){if(!("name"in a&&r.has(a.name))){if("requires"in a){const g=(a.requires||[]).map(c=>typeof c=="string"?c:"name"in c?c.name:"");for(const c of g)if(!r.has(c)){const I=A.get(c);if(!I)throw new Error(`Required extension for (${"name"in a?a.name:a}) not found: ${c}`);s(I)}}"name"in a&&(o(a),r.add(a.name),A.delete(a.name))}}for(const a of A.values())s(a);if(A.size>0)throw new Error("Not all extensions initialized: "+Array.from(A.keys()).join(", "))}getSchemaByResolvedExtensions(){const{nodeExtensions:e,markExtensions:A,baseExtensions:n}=splitExtensions(this.extensions),r={};let o="";for(const l of e){if(r[l.name]=l.getNodeSpec(),r[l.name].EMPTY_DOC){if(o)throw new Error(`Multiple topNodes: ${l.name}, ${o}`);o=l.name}addAttributesToSchema(r[l.name],l)}const s={};for(const l of A)s[l.name]=l.getMarkSpec(),addAttributesToSchema(s[l.name],l);const a={topNode:o||"doc",nodes:r,marks:s};for(const l of n)"setupSpec"in n&&l.setupSpec(a);return new Schema(a)}created(e,A){const{baseExtensions:n}=splitExtensions(this.extensions);for(const r of n)if(Array.isArray(r.conflicts)){for(const o of r.conflicts)if(this.getExtension(o))throw new Error(`Extension conflict: ${r.name} vs ${o}`)}this.initPlugins(e,A);for(const r of this.extensions)r.created()}}function createChainableState(t,e){let{selection:A}=t,{doc:n}=t,{storedMarks:r}=t;return{...e,apply:e.apply.bind(e),applyTransaction:e.applyTransaction.bind(e),plugins:e.plugins,schema:e.schema,reconfigure:e.reconfigure.bind(e),toJSON:e.toJSON.bind(e),get storedMarks(){return r},get selection(){return A},get doc(){return n},get tr(){return A=t.selection,n=t.doc,r=t.storedMarks,t}}}const wrapInList=(t,e=null)=>function(A,n,r){let{$from:o,$to:s}=A.selection,a=o.blockRange(s);if(!a)return!1;let l=n?A.tr:null;return wrapRangeInList(l,a,t,e).apply(this,[A,n])?(n&&n(l.scrollIntoView()),!0):!1},wrapRangeInList=(t,e,A,n=null)=>()=>{let o=!1,s=e,a=e.$from.doc;if(e.depth>=2&&e.$from.node(e.depth-1).type.compatibleContent(A)&&e.startIndex==0){if(e.$from.index(e.depth-1)==0)return!1;let g=a.resolve(e.start-2);s=new NodeRange(g,g,e.depth),e.endIndex<e.parent.childCount&&(e=new NodeRange(e.$from,a.resolve(e.$to.end(e.depth)),e.depth)),o=!0}let l=findWrapping(s,A,n,e);return l?(t&&doWrapInList(t,e,l,o,A),!0):!1};function doWrapInList(t,e,A,n,r){let o=Fragment.empty;for(let c=A.length-1;c>=0;c--)o=Fragment.from(A[c].type.create(A[c].attrs,o));t.step(new ReplaceAroundStep(e.start-(n?2:0),e.end,e.start,e.end,new Slice(o,0,0),A.length,!0));let s=0;for(let c=0;c<A.length;c++)A[c].type==r&&(s=c+1);let a=A.length-s,l=e.start+A.length-(n?2:0),g=e.parent;for(let c=e.startIndex,I=e.endIndex,d=!0;c<I;c++,d=!1)!d&&canSplit(t.doc,l,a)&&(t.split(l,a),l+=2*a),l+=g.child(c).nodeSize;return t}const deleteSelection=()=>(t,e)=>t.selection.empty?!1:(e&&e(t.tr.deleteSelection().scrollIntoView()),!0);function atBlockStart(t,e){let{$cursor:A}=t.selection;return!A||(e?!e.endOfTextblock("backward",t):A.parentOffset>0)?null:A}const joinBackward=()=>(t,e,A)=>{let n=atBlockStart(t,A);if(!n)return!1;let r=findCutBefore(n);if(!r){let s=n.blockRange(),a=s&&liftTarget(s);return a==null?!1:(e&&e(t.tr.lift(s,a).scrollIntoView()),!0)}let o=r.nodeBefore;if(deleteBarrier(t,r,e,-1))return!0;if(n.parent.content.size==0&&(textblockAt(o,"end")||NodeSelection.isSelectable(o)))for(let s=n.depth;;s--){let a=replaceStep(t.doc,n.before(s),n.after(s),Slice.empty);if(a&&a.slice.size<a.to-a.from){if(e){let l=t.tr.step(a);l.setSelection(textblockAt(o,"end")?Selection.findFrom(l.doc.resolve(l.mapping.map(r.pos,-1)),-1):NodeSelection.create(l.doc,r.pos-o.nodeSize)),e(l.scrollIntoView())}return!0}if(s==1||n.node(s-1).childCount>1)break}return o.isAtom&&r.depth==n.depth-1?(e&&e(t.tr.delete(r.pos-o.nodeSize,r.pos).scrollIntoView()),!0):!1},joinTextblockBackward=()=>(t,e,A)=>{let n=atBlockStart(t,A);if(!n)return!1;let r=findCutBefore(n);return r?joinTextblocksAround(t,r,e):!1},joinTextblockForward=()=>(t,e,A)=>{let n=atBlockEnd(t,A);if(!n)return!1;let r=findCutAfter(n);return r?joinTextblocksAround(t,r,e):!1};function joinTextblocksAround(t,e,A){let n=e.nodeBefore,r=n,o=e.pos-1;for(;!r.isTextblock;o--){if(r.type.spec.isolating)return!1;let c=r.lastChild;if(!c)return!1;r=c}let s=e.nodeAfter,a=s,l=e.pos+1;for(;!a.isTextblock;l++){if(a.type.spec.isolating)return!1;let c=a.firstChild;if(!c)return!1;a=c}let g=replaceStep(t.doc,o,l,Slice.empty);if(!g||g.from!=o||g instanceof ReplaceStep&&g.slice.size>=l-o)return!1;if(A){let c=t.tr.step(g);c.setSelection(TextSelection.create(c.doc,o)),A(c.scrollIntoView())}return!0}function textblockAt(t,e,A=!1){for(let n=t;n;n=e=="start"?n.firstChild:n.lastChild){if(n.isTextblock)return!0;if(A&&n.childCount!=1)return!1}return!1}const selectNodeBackward=()=>(t,e,A)=>{let{$head:n,empty:r}=t.selection,o=n;if(!r)return!1;if(n.parent.isTextblock){if(A?!A.endOfTextblock("backward",t):n.parentOffset>0)return!1;o=findCutBefore(n)}let s=o&&o.nodeBefore;return!s||!NodeSelection.isSelectable(s)?!1:(e&&e(t.tr.setSelection(NodeSelection.create(t.doc,o.pos-s.nodeSize)).scrollIntoView()),!0)};function findCutBefore(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function atBlockEnd(t,e){let{$cursor:A}=t.selection;return!A||(e?!e.endOfTextblock("forward",t):A.parentOffset<A.parent.content.size)?null:A}const joinForward=()=>(t,e,A)=>{let n=atBlockEnd(t,A);if(!n)return!1;let r=findCutAfter(n);if(!r)return!1;let o=r.nodeAfter;if(deleteBarrier(t,r,e,1))return!0;if(n.parent.content.size==0&&(textblockAt(o,"start")||NodeSelection.isSelectable(o))){let s=replaceStep(t.doc,n.before(),n.after(),Slice.empty);if(s&&s.slice.size<s.to-s.from){if(e){let a=t.tr.step(s);a.setSelection(textblockAt(o,"start")?Selection.findFrom(a.doc.resolve(a.mapping.map(r.pos)),1):NodeSelection.create(a.doc,a.mapping.map(r.pos))),e(a.scrollIntoView())}return!0}}return o.isAtom&&r.depth==n.depth-1?(e&&e(t.tr.delete(r.pos,r.pos+o.nodeSize).scrollIntoView()),!0):!1},selectNodeForward=()=>(t,e,A)=>{let{$head:n,empty:r}=t.selection,o=n;if(!r)return!1;if(n.parent.isTextblock){if(A?!A.endOfTextblock("forward",t):n.parentOffset<n.parent.content.size)return!1;o=findCutAfter(n)}let s=o&&o.nodeAfter;return!s||!NodeSelection.isSelectable(s)?!1:(e&&e(t.tr.setSelection(NodeSelection.create(t.doc,o.pos)).scrollIntoView()),!0)};function findCutAfter(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){let A=t.node(e);if(t.index(e)+1<A.childCount)return t.doc.resolve(t.after(e+1));if(A.type.spec.isolating)break}return null}const joinUp=()=>(t,e)=>{let A=t.selection,n=A instanceof NodeSelection,r;if(n){if(A.node.isTextblock||!canJoin(t.doc,A.from))return!1;r=A.from}else if(r=joinPoint(t.doc,A.from,-1),r==null)return!1;if(e){let o=t.tr.join(r);n&&o.setSelection(NodeSelection.create(o.doc,r-t.doc.resolve(r).nodeBefore.nodeSize)),e(o.scrollIntoView())}return!0},joinDown=()=>(t,e)=>{let A=t.selection,n;if(A instanceof NodeSelection){if(A.node.isTextblock||!canJoin(t.doc,A.to))return!1;n=A.to}else if(n=joinPoint(t.doc,A.to,1),n==null)return!1;return e&&e(t.tr.join(n).scrollIntoView()),!0},lift=()=>(t,e)=>{let{$from:A,$to:n}=t.selection,r=A.blockRange(n),o=r&&liftTarget(r);return o==null?!1:(e&&e(t.tr.lift(r,o).scrollIntoView()),!0)},newlineInCode=()=>{const t=(e,A)=>{let{$head:n,$anchor:r}=e.selection;return!n.parent.type.spec.code||!n.sameParent(r)?!1:(A&&A(e.tr.insertText(`
10
+ `).scrollIntoView()),!0)};return t.displayName="newlineInCode()",t};function defaultBlockAt(t){console.log("defaultBlockAt",t);for(let e=0;e<t.edgeCount;e++){let{type:A}=t.edge(e);if(A.isTextblock&&!A.hasRequiredAttrs())return A}return null}const exitCode=()=>(t,e)=>{let{$head:A,$anchor:n}=t.selection;if(!A.parent.type.spec.code||!A.sameParent(n))return!1;let r=A.node(-1),o=A.indexAfter(-1),s=defaultBlockAt(r.contentMatchAt(o));if(!s||!r.canReplaceWith(o,o,s))return!1;if(e){let a=A.after(),l=t.tr.replaceWith(a,a,s.createAndFill());l.setSelection(Selection.near(l.doc.resolve(a),1)),e(l.scrollIntoView())}return!0},createParagraphNear=()=>{const t=(e,A)=>{let n=e.selection,{$from:r,$to:o}=n;if(n instanceof AllSelection||r.parent.inlineContent||o.parent.inlineContent)return!1;let s=defaultBlockAt(o.parent.contentMatchAt(o.indexAfter()));if(!s||!s.isTextblock)return!1;if(A){let a=(!r.parentOffset&&o.index()<o.parent.childCount?r:o).pos,l=e.tr.insert(a,s.createAndFill());l.setSelection(TextSelection.create(l.doc,a+1)),A(l.scrollIntoView())}return!0};return t.displayName="createParagraphNear()",t},liftEmptyBlock=()=>{const t=(e,A)=>{let{$cursor:n}=e.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let s=n.before();if(canSplit(e.doc,s))return A&&A(e.tr.split(s).scrollIntoView()),!0}let r=n.blockRange(),o=r&&liftTarget(r);return o==null?!1:(A&&A(e.tr.lift(r,o).scrollIntoView()),!0)};return t.displayName="liftEmptyBlock()",t},splitBlockAs=t=>{const e=(A,n)=>{let{$from:r,$to:o}=A.selection;if(A.selection instanceof NodeSelection&&A.selection.node.isBlock)return!r.parentOffset||!canSplit(A.doc,r.pos)?!1:(n&&n(A.tr.split(r.pos).scrollIntoView()),!0);if(!r.depth)return!1;let s=[],a,l,g=!1,c=!1;for(let u=r.depth;;u--)if(r.node(u).isBlock){g=r.end(u)==r.pos+(r.depth-u),c=r.start(u)==r.pos-(r.depth-u),l=defaultBlockAt(r.node(u-1).contentMatchAt(r.indexAfter(u-1)));let E=t&&t(o.parent,g,r);s.unshift(E||(g&&l?{type:l}:null)),a=u;break}else{if(u==1)return!1;s.unshift(null)}let I=A.tr;(A.selection instanceof TextSelection||A.selection instanceof AllSelection)&&I.deleteSelection();let d=I.mapping.map(r.pos),h=canSplit(I.doc,d,s.length,s);if(h||(s[0]=l?{type:l}:null,h=canSplit(I.doc,d,s.length,s)),I.split(d,s.length,s),!g&&c&&r.node(a).type!=l){let u=I.mapping.map(r.before(a)),B=I.doc.resolve(u);l&&r.node(a-1).canReplaceWith(B.index(),B.index()+1,l)&&I.setNodeMarkup(I.mapping.map(r.before(a)),l)}return n&&n(I.scrollIntoView()),!0};return e.displayName="splitBlockAs()",e},splitBlock=()=>splitBlockAs(),splitBlockKeepMarks=()=>(t,e)=>splitBlockAs().apply(void 0,[t,e&&(A=>{let n=t.storedMarks||t.selection.$to.parentOffset&&t.selection.$from.marks();n&&A.ensureMarks(n),e(A)})]),selectParentNode=()=>(t,e)=>{let{$from:A,to:n}=t.selection,r,o=A.sharedDepth(n);return o==0?!1:(r=A.before(o),e&&e(t.tr.setSelection(NodeSelection.create(t.doc,r))),!0)},selectAll$1=()=>(t,e)=>(e&&e(t.tr.setSelection(new AllSelection(t.doc))),!0);function joinMaybeClear(t,e,A){let n=e.nodeBefore,r=e.nodeAfter,o=e.index();return!n||!r||!n.type.compatibleContent(r.type)?!1:!n.content.size&&e.parent.canReplace(o-1,o)?(A&&A(t.tr.delete(e.pos-n.nodeSize,e.pos).scrollIntoView()),!0):!e.parent.canReplace(o,o+1)||!(r.isTextblock||canJoin(t.doc,e.pos))?!1:(A&&A(t.tr.join(e.pos).scrollIntoView()),!0)}function deleteBarrier(t,e,A,n){let r=e.nodeBefore,o=e.nodeAfter,s,a,l=r.type.spec.isolating||o.type.spec.isolating;if(!l&&joinMaybeClear(t,e,A))return!0;let g=!l&&e.parent.canReplace(e.index(),e.index()+1);if(g&&(s=(a=r.contentMatchAt(r.childCount)).findWrapping(o.type))&&a.matchType(s[0]||o.type).validEnd){if(A){let h=e.pos+o.nodeSize,u=Fragment.empty;for(let f=s.length-1;f>=0;f--)u=Fragment.from(s[f].create(null,u));u=Fragment.from(r.copy(u));let B=t.tr.step(new ReplaceAroundStep(e.pos-1,h,e.pos,h,new Slice(u,1,0),s.length,!0)),E=B.doc.resolve(h+2*s.length);E.nodeAfter&&E.nodeAfter.type==r.type&&canJoin(B.doc,E.pos)&&B.join(E.pos),A(B.scrollIntoView())}return!0}let c=o.type.spec.isolating||n>0&&l?null:Selection.findFrom(e,1),I=c&&c.$from.blockRange(c.$to),d=I&&liftTarget(I);if(d!=null&&d>=e.depth)return A&&A(t.tr.lift(I,d).scrollIntoView()),!0;if(g&&textblockAt(o,"start",!0)&&textblockAt(r,"end")){let h=r,u=[];for(;u.push(h),!h.isTextblock;)h=h.lastChild;let B=o,E=1;for(;!B.isTextblock;B=B.firstChild)E++;if(h.canReplace(h.childCount,h.childCount,B.content)){if(A){let f=Fragment.empty;for(let p=u.length-1;p>=0;p--)f=Fragment.from(u[p].copy(f));let Q=t.tr.step(new ReplaceAroundStep(e.pos-u.length,e.pos+o.nodeSize,e.pos+E,e.pos+o.nodeSize-E,new Slice(f,u.length,0),0,!0));A(Q.scrollIntoView())}return!0}}return!1}function selectTextblockSide(t){return function(e,A){let n=e.selection,r=t<0?n.$from:n.$to,o=r.depth;for(;r.node(o).isInline;){if(!o)return!1;o--}return r.node(o).isTextblock?(A&&A(e.tr.setSelection(TextSelection.create(e.doc,t<0?r.start(o):r.end(o)))),!0):!1}}const wrapIn=(t,e=null)=>function(A,n){let{$from:r,$to:o}=A.selection,s=r.blockRange(o),a=s&&findWrapping(s,t,e);return a?(n&&n(A.tr.wrap(s,a).scrollIntoView()),!0):!1},setBlockType=(t,e=null)=>function(A,n){let r=!1;for(let o=0;o<A.selection.ranges.length&&!r;o++){let{$from:{pos:s},$to:{pos:a}}=A.selection.ranges[o];A.doc.nodesBetween(s,a,(l,g)=>{if(r)return!1;if(!(!l.isTextblock||l.hasMarkup(t,e)))if(l.type==t)r=!0;else{let c=A.doc.resolve(g),I=c.index();r=c.parent.canReplaceWith(I,I+1,t)}})}if(!r)return!1;if(n){let o=A.tr;for(let s=0;s<A.selection.ranges.length;s++){let{$from:{pos:a},$to:{pos:l}}=A.selection.ranges[s];o.setBlockType(a,l,t,e)}n(o.scrollIntoView())}return!0};function markApplies(t,e,A,n){for(let r=0;r<e.length;r++){let{$from:o,$to:s}=e[r],a=o.depth==0?t.inlineContent&&t.type.allowsMarkType(A):!1;if(t.nodesBetween(o.pos,s.pos,(l,g)=>{if(a||!n&&l.isAtom&&l.isInline&&g>=o.pos&&g+l.nodeSize<=s.pos)return!1;a=l.inlineContent&&l.type.allowsMarkType(A)}),a)return!0}return!1}function removeInlineAtoms(t){let e=[];for(let A=0;A<t.length;A++){let{$from:n,$to:r}=t[A];n.doc.nodesBetween(n.pos,r.pos,(o,s)=>{if(o.isAtom&&o.content.size&&o.isInline&&s>=n.pos&&s+o.nodeSize<=r.pos)return s+1>n.pos&&e.push(new SelectionRange(n,n.doc.resolve(s+1))),n=n.doc.resolve(s+1+o.content.size),!1}),n.pos<r.pos&&e.push(new SelectionRange(n,r))}return e}function toggleMark(t,e=null,A){let n=(A&&A.removeWhenPresent)!==!1,r=(A&&A.enterInlineAtoms)!==!1,o=!(A&&A.includeWhitespace);return function(s,a){let{empty:l,$cursor:g,ranges:c}=s.selection;if(l&&!g||!markApplies(s.doc,c,t,r))return!1;if(a)if(g)t.isInSet(s.storedMarks||g.marks())?a(s.tr.removeStoredMark(t)):a(s.tr.addStoredMark(t.create(e)));else{let I,d=s.tr;r||(c=removeInlineAtoms(c)),n?I=!c.some(h=>s.doc.rangeHasMark(h.$from.pos,h.$to.pos,t)):I=!c.every(h=>{let u=!1;return d.doc.nodesBetween(h.$from.pos,h.$to.pos,(B,E,f)=>{if(u)return!1;u=!t.isInSet(B.marks)&&!!f&&f.type.allowsMarkType(t)&&!(B.isText&&/^\s*$/.test(B.textBetween(Math.max(0,h.$from.pos-E),Math.min(B.nodeSize,h.$to.pos-E))))}),!u});for(let h=0;h<c.length;h++){let{$from:u,$to:B}=c[h];if(!I)d.removeMark(u.pos,B.pos,t);else{let E=u.pos,f=B.pos,Q=u.nodeAfter,p=B.nodeBefore,m=o&&Q&&Q.isText?/^\s*/.exec(Q.text)[0].length:0,y=o&&p&&p.isText?/\s*$/.exec(p.text)[0].length:0;E+m<f&&(E+=m,f-=y),d.addMark(E,f,t.create(e))}}a(d.scrollIntoView())}return!0}}const undoInputRule=()=>undoInputRuleCommand,command=t=>(...e)=>t.apply(void 0,e),baseCommandFactories={wrapInList,wrapRangeInList,deleteSelection,joinBackward,joinTextblockBackward,joinTextblockForward,joinForward,joinUp,joinDown,lift,newlineInCode,exitCode,createParagraphNear,liftEmptyBlock,splitBlockAs,splitBlock,splitBlockKeepMarks,selectAll:selectAll$1,selectParentNode,selectNodeBackward,selectNodeForward,selectTextblockStart:()=>selectTextblockSide(-1),selectTextblockEnd:()=>selectTextblockSide(1),wrapIn,setBlockType,toggleMark,undoInputRule,runInputRulesRange,runInputRulesTexts,command};function firstCommand(...t){const e=function(A,n,r){for(let o=0;o<t.length;o++)if(t[o](A,n,r))return t[o].displayName!=="first"&&console.debug("firstCommand: ",t[o].displayName||t[o]),!0;return!1};return e.displayName="first",e}const backspace=firstCommand(baseCommandFactories.undoInputRule(),baseCommandFactories.deleteSelection(),baseCommandFactories.joinBackward(),baseCommandFactories.selectNodeBackward()),del=firstCommand(baseCommandFactories.deleteSelection(),baseCommandFactories.joinForward(),baseCommandFactories.selectNodeForward()),enter=firstCommand(baseCommandFactories.newlineInCode(),baseCommandFactories.createParagraphNear(),baseCommandFactories.liftEmptyBlock(),baseCommandFactories.splitBlock()),keyCommandFactories={backspace:()=>backspace,del:()=>del,enter:()=>enter},replaceRangeText=(t,e)=>(A,n)=>{const r=A.tr,o=r.mapping.map(t.from),s=r.mapping.map(t.to),a=Fragment.from(A.schema.text(e)),l=new Slice(a,0,0);return r.replace(o,s,l),n&&n(r),!0},replaceRangeSlice=(t,e)=>(A,n)=>{const r=A.tr,o=r.mapping.map(t.from),s=r.mapping.map(t.to);return r.replace(o,s,e),n&&n(r),!0};function getTopMostBlockStartForOffset(t,e){const{doc:A}=t,n=A.resolve(e),r=n.before(n.depth);return n.depth===1?r:n.start(1)}function getTopMostBlockEndForOffset(t,e){const{doc:A}=t;return A.resolve(e).end(1)}function getAdjacentTopBlock(t,e){const{doc:A}=t;if(e<0||e>A.content.size)throw new RangeError("Offset is outside the document");const n=A.resolve(e);return n.pos===n.start(n.depth)?getTopMostBlockStartForOffset(t,e):getTopMostBlockEndForOffset(t,e)}const insertBlockBefore=(t,e)=>(A,n)=>{const r=A.tr,o=getTopMostBlockStartForOffset(A,r.mapping.map(t));return r.insert(o,e),n&&n(r),!0},insertBlockAfter=(t,e)=>(A,n)=>{const r=A.tr,o=getTopMostBlockEndForOffset(A,r.mapping.map(t));return r.insert(o,e),n&&n(r),!0},insertBlockSmart=(t,e)=>(A,n)=>{const r=A.tr,o=getAdjacentTopBlock(A,r.mapping.map(t));return r.insert(o,e),n&&n(r),!0},replaceCommandFactories={replaceRangeText,replaceRangeSlice,insertBlockBefore,insertBlockAfter,insertBlockSmart};class CommandManager{constructor(e){this.editor=e,this.commandFactories={},this.run={},this.debug=!0,this.mergeCommandFactories(baseCommandFactories,"baseCommand"),this.mergeCommandFactories(keyCommandFactories,"key"),this.mergeCommandFactories(replaceCommandFactories,"replace")}mergeCommandFactories(e,A){for(const n in e){const r=e[n];r&&this.overwriteCommandFactory(A,n,r)}}overwriteCommandFactory(e,A,n){if(this.debug){const r=(...o)=>{const s=n(...o);return(l,g,c)=>(g&&console.debug(`Command: ${e}.${A}`,...o),s.apply({editor:this.editor},[l,g,c]))};this.commandFactories[A]=r}else this.commandFactories[A]=n;this.run[A]=(...r)=>{const o=this.commandFactories[A],s=o(...r),a=this.editor.state,l=this.editor.view;return l instanceof EditorView?s.apply({editor:this.editor},[a,l.dispatch,l]):s.apply({editor:this.editor},[a,l.dispatch])}}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,A=!0){const{commandFactories:n,editor:r}=this,o=this.editor.state,{view:s}=r,a=[],l=!!e,g=e||o.tr,c=createChainableState(g,o),I=()=>{},d={...Object.fromEntries(Object.entries(n).map(([h,u])=>[h,(...E)=>{const Q=u(...E).apply({editor:this.editor},[c,A?I:void 0]);return a.push(Q),d}])),run:()=>(!l&&A&&!g.getMeta("preventDispatch")&&s.dispatch(g),a.every(h=>h===!0)),chain:()=>this.createChain(g,A)};return d}createCan(e){return this.createChain(e,!1)}}class SmartOutput{constructor(){this._rowPos=0,this._colPos=0,this._pos=0,this.chunks=[],this.metas=[]}log(e,A){if(e.length===0)return;this.chunks.push(e),this.metas.push({pos:this._pos,colPos:this._colPos,rowPos:this._rowPos,item:A});const n=e.split(`
11
+ `);n.length===1?this._colPos+=n[n.length-1].length:(this._rowPos+=n.length-1,this._colPos=n[n.length-1].length),this._pos+=e.length}getMetas(){return this.metas}get chunkPos(){return this.chunks.length}rollback(e){this.chunks.splice(e),this.metas.splice(e)}get rowPos(){return this._rowPos}get colPos(){return this._colPos}get pos(){return this._pos}backspace(e){const A=[],n=[];for(;e>0&&this.chunks[0].length>0;){const r=this.metas.pop();let o=this.chunks.pop();if(!o||!r)break;const s=o.length;o=o.substring(0,Math.max(0,o.length-e)),A.unshift(r),n.unshift(o),e-=s-o.length}this.chunks.push(...n),this.metas.push(...A)}endsWith(e){return this.chunks.join("").endsWith(e)}toString(){return this.chunks.join("")}getSourceMap(e){const A=[];let n=-1,r=-1,o=0,s=0,a=0,l=0;for(const c of this.metas){for(;c.rowPos>=A.length;)A.push([]);if(n!=c.rowPos||r!=c.colPos){const I=A[c.rowPos];n!=c.rowPos&&(l=0);const d=e(c.rowPos,c.colPos,c.pos,c.item);d&&(I.push([c.colPos-l,d.sourceNo-o,d.sourceRowPos-s,d.sourceColPos-a]),l=c.colPos,o=d.sourceNo,s=d.sourceRowPos,a=d.sourceColPos)}n=c.rowPos,r=c.colPos}const g=A.map(c=>c.map(I=>encode(I)).join(",")).join(";");return{version:3,file:"",sourceRoot:"",sources:[],sourcesContent:[],names:[],mappings:g}}}const integer_to_char={};"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".split("").forEach(function(t,e){integer_to_char[e]=t});function encode(t){if(typeof t=="number")return encode_integer(t);let e="";for(let A=0;A<t.length;A+=1)e+=encode_integer(t[A]);return e}function encode_integer(t){let e="";t<0?t=-t<<1|1:t<<=1;do{let A=t&31;t>>>=5,t>0&&(A|=32),e+=integer_to_char[A]}while(t>0);return e}function trimText(t,e=20){return t=t.replaceAll(`
12
+ `,"\\n"),t.length<=e?t:t.slice(0,e)+"..."}function nodeToTreeStringOutput(t,e,A=0,n=0){let r="";for(let s=0;s<A;s++)r+=" ";if(Array.isArray(e)){for(const s of e)t.log(r,{node:s,pos:n}),nodeToTreeStringOutput(t,s,A+1,n);return}let o="";if("type"in e){o+=` - [${e.type.name}] `,o+=`pos: ${n}, `,o+=`nodeSize: ${e.nodeSize}, `,o+=`epos: ${n+e.nodeSize}, `,e.content&&(o+=`fragment.size: ${e.content.size}, `),t.log(r+o+`
13
+ `,{node:e,pos:n});let s="";if(e.marks)for(const a of e.marks)s+=`(${a.type.name}), `;s&&t.log(r+" "+s+`
14
+ `,{node:e,pos:n}),e.text&&t.log(r+' "'+trimText(e.text)+`"
15
+ `,{node:e,pos:n})}return e.forEach((s,a)=>{nodeToTreeStringOutput(t,s,A+1,n+a+1)}),t}function nodeToTreeString(t){const e=new SmartOutput;return nodeToTreeStringOutput(e,t),e.toString()}class DummyEditorView{constructor(e){this.prevDirectPlugins=[],this.pluginViews=[],this.focused=!1,this._props=e,this.state=e.state,this.directPlugins=e.plugins||[],this.directPlugins.forEach(checkStateComponent),this.dispatch=this.dispatch.bind(this),this.editable=getEditable(this),this.nodeViews=buildNodeViews(this),this.updatePluginViews()}get composing(){return!1}get dom(){return{addEventListener(){},removeEventListener(){}}}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let A in e)this._props[A]=e[A];this._props.state=this.state}return this._props}update(e){let A=this._props;this._props=e,e.plugins&&(e.plugins.forEach(checkStateComponent),this.directPlugins=e.plugins),this.updateStateInner(e.state,A)}setProps(e){let A={};for(let n in this._props)A[n]=this._props[n];A.state=this.state;for(let n in e)A[n]=e[n];this.update(A)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,A){let n=this.state,r=!1;if(e.storedMarks&&this.composing,this.state=e,n.plugins!=e.plugins||this._props.plugins!=A.plugins||this._props.plugins!=A.plugins||this._props.nodeViews!=A.nodeViews){let a=buildNodeViews(this);changedNodeViews(a,this.nodeViews)&&(this.nodeViews=a,r=!0)}this.editable=getEditable(this),r||e.selection.eq(n.selection),this.updatePluginViews(n)}scrollToSelection(){}destroyPluginViews(){let e=this.pluginViews.pop();for(;e;)e.destroy&&e.destroy(),e=this.pluginViews.pop()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let A=0;A<this.directPlugins.length;A++){let n=this.directPlugins[A];n.spec.view&&this.pluginViews.push(n.spec.view(this))}for(let A=0;A<this.state.plugins.length;A++){let n=this.state.plugins[A];n.spec.view&&this.pluginViews.push(n.spec.view(this))}}else for(let A=0;A<this.pluginViews.length;A++){let n=this.pluginViews[A];n.update&&n.update(this,e)}}someProp(e,A){let n=this._props&&this._props[e],r;if(n!=null&&(r=A?A(n):n))return r;for(let s=0;s<this.directPlugins.length;s++){let a=this.directPlugins[s].props[e];if(a!=null&&(r=A?A(a):a))return r}let o=this.state.plugins;if(o)for(let s=0;s<o.length;s++){let a=o[s].props[e];if(a!=null&&(r=A?A(a):a))return r}}hasFocus(){return this.focused}focus(){this.focused=!0}destroy(){this.destroyPluginViews()}get isDestroyed(){return!1}dispatchEvent(e){}}DummyEditorView.prototype.dispatch=function(t){let e=this.props.dispatchTransaction;e?e.call(this,t):this.updateState(this.state.apply(t))};function getEditable(t){return!t.someProp("editable",e=>e(t.state)===!1)}function buildNodeViews(t){let e=Object.create(null);function A(n){for(let r in n)Object.prototype.hasOwnProperty.call(e,r)||(e[r]=n[r])}return t.someProp("nodeViews",A),t.someProp("markViews",A),e}function changedNodeViews(t,e){let A=0,n=0;for(let r in t){if(t[r]!=e[r])return!0;A++}for(let r in e)n++;return A!=n}function checkStateComponent(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}function createNodeFromObject(t,e,A){try{const n=e.nodeFromJSON(t);return A?.errorOnInvalidContent&&n.check(),n}catch(n){if(A?.errorOnInvalidContent)throw new Error("Invalid JSON content: "+n.message,{cause:n});return console.warn("Invalid content.","Passed value:",t,"Error:",n),e.topNodeType.createAndFill(null,[])}}function defaultUi(t){return{showMessage(e){globalThis.alert(e)},showError(e){globalThis.alert(e.message),console.error(e)},focus(){},select({anchor:e,scrollIntoView:A,userEvent:n}){}}}function ensureDocSchema(t,e){if(t.type.schema===e)return t;const A=t.toJSON();return Node$3.fromJSON(e,A)}class CoreEditor extends EventTarget{constructor(e,A,n){super(),this.schema=A,this.extensionManager=n,this.ui=defaultUi(),this.config={...e},this.hooks={...this.config.hooks},this.commandManager=new CommandManager(this)}static create(e){const A=new ExtensionManager(e.editorKits,e.debug),n=A.getSchemaByResolvedExtensions(),r=new CoreEditor(e,n,A);A.created(r,n);const o=e.content?e.content:n.topNodeType.spec.EMPTY_DOC;return r.createView(o),r.setupPlugins(),r}clone(e){const A=new ExtensionManager(this.extensionManager.editorKits,(e||this.config).debug),n=new CoreEditor({...e},this.schema,A);A.created(n,this.schema);const r=this.getJSON();return n.createView(r),n.setupPlugins(),n}getExtension(e){return this.extensionManager.getExtension(e)}get run(){return this.commandManager.run}get commandFactories(){return this.commandManager.commandFactories}chain(e){return this.commandManager.createChain(e)}can(e){return this.commandManager.createCan(e)}link(e){if(e===this)throw new Error("You cannot chain editor to itself");this.unlink(),this.state=EditorState.create({doc:e.getDocument()});const{commandFactories:A}=this.commandManager,n=[],r={...Object.fromEntries(Object.entries(A).map(([o,s])=>[o,(...l)=>{const g=s(...l);return n.push(g),r}])),run:()=>{this.linkSource=e,this.linkListener=()=>{let o=e.state;const s=l=>{o=o.apply(l)};for(const l of n)if(!l(o,s))return;this.state=o.reconfigure({plugins:this.extensionManager.plugins}),this.view&&this.view.updateState(this.state);const a=new CustomEvent("changed",{detail:{editor:this}});this.dispatchEvent(a)},e.addEventListener("changed",this.linkListener)}};return r}unlink(){this.linkListener&&this.linkSource&&(this.linkSource.removeEventListener("changed",this.linkListener),this.linkListener=void 0,this.linkSource=void 0)}createView(e){const A=createNodeFromObject(e,this.schema);if(this.state=EditorState.create({doc:A}),this.config.element){const r=new EditorView(this.config.element,{state:this.state,attributes:{class:"kb-editor"},dispatchTransaction:s=>this.dispatchTransaction(s),editable:()=>!this.config.readOnly});if(this.view=r,this.config.element.parentNode){const s=new MutationObserver(a=>{for(const l of a)for(const g of l.removedNodes)if(g.contains(r.dom)){s.disconnect(),r.destroy();return}})}}else this.view=new DummyEditorView({state:this.state,dispatchTransaction:r=>this.dispatchTransaction(r)});const n=new CustomEvent("doc:loaded",{detail:{editor:this,doc:A}});this.dispatchEvent(n)}dispatchTransaction(e){if(this.state=this.state.apply(e),this.view){this.view.updateState(this.state);const A=new CustomEvent("transaction",{detail:{editor:this,transaction:e}});this.dispatchEvent(A)}if(e.docChanged){const A=new CustomEvent("changed",{detail:{editor:this}});this.dispatchEvent(A)}}setupPlugins(){this.state=this.state.reconfigure({plugins:this.extensionManager.plugins}),this.view&&(this.view.updateState(this.state),this.view.setProps({nodeViews:this.extensionManager.nodeViews}))}clearDocument(){const e={type:this.schema.topNodeType.name,content:this.schema.topNodeType.spec.EMPTY_DOC.content};this.setDocument(e)}setDocument(e){let A=createNodeFromObject(e,this.schema,{errorOnInvalidContent:!0});A=ensureDocSchema(A,this.schema),this.state=EditorState.create({doc:A,plugins:this.state.plugins,storedMarks:this.state.storedMarks}),this.view&&this.view.updateState(this.state);const n=new CustomEvent("doc:loaded",{detail:{editor:this,doc:A}});this.dispatchEvent(n)}getConverter(e){const A=this.extensionManager.converters[e];if(!A)throw new Error("Converter not found for: "+e);return A}getDocument(){return this.state.doc}loadDocumentText(e,A){return this.loadDocument(e,new TextEncoder().encode(A))}async loadDocument(e,A){const r=await this.getConverter(e).toDoc(A);let o=EditorState.create({doc:r,plugins:this.state.plugins,storedMarks:this.state.storedMarks});const s=g=>{o=o.apply(g)};runInputRulesTexts()(o,s),this.state=o,this.view&&(this.view.updateState(this.state),this.view.dispatch(this.view.state.tr));const l=new CustomEvent("doc:loaded",{detail:{editor:this,doc:this.state.doc}});this.dispatchEvent(l)}async saveDocument(e){const A=this.getConverter(e),n=this.state.doc.toJSON(),r=Node$3.fromJSON(this.state.schema,n);return await A.fromDoc(r)}async patchDocument(e,A){const r=await this.getConverter(e).toDoc(A),o=this.state.tr;o.replaceWith(0,this.state.doc.content.size,r.content),this.dispatchTransaction(o)}patchDocumentText(e,A){return this.patchDocument(e,new TextEncoder().encode(A))}getJSON(){return this.state.doc.toJSON()}debug(e){e||(e=this.state.doc),console.debug(nodeToTreeString(e))}destroy(){const e=new CustomEvent("beforeDestroy",{detail:{}});if(this.dispatchEvent(e),this.config.element){const A=this.config.element,n=A.cloneNode(!0);A.replaceWith(n)}this.view.destroy()}mergeCommandFactories(e,A){this.commandManager.mergeCommandFactories(e,A)}get editable(){return this.view.editable}}class Extension{constructor(e={}){this.config=e,this.type="extension"}setEditor(e){this.editor=e}getEditor(){return this.editor}created(){}getInputRules(){return[]}getProseMirrorPlugins(){return[]}getCommandFactories(e){return{}}getKeyboardShortcuts(e){return{}}getConverters(e,A){return{}}setupSpec(e){}}class Mark{constructor(e={}){this.config=e,this.type="mark",this.name="node",this.attributes={}}setEditor(e){this.editor=e}created(){}getMarkSpec(){throw new Error("MarkSpec not defined: "+this.name)}getInputRules(e){return[]}getCommandFactories(e,A){return{}}getKeyboardShortcuts(e){return{}}}let Node$2=class{constructor(e={}){this.config=e,this.type="node",this.name="node",this.attributes={}}setEditor(e){this.editor=e}created(){}getNodeSpec(){throw new Error("NodeSpec not defined: "+this.name)}getInputRules(e){return[]}getProseMirrorPlugins(){return[]}getCommandFactories(e,A){return{}}getKeyboardShortcuts(e){return{}}getNodeView(e){}getConverters(e,A){return{}}};const NESTING_OPENING$1=1,NESTING_SELF_CLOSING$1=0,NESTING_CLOSING$1=-1;function getShadowRoot(t){let e=t;for(;e;){if(e.toString()==="[object ShadowRoot]")return e;if(e instanceof ShadowRoot&&e.host)return e.host.shadowRoot||void 0;e=e.parentElement||(e instanceof ShadowRoot?e.host:void 0)}}function toRawTextResult(t,e=0){const A=t.split(`
16
+ `),n=[];let r=0,o=0;for(const s of A)n.push({nodeIdx:e,targetRow:o,targetCol:0,targetPos:r}),o++,r+=s.length+1,e+=s.length+1;return{content:t,rawTextMap:n}}function normalizeSiblings(t,e){if(t.childCount<2)return t;for(let A=e.depth;A>=0;A--){let r=e.node(A).contentMatchAt(e.index(A)),o,s=[];if(t.forEach(a=>{if(!s)return;let l=r.findWrapping(a.type),g;if(!l)return s=null;if(g=s.length&&o.length&&addToSibling(l,o,a,s[s.length-1],0))s[s.length-1]=g;else{s.length&&(s[s.length-1]=closeRight(s[s.length-1],o.length));let c=withWrappers(a,l);s.push(c),r=r.matchType(c.type),o=l}}),s)return Fragment.from(s)}return t}function withWrappers(t,e,A=0){for(let n=e.length-1;n>=A;n--)t=e[n].create(null,Fragment.from(t));return t}function addToSibling(t,e,A,n,r){if(r<t.length&&r<e.length&&t[r]==e[r]){let o=addToSibling(t,e,A,n.lastChild,r+1);if(o)return n.copy(n.content.replaceChild(n.childCount-1,o));if(n.contentMatchAt(n.childCount).matchType(r==t.length-1?A.type:t[r+1]))return n.copy(n.content.append(Fragment.from(withWrappers(A,t,r+1))))}}function closeRight(t,e){if(e==0)return t;let A=t.content.replaceChild(t.childCount-1,closeRight(t.lastChild,e-1)),n=t.contentMatchAt(t.childCount).fillBefore(Fragment.empty,!0);return t.copy(A.append(n))}function closeRange(t,e,A,n,r,o){let s=e<0?t.firstChild:t.lastChild,a=s.content;return t.childCount>1&&(o=0),r<n-1&&(a=closeRange(a,e,A,n,r+1,o)),r>=A&&(a=e<0?s.contentMatchAt(0).fillBefore(a,o<=r).append(a):a.append(s.contentMatchAt(s.childCount).fillBefore(Fragment.empty,!0))),t.replaceChild(e<0?0:t.childCount-1,s.copy(a))}function closeSlice(t,e,A){return e<t.openStart&&(t=new Slice(closeRange(t.content,-1,e,t.openStart,0,t.openEnd),e,t.openEnd)),A<t.openEnd&&(t=new Slice(closeRange(t.content,1,A,t.openEnd,0,0),t.openStart,A)),t}function sliceSingleNode(t){return t.openStart==0&&t.openEnd==0&&t.content.childCount==1?t.content.firstChild:null}function fixSlice(t,e){if(t=Slice.maxOpen(normalizeSiblings(t.content,e),!0),t.openStart||t.openEnd){let A=0,n=0;for(let r=t.content.firstChild;A<t.openStart&&!r.type.spec.isolating;A++,r=r.firstChild);for(let r=t.content.lastChild;n<t.openEnd&&!r.type.spec.isolating;n++,r=r.lastChild);t=closeSlice(t,A,n)}return t}function sliceHasOnlyText(t){return t.content.content.every(e=>e.isInline)}const selectAll=()=>function(t,e,A){const n=t.tr.setSelection(new AllSelection(t.doc));return A&&A.dispatch(n),!0};function textPositionsToResolvedPos(t,e,A){const n=t.map(l=>-1);let r=0,o=!1;function s(l,g,c,I){if(o){for(let d=0;d<t.length;d++){const h=t[d];h>=r&&h<r+I&&(n[d]=l+(h-r))}r+=I}}function a(l,g=0,c=0,I=0){g===1&&c===A&&(o=!0);let d=0;l.isText&&l.text?d=l.text?.length:l.isLeaf&&(d=1),d>0&&s(I,g,c,d),l.forEach((h,u,B)=>{a(h,g+1,B,I+u+1)})}if(a(e),o)for(let l=0;l<t.length;l++){const g=t[l];n[l]===-1&&(g<r?n[l]=1:n[l]=e.nodeSize-1)}return n.map(l=>e.resolve(l-1))}const selectText=(t,e,A=0)=>function(n,r,o){const[s,a]=textPositionsToResolvedPos([t+e,t],n.doc,A),l=n.tr.setSelection(new TextSelection(a,s));return o&&o.dispatch(l),!0};class ExtensionSelection extends Extension{constructor(){super(...arguments),this.name="selection"}extractSelection(){const e=this.editor.state,{from:A,to:n}=e.selection,r=e.doc.slice(A,n);if(sliceHasOnlyText(r)){const o=e.schema.nodes.paragraph.create(null,r.content);return e.schema.topNodeType.createAndFill(null,[o])}return e.schema.topNodeType.createAndFill(null,r.content)}replaceSelection(e){const n=this.editor.view,r=this.editor.state;let o;e.type?.name==="doc"&&(e=createNodeFromObject(e.toJSON(),this.editor.schema)),o=new Slice(e.content,1,1);const s=r.selection.$from;o=fixSlice(o,s);let a=sliceSingleNode(o),l=a?r.tr.replaceSelectionWith(a,!1):r.tr.replaceSelection(o);n.dispatch(l.scrollIntoView())}appendSelection(e){const A=this.editor.view,{state:n}=A;let r;e.type?.name==="doc"&&(e=createNodeFromObject(e.toJSON(),this.editor.schema)),r=new Slice(e.content,1,1);const o=A.state.selection.$from;r=fixSlice(r,o);const s=n.tr.insert(A.state.selection.to,r.content);A.dispatch(s.scrollIntoView())}getCommandFactories(e){return this.editor=e,{selectAll:()=>selectAll(),selectText:(...A)=>selectText(...A)}}}const pcBaseKeymap={"Mod-Enter":"exitCode",Backspace:"backspace","Mod-Backspace":"backspace","Shift-Backspace":"backspace",Delete:"del","Mod-Delete":"del","Mod-a":"selectAll"},macBaseKeymap={...pcBaseKeymap,"Ctrl-h":pcBaseKeymap.Backspace,"Alt-Backspace":pcBaseKeymap["Mod-Backspace"],"Ctrl-d":pcBaseKeymap.Delete,"Ctrl-Alt-Backspace":pcBaseKeymap["Mod-Delete"],"Alt-Delete":pcBaseKeymap["Mod-Delete"],"Alt-d":pcBaseKeymap["Mod-Delete"],"Ctrl-a":"selectTextblockStart","Ctrl-e":"selectTextblockEnd"},mac=/(Mac|iPhone|iPod|iPad)/i.test(navigator?.platform),baseKeymap=mac?macBaseKeymap:pcBaseKeymap;class ExtensionBaseKeymap extends Extension{constructor(){super(...arguments),this.name="base-keymap"}getKeyboardShortcuts(){const e={Enter:"enter","Alt-ArrowUp":"joinUp","Alt-ArrowDown":"joinDown","Mod-BracketLeft":"lift",Escape:"selectParentNode"};for(const A in baseKeymap)e[A]=baseKeymap[A];return e}}function dropCursor(t={}){return new Plugin({key:new PluginKey("drop-cursor"),view(e){return new DropCursorView(e,t)}})}class DropCursorView{constructor(e,A){this.editorView=e,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=A.width??1,this.color=A.color===!1?void 0:A.color||"black",this.class=A.class,this.handlers=["dragover","dragend","drop","dragleave"].map(n=>{let r=o=>{this[n](o)};return e.dom.addEventListener(n,r),{name:n,handler:r}})}destroy(){this.handlers.forEach(({name:e,handler:A})=>this.editorView.dom.removeEventListener(e,A))}update(e,A){this.cursorPos!=null&&A.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,e==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e=this.editorView.state.doc.resolve(this.cursorPos),A=!e.parent.inlineContent,n,r=this.editorView.dom,o=r.getBoundingClientRect(),s=o.width/r.offsetWidth,a=o.height/r.offsetHeight;if(A){let I=e.nodeBefore,d=e.nodeAfter;if(I||d){let h=this.editorView.nodeDOM(this.cursorPos-(I?I.nodeSize:0));if(h){let u=h.getBoundingClientRect(),B=I?u.bottom:u.top;I&&d&&(B=(B+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let E=this.width/2*a;n={left:u.left,right:u.right,top:B-E,bottom:B+E}}}}if(!n){let I=this.editorView.coordsAtPos(this.cursorPos),d=this.width/2*s;n={left:I.left-d,right:I.left+d,top:I.top,bottom:I.bottom}}let l=this.editorView.dom.offsetParent;this.element||(this.element=l.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",A),this.element.classList.toggle("prosemirror-dropcursor-inline",!A);let g,c;if(!l||l==document.body&&getComputedStyle(l).position=="static")g=-pageXOffset,c=-pageYOffset;else{let I=l.getBoundingClientRect(),d=I.width/l.offsetWidth,h=I.height/l.offsetHeight;g=I.left-l.scrollLeft*d,c=I.top-l.scrollTop*h}this.element.style.left=(n.left-g)/s+"px",this.element.style.top=(n.top-c)/a+"px",this.element.style.width=(n.right-n.left)/s+"px",this.element.style.height=(n.bottom-n.top)/a+"px"}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.setCursor(null),e)}dragover(e){if(!this.editorView.editable)return;let A=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),n=A&&A.inside>=0&&this.editorView.state.doc.nodeAt(A.inside),r=n&&n.type.spec.disableDropCursor,o=typeof r=="function"?r(this.editorView,A,e):r;if(A&&!o){let s=A.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let a=dropPoint(this.editorView.state.doc,s,this.editorView.dragging.slice);a!=null&&(s=a)}this.setCursor(s),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}}class ExtensionDropcursor extends Extension{constructor(){super(...arguments),this.name="dropcursor",this.options={color:"currentColor",width:1,class:void 0}}getProseMirrorPlugins(){return[dropCursor(this.options)]}}class GapCursor extends Selection{constructor(e){super(e,e),this.visible=!1}map(e,A){let n=e.resolve(A.map(this.head));return GapCursor.valid(n)?new GapCursor(n):Selection.near(n)}content(){return Slice.empty}eq(e){return e instanceof GapCursor&&e.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSONToGapCursor(e,A){if(typeof A.pos!="number")throw new RangeError("Invalid input for GapCursor.fromJSON");return new GapCursor(e.resolve(A.pos))}getBookmark(){return new GapBookmark(this.anchor)}static valid(e){let A=e.parent;if(A.isTextblock||!closedBefore(e)||!closedAfter(e))return!1;let n=A.type.spec.allowGapCursor;if(n!=null)return n;let r=A.contentMatchAt(e.index()).defaultType;return r&&r.isTextblock}static findGapCursorFrom(e,A,n=!1){e:for(;;){if(!n&&GapCursor.valid(e))return e;let r=e.pos,o=null;for(let s=e.depth;;s--){let a=e.node(s);if(A>0?e.indexAfter(s)<a.childCount:e.index(s)>0){o=a.child(A>0?e.indexAfter(s):e.index(s)-1);break}else if(s==0)return null;r+=A;let l=e.doc.resolve(r);if(GapCursor.valid(l))return l}for(;;){let s=A>0?o.firstChild:o.lastChild;if(!s){if(o.isAtom&&!o.isText&&!NodeSelection.isSelectable(o)){e=e.doc.resolve(r+o.nodeSize*A),n=!1;continue e}break}o=s,r+=A;let a=e.doc.resolve(r);if(GapCursor.valid(a))return a}return null}}}Selection.jsonID("gapcursor",GapCursor);class GapBookmark{constructor(e){this.pos=e}map(e){return new GapBookmark(e.map(this.pos))}resolve(e){let A=e.resolve(this.pos);return GapCursor.valid(A)?new GapCursor(A):Selection.near(A)}}function closedBefore(t){for(let e=t.depth;e>=0;e--){let A=t.index(e),n=t.node(e);if(A==0){if(n.type.spec.isolating)return!0;continue}for(let r=n.child(A-1);;r=r.lastChild){if(r.childCount==0&&!r.inlineContent||r.isAtom||r.type.spec.isolating)return!0;if(r.inlineContent)return!1}}return!0}function closedAfter(t){for(let e=t.depth;e>=0;e--){let A=t.indexAfter(e),n=t.node(e);if(A==n.childCount){if(n.type.spec.isolating)return!0;continue}for(let r=n.child(A);;r=r.firstChild){if(r.childCount==0&&!r.inlineContent||r.isAtom||r.type.spec.isolating)return!0;if(r.inlineContent)return!1}}return!0}function gapCursor(){return new Plugin({key:new PluginKey("gap-cursor"),props:{decorations:drawGapCursor,createSelectionBetween(t,e,A){return e.pos==A.pos&&GapCursor.valid(A)?new GapCursor(A):null},handleClick,handleKeyDown:handleKeyDown$1,handleDOMEvents:{beforeinput}}})}const handleKeyDown$1=keydownHandler({ArrowLeft:arrow$1("horiz",-1),ArrowRight:arrow$1("horiz",1),ArrowUp:arrow$1("vert",-1),ArrowDown:arrow$1("vert",1)});function arrow$1(t,e){const A=t=="vert"?e>0?"down":"up":e>0?"right":"left";return function(n,r,o){let s=n.selection,a=e>0?s.$to:s.$from,l=s.empty;if(s instanceof TextSelection){if(!o.endOfTextblock(A)||a.depth==0)return!1;l=!1,a=n.doc.resolve(e>0?a.after():a.before())}let g=GapCursor.findGapCursorFrom(a,e,l);return g?(r&&r(n.tr.setSelection(new GapCursor(g))),!0):!1}}function handleClick(t,e,A){if(!t||!t.editable)return!1;let n=t.state.doc.resolve(e);if(!GapCursor.valid(n))return!1;let r=t.posAtCoords({left:A.clientX,top:A.clientY});return r&&r.inside>-1&&NodeSelection.isSelectable(t.state.doc.nodeAt(r.inside))?!1:(t.dispatch(t.state.tr.setSelection(new GapCursor(n))),!0)}function beforeinput(t,e){if(e.inputType!="insertCompositionText"||!(t.state.selection instanceof GapCursor))return!1;let{$from:A}=t.state.selection,n=A.parent.contentMatchAt(A.index()).findWrapping(t.state.schema.nodes.text);if(!n)return!1;let r=Fragment.empty;for(let s=n.length-1;s>=0;s--)r=Fragment.from(n[s].createAndFill(null,r));let o=t.state.tr.replace(A.pos,A.pos,new Slice(r,0,0));return o.setSelection(TextSelection.near(o.doc.resolve(A.pos+1))),t.dispatch(o),!1}function drawGapCursor(t){if(!(t.selection instanceof GapCursor))return null;let e=document.createElement("div");return e.className="kb-gapcursor",DecorationSet.create(t.doc,[Decoration.widget(t.selection.head,e,{key:"gapcursor"})])}class ExtensionGapcursor extends Extension{constructor(){super(...arguments),this.name="gapcursor",this.options={color:"currentColor",width:1,class:void 0}}getProseMirrorPlugins(){return[gapCursor()]}}function getHTMLFromFragment(t,e){const A=globalThis.document,n=DOMSerializer.fromSchema(e).serializeFragment(t,{document:A}),o=A.implementation.createHTMLDocument().createElement("div");return o.appendChild(n),o.innerHTML}const removeWhitespaces$1=t=>{const e=t.childNodes;for(let A=e.length-1;A>=0;A-=1){const n=e[A];n.nodeType===3&&n.nodeValue&&/^(\n\s\s|\n)$/.test(n.nodeValue)?t.removeChild(n):n.nodeType===1&&removeWhitespaces$1(n)}return t};function elementFromString$1(t){const e=`<html lang="en"><body>${t}</body></html>`,A=new globalThis.DOMParser().parseFromString(e,"text/html").body;return removeWhitespaces$1(A)}function prepareContentCheckSchema(t){return new Schema({topNode:t.spec.topNode,marks:t.spec.marks,nodes:t.spec.nodes.append({__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:A=>{const n=typeof A=="string"?A:A.outerHTML;throw new Error("Invalid HTML content",{cause:new Error(`Invalid element found: ${n}`)})}}]}})})}function createNodeFromHTML(t,e,A){if(A={parseOptions:{},...A},A.errorOnInvalidContent){const r=prepareContentCheckSchema(e);DOMParser$1.fromSchema(r).parse(elementFromString$1(t),A.parseOptions)}return DOMParser$1.fromSchema(e).parse(elementFromString$1(t),A.parseOptions)}class ExtensionHtml extends Extension{constructor(){super(...arguments),this.name="html"}getConverters(e,A){return{"text/html":{fromDoc:async n=>{const r=getHTMLFromFragment(n.content,e.schema);return new TextEncoder().encode(r)},toDoc:async n=>{const r=new TextDecoder().decode(n);return createNodeFromHTML(r,e.schema)}}}}}const mediaUploadKey=new PluginKey("mediaUpload");function fileToDataURL(t){return new Promise((e,A)=>{const n=new FileReader;n.onload=()=>e(n.result),n.onerror=A,n.readAsDataURL(t)})}function fileToObjectURL(t){return URL.createObjectURL(t)}function isImage(t,e){return e.some(A=>t.type.match(A))}function isVideo(t,e){return e.some(A=>t.type.match(A))}function insertImage(t,e,A,n,r){const{schema:o}=t.state,s=o.nodes.image;if(!s){console.warn("Image node type not found in schema");return}const a=s.create({src:A,alt:n,title:r}),l=t.state.tr.insert(e,a);t.dispatch(l)}function insertVideo(t,e,A,n,r,o){const{schema:s}=t.state,a=s.nodes.video;if(!a){console.warn("Video node type not found in schema");return}const l=a.create({src:A,title:n,width:r,height:o,controls:!0}),g=t.state.tr.insert(e,l);t.dispatch(g)}async function handleMediaFiles(t,e,A,n){const{maxFileSize:r=10*1024*1024,maxVideoFileSize:o=50*1024*1024,allowedImageTypes:s=["^image/"],allowedVideoTypes:a=["^video/"],uploadHandler:l}=n;for(const g of e){const c=isImage(g,s),I=isVideo(g,a);if(!c&&!I)continue;const d=I?o:r;if(g.size>d){console.warn(`${I?"Video":"Image"} file "${g.name}" is too large (${(g.size/1024/1024).toFixed(2)}MB). Maximum size is ${(d/1024/1024).toFixed(2)}MB.`);continue}try{console.log(`Processing ${I?"video":"image"}: ${g.name} (${(g.size/1024/1024).toFixed(2)}MB, ${g.type})`);let h;l?h=await l(g):I&&n.useObjectURLForVideos!==!1?(h=fileToObjectURL(g),console.log("Using object URL for video:",h)):(h=await fileToDataURL(g),console.log(`${I?"Video":"Image"} converted to data URL, length: ${h.length} characters`)),I?(insertVideo(t,A,h,g.name),console.log("Video inserted into editor")):(insertImage(t,A,h,g.name),console.log("Image inserted into editor")),A+=1}catch(h){console.error(`Failed to process ${I?"video":"image"} "${g.name}":`,h)}}}function createMediaUploadPlugin(t={}){return new Plugin({key:mediaUploadKey,props:{handleDrop(e,A,n,r){if(r)return!1;const o=Array.from(A.dataTransfer?.files||[]);if(o.length===0)return!1;const{allowedImageTypes:s=["^image/"],allowedVideoTypes:a=["^video/"]}=t;if(!o.some(I=>isImage(I,s)||isVideo(I,a)))return!1;A.preventDefault();const g={left:A.clientX,top:A.clientY},c=e.posAtCoords(g);return c?(handleMediaFiles(e,o,c.pos,t),!0):!1},handlePaste(e,A,n){const o=Array.from(A.clipboardData?.items||[]).filter(l=>l.type.startsWith("image/"));if(o.length===0)return!1;A.preventDefault();const s=[];for(const l of o){const g=l.getAsFile();g&&s.push(g)}if(s.length===0)return!1;const{from:a}=e.state.selection;return handleMediaFiles(e,s,a,t),!0}}})}class ExtensionMediaUpload extends Extension{constructor(e={}){super(e),this.config=e,this.name="mediaUpload"}getProseMirrorPlugins(){return[createMediaUploadPlugin(this.config)]}}class ExtensionTextAlign extends Extension{constructor(){super(...arguments),this.name="textAlign"}getCommandFactories(e){const A=n=>(r,o)=>{const{selection:s,tr:a}=r,{from:l,to:g}=s;let c=!1;return r.doc.nodesBetween(l,g,(I,d)=>{I.isBlock&&I.type.spec.attrs&&"textAlign"in I.type.spec.attrs&&(a.setNodeMarkup(d,void 0,{...I.attrs,textAlign:n}),c=!0)}),c&&o&&o(a),c};return{setTextAlignLeft:()=>A("left"),setTextAlignCenter:()=>A("center"),setTextAlignRight:()=>A("right"),setTextAlignJustify:()=>A("justify")}}}const userColors=[{dark:"#30bced",light:"#30bced"},{dark:"#6eeb83",light:"#6eeb83"},{dark:"#ffbc42",light:"#ffbc42"},{dark:"#ecd444",light:"#ecd444"},{dark:"#ee6352",light:"#ee6352"},{dark:"#9ac2c9",light:"#9ac2c9"},{dark:"#8acb88",light:"#8acb88"},{dark:"#1be7ff",light:"#1be7ff"}];function hashString(t){let e=0;for(let A=0;A<t.length;A++)e=(e<<5)-e+t.charCodeAt(A),e|=0;return Math.abs(e)}const defaultColorMapper=(t,e)=>{const A=hashString(e.id);let n=hashString(t.id);return A===n&&n++,userColors[n%userColors.length]};function generateBlankUser(){return{id:"",name:"User unset"}}function generateRandomUser(){const t=Math.random()*100;return{id:"random:"+t,name:"Anonymous "+Math.floor(t)}}const userPluginKey=new PluginKey("user"),createUserPlugin=()=>new Plugin({key:userPluginKey,state:{init(){return{user:generateRandomUser()}},apply:(t,e)=>{const A=t.getMeta("changeUser");return A&&(e.user={...A.user}),e}}});class ExtensionUser extends Extension{constructor(){super(...arguments),this.name="user"}getCommandFactories(){return{changeUser:A=>(n,r)=>{const o=n.tr;return o.setMeta("changeUser",{user:A}),r&&r(o),!0}}}getProseMirrorPlugins(){return[createUserPlugin()]}}const remoteSelectionPluginKey=new PluginKey("remote-selection"),defaultCursorBuilder=(t,e,A)=>{const r=A(t,e).light,o=document.createElement("span");o.classList.add("kb-yjs__cursor"),o.setAttribute("style",`border-color: ${r};`);const s=document.createElement("div");s.setAttribute("style",`background-color: ${r}`),s.insertBefore(document.createTextNode(t.name),null);const a=document.createTextNode("⁠"),l=document.createTextNode("⁠");return o.insertBefore(a,null),o.insertBefore(s,null),o.insertBefore(l,null),o},defaultSelectionBuilder=(t,e,A)=>({style:`background-color: ${A(t,e).light}70`,class:"kb-yjs__selection"}),createDecorations=(t,e,A,n)=>{const r=[],o=e.remoteStates;for(const s of o)if(s.cursor!=null){const a=s.user,l=s.cursor;let g=l.anchor||null,c=l.head||null;if(g!==null&&c!==null){const I=Math.max(t.doc.content.size-1,0);g=Math.min(g,I),c=Math.min(c,I),r.push(Decoration.widget(c,()=>A(a,e.me,e.colorMapper),{key:s.clientId+a.id+a.name,side:10}));const d=Math.min(g,c),h=Math.max(g,c);r.push(Decoration.inline(d,h,n(a,e.me,e.colorMapper),{inclusiveEnd:!0,inclusiveStart:!1}))}}return DecorationSet.create(t.doc,r)},remoteSelectionPlugin=({cursorBuilder:t=defaultCursorBuilder,selectionBuilder:e=defaultSelectionBuilder}={})=>new Plugin({key:remoteSelectionPluginKey,state:{init(){return{remoteStates:[],me:generateBlankUser(),colorMapper:defaultColorMapper}},apply(A,n){const r=A.getMeta("changeUser");r&&(n.me={...r.user});const o=A.getMeta("setColorMapper");o&&(n.colorMapper=o.colorMapper);const s=A.getMeta("remoteSelectionChange");return s&&(n.remoteStates=[...s.remoteStates]),n}},props:{decorations(A){const n=this.getState(A);return n?createDecorations(A,n,t,e):DecorationSet.empty}}});class ExtensionRemoteSelection extends Extension{constructor(){super(...arguments),this.name="remote-selection"}getProseMirrorPlugins(){return[remoteSelectionPlugin()]}}function generateId(){return String(Math.random())}function buildPairingTransaction(t,e,A){const{doc:n}=t,r=new Map,o=[];n.descendants((a,l)=>{a.type.name===e&&o.push({node:a,pos:l})});let s=!1;for(const{node:a,pos:l}of o){const g=a.attrs.content?.trim();if(!g)continue;const c=g.match(/^[^0-9a-z\/]*(\/?)[\s]*([\w]+)/i),I=c[1]==="/",d=c[2];if(!I)r.has(d)||r.set(d,[]),r.get(d).push({node:a,pos:l});else{const h=r.get(d);if(h&&h.length>0){const u=h.pop(),B=generateId();A.setNodeMarkup(u.pos,void 0,{...u.node.attrs,id:B,nesting:NESTING_OPENING$1,error:void 0}),A.setNodeMarkup(l,void 0,{...a.attrs,id:B,nesting:NESTING_CLOSING$1,error:void 0})}else A.setNodeMarkup(l,void 0,{...a.attrs,error:"Closing shortcode without matching opening",nesting:NESTING_CLOSING$1});s=!0}}for(const[,a]of r.entries())for(const{node:l,pos:g}of a)A.setNodeMarkup(g,void 0,{...l.attrs,nesting:NESTING_SELF_CLOSING$1,id:void 0}),s=!0;return s?A:null}const createPairingPlugin=t=>new Plugin({appendTransaction(e,A,n){const r=new Set;for(const s of e)if(s.docChanged){for(const a of s.steps)if((a instanceof ReplaceStep||a instanceof ReplaceAroundStep)&&(a.slice&&a.slice.content.descendants(l=>{t.includes(l.type.name)&&r.add(l.type.name)}),a.from!=null&&a.to!=null&&a.from!==a.to&&A.doc.nodesBetween(a.from,a.to,l=>{t.includes(l.type.name)&&r.add(l.type.name)}),r.size===t.length))break;if(r.size===t.length)break}if(r.size===0)return null;const o=n.tr;for(const s of r)buildPairingTransaction(n,s,o);return o}});class ExtensionPairing extends Extension{constructor(){super(...arguments),this.name="pairing-nodes"}getProseMirrorPlugins(){return[createPairingPlugin(["shortcode_inline"])]}}class MarkLink extends Mark{constructor(){super(...arguments),this.name="link",this.requires=["doc"]}getMarkSpec(){return{attrs:{href:{},title:{default:void 0},origUrl:{default:void 0},mdTemplate:{default:void 0}},inclusive:!1,parseDOM:[{tag:"a[href]",getAttrs(e){return{href:e.getAttribute("href"),title:e.getAttribute("title")}}}],toDOM(e){const{href:A,title:n}=e.attrs;return["a",{href:A,title:n},0]}}}}class MarkStrong extends Mark{constructor(){super(...arguments),this.name="strong",this.requires=["doc"]}getMarkSpec(){return{parseDOM:[{tag:"strong"},{tag:"b",getAttrs:e=>e.style.fontWeight!="normal"&&null},{style:"font-weight=400",clearMark:e=>e.type.name=="strong"},{style:"font-weight",getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}],toDOM(){return["strong",0]}}}getCommandFactories(e,A){return{toggleStrong:()=>e.commandFactories.toggleMark(A)}}getKeyboardShortcuts(){return{"Mod-b":"toggleStrong","Mod-B":"toggleStrong"}}}class MarkItalic extends Mark{constructor(){super(...arguments),this.name="em",this.requires=["doc"]}getMarkSpec(){return{parseDOM:[{tag:"i"},{tag:"em"},{style:"font-assets=italic"},{style:"font-assets=normal",clearMark:e=>e.type.name=="em"}],toDOM(){return["em",0]}}}getCommandFactories(e,A){return{toggleItalic:()=>e.commandFactories.toggleMark(A)}}getKeyboardShortcuts(){return{"Mod-i":"toggleItalic","Mod-I":"toggleItalic"}}}class MarkUnderline extends Mark{constructor(){super(...arguments),this.name="underline",this.requires=["doc"]}getMarkSpec(){return{parseDOM:[{tag:"u"}],toDOM(){return["u",0]}}}getCommandFactories(e,A){return{toggleUnderline:()=>e.commandFactories.toggleMark(A)}}getKeyboardShortcuts(){return{"Mod-u":"toggleUnderline","Mod-U":"toggleUnderline"}}}class MarkStrike extends Mark{constructor(){super(...arguments),this.name="strike",this.requires=["doc"]}getMarkSpec(){return{parseDOM:[{tag:"strike"}],toDOM(){return["strike",0]}}}getCommandFactories(e,A){return{toggleStrike:()=>e.commandFactories.toggleMark(A)}}getKeyboardShortcuts(){return{"Mod-s":"toggleStrike","Mod-S":"toggleStrike"}}}class MarkCode extends Mark{constructor(){super(...arguments),this.name="code",this.requires=["doc"]}getMarkSpec(){return{parseDOM:[{tag:"code"}],toDOM(){return["code",0]}}}getCommandFactories(e,A){return{toggleCode:()=>e.commandFactories.toggleMark(A)}}getKeyboardShortcuts(){return{"Mod-`":"toggleCode"}}}class MarkChange extends Mark{constructor(){super(...arguments),this.name="change",this.requires=["doc"]}getMarkSpec(){return{parseDOM:[],toDOM(){return["change",0]}}}}class MarkBookmark extends Mark{constructor(){super(...arguments),this.name="bookmark",this.requires=["doc"]}getMarkSpec(){return{attrs:{id:{}},parseDOM:[],toDOM(e){return["a",{id:e.attrs.id},0]}}}}class MarkTextColor extends Mark{constructor(){super(...arguments),this.name="textColor"}getMarkSpec(){return{attrs:{color:{default:null}},parseDOM:[{tag:'span[style*="color"]',getAttrs(e){const A=e.style.color;return A?{color:A}:!1}}],toDOM(e){const{color:A}=e.attrs;return A?["span",{style:`color: ${A}`},0]:["span",0]}}}}class MarkHighlight extends Mark{constructor(){super(...arguments),this.name="highlight"}getMarkSpec(){return{attrs:{color:{default:null}},parseDOM:[{tag:"mark",getAttrs(e){const A=e.style.backgroundColor;return A?{color:A}:{color:"yellow"}}},{tag:'span[style*="background-color"]',getAttrs(e){const A=e.style.backgroundColor;return A?{color:A}:!1}}],toDOM(e){const{color:A}=e.attrs;return["mark",{style:`background-color: ${A||"yellow"}; color: inherit;`},0]}}}}class MarkSuperscript extends Mark{constructor(){super(...arguments),this.name="superscript",this.requires=["doc"]}getMarkSpec(){return{excludes:"subscript",parseDOM:[{tag:"sup"},{style:"vertical-align",getAttrs:e=>e==="super"&&null}],toDOM(){return["sup",0]}}}getCommandFactories(e,A){return{toggleSuperscript:()=>e.commandFactories.toggleMark(A)}}getKeyboardShortcuts(){return{"Mod-Shift-.":"toggleSuperscript"}}}class MarkSubscript extends Mark{constructor(){super(...arguments),this.name="subscript",this.requires=["doc"]}getMarkSpec(){return{excludes:"superscript",parseDOM:[{tag:"sub"},{style:"vertical-align",getAttrs:e=>e==="sub"&&null}],toDOM(){return["sub",0]}}}getCommandFactories(e,A){return{toggleSubscript:()=>e.commandFactories.toggleMark(A)}}getKeyboardShortcuts(){return{"Mod-Shift-,":"toggleSubscript"}}}class NodeDocument extends Node$2{constructor(){super(...arguments),this.name="doc"}getNodeSpec(){return{content:"block+",marks:"code em strong link bookmark",EMPTY_DOC:{type:this.name,content:[{type:"paragraph",content:[]}]}}}}class NodeText extends Node$2{constructor(){super(...arguments),this.name="text"}getNodeSpec(){return{group:"inline"}}}function wrappingInputRule(t,e,A=null,n){return new InputRule(t,(r,o,s,a,l)=>{r||(r=o.tr);const g=A instanceof Function?A(s):A;r=r.delete(a,l);const I=r.doc.resolve(a).blockRange(),d=I&&findWrapping(I,e,g);if(!d)return null;r.wrap(I,d);const h=r.doc.resolve(a-1).nodeBefore;return h&&h.type==e&&canJoin(r.doc,a-1)&&(!n||n(s,h))&&r.join(a-1),r})}function textblockTypeInputRule(t,e,A=null){return new InputRule(t,(n,r,o,s,a)=>{n||(n=r.tr);const l=r.doc.resolve(s),g=A instanceof Function?A(o):A;return l.node(-1).canReplaceWith(l.index(-1),l.indexAfter(-1),e)?n.delete(s,a).setBlockType(s,s,e,g):null})}function replaceInlineNode(t,e,A=null){return new InputRule(t,(n,r,o,s,a)=>{n||(n=r.tr);const l=A instanceof Function?A(o):A;if(r.doc.resolve(s).parent.type===r.schema.nodes.code_block)return n;const c=e.createAndFill(l),I=n.mapping.map(s),d=n.mapping.map(a);return n.replaceWith(I,d,Fragment.from(c))})}let NodeCodeBlock$1=class extends Node$2{constructor(){super(...arguments),this.name="code_block"}getNodeSpec(){return{content:"text*",marks:"",group:"block",code:!0,defining:!0,attrs:{lang:{default:void 0}},parseDOM:[{tag:"pre",preserveWhitespace:"full",getAttrs(e){return{lang:e.getAttribute("lang")}}}],toDOM(e){const{lang:A}=e.attrs;return["pre",{lang:A},["code",0]]}}}getInputRules(e){return[textblockTypeInputRule(/^```$/,e)]}};class NodeBookmark extends Node$2{constructor(){super(...arguments),this.name="node_bookmark",this.requires=["doc"]}getNodeSpec(){return{inline:!0,group:"inline",selectable:!1,atom:!0,attrs:{id:{},nesting:{default:NESTING_SELF_CLOSING$1}},parseDOM:[],toDOM(e){return["a",{id:e.attrs.id},0]}}}}class NodeParagraph extends Node$2{constructor(){super(...arguments),this.name="paragraph",this.requires=["doc"]}getNodeSpec(){return{content:"inline*",group:"block",attrs:{textAlign:{default:void 0}},parseDOM:[{tag:"p",getAttrs(e){const n=e.style.textAlign;return n==="center"||n==="right"||n==="justify"?{textAlign:n}:!1}}],toDOM(e){const A=e.attrs.textAlign||"left";return["center","right","justify"].includes(A)?["p",{style:`text-align: ${A}`},0]:["p",0]}}}getCommandFactories(e,A){return{setParagraph:()=>e.commandFactories.setBlockType(A)}}getKeyboardShortcuts(){return{"Shift-Ctrl-0":"setParagraph"}}}class NodeHardBreak extends Node$2{constructor(){super(...arguments),this.name="br",this.requires=["doc"],this.options={keepMarks:!0}}getNodeSpec(){return{inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseDOM:[{tag:"br"}],toDOM(){return["br"]}}}getCommandFactories(e,A){const n=firstCommand(e.run.exitCode);return{setHardBreak:()=>n}}getKeyboardShortcuts(){const e=typeof navigator<"u"?/Mac|iP(hone|[oa]d)/.test(navigator?.platform):!1,A={"Ctrl-Enter":"setHardBreak"};return e&&(A["Mod-Enter"]="setHardBreak",A["Shift-Enter"]="setHardBreak"),A}}class NodeSoftBreak extends Node$2{constructor(){super(...arguments),this.name="softbreak",this.requires=["doc"]}getNodeSpec(){return{inline:!0,group:"inline",selectable:!1,parseDOM:[{tag:"wbr"}],toDOM(){return["wbr"]}}}}class NodeHorizontalRule extends Node$2{constructor(){super(...arguments),this.name="hr",this.requires=["doc"]}getNodeSpec(){return{inline:!0,group:"inline",parseDOM:[{tag:"hr"}],toDOM(){return["hr"]}}}getCommandFactories(e,A){return{setHorizontalRule:()=>(n,r)=>(r&&r(n.tr.replaceSelectionWith(A.create()).scrollIntoView()),!0)}}getKeyboardShortcuts(){return{"Mod-_":"setHorizontalRule"}}}class NodeImage extends Node$2{constructor(){super(...arguments),this.name="image",this.requires=["doc"]}getNodeSpec(){return{inline:!0,attrs:{src:{},alt:{default:null},title:{default:null},width:{default:null},height:{default:null},origUrl:{default:void 0},mdTemplate:{default:void 0}},group:"inline",draggable:!0,parseDOM:[{tag:"img[src]",getAttrs(e){return{src:e.getAttribute("src"),title:e.getAttribute("title"),alt:e.getAttribute("alt"),width:e.getAttribute("width")||e.style.width||null,height:e.getAttribute("height")||e.style.height||null}}}],toDOM(e){const{src:A,alt:n,title:r,width:o,height:s}=e.attrs,a={src:A};return n&&(a.alt=n),r&&(a.title=r),o&&(a.width=o),s&&(a.height=s),["img",a]}}}getNodeView(e){return(A,n,r)=>{const o=document.createElement("span");o.className="kb-image-wrapper",o.contentEditable="false";const s=document.createElement("img");s.src=A.attrs.src,A.attrs.alt&&(s.alt=A.attrs.alt),A.attrs.title&&(s.title=A.attrs.title),A.attrs.width&&(s.style.width=typeof A.attrs.width=="number"?`${A.attrs.width}px`:A.attrs.width),A.attrs.height&&(s.style.height=typeof A.attrs.height=="number"?`${A.attrs.height}px`:A.attrs.height),s.draggable=!1,o.appendChild(s);const a=["nw","ne","sw","se"];for(const Q of a){const p=document.createElement("span");p.className=`kb-image-resize-handle kb-image-resize-handle-${Q}`,p.dataset.position=Q,o.appendChild(p)}let l=!1,g=0,c=0,I=0,d=0,h=1,u=null;const B=Q=>{const p=Q.target;if(!p.classList.contains("kb-image-resize-handle"))return;Q.preventDefault(),Q.stopPropagation(),l=!0,u=p.dataset.position||null,g=Q.clientX,c=Q.clientY;const m=s.getBoundingClientRect();I=m.width,d=m.height,h=I/d,o.classList.add("kb-image-resizing"),document.addEventListener("mousemove",E),document.addEventListener("mouseup",f)},E=Q=>{if(!l)return;const p=Q.clientX-g,m=Q.clientY-c;let y=I,w=d;switch(u){case"se":y=I+p,w=Q.shiftKey?d+m:y/h;break;case"sw":y=I-p,w=Q.shiftKey?d+m:y/h;break;case"ne":y=I+p,w=Q.shiftKey?d-m:y/h;break;case"nw":y=I-p,w=Q.shiftKey?d-m:y/h;break}y=Math.max(50,y),w=Math.max(50,w),s.style.width=`${Math.round(y)}px`,s.style.height=`${Math.round(w)}px`},f=()=>{if(!l)return;l=!1,u=null,o.classList.remove("kb-image-resizing"),document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",f);const Q=Math.round(s.getBoundingClientRect().width),p=Math.round(s.getBoundingClientRect().height),m=r();if(typeof m=="number"){const y=n.state.tr.setNodeMarkup(m,void 0,{...A.attrs,width:`${Q}px`,height:`${p}px`});n.dispatch(y)}};return o.addEventListener("mousedown",B),o.addEventListener("click",Q=>{Q.preventDefault();const p=r();if(typeof p=="number"){const m=n.state.doc.resolve(p),y=Selection.near(m);n.dispatch(n.state.tr.setSelection(y))}}),{dom:o,update:Q=>Q.type.name!=="image"?!1:(s.src=Q.attrs.src,Q.attrs.alt&&(s.alt=Q.attrs.alt),Q.attrs.title&&(s.title=Q.attrs.title),Q.attrs.width?s.style.width=typeof Q.attrs.width=="number"?`${Q.attrs.width}px`:Q.attrs.width:s.style.width="",Q.attrs.height?s.style.height=typeof Q.attrs.height=="number"?`${Q.attrs.height}px`:Q.attrs.height:s.style.height="",!0),destroy:()=>{o.removeEventListener("mousedown",B),document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",f)},stopEvent:Q=>Q.type==="mousedown"&&Q.target.classList.contains("kb-image-resize-handle"),ignoreMutation:()=>!0}}}}class NodeVideo extends Node$2{constructor(){super(...arguments),this.name="video",this.requires=["doc"]}getNodeSpec(){return{attrs:{src:{},title:{default:null},controls:{default:!0},width:{default:null},height:{default:null}},group:"block",draggable:!0,parseDOM:[{tag:"video[src]",getAttrs(e){return{src:e.getAttribute("src"),title:e.getAttribute("title"),controls:e.hasAttribute("controls"),width:e.getAttribute("width"),height:e.getAttribute("height")}}}],toDOM(e){const{src:A,title:n,controls:r,width:o,height:s}=e.attrs,a={src:A};return n&&(a.title=n),r&&(a.controls=""),o&&(a.width=o),s&&(a.height=s),["video",a]}}}}class NodeBlockquote extends Node$2{constructor(){super(...arguments),this.name="blockquote",this.requires=["doc"]}getNodeSpec(){return{content:"block+",group:"block",defining:!0,parseDOM:[{tag:"blockquote"}],toDOM(){return["blockquote",0]}}}getInputRules(e){return[wrappingInputRule(/^\s*>\s$/,e)]}getCommandFactories(e,A){return{toggleBlockquote:()=>e.commandFactories.wrapInList(A)}}getKeyboardShortcuts(){return{"Ctrl->":"toggleBlockquote"}}}class NodeAside extends Node$2{constructor(){super(...arguments),this.name="aside",this.requires=["doc"]}getNodeSpec(){return{content:"block+",group:"block",defining:!0,parseDOM:[{tag:"aside"}],toDOM(){return["aside",0]}}}}const maxLevel=6;class NodeHeading extends Node$2{constructor(){super(...arguments),this.name="heading",this.requires=["doc"]}getNodeSpec(){return{attrs:{level:{default:1}},content:"inline*",group:"block",defining:!0,parseDOM:[{tag:"h1",attrs:{level:1}},{tag:"h2",attrs:{level:2}},{tag:"h3",attrs:{level:3}},{tag:"h4",attrs:{level:4}},{tag:"h5",attrs:{level:5}},{tag:"h6",attrs:{level:6}}],toDOM(e){return["h"+e.attrs.level,0]}}}getInputRules(e){return[textblockTypeInputRule(new RegExp("^(#{1,"+maxLevel+"})\\s$"),e,A=>({level:A[1].length}))]}getCommandFactories(e,A){const n={};for(let r=1;r<=maxLevel;r++)n["setHeading"+r]=()=>e.commandFactories.setBlockType(A,{level:r});return n}getKeyboardShortcuts(){const e={};for(let A=1;A<=maxLevel;A++)e["Shift-Ctrl-"+A]="setHeading"+A;return e}}class NodeMath extends Node$2{constructor(){super(...arguments),this.name="math",this.requires=["doc"]}getNodeSpec(){return{inline:!0,attrs:{lang:{default:"mathml"},content:{}},group:"inline",draggable:!0,parseDOM:[{tag:"math",getAttrs:e=>({lang:"mathml",content:new XMLSerializer().serializeToString(e)})}],toDOM(e){const n=new DOMParser().parseFromString(e.attrs.content,"application/xml");return n.getElementsByTagName("parsererror").length>0?["span",{class:"mathml-error"},"Invalid MathML"]:document.importNode(n.documentElement,!0)}}}}class NodeDefinitionList extends Node$2{constructor(){super(...arguments),this.name="dl",this.requires=["doc"]}getNodeSpec(){return{content:"dt+|dd+",group:"block",parseDOM:[{tag:"dl"}],toDOM(){return["dl",0]}}}getInputRules(e){return[]}getCommandFactories(e,A){return{toggleDefinitionList:()=>e.commandFactories.wrapInList(A)}}getKeyboardShortcuts(){return{}}}class NodeDefinitionTerm extends Node$2{constructor(){super(...arguments),this.name="dt",this.requires=["dl"]}getNodeSpec(){return{content:"inline*",group:"block",parseDOM:[{tag:"dt"}],defining:!0,toDOM(){return["dt",0]}}}}class NodeDefinitionDesc extends Node$2{constructor(){super(...arguments),this.name="dd",this.requires=["dl"]}getNodeSpec(){return{content:"inline*",group:"block",parseDOM:[{tag:"dd"}],defining:!0,toDOM(){return["dd",0]}}}}class NodeFrontmatter extends Node$2{constructor(){super(...arguments),this.name="frontmatter",this.requires=["doc"]}getNodeSpec(){return{content:"inline*",group:"block",defining:!0,parseDOM:[{tag:"pre"}],toDOM(){return["pre",0]}}}}function fixCharacters$1(t){return t.replace(/’/g,"'").replace(/“/g,'"').replace(/”/g,'"').replace(/\x0b/g," ").replace(/\u201d/g,'"').replace(/\u201c/g,'"')}function replaceAllNodesOfType(t,e,A,n){const r=[];e.descendants((o,s)=>{o.type===A&&r.push({node:o,pos:s})});for(let o=r.length-1;o>=0;o--){const{node:s,pos:a}=r[o],l=n(s,t.doc.type.schema);t=t.replaceWith(a,a+s.nodeSize,l)}return t}class NodeInlineShortCode extends Node$2{constructor(){super(...arguments),this.name="shortcode_inline",this.requires=["doc"]}getNodeSpec(){return{inline:!0,group:"inline",selectable:!0,atom:!0,attrs:{id:{default:void 0},content:{default:""},nesting:{default:NESTING_SELF_CLOSING$1},error:{default:""}},parseDOM:[{tag:"span.kb-shortcode-inline",getAttrs:e=>({content:e.textContent||null})}],toDOM(e){return["span",{class:"kb-shortcode-inline"},e.attrs.content||""]}}}getInputRules(e){return[replaceInlineNode(/\{\{[^}]+\}\}/,e,A=>({content:fixCharacters$1(A[0].substring(2,A[0].length-2))}))]}getCommandFactories(e,A){return{renderShortCode:n=>(r,o)=>{let s=r.tr;return s=replaceAllNodesOfType(s,r.doc,A,n),s.docChanged&&o&&o(s),!0}}}}class NodeIframe extends Node$2{constructor(){super(...arguments),this.name="iframe",this.requires=["doc"]}getNodeSpec(){return{inline:!0,attrs:{src:{},class:{default:null},alt:{default:null},title:{default:null}},group:"inline",draggable:!0,parseDOM:[{tag:"iframe[src]",getAttrs(e){return{src:e.getAttribute("src"),title:e.getAttribute("title"),alt:e.getAttribute("alt")}}}],toDOM(e){const{src:A,alt:n,title:r}=e.attrs;return["iframe",{src:A,alt:n,title:r,class:e.attrs.class}]}}}}function collectCommentAnchors(t){const e=new Map,A=new Map;return t.descendants((n,r)=>{n.type.name==="comment"&&(n.attrs.nesting===NESTING_OPENING$1&&e.set(n.attrs.id,r),n.attrs.nesting===NESTING_CLOSING$1&&A.set(n.attrs.id,r))}),{starts:e,ends:A}}function buildCommentRanges(t){const{starts:e,ends:A}=collectCommentAnchors(t),n=[];for(const[r,o]of e){const s=A.get(r);!s||s<=o||n.push({id:r,from:o+1,to:s})}return n}function buildDecorations(t){const e=buildCommentRanges(t);return DecorationSet.create(t,e.map(({id:A,from:n,to:r})=>Decoration.inline(n,r,{class:"comment-highlight","data-comment-id":A})))}function commentsPlugin(){return new Plugin({state:{init(t,{doc:e}){return buildDecorations(e)},apply(t,e,A,n){return t.docChanged?buildDecorations(n.doc):e}},props:{decorations(t){return this.getState(t)}}})}const addCommentBoundary=t=>(e,A)=>{const{schema:n,selection:r}=e,{from:o,to:s}=r,a=n.nodes.comment;if(!a)return!1;const l=a.create({id:t,nesting:NESTING_OPENING$1}),g=a.create({id:t,nesting:NESTING_CLOSING$1}),c=e.tr;return c.insert(s,g),c.insert(o,l),A&&A(c),!0};class NodeCommentAnchor extends Node$2{constructor(){super(...arguments),this.name="comment",this.requires=["doc"],this.options={keepMarks:!0}}getNodeSpec(){return{inline:!0,group:"inline",selectable:!1,atom:!0,attrs:{id:{},active:{default:!1},nesting:{default:NESTING_OPENING$1}},parseDOM:[{tag:"span[data-comment-id]",getAttrs(e){return{id:e.getAttribute("data-comment-id"),nesting:parseInt(e.getAttribute("data-nesting")||"1"),active:e.hasAttribute("data-active")}}}],toDOM:e=>["span",{"data-comment-id":e.attrs.id,"data-active":e.attrs.active?"true":void 0,"data-nesting":e.attrs.nesting}]}}getCommandFactories(e,A){return{addComment:(n,r)=>addCommentBoundary(n)}}getProseMirrorPlugins(){return[commentsPlugin()]}}function splitListItem(t,e){const A=function(n,r){const{$from:o,$to:s,node:a}=n.selection;if(a&&a.isBlock||o.depth<2||!o.sameParent(s))return!1;const l=o.node(-1);if(l.type!=t)return!1;if(o.parent.content.size==0&&o.node(-1).childCount==o.indexAfter(-1)){if(o.depth==3||o.node(-3).type!=t||o.index(-2)!=o.node(-2).childCount-1)return!1;if(r){let d=Fragment.empty;const h=o.index(-1)?1:o.index(-2)?2:3;for(let Q=o.depth-h;Q>=o.depth-3;Q--)d=Fragment.from(o.node(Q).copy(d));let u=o.indexAfter(-1)<o.node(-2).childCount?1:o.indexAfter(-2)<o.node(-3).childCount?2:3;d=d.append(Fragment.from(t.createAndFill()));let B=o.before(o.depth-(h-1)),E=n.tr.replace(B,o.after(-u),new Slice(d,4-h,0)),f=-1;E.doc.nodesBetween(B,E.doc.content.size,(Q,p)=>{if(f>-1)return!1;Q.isTextblock&&Q.content.size==0&&(f=p+1)}),f>-1&&E.setSelection(Selection.near(E.doc.resolve(f))),r(E.scrollIntoView())}return!0}let g=s.pos==o.end()?l.contentMatchAt(0).defaultType:null,c=n.tr.delete(o.pos,s.pos),I=g?[null,{type:g}]:void 0;return canSplit(c.doc,o.pos,2,I)?(r&&r(c.split(o.pos,2,I).scrollIntoView()),!0):!1};return A.displayName=`splitListItem(${t.name})`,A}function liftListItem(t){return function(e,A){let{$from:n,$to:r}=e.selection,o=n.blockRange(r,s=>s.childCount>0&&s.firstChild.type==t);return o?A?n.node(o.depth-1).type==t?liftToOuterList(e,A,t,o):liftOutOfList(e,A,o):!0:!1}}function liftToOuterList(t,e,A,n){let r=t.tr,o=n.end,s=n.$to.end(n.depth);o<s&&(r.step(new ReplaceAroundStep(o-1,s,o,s,new Slice(Fragment.from(A.create(null,n.parent.copy())),1,0),1,!0)),n=new NodeRange(r.doc.resolve(n.$from.pos),r.doc.resolve(s),n.depth));const a=liftTarget(n);if(a==null)return!1;r.lift(n,a);let l=r.doc.resolve(r.mapping.map(o,-1)-1);return canJoin(r.doc,l.pos)&&l.nodeBefore.type==l.nodeAfter.type&&r.join(l.pos),e(r.scrollIntoView()),!0}function liftOutOfList(t,e,A){let n=t.tr,r=A.parent;for(let h=A.end,u=A.endIndex-1,B=A.startIndex;u>B;u--)h-=r.child(u).nodeSize,n.delete(h-1,h+1);let o=n.doc.resolve(A.start),s=o.nodeAfter;if(n.mapping.map(A.end)!=A.start+o.nodeAfter.nodeSize)return!1;let a=A.startIndex==0,l=A.endIndex==r.childCount,g=o.node(-1),c=o.index(-1);if(!g.canReplace(c+(a?0:1),c+1,s.content.append(l?Fragment.empty:Fragment.from(r))))return!1;let I=o.pos,d=I+s.nodeSize;return n.step(new ReplaceAroundStep(I-(a?1:0),d+(l?1:0),I+1,d-1,new Slice((a?Fragment.empty:Fragment.from(r.copy(Fragment.empty))).append(l?Fragment.empty:Fragment.from(r.copy(Fragment.empty))),a?0:1,l?0:1),a?0:1)),e(n.scrollIntoView()),!0}function sinkListItem(t){return function(e,A){const{$from:n,$to:r}=e.selection,o=n.blockRange(r,g=>g.childCount>0&&g.firstChild.type==t);if(!o)return!1;const s=o.startIndex;if(s==0)return!1;const a=o.parent,l=a.child(s-1);if(l.type!=t)return!1;if(A){const g=l.lastChild&&l.lastChild.type==a.type,c=Fragment.from(g?t.create():null),I=new Slice(Fragment.from(t.create(null,Fragment.from(a.type.create(null,c)))),g?3:1,0),d=o.start,h=o.end;A(e.tr.step(new ReplaceAroundStep(d-(g?3:1),h,d,h,I,1,!0)).scrollIntoView())}return!0}}const isList=t=>t.endsWith("_list"),clearNodes=()=>(t,e)=>{const A=t.tr,{selection:n}=A,{ranges:r}=n;return e&&r.forEach(({$from:o,$to:s})=>{t.doc.nodesBetween(o.pos,s.pos,(a,l)=>{if(a.type.isText)return;const{doc:g,mapping:c}=A,I=g.resolve(c.map(l)),d=g.resolve(c.map(l+a.nodeSize)),h=I.blockRange(d);if(!h)return;const u=liftTarget(h);if(a.type.isTextblock){const{defaultType:B}=I.parent.contentMatchAt(I.index());A.setNodeMarkup(h.start,B)}(u||u===0)&&A.lift(h,u)})}),!0};function findParentNodeClosestToPos(t,e){for(let A=t.depth;A>0;A-=1){const n=t.node(A);if(e(n))return{pos:A>0?t.before(A):0,start:t.start(A),depth:A,node:n}}}function findParentNode(t){return e=>findParentNodeClosestToPos(e.$from,t)}const joinListBackwards=(t,e)=>{const A=findParentNode(s=>s.type===e)(t.selection);if(!A)return!0;const n=t.doc.resolve(Math.max(0,A.pos-1)).before(A.depth);if(n===void 0)return!0;const r=t.doc.nodeAt(n);return A.node.type===r?.type&&canJoin(t.doc,A.pos)&&t.join(A.pos),!0},joinListForwards=(t,e)=>{const A=findParentNode(s=>s.type===e)(t.selection);if(!A)return!0;const n=t.doc.resolve(A.start).after(A.depth);if(n===void 0)return!0;const r=t.doc.nodeAt(n);return A.node.type===r?.type&&canJoin(t.doc,n)&&t.join(n),!0},toggleList=(t,e,A,n={})=>function(r,o,s){if(!this)throw new Error("Call this with Function.apply");const a=this.editor,l=Object.keys(r.schema.marks).filter(p=>p!=="link"),g=r.schema.nodes[t],c=r.schema.nodes[e],{selection:I,storedMarks:d}=r,{$from:h,$to:u}=I,B=h.blockRange(u),E=d||(I.$to.parentOffset?I.$from.marks():[]);if(!B)return!1;const f=findParentNode(p=>isList(p.type.name))(I),Q=r.tr;if(B.depth>=1&&f&&B.depth-f.depth<=1){if(f.node.type===g)return liftListItem(c).apply(this,[r,o,s]);if(isList(f.node.type.name)&&g.validContent(f.node.content)&&o)return a.chain(Q).command(()=>(Q.setNodeMarkup(f.pos,g),!0)).command(()=>joinListBackwards(Q,g)).command(()=>joinListForwards(Q,g)).command(()=>o(Q)).run()}return!A||!E||!o?a.chain(Q).command(()=>a.can().wrapInList(g,n).run()?!0:a.chain(Q).lift().run()).wrapInList(g,n).command(()=>joinListBackwards(Q,g)).command(()=>joinListForwards(Q,g)).command(()=>(o&&o(Q),!0)).run():a.chain(Q).command(()=>{const p=a.can().wrapInList(g,n).run(),m=E.filter(y=>l.includes(y.type.name));return Q.ensureMarks(m),p?!0:(f&&Q.setSelection(NodeSelection.create(r.doc,f.pos)),clearNodes().apply(this,[r,o,s]))}).wrapInList(g,n).command(()=>joinListBackwards(Q,g)).command(()=>joinListForwards(Q,g)).command(()=>(o&&o(Q),!0)).run()};class NodeOrderedList extends Node$2{constructor(){super(...arguments),this.name="ordered_list",this.requires=["doc"],this.attributes={type:{default:"1",fromDom(e){return e.hasAttribute("type")?e.getAttribute("type"):"1"}},start:{default:void 0,fromDom(e){return e.hasAttribute("start")?+e.getAttribute("start"):void 0}},id:{default:void 0},continue:{default:void 0},odtMarginLeft:{default:void 0}}}getNodeSpec(){return{content:"list_item+",group:"block list",parseDOM:[{tag:"ol",getAttrs:e=>setHtmlAttributes(this,e)}],toDOM:e=>["ol",getHtmlAttributes(this,e),0]}}getInputRules(e){return[wrappingInputRule(/^(\d+)\.\s$/,e,A=>({order:+A[1]}),(A,n)=>n.childCount+n.attrs.order==+A[1])]}getCommandFactories(e,A){return{toggleOrderedList:()=>toggleList("ordered_list","list_item",!1)}}getKeyboardShortcuts(){return{"Shift-Ctrl-7":"toggleOrderedList"}}}class NodeBulletList extends Node$2{constructor(){super(...arguments),this.name="bullet_list",this.requires=["doc"],this.attributes={toc:{default:void 0},odtMarginLeft:{default:void 0}}}getNodeSpec(){return{content:"list_item+",group:"block list",parseDOM:[{tag:"ul"}],toDOM(){return["ul",0]}}}getInputRules(e){return[wrappingInputRule(/^\s*([-+*])\s$/,e)]}getCommandFactories(e,A){return{toggleBulletList:()=>toggleList("bullet_list","list_item",!1)}}getKeyboardShortcuts(){return{"Shift-Ctrl-8":"toggleBulletList"}}}class NodeListItem extends Node$2{constructor(){super(...arguments),this.name="list_item",this.requires=["doc"],this.attributes={value:{default:void 0},type:{default:void 0,fromDom(e){return e.hasAttribute("type")?e.getAttribute("type"):void 0},toDom(e){return e.attrs.type}}}}getNodeSpec(){return{content:"paragraph block*",defining:!0,parseDOM:[{tag:"li",getAttrs:e=>setHtmlAttributes(this,e)}],toDOM:e=>["li",getHtmlAttributes(this,e),0]}}getCommandFactories(e,A){return{splitListItem:()=>splitListItem(A),liftListItem:()=>liftListItem(A),sinkListItem:()=>sinkListItem(A)}}getKeyboardShortcuts(){return{Enter:"splitListItem",Tab:"sinkListItem","Shift-Tab":"liftListItem"}}}class NodeTaskList extends Node$2{constructor(){super(...arguments),this.name="task_list",this.requires=["doc"]}getNodeSpec(){return{content:"task_item+",group:"block list",parseDOM:[{tag:`ul[data-type="${this.name}"]`}],toDOM:()=>["ul",{"data-type":this.name},0]}}getCommandFactories(){return{toggleTaskList:()=>toggleList("task_list","task_item")}}getKeyboardShortcuts(){return{"Shift-Ctrl-9":"toggleTaskList"}}}class NodeViewTaskItem{constructor(e,...A){this.editor=e,this.config={},this.node=A[0],this.view=A[1],this.getPos=A[2];const n=document.createElement("li");this.dom=n;const r=document.createElement("label");r.contentEditable="false";const o=document.createElement("input");this.checkbox=o,o.type="checkbox",o.checked=this.node.attrs.checked,r.append(o);const s=document.createElement("div");this.contentDOM=s,n.append(r,s),n.dataset.checked=this.node.attrs.checked,o.addEventListener("mousedown",a=>a.preventDefault()),o.addEventListener("change",a=>{const l=this.getPos();if(typeof l!="number")return;this.editor.view.editable;const{checked:g}=a.target,c=e.state.tr,I=c.doc.nodeAt(l);c.setNodeMarkup(l,void 0,{...I?.attrs,checked:g}),e.dispatchTransaction(c)})}static{this.create=(e,...A)=>new NodeViewTaskItem(e,...A)}update(e){return e.type.name!==this.node.type.name?!1:(this.dom.dataset.checked=e.attrs.checked,this.checkbox.checked=e.attrs.checked,!0)}}class NodeTaskItem extends Node$2{constructor(e={nested:!0}){super(e),this.config=e,this.name="task_item",this.requires=["doc"]}getNodeSpec(){return{attrs:{checked:{default:!1}},content:this.config.nested?"paragraph block*":"paragraph+",defining:!0,parseDOM:[{tag:"li[data-checked]",getAttrs(e){return{checked:e.getAttribute("data-checked")==="true"}}}],toDOM:e=>["li",{"data-type":this.name,"data-checked":e.attrs.checked},["label",["input",{type:"checkbox",checked:e.attrs.checked?"checked":null},["span"]],["div",0]]]}}getCommandFactories(e,A){return{splitListItem:()=>splitListItem(A),liftListItem:()=>liftListItem(A),sinkListItem:()=>sinkListItem(A)}}getNodeView(e){return(...A)=>NodeViewTaskItem.create(e,...A)}getKeyboardShortcuts(){return{Enter:"splitListItem",Tab:"sinkListItem","Shift-Tab":"liftListItem"}}getInputRules(e){return[wrappingInputRule(/^\s*(\[([( |x])?\])\s$/,e,n=>({checked:n[n.length-1]==="x"}))]}}class BasicEditorKit{getExtensions(){return[new ExtensionBaseKeymap,new ExtensionDropcursor,new ExtensionGapcursor,new ExtensionHtml,new ExtensionMediaUpload,new ExtensionRemoteSelection,new ExtensionSelection,new ExtensionTextAlign,new ExtensionPairing,new ExtensionUser,new NodeDocument,new NodeText,new NodeParagraph,new NodeHardBreak,new NodeSoftBreak,new NodeCodeBlock$1,new NodeBookmark,new NodeHorizontalRule,new NodeOrderedList,new NodeBulletList,new NodeListItem,new NodeTaskList,new NodeTaskItem,new NodeDefinitionList,new NodeDefinitionTerm,new NodeDefinitionDesc,new NodeTaskList,new NodeTaskItem,new NodeFrontmatter,new NodeImage,new NodeVideo,new NodeBlockquote,new NodeAside,new NodeHeading,new NodeMath,new NodeInlineShortCode,new NodeIframe,new NodeCommentAnchor,new MarkLink,new MarkItalic,new MarkStrong,new MarkUnderline,new MarkStrike,new MarkCode,new MarkChange,new MarkBookmark,new MarkTextColor,new MarkHighlight,new MarkSuperscript,new MarkSubscript]}}const kit=new BasicEditorKit;class ExtensionBasicEditor extends Extension{constructor(){super(...arguments),this.name="basic-editor",this.requires=kit.getExtensions()}}const manifest=[{repo:"tree-sitter/tree-sitter",version:"latest",files:["web-tree-sitter.tar.gz/web-tree-sitter.wasm","web-tree-sitter.tar.gz/web-tree-sitter.js"]},{repo:"ggodlewski/tree-sitter-mermaid",version:"latest",files:["tree-sitter-mermaid.wasm"],queries:{"highlights.scm":"master/queries/highlights.scm"}},{repo:"tree-sitter-grammars/tree-sitter-markdown",version:"latest",files:["tree-sitter-markdown.wasm","tree-sitter-markdown_inline.wasm"],queries:{"highlights.scm":"split_parser/tree-sitter-markdown/queries/highlights.scm","injections.scm":"split_parser/tree-sitter-markdown/queries/injections.scm","highlights-inline.scm":"split_parser/tree-sitter-markdown-inline/queries/highlights.scm","injections-inline.scm":"split_parser/tree-sitter-markdown-inline/queries/injections.scm"}},{repo:"tree-sitter-grammars/tree-sitter-diff",version:"latest",files:["tree-sitter-diff.wasm"],queries:{"highlights.scm":"main/queries/highlights.scm"}},{repo:"tree-sitter-grammars/tree-sitter-xml",version:"latest",files:["tree-sitter-xml.wasm","tree-sitter-dtd.wasm"],queries:{"highlights.scm":"master/queries/xml/highlights.scm","highlights-dtd.scm":"master/queries/dtd/highlights.scm"}},{repo:"tree-sitter/tree-sitter-html",version:"latest",files:["tree-sitter-html.wasm"],queries:{"highlights.scm":"master/queries/highlights.scm","injections.scm":"master/queries/injections.scm"}},{repo:"tree-sitter/tree-sitter-css",version:"latest",files:["tree-sitter-css.wasm"],queries:{"highlights.scm":"master/queries/highlights.scm"}},{repo:"tree-sitter-grammars/tree-sitter-toml",version:"latest",files:["tree-sitter-toml.wasm"],queries:{"highlights.scm":"master/queries/highlights.scm"}},{repo:"tree-sitter/tree-sitter-json",version:"latest",files:["tree-sitter-json.wasm"],queries:{"highlights.scm":"master/queries/highlights.scm"}},{repo:"tree-sitter/tree-sitter-regex",version:"latest",files:["tree-sitter-regex.wasm"],queries:{"highlights.scm":"master/queries/highlights.scm"}},{repo:"tree-sitter/tree-sitter-rust",version:"latest",files:["tree-sitter-rust.wasm"],queries:{"highlights.scm":"master/queries/highlights.scm","injections.scm":"master/queries/injections.scm","tags.scm":"master/queries/tags.scm"}},{repo:"tree-sitter/tree-sitter-typescript",version:"latest",files:["tree-sitter-typescript.wasm","tree-sitter-tsx.wasm"],queries:{"highlights.scm":"master/queries/highlights.scm","locals.scm":"master/queries/locals.scm","tags.scm":"master/queries/tags.scm"}},{repo:"tree-sitter/tree-sitter-java",version:"latest",files:["tree-sitter-java.wasm"],queries:{"highlights.scm":"master/queries/highlights.scm","tags.scm":"master/queries/tags.scm"}},{repo:"tree-sitter/tree-sitter-javascript",version:"latest",files:["tree-sitter-javascript.wasm"],queries:{"highlights.scm":"master/queries/highlights.scm","highlights-jsx.scm":"master/queries/highlights-jsx.scm","highlights-params.scm":"master/queries/highlights-params.scm","injections.scm":"master/queries/injections.scm","locals.scm":"master/queries/locals.scm","tags.scm":"master/queries/tags.scm"}},{repo:"tree-sitter-grammars/tree-sitter-yaml",files:["tree-sitter-yaml.wasm"],queries:{"highlights.scm":"master/queries/highlights.scm"}}];function getLangsList(){return manifest.map(t=>t.repo.split("-").pop()).filter(t=>typeof t=="string")}function getLangTreeSitter(t){const e=manifest.find(n=>n.repo.endsWith("-"+t));if(!e)throw new Error("No grammar for: "+t);const A=e.repo.split("/")[1];return{lang:t,dir:A,repo:e.repo,files:e.files,queries:e.queries}}class NodeCodeBlock extends Node$2{name="code_block";getNodeSpec(){return{content:"text*",marks:"",group:"block",code:!0,defining:!0,attrs:{lang:{default:void 0}},parseDOM:[{tag:"pre",preserveWhitespace:"full",getAttrs(e){return{lang:e.getAttribute("lang")}}}],toDOM(e){const{lang:A}=e.attrs;return["pre",{lang:A},["code",0]]}}}getInputRules(e){return[textblockTypeInputRule(/^```$/,e)]}}class PositionMapper{constructor(e,A){this.rawTextMap=A,this.doc=e.state.doc,this.rawTextArr=[];for(const n of A)n.nodeIdx>0&&this.rawTextArr.push({nodeIdx:n.nodeIdx,maxNodeIdx:n.nodeIdx,targetPos:n.targetPos,targetRow:n.targetRow,targetCol:n.targetCol});this.rawTextArr.sort((n,r)=>n.nodeIdx-r.nodeIdx);for(let n=0;n<this.rawTextArr.length;n++){const r=n+1;r<this.rawTextArr.length?this.rawTextArr[n].maxNodeIdx=this.rawTextArr[r].nodeIdx-1:this.rawTextArr[n].maxNodeIdx=this.doc.nodeSize}}rawTextArr;doc;toRawTextPos(e){for(let A=0;A<this.rawTextArr.length;A++){const n=this.rawTextArr[A];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return n.targetPos+e-n.nodeIdx}return-1}toRawTextLspPos(e){for(let A=0;A<this.rawTextArr.length;A++){const n=this.rawTextArr[A];if(e>=n.nodeIdx&&e<=n.maxNodeIdx)return{line:n.targetRow,character:n.targetCol+e-n.nodeIdx}}return{line:0,character:0}}fromLineChar(e,A){for(let n=0;n<this.rawTextArr.length;n++){const r=this.rawTextArr[n],o=r.maxNodeIdx-r.nodeIdx+1;if(r.targetRow===e){if(A>=r.targetCol&&A<r.targetCol+o){const l=A-r.targetCol;return r.nodeIdx+l}const s=this.rawTextArr[n+1];if((!s||s.targetRow>r.targetRow)&&A>=r.targetCol+o)return r.maxNodeIdx}}return-1}}const globalWindow=window;function visit(t,e){const A=[];t.firstChild&&A.push(t.firstChild);let n=A.pop();for(;n&&e(n)!=="stop";)n.nextSibling&&A.push(n.nextSibling),n.firstChild&&A.push(n.firstChild),n=A.pop()}function isCtrl(t){return t.metaKey||t.ctrlKey}function isUndo(t){return isCtrl(t)&&!t.shiftKey&&getKeyCode(t)==="Z"}function isRedo(t){return isCtrl(t)&&t.shiftKey&&getKeyCode(t)==="Z"}function isCopy(t){return isCtrl(t)&&getKeyCode(t)==="C"}function getKeyCode(t){let e=t.key||t.keyCode||t.which;if(e)return(typeof e=="string"?e:String.fromCharCode(e)).toUpperCase()}function insert$1(t){t=t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;"),document.execCommand("insertHTML",!1,t)}function debounce(t,e){let A=0;return(...n)=>{clearTimeout(A),A=window.setTimeout(()=>t(...n),e)}}function findPadding(t){let e=t.length-1;for(;e>=0&&t[e]!==`
17
+ `;)e--;e++;let A=e;for(;A<t.length&&/[ \t]/.test(t[A]);)A++;return[t.substring(e,A)||"",e,A]}class CodeJar extends EventTarget{constructor(e,A,n={}){super(),this.editor=e,this.highlight=A,this.listeners=[],this.history=[],this.at=-1,this.onUpdateCbk=()=>{},this.focus=!1,this.options={tab:" ",indentOn:/[({\[]$/,moveToNewLine:/^[)}\]]/,spellcheck:!1,catchTab:!0,preserveIdent:!0,addClosing:!0,history:!0,window:globalWindow,autoclose:{open:"",close:""},...n};const r=this.options.window,o=r.document;e.style.outline="none",e.style.overflowWrap="break-word",e.style.overflowY="auto",e.style.whiteSpace="pre-wrap";const s=r.navigator.userAgent.match(/Firefox\/([0-9]+)\./),a=s?parseInt(s[1]):0;let l=!1;n.readOnly||(e.setAttribute("contenteditable","plaintext-only"),(e.contentEditable!=="plaintext-only"||a>=136)&&(console.log("editor.contentEditable",e.contentEditable),l=!0),l&&e.setAttribute("contenteditable","true"),e.setAttribute("spellcheck",this.options.spellcheck?"true":"false"));const g=debounce(()=>{const D=this.save();this.doHighlight(e,D),this.restore(D)},30);let c=!1;const I=D=>!isUndo(D)&&!isRedo(D)&&D.key!=="Meta"&&D.key!=="Control"&&D.key!=="Alt"&&!D.key.startsWith("Arrow"),d=debounce(D=>{I(D)&&(this.recordHistory(),c=!1)},300),h=(D,_)=>{this.listeners.push([D,_]),this.editor.addEventListener(D,_)};h("keydown",D=>{D.defaultPrevented||(this.prev=this.toString(),this.options.preserveIdent?E(D):f(D),this.options.catchTab&&p(D),this.options.addClosing&&Q(D),this.options.history&&(m(D),I(D)&&!c&&(this.recordHistory(),c=!0)),l&&!isCopy(D)&&this.restore(this.save()))}),h("keyup",D=>{D.defaultPrevented||D.isComposing||(this.prev!==this.toString()&&g(),d(D),this.onUpdateCbk(this.toString()))}),h("focus",D=>{this.focus=!0}),h("blur",D=>{this.focus=!1}),h("paste",D=>{this.recordHistory(),y(D),this.recordHistory(),this.onUpdateCbk(this.toString())}),h("cut",D=>{this.recordHistory(),w(D),this.recordHistory(),this.onUpdateCbk(this.toString())});const u=()=>{const _=this.getSelection().getRangeAt(0),k=o.createRange();return k.selectNodeContents(e),k.setEnd(_.startContainer,_.startOffset),k.toString()},B=()=>{const _=this.getSelection().getRangeAt(0),k=o.createRange();return k.selectNodeContents(e),k.setStart(_.endContainer,_.endOffset),k.toString()},E=D=>{if(D.key==="Enter"){const _=u(),k=B();let[S]=findPadding(_),F=S;if(this.options.indentOn.test(_)&&(F+=this.options.tab),F.length>0?(D.preventDefault(),D.stopPropagation(),insert$1(`
18
+ `+F)):f(D),F!==S&&this.options.moveToNewLine.test(k)){const N=this.save();insert$1(`
19
+ `+S),this.restore(N)}}},f=D=>{if(l&&D.key==="Enter")if(D.preventDefault(),D.stopPropagation(),B()==""){insert$1(`
20
+ `);const _=this.save();_&&(_.start=--_.end,this.restore(_))}else insert$1(`
21
+ `)},Q=D=>{const _=this.options.autoclose.open,k=this.options.autoclose.close;if(_.includes(D.key)){D.preventDefault();const S=this.save(),F=S.start==S.end?"":this.getSelection().toString(),N=D.key+F+(k[_.indexOf(D.key)]??"");insert$1(N),S.start++,S.end++,this.restore(S)}},p=D=>{if(D.key==="Tab")if(D.preventDefault(),D.shiftKey){const _=u();let[k,S]=findPadding(_);if(k.length>0){const F=this.save(),N=Math.min(this.options.tab.length,k.length);this.restore({start:S,end:S+N}),o.execCommand("delete"),F.start-=N,F.end-=N,this.restore(F)}}else insert$1(this.options.tab)},m=D=>{if(isUndo(D)){D.preventDefault(),this.at--;const _=this.history[this.at];_&&(e.innerHTML=_.html,this.restore(_.pos)),this.at<0&&(this.at=0)}if(isRedo(D)){D.preventDefault(),this.at++;const _=this.history[this.at];_&&(e.innerHTML=_.html,this.restore(_.pos)),this.at>=history.length&&this.at--}},y=D=>{if(D.defaultPrevented)return;D.preventDefault();const k=(D.originalEvent??D).clipboardData.getData("text/plain").replace(/\r\n?/g,`
22
+ `),S=this.save();insert$1(k),console.log("ttt",k),this.doHighlight(e),this.restore({start:Math.min(S.start,S.end)+k.length,end:Math.min(S.start,S.end)+k.length,dir:"<-"})},w=D=>{const _=this.save(),k=this.getSelection();(D.originalEvent??D).clipboardData.setData("text/plain",k.toString()),o.execCommand("delete"),this.doHighlight(e),this.restore({start:Math.min(_.start,_.end),end:Math.min(_.start,_.end),dir:"<-"}),D.preventDefault()}}getSelection(){return this.editor.getRootNode().getSelection()}doHighlight(e,A){this.highlight(e,A)}uneditable(e){for(;e&&e!==this.editor;){if(e.nodeType===Node.ELEMENT_NODE){const A=e;if(A.getAttribute("contenteditable")=="false")return A}e=e.parentNode}}toString(){return this.editor.textContent||""}updateOptions(e){Object.assign(this.options,e)}updateCode(e,A=!0){this.editor.textContent=e,this.doHighlight(this.editor),A&&this.onUpdateCbk(e)}onUpdate(e){this.onUpdateCbk=e}save(){const e=this.getSelection(),A={start:0,end:0,dir:void 0};if(!e)return A;let{anchorNode:n,anchorOffset:r,focusNode:o,focusOffset:s}=e;if(!n){console.warn("No anchorNode");return}if(!o){console.warn("No focusNode");return}if(n===this.editor&&o===this.editor)return A.start=r>0&&this.editor.textContent?this.editor.textContent.length:0,A.end=s>0&&this.editor.textContent?this.editor.textContent.length:0,A.dir=s>=r?"->":"<-",A;if(n.nodeType===Node.ELEMENT_NODE){const a=document.createTextNode("");n.insertBefore(a,n.childNodes[r]),n=a,r=0}if(o.nodeType===Node.ELEMENT_NODE){const a=document.createTextNode("");o.insertBefore(a,o.childNodes[s]),o=a,s=0}return visit(this.editor,a=>{if(a===n&&a===o)return A.start+=r,A.end+=s,A.dir=r<=s?"->":"<-","stop";if(a===n)if(A.start+=r,!A.dir)A.dir="->";else return"stop";else if(a===o)if(A.end+=s,!A.dir)A.dir="<-";else return"stop";a.nodeType===Node.TEXT_NODE&&(A.dir!="->"&&(A.start+=a.nodeValue.length),A.dir!="<-"&&(A.end+=a.nodeValue.length))}),this.editor.normalize(),A}restore(e){if(!e)return;const A=this.getSelection();if(!A)return;let n,r=0,o,s=0;if(e.dir||(e.dir="->"),e.start<0&&(e.start=0),e.end<0&&(e.end=0),e.dir=="<-"){const{start:l,end:g}=e;e.start=g,e.end=l}let a=0;visit(this.editor,l=>{if(l.nodeType!==Node.TEXT_NODE)return;const g=(l.nodeValue||"").length;if(a+g>e.start&&(n||(n=l,r=e.start-a),a+g>e.end))return o=l,s=e.end-a,"stop";a+=g}),n||(n=this.editor,r=this.editor.childNodes.length),o||(o=this.editor,s=this.editor.childNodes.length),e.dir=="<-"&&([n,r,o,s]=[o,s,n,r]);{const l=this.uneditable(n);if(l){const c=document.createTextNode("");l.parentNode?.insertBefore(c,l),n=c,r=0}const g=this.uneditable(o);if(g){const c=document.createTextNode("");g.parentNode?.insertBefore(c,g),o=c,s=0}}A.setBaseAndExtent(n,r,o,s),this.editor.normalize()}recordHistory(){if(!focus)return;const e=this.editor.innerHTML,A=this.save(),n=this.history[this.at];if(n&&n.html===e&&n.pos.start===A.start&&n.pos.end===A.end)return;this.at++,this.history[this.at]={html:e,pos:A},this.history.splice(this.at+1);const r=300;this.at>r&&(this.at=r,this.history.splice(0,1))}destroy(){for(let[e,A]of this.listeners)this.editor.removeEventListener(e,A)}}function computeChange(t,e){if(t===e)return null;let A=0,n=t.length,r=e.length;for(;A<n&&t.charCodeAt(A)===e.charCodeAt(A);)A+=1;for(;n>A&&r>A&&t.charCodeAt(n-1)===e.charCodeAt(r-1);)n-=1,r-=1;return{from:A,to:n,text:e.slice(A,r)}}const valueChanged=(t,e,A,n)=>{const r=computeChange(e.textContent,t);if(r){const o=A();if(typeof o<"u"){const s=o+1;let a=n.state.tr;a=a.replaceWith(s+r.from,s+r.to,r.text?n.state.schema.text(r.text):[]),n.dispatch(a)}}},forwardSelection=(t,e,A)=>{const n=asProseMirrorSelection(e.state.doc,t,A);n.eq(e.state.selection)||e.dispatch(e.state.tr.setSelection(n))},asProseMirrorSelection=(t,e,A)=>{const n=(typeof A=="function"&&A()||0)+1,r=e.save();return r.dir==="<-"?TextSelection.create(t,r.start+n,r.end+n):TextSelection.create(t,r.end+n,r.start+n)};var __defProp=Object.defineProperty,__name=(t,e)=>__defProp(t,"name",{value:e,configurable:!0});(class{static{__name(this,"Edit")}startPosition;oldEndPosition;newEndPosition;startIndex;oldEndIndex;newEndIndex;constructor({startIndex:t,oldEndIndex:e,newEndIndex:A,startPosition:n,oldEndPosition:r,newEndPosition:o}){this.startIndex=t>>>0,this.oldEndIndex=e>>>0,this.newEndIndex=A>>>0,this.startPosition=n,this.oldEndPosition=r,this.newEndPosition=o}editPoint(t,e){let A=e;const n={...t};if(e>=this.oldEndIndex){A=this.newEndIndex+(e-this.oldEndIndex);const r=t.row;n.row=this.newEndPosition.row+(t.row-this.oldEndPosition.row),n.column=r===this.oldEndPosition.row?this.newEndPosition.column+(t.column-this.oldEndPosition.column):t.column}else e>this.startIndex&&(A=this.newEndIndex,n.row=this.newEndPosition.row,n.column=this.newEndPosition.column);return{point:n,index:A}}editRange(t){const e={startIndex:t.startIndex,startPosition:{...t.startPosition},endIndex:t.endIndex,endPosition:{...t.endPosition}};return t.endIndex>=this.oldEndIndex?t.endIndex!==Number.MAX_SAFE_INTEGER&&(e.endIndex=this.newEndIndex+(t.endIndex-this.oldEndIndex),e.endPosition={row:this.newEndPosition.row+(t.endPosition.row-this.oldEndPosition.row),column:t.endPosition.row===this.oldEndPosition.row?this.newEndPosition.column+(t.endPosition.column-this.oldEndPosition.column):t.endPosition.column},e.endIndex<this.newEndIndex&&(e.endIndex=Number.MAX_SAFE_INTEGER,e.endPosition={row:Number.MAX_SAFE_INTEGER,column:Number.MAX_SAFE_INTEGER})):t.endIndex>this.startIndex&&(e.endIndex=this.startIndex,e.endPosition={...this.startPosition}),t.startIndex>=this.oldEndIndex?(e.startIndex=this.newEndIndex+(t.startIndex-this.oldEndIndex),e.startPosition={row:this.newEndPosition.row+(t.startPosition.row-this.oldEndPosition.row),column:t.startPosition.row===this.oldEndPosition.row?this.newEndPosition.column+(t.startPosition.column-this.oldEndPosition.column):t.startPosition.column},e.startIndex<this.newEndIndex&&(e.startIndex=Number.MAX_SAFE_INTEGER,e.startPosition={row:Number.MAX_SAFE_INTEGER,column:Number.MAX_SAFE_INTEGER})):t.startIndex>this.startIndex&&(e.startIndex=this.startIndex,e.startPosition={...this.startPosition}),e}});var SIZE_OF_SHORT=2,SIZE_OF_INT=4,SIZE_OF_CURSOR=4*SIZE_OF_INT,SIZE_OF_NODE=5*SIZE_OF_INT,SIZE_OF_POINT=2*SIZE_OF_INT,SIZE_OF_RANGE=2*SIZE_OF_INT+2*SIZE_OF_POINT,ZERO_POINT={row:0,column:0},INTERNAL=Symbol("INTERNAL");function assertInternal(t){if(t!==INTERNAL)throw new Error("Illegal constructor")}__name(assertInternal,"assertInternal");function isPoint(t){return!!t&&typeof t.row=="number"&&typeof t.column=="number"}__name(isPoint,"isPoint");function setModule(t){C=t}__name(setModule,"setModule");var C,LookaheadIterator=class{static{__name(this,"LookaheadIterator")}0=0;language;constructor(t,e,A){assertInternal(t),this[0]=e,this.language=A}get currentTypeId(){return C._ts_lookahead_iterator_current_symbol(this[0])}get currentType(){return this.language.types[this.currentTypeId]||"ERROR"}delete(){C._ts_lookahead_iterator_delete(this[0]),this[0]=0}reset(t,e){return C._ts_lookahead_iterator_reset(this[0],t[0],e)?(this.language=t,!0):!1}resetState(t){return!!C._ts_lookahead_iterator_reset_state(this[0],t)}[Symbol.iterator](){return{next:__name(()=>C._ts_lookahead_iterator_next(this[0])?{done:!1,value:this.currentType}:{done:!0,value:""},"next")}}};function getText(t,e,A,n){const r=A-e;let o=t.textCallback(e,n);if(o){for(e+=o.length;e<A;){const s=t.textCallback(e,n);if(s&&s.length>0)e+=s.length,o+=s;else break}e>A&&(o=o.slice(0,r))}return o??""}__name(getText,"getText");var Tree=class Y{static{__name(this,"Tree")}0=0;textCallback;language;constructor(e,A,n,r){assertInternal(e),this[0]=A,this.language=n,this.textCallback=r}copy(){const e=C._ts_tree_copy(this[0]);return new Y(INTERNAL,e,this.language,this.textCallback)}delete(){C._ts_tree_delete(this[0]),this[0]=0}get rootNode(){return C._ts_tree_root_node_wasm(this[0]),unmarshalNode(this)}rootNodeWithOffset(e,A){const n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,"i32"),marshalPoint(n+SIZE_OF_INT,A),C._ts_tree_root_node_with_offset_wasm(this[0]),unmarshalNode(this)}edit(e){marshalEdit(e),C._ts_tree_edit_wasm(this[0])}walk(){return this.rootNode.walk()}getChangedRanges(e){if(!(e instanceof Y))throw new TypeError("Argument must be a Tree");C._ts_tree_get_changed_ranges_wasm(this[0],e[0]);const A=C.getValue(TRANSFER_BUFFER,"i32"),n=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),r=new Array(A);if(A>0){let o=n;for(let s=0;s<A;s++)r[s]=unmarshalRange(o),o+=SIZE_OF_RANGE;C._free(n)}return r}getIncludedRanges(){C._ts_tree_included_ranges_wasm(this[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),A=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),n=new Array(e);if(e>0){let r=A;for(let o=0;o<e;o++)n[o]=unmarshalRange(r),r+=SIZE_OF_RANGE;C._free(A)}return n}},TreeCursor=class j{static{__name(this,"TreeCursor")}0=0;1=0;2=0;3=0;tree;constructor(e,A){assertInternal(e),this.tree=A,unmarshalTreeCursor(this)}copy(){const e=new j(INTERNAL,this.tree);return C._ts_tree_cursor_copy_wasm(this.tree[0]),unmarshalTreeCursor(e),e}delete(){marshalTreeCursor(this),C._ts_tree_cursor_delete_wasm(this.tree[0]),this[0]=this[1]=this[2]=0}get currentNode(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_wasm(this.tree[0]),unmarshalNode(this.tree)}get currentFieldId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_field_id_wasm(this.tree[0])}get currentFieldName(){return this.tree.language.fields[this.currentFieldId]}get currentDepth(){return marshalTreeCursor(this),C._ts_tree_cursor_current_depth_wasm(this.tree[0])}get currentDescendantIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_current_descendant_index_wasm(this.tree[0])}get nodeType(){return this.tree.language.types[this.nodeTypeId]||"ERROR"}get nodeTypeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_type_id_wasm(this.tree[0])}get nodeStateId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_state_id_wasm(this.tree[0])}get nodeId(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_id_wasm(this.tree[0])}get nodeIsNamed(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_is_named_wasm(this.tree[0])===1}get nodeIsMissing(){return marshalTreeCursor(this),C._ts_tree_cursor_current_node_is_missing_wasm(this.tree[0])===1}get nodeText(){marshalTreeCursor(this);const e=C._ts_tree_cursor_start_index_wasm(this.tree[0]),A=C._ts_tree_cursor_end_index_wasm(this.tree[0]);C._ts_tree_cursor_start_position_wasm(this.tree[0]);const n=unmarshalPoint(TRANSFER_BUFFER);return getText(this.tree,e,A,n)}get startPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_start_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get endPosition(){return marshalTreeCursor(this),C._ts_tree_cursor_end_position_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get startIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_start_index_wasm(this.tree[0])}get endIndex(){return marshalTreeCursor(this),C._ts_tree_cursor_end_index_wasm(this.tree[0])}gotoFirstChild(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_first_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoLastChild(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_last_child_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoParent(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_parent_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoNextSibling(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_next_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoPreviousSibling(){marshalTreeCursor(this);const e=C._ts_tree_cursor_goto_previous_sibling_wasm(this.tree[0]);return unmarshalTreeCursor(this),e===1}gotoDescendant(e){marshalTreeCursor(this),C._ts_tree_cursor_goto_descendant_wasm(this.tree[0],e),unmarshalTreeCursor(this)}gotoFirstChildForIndex(e){marshalTreeCursor(this),C.setValue(TRANSFER_BUFFER+SIZE_OF_CURSOR,e,"i32");const A=C._ts_tree_cursor_goto_first_child_for_index_wasm(this.tree[0]);return unmarshalTreeCursor(this),A===1}gotoFirstChildForPosition(e){marshalTreeCursor(this),marshalPoint(TRANSFER_BUFFER+SIZE_OF_CURSOR,e);const A=C._ts_tree_cursor_goto_first_child_for_position_wasm(this.tree[0]);return unmarshalTreeCursor(this),A===1}reset(e){marshalNode(e),marshalTreeCursor(this,TRANSFER_BUFFER+SIZE_OF_NODE),C._ts_tree_cursor_reset_wasm(this.tree[0]),unmarshalTreeCursor(this)}resetTo(e){marshalTreeCursor(this,TRANSFER_BUFFER),marshalTreeCursor(e,TRANSFER_BUFFER+SIZE_OF_CURSOR),C._ts_tree_cursor_reset_to_wasm(this.tree[0],e.tree[0]),unmarshalTreeCursor(this)}},Node$1=class{static{__name(this,"Node")}0=0;_children;_namedChildren;constructor(e,{id:A,tree:n,startIndex:r,startPosition:o,other:s}){assertInternal(e),this[0]=s,this.id=A,this.tree=n,this.startIndex=r,this.startPosition=o}id;startIndex;startPosition;tree;get typeId(){return marshalNode(this),C._ts_node_symbol_wasm(this.tree[0])}get grammarId(){return marshalNode(this),C._ts_node_grammar_symbol_wasm(this.tree[0])}get type(){return this.tree.language.types[this.typeId]||"ERROR"}get grammarType(){return this.tree.language.types[this.grammarId]||"ERROR"}get isNamed(){return marshalNode(this),C._ts_node_is_named_wasm(this.tree[0])===1}get isExtra(){return marshalNode(this),C._ts_node_is_extra_wasm(this.tree[0])===1}get isError(){return marshalNode(this),C._ts_node_is_error_wasm(this.tree[0])===1}get isMissing(){return marshalNode(this),C._ts_node_is_missing_wasm(this.tree[0])===1}get hasChanges(){return marshalNode(this),C._ts_node_has_changes_wasm(this.tree[0])===1}get hasError(){return marshalNode(this),C._ts_node_has_error_wasm(this.tree[0])===1}get endIndex(){return marshalNode(this),C._ts_node_end_index_wasm(this.tree[0])}get endPosition(){return marshalNode(this),C._ts_node_end_point_wasm(this.tree[0]),unmarshalPoint(TRANSFER_BUFFER)}get text(){return getText(this.tree,this.startIndex,this.endIndex,this.startPosition)}get parseState(){return marshalNode(this),C._ts_node_parse_state_wasm(this.tree[0])}get nextParseState(){return marshalNode(this),C._ts_node_next_parse_state_wasm(this.tree[0])}equals(e){return this.tree===e.tree&&this.id===e.id}child(e){return marshalNode(this),C._ts_node_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}namedChild(e){return marshalNode(this),C._ts_node_named_child_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldId(e){return marshalNode(this),C._ts_node_child_by_field_id_wasm(this.tree[0],e),unmarshalNode(this.tree)}childForFieldName(e){const A=this.tree.language.fields.indexOf(e);return A!==-1?this.childForFieldId(A):null}fieldNameForChild(e){marshalNode(this);const A=C._ts_node_field_name_for_child_wasm(this.tree[0],e);return A?C.AsciiToString(A):null}fieldNameForNamedChild(e){marshalNode(this);const A=C._ts_node_field_name_for_named_child_wasm(this.tree[0],e);return A?C.AsciiToString(A):null}childrenForFieldName(e){const A=this.tree.language.fields.indexOf(e);return A!==-1&&A!==0?this.childrenForFieldId(A):[]}childrenForFieldId(e){marshalNode(this),C._ts_node_children_by_field_id_wasm(this.tree[0],e);const A=C.getValue(TRANSFER_BUFFER,"i32"),n=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),r=new Array(A);if(A>0){let o=n;for(let s=0;s<A;s++)r[s]=unmarshalNode(this.tree,o),o+=SIZE_OF_NODE;C._free(n)}return r}firstChildForIndex(e){marshalNode(this);const A=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(A,e,"i32"),C._ts_node_first_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}firstNamedChildForIndex(e){marshalNode(this);const A=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(A,e,"i32"),C._ts_node_first_named_child_for_byte_wasm(this.tree[0]),unmarshalNode(this.tree)}get childCount(){return marshalNode(this),C._ts_node_child_count_wasm(this.tree[0])}get namedChildCount(){return marshalNode(this),C._ts_node_named_child_count_wasm(this.tree[0])}get firstChild(){return this.child(0)}get firstNamedChild(){return this.namedChild(0)}get lastChild(){return this.child(this.childCount-1)}get lastNamedChild(){return this.namedChild(this.namedChildCount-1)}get children(){if(!this._children){marshalNode(this),C._ts_node_children_wasm(this.tree[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),A=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32");if(this._children=new Array(e),e>0){let n=A;for(let r=0;r<e;r++)this._children[r]=unmarshalNode(this.tree,n),n+=SIZE_OF_NODE;C._free(A)}}return this._children}get namedChildren(){if(!this._namedChildren){marshalNode(this),C._ts_node_named_children_wasm(this.tree[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),A=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32");if(this._namedChildren=new Array(e),e>0){let n=A;for(let r=0;r<e;r++)this._namedChildren[r]=unmarshalNode(this.tree,n),n+=SIZE_OF_NODE;C._free(A)}}return this._namedChildren}descendantsOfType(e,A=ZERO_POINT,n=ZERO_POINT){Array.isArray(e)||(e=[e]);const r=[],o=this.tree.language.types;for(const c of e)c=="ERROR"&&r.push(65535);for(let c=0,I=o.length;c<I;c++)e.includes(o[c])&&r.push(c);const s=C._malloc(SIZE_OF_INT*r.length);for(let c=0,I=r.length;c<I;c++)C.setValue(s+c*SIZE_OF_INT,r[c],"i32");marshalNode(this),C._ts_node_descendants_of_type_wasm(this.tree[0],s,r.length,A.row,A.column,n.row,n.column);const a=C.getValue(TRANSFER_BUFFER,"i32"),l=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),g=new Array(a);if(a>0){let c=l;for(let I=0;I<a;I++)g[I]=unmarshalNode(this.tree,c),c+=SIZE_OF_NODE}return C._free(l),C._free(s),g}get nextSibling(){return marshalNode(this),C._ts_node_next_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousSibling(){return marshalNode(this),C._ts_node_prev_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get nextNamedSibling(){return marshalNode(this),C._ts_node_next_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get previousNamedSibling(){return marshalNode(this),C._ts_node_prev_named_sibling_wasm(this.tree[0]),unmarshalNode(this.tree)}get descendantCount(){return marshalNode(this),C._ts_node_descendant_count_wasm(this.tree[0])}get parent(){return marshalNode(this),C._ts_node_parent_wasm(this.tree[0]),unmarshalNode(this.tree)}childWithDescendant(e){return marshalNode(this),marshalNode(e,1),C._ts_node_child_with_descendant_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForIndex(e,A=e){if(typeof e!="number"||typeof A!="number")throw new Error("Arguments must be numbers");marshalNode(this);const n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,"i32"),C.setValue(n+SIZE_OF_INT,A,"i32"),C._ts_node_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForIndex(e,A=e){if(typeof e!="number"||typeof A!="number")throw new Error("Arguments must be numbers");marshalNode(this);const n=TRANSFER_BUFFER+SIZE_OF_NODE;return C.setValue(n,e,"i32"),C.setValue(n+SIZE_OF_INT,A,"i32"),C._ts_node_named_descendant_for_index_wasm(this.tree[0]),unmarshalNode(this.tree)}descendantForPosition(e,A=e){if(!isPoint(e)||!isPoint(A))throw new Error("Arguments must be {row, column} objects");marshalNode(this);const n=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(n,e),marshalPoint(n+SIZE_OF_POINT,A),C._ts_node_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}namedDescendantForPosition(e,A=e){if(!isPoint(e)||!isPoint(A))throw new Error("Arguments must be {row, column} objects");marshalNode(this);const n=TRANSFER_BUFFER+SIZE_OF_NODE;return marshalPoint(n,e),marshalPoint(n+SIZE_OF_POINT,A),C._ts_node_named_descendant_for_position_wasm(this.tree[0]),unmarshalNode(this.tree)}walk(){return marshalNode(this),C._ts_tree_cursor_new_wasm(this.tree[0]),new TreeCursor(INTERNAL,this.tree)}edit(e){if(this.startIndex>=e.oldEndIndex){this.startIndex=e.newEndIndex+(this.startIndex-e.oldEndIndex);let A,n;this.startPosition.row>e.oldEndPosition.row?(A=this.startPosition.row-e.oldEndPosition.row,n=this.startPosition.column):(A=0,n=this.startPosition.column,this.startPosition.column>=e.oldEndPosition.column&&(n=this.startPosition.column-e.oldEndPosition.column)),A>0?(this.startPosition.row+=A,this.startPosition.column=n):this.startPosition.column+=n}else this.startIndex>e.startIndex&&(this.startIndex=e.newEndIndex,this.startPosition.row=e.newEndPosition.row,this.startPosition.column=e.newEndPosition.column)}toString(){marshalNode(this);const e=C._ts_node_to_string_wasm(this.tree[0]),A=C.AsciiToString(e);return C._free(e),A}};function unmarshalCaptures(t,e,A,n,r){for(let o=0,s=r.length;o<s;o++){const a=C.getValue(A,"i32");A+=SIZE_OF_INT;const l=unmarshalNode(e,A);A+=SIZE_OF_NODE,r[o]={patternIndex:n,name:t.captureNames[a],node:l}}return A}__name(unmarshalCaptures,"unmarshalCaptures");function marshalNode(t,e=0){let A=TRANSFER_BUFFER+e*SIZE_OF_NODE;C.setValue(A,t.id,"i32"),A+=SIZE_OF_INT,C.setValue(A,t.startIndex,"i32"),A+=SIZE_OF_INT,C.setValue(A,t.startPosition.row,"i32"),A+=SIZE_OF_INT,C.setValue(A,t.startPosition.column,"i32"),A+=SIZE_OF_INT,C.setValue(A,t[0],"i32")}__name(marshalNode,"marshalNode");function unmarshalNode(t,e=TRANSFER_BUFFER){const A=C.getValue(e,"i32");if(e+=SIZE_OF_INT,A===0)return null;const n=C.getValue(e,"i32");e+=SIZE_OF_INT;const r=C.getValue(e,"i32");e+=SIZE_OF_INT;const o=C.getValue(e,"i32");e+=SIZE_OF_INT;const s=C.getValue(e,"i32");return new Node$1(INTERNAL,{id:A,tree:t,startIndex:n,startPosition:{row:r,column:o},other:s})}__name(unmarshalNode,"unmarshalNode");function marshalTreeCursor(t,e=TRANSFER_BUFFER){C.setValue(e+0*SIZE_OF_INT,t[0],"i32"),C.setValue(e+1*SIZE_OF_INT,t[1],"i32"),C.setValue(e+2*SIZE_OF_INT,t[2],"i32"),C.setValue(e+3*SIZE_OF_INT,t[3],"i32")}__name(marshalTreeCursor,"marshalTreeCursor");function unmarshalTreeCursor(t){t[0]=C.getValue(TRANSFER_BUFFER+0*SIZE_OF_INT,"i32"),t[1]=C.getValue(TRANSFER_BUFFER+1*SIZE_OF_INT,"i32"),t[2]=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,"i32"),t[3]=C.getValue(TRANSFER_BUFFER+3*SIZE_OF_INT,"i32")}__name(unmarshalTreeCursor,"unmarshalTreeCursor");function marshalPoint(t,e){C.setValue(t,e.row,"i32"),C.setValue(t+SIZE_OF_INT,e.column,"i32")}__name(marshalPoint,"marshalPoint");function unmarshalPoint(t){return{row:C.getValue(t,"i32")>>>0,column:C.getValue(t+SIZE_OF_INT,"i32")>>>0}}__name(unmarshalPoint,"unmarshalPoint");function marshalRange(t,e){marshalPoint(t,e.startPosition),t+=SIZE_OF_POINT,marshalPoint(t,e.endPosition),t+=SIZE_OF_POINT,C.setValue(t,e.startIndex,"i32"),t+=SIZE_OF_INT,C.setValue(t,e.endIndex,"i32"),t+=SIZE_OF_INT}__name(marshalRange,"marshalRange");function unmarshalRange(t){const e={};return e.startPosition=unmarshalPoint(t),t+=SIZE_OF_POINT,e.endPosition=unmarshalPoint(t),t+=SIZE_OF_POINT,e.startIndex=C.getValue(t,"i32")>>>0,t+=SIZE_OF_INT,e.endIndex=C.getValue(t,"i32")>>>0,e}__name(unmarshalRange,"unmarshalRange");function marshalEdit(t,e=TRANSFER_BUFFER){marshalPoint(e,t.startPosition),e+=SIZE_OF_POINT,marshalPoint(e,t.oldEndPosition),e+=SIZE_OF_POINT,marshalPoint(e,t.newEndPosition),e+=SIZE_OF_POINT,C.setValue(e,t.startIndex,"i32"),e+=SIZE_OF_INT,C.setValue(e,t.oldEndIndex,"i32"),e+=SIZE_OF_INT,C.setValue(e,t.newEndIndex,"i32"),e+=SIZE_OF_INT}__name(marshalEdit,"marshalEdit");function unmarshalLanguageMetadata(t){const e=C.getValue(t,"i32"),A=C.getValue(t+=SIZE_OF_INT,"i32"),n=C.getValue(t+=SIZE_OF_INT,"i32");return{major_version:e,minor_version:A,patch_version:n}}__name(unmarshalLanguageMetadata,"unmarshalLanguageMetadata");var LANGUAGE_FUNCTION_REGEX=/^tree_sitter_\w+$/,Language=class V{static{__name(this,"Language")}0=0;types;fields;constructor(e,A){assertInternal(e),this[0]=A,this.types=new Array(C._ts_language_symbol_count(this[0]));for(let n=0,r=this.types.length;n<r;n++)C._ts_language_symbol_type(this[0],n)<2&&(this.types[n]=C.UTF8ToString(C._ts_language_symbol_name(this[0],n)));this.fields=new Array(C._ts_language_field_count(this[0])+1);for(let n=0,r=this.fields.length;n<r;n++){const o=C._ts_language_field_name_for_id(this[0],n);o!==0?this.fields[n]=C.UTF8ToString(o):this.fields[n]=null}}get name(){const e=C._ts_language_name(this[0]);return e===0?null:C.UTF8ToString(e)}get abiVersion(){return C._ts_language_abi_version(this[0])}get metadata(){return C._ts_language_metadata_wasm(this[0]),C.getValue(TRANSFER_BUFFER,"i32")===0?null:unmarshalLanguageMetadata(TRANSFER_BUFFER+SIZE_OF_INT)}get fieldCount(){return this.fields.length-1}get stateCount(){return C._ts_language_state_count(this[0])}fieldIdForName(e){const A=this.fields.indexOf(e);return A!==-1?A:null}fieldNameForId(e){return this.fields[e]??null}idForNodeType(e,A){const n=C.lengthBytesUTF8(e),r=C._malloc(n+1);C.stringToUTF8(e,r,n+1);const o=C._ts_language_symbol_for_name(this[0],r,n,A?1:0);return C._free(r),o||null}get nodeTypeCount(){return C._ts_language_symbol_count(this[0])}nodeTypeForId(e){const A=C._ts_language_symbol_name(this[0],e);return A?C.UTF8ToString(A):null}nodeTypeIsNamed(e){return!!C._ts_language_type_is_named_wasm(this[0],e)}nodeTypeIsVisible(e){return!!C._ts_language_type_is_visible_wasm(this[0],e)}get supertypes(){C._ts_language_supertypes_wasm(this[0]);const e=C.getValue(TRANSFER_BUFFER,"i32"),A=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),n=new Array(e);if(e>0){let r=A;for(let o=0;o<e;o++)n[o]=C.getValue(r,"i16"),r+=SIZE_OF_SHORT}return n}subtypes(e){C._ts_language_subtypes_wasm(this[0],e);const A=C.getValue(TRANSFER_BUFFER,"i32"),n=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),r=new Array(A);if(A>0){let o=n;for(let s=0;s<A;s++)r[s]=C.getValue(o,"i16"),o+=SIZE_OF_SHORT}return r}nextState(e,A){return C._ts_language_next_state(this[0],e,A)}lookaheadIterator(e){const A=C._ts_lookahead_iterator_new(this[0],e);return A?new LookaheadIterator(INTERNAL,A,this):null}static async load(e){let A;if(e instanceof Uint8Array)A=e;else if(globalThis.process?.versions.node)A=await(await Promise.resolve().then(()=>__viteBrowserExternal)).readFile(e);else{const a=await fetch(e);if(!a.ok){const g=await a.text();throw new Error(`Language.load failed with status ${a.status}.
23
+
24
+ ${g}`)}const l=a.clone();try{A=await WebAssembly.compileStreaming(a)}catch(g){console.error("wasm streaming compile failed:",g),console.error("falling back to ArrayBuffer instantiation"),A=new Uint8Array(await l.arrayBuffer())}}const n=await C.loadWebAssemblyModule(A,{loadAsync:!0}),r=Object.keys(n),o=r.find(a=>LANGUAGE_FUNCTION_REGEX.test(a)&&!a.includes("external_scanner_"));if(!o)throw console.log(`Couldn't find language function in Wasm file. Symbols:
25
+ ${JSON.stringify(r,null,2)}`),new Error("Language.load failed: no language function found in Wasm file");const s=n[o]();return new V(INTERNAL,s)}};async function Module2(moduleArg={}){var moduleRtn,Module=moduleArg,ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope<"u",ENVIRONMENT_IS_NODE=typeof process=="object"&&process.versions?.node&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){const{createRequire:t}=await Promise.resolve().then(()=>__viteBrowserExternal);var require$1=t(typeof document>"u"?require("url").pathToFileURL(__filename).href:_documentCurrentScript&&_documentCurrentScript.tagName.toUpperCase()==="SCRIPT"&&_documentCurrentScript.src||new URL("kerebron3.cjs",document.baseURI).href)}Module.currentQueryProgressCallback=null,Module.currentProgressCallback=null,Module.currentLogCallback=null,Module.currentParseCallback=null;var arguments_=[],thisProgram="./this.program",quit_=__name((t,e)=>{throw e},"quit_"),_scriptName=typeof document>"u"?require("url").pathToFileURL(__filename).href:_documentCurrentScript&&_documentCurrentScript.tagName.toUpperCase()==="SCRIPT"&&_documentCurrentScript.src||new URL("kerebron3.cjs",document.baseURI).href,scriptDirectory="";function locateFile(t){return Module.locateFile?Module.locateFile(t,scriptDirectory):scriptDirectory+t}__name(locateFile,"locateFile");var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require$1("fs");_scriptName.startsWith("file:")&&(scriptDirectory=require$1("path").dirname(require$1("url").fileURLToPath(_scriptName))+"/"),readBinary=__name(t=>{t=isFileURI(t)?new URL(t):t;var e=fs.readFileSync(t);return e},"readBinary"),readAsync=__name(async(t,e=!0)=>{t=isFileURI(t)?new URL(t):t;var A=fs.readFileSync(t,e?void 0:"utf8");return A},"readAsync"),process.argv.length>1&&(thisProgram=process.argv[1].replace(/\\/g,"/")),arguments_=process.argv.slice(2),quit_=__name((t,e)=>{throw process.exitCode=t,e},"quit_")}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}ENVIRONMENT_IS_WORKER&&(readBinary=__name(t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)},"readBinary")),readAsync=__name(async t=>{if(isFileURI(t))return new Promise((A,n)=>{var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=()=>{if(r.status==200||r.status==0&&r.response){A(r.response);return}n(r.status)},r.onerror=n,r.send(null)});var e=await fetch(t,{credentials:"same-origin"});if(e.ok)return e.arrayBuffer();throw new Error(e.status+" : "+e.url)},"readAsync")}var out=console.log.bind(console),err=console.error.bind(console),dynamicLibraries=[],wasmBinary,ABORT=!1,EXITSTATUS,isFileURI=__name(t=>t.startsWith("file://"),"isFileURI"),readyPromiseResolve,readyPromiseReject,wasmMemory,HEAP8,HEAPU8,HEAPU16,HEAPU32,HEAP_DATA_VIEW,runtimeInitialized=!1;function updateMemoryViews(){var t=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(t),Module.HEAP16=new Int16Array(t),Module.HEAPU8=HEAPU8=new Uint8Array(t),Module.HEAPU16=HEAPU16=new Uint16Array(t),Module.HEAP32=new Int32Array(t),Module.HEAPU32=HEAPU32=new Uint32Array(t),Module.HEAPF32=new Float32Array(t),Module.HEAPF64=new Float64Array(t),Module.HEAP64=new BigInt64Array(t),Module.HEAPU64=new BigUint64Array(t),Module.HEAP_DATA_VIEW=HEAP_DATA_VIEW=new DataView(t),LE_HEAP_UPDATE()}__name(updateMemoryViews,"updateMemoryViews");function initMemory(){if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var t=Module.INITIAL_MEMORY||33554432;wasmMemory=new WebAssembly.Memory({initial:t/65536,maximum:32768})}updateMemoryViews()}__name(initMemory,"initMemory");var __RELOC_FUNCS__=[];function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(onPreRuns)}__name(preRun,"preRun");function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),wasmExports.__wasm_call_ctors(),callRuntimeCallbacks(onPostCtors)}__name(initRuntime,"initRuntime");function preMain(){}__name(preMain,"preMain");function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(onPostRuns)}__name(postRun,"postRun");function abort(t){Module.onAbort?.(t),t="Aborted("+t+")",err(t),ABORT=!0,t+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(t);throw readyPromiseReject?.(e),e}__name(abort,"abort");var wasmBinaryFile;function findWasmBinary(){return Module.locateFile?locateFile("web-tree-sitter.wasm"):new URL("data:application/wasm;base64,AGFzbQEAAAAAEAhkeWxpbmsuMAEFnFsEHgABswEXYAF/AX9gAn9/AX9gAX8AYAN/f38AYAN/f38Bf2ACf38AYAR/f39/AX9gBX9/f39/AGAEf39/fwBgAABgBX9/f39/AX9gAAF/YAh/f39/f39/fwF/YAd/f39/f39/AGAGf3x/f39/AX9gEH9/f39/f39/f39/f39/f38AYAZ/f39/f38AYAJ+fwF/YAd/f39/f39/AX9gAnx/AXxgBH9/f38BfmAEf35/fwF/YAN/fn8BfgLbAxEWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF93cml0ZQAGA2VudhZlbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwAAAWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQdmZF9zZWVrABUDZW52CV9hYm9ydF9qcwAJFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfY2xvc2UAAANlbnYjdHJlZV9zaXR0ZXJfcXVlcnlfcHJvZ3Jlc3NfY2FsbGJhY2sAAANlbnYddHJlZV9zaXR0ZXJfcHJvZ3Jlc3NfY2FsbGJhY2sAAQNlbnYadHJlZV9zaXR0ZXJfcGFyc2VfY2FsbGJhY2sABwNlbnYYdHJlZV9zaXR0ZXJfbG9nX2NhbGxiYWNrAAUDZW52D19fc3RhY2tfcG9pbnRlcgN/AQNlbnYNX19tZW1vcnlfYmFzZQN/AANlbnYMX190YWJsZV9iYXNlA38AB0dPVC5tZW0LX19zdGFja19sb3cDfwEHR09ULm1lbQxfX3N0YWNrX2hpZ2gDfwEHR09ULm1lbQtfX2hlYXBfYmFzZQN/AQNlbnYGbWVtb3J5AgGABICAAgNlbnYZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQFwAB4DlQKTAgUFBgACAwcFBQQABQUCBwMQAwQAAwYKAwAAEQQEBQMCAgEEAAQBAQwBAgQABQgHBAIBAwgAAAUCBQAJAQMBAAQLAgIIDAMFAQYDBAcNBwgDAwAABQEBBggAEhMEAAAABAUEBAQAFAAFBwUKBAgFAQEDAwUDAQEBAQEEBAQEAAAACgEBAgMBAQUCAAAAAAEABAQAAwQAAAsAAgAAAAAFBAAFDgQBBBYADwACDwAAAAAAAAAADQECAgAAAAICAgICCQICAgACAgICBQUBBQAAAAICBQEBAAIAAAAAAAICAAAAAAAABQAAAAAAAQAFAgICAgUCAgICBQICAQECAAYKAAMFCQsEBAQAAgAEAAEBAQEAAAkJBjkIfwFByNMAC38BQcDTAAt/AUHM0wALfwFBxNMAC38BQYjVAAt/AUGQ1QALfwFBlNsAC38BQZjbAAsHhiGYARFfX3dhc21fY2FsbF9jdG9ycwCbAgZtYWxsb2MAIgZjYWxsb2MAKgdyZWFsbG9jAF0EZnJlZQAyDXRzX3JhbmdlX2VkaXQATwZtZW1jbXAAEhh0c19sYW5ndWFnZV9zeW1ib2xfY291bnQAmQIXdHNfbGFuZ3VhZ2Vfc3RhdGVfY291bnQAmAIXdHNfbGFuZ3VhZ2VfYWJpX3ZlcnNpb24AkwIQdHNfbGFuZ3VhZ2VfbmFtZQCPAhd0c19sYW5ndWFnZV9maWVsZF9jb3VudACHAhZ0c19sYW5ndWFnZV9uZXh0X3N0YXRlACsXdHNfbGFuZ3VhZ2Vfc3ltYm9sX25hbWUA8gEbdHNfbGFuZ3VhZ2Vfc3ltYm9sX2Zvcl9uYW1lAB4Hc3RybmNtcAAbF3RzX2xhbmd1YWdlX3N5bWJvbF90eXBlAEQddHNfbGFuZ3VhZ2VfZmllbGRfbmFtZV9mb3JfaWQA0wEZdHNfbG9va2FoZWFkX2l0ZXJhdG9yX25ldwC9ARx0c19sb29rYWhlYWRfaXRlcmF0b3JfZGVsZXRlALIBIXRzX2xvb2thaGVhZF9pdGVyYXRvcl9yZXNldF9zdGF0ZQCsARt0c19sb29rYWhlYWRfaXRlcmF0b3JfcmVzZXQAqwEadHNfbG9va2FoZWFkX2l0ZXJhdG9yX25leHQAqAEkdHNfbG9va2FoZWFkX2l0ZXJhdG9yX2N1cnJlbnRfc3ltYm9sAKUBDXRzX3BvaW50X2VkaXQAjQEQdHNfcGFyc2VyX2RlbGV0ZQCMAQ90c19wYXJzZXJfcmVzZXQAKRZ0c19wYXJzZXJfc2V0X2xhbmd1YWdlAIsBHXRzX3BhcnNlcl9zZXRfaW5jbHVkZWRfcmFuZ2VzADgMdHNfcXVlcnlfbmV3AIkBD3RzX3F1ZXJ5X2RlbGV0ZQBLCGlzd3NwYWNlAGYIaXN3YWxudW0AExZ0c19xdWVyeV9wYXR0ZXJuX2NvdW50AIgBFnRzX3F1ZXJ5X2NhcHR1cmVfY291bnQAhwEVdHNfcXVlcnlfc3RyaW5nX2NvdW50AIYBHHRzX3F1ZXJ5X2NhcHR1cmVfbmFtZV9mb3JfaWQAhQEidHNfcXVlcnlfY2FwdHVyZV9xdWFudGlmaWVyX2Zvcl9pZACEARx0c19xdWVyeV9zdHJpbmdfdmFsdWVfZm9yX2lkAIMBH3RzX3F1ZXJ5X3ByZWRpY2F0ZXNfZm9yX3BhdHRlcm4AggEfdHNfcXVlcnlfc3RhcnRfYnl0ZV9mb3JfcGF0dGVybgCBAR10c19xdWVyeV9lbmRfYnl0ZV9mb3JfcGF0dGVybgCAARp0c19xdWVyeV9pc19wYXR0ZXJuX3Jvb3RlZAB/HXRzX3F1ZXJ5X2lzX3BhdHRlcm5fbm9uX2xvY2FsAH4mdHNfcXVlcnlfaXNfcGF0dGVybl9ndWFyYW50ZWVkX2F0X3N0ZXAAfRh0c19xdWVyeV9kaXNhYmxlX2NhcHR1cmUAfBh0c19xdWVyeV9kaXNhYmxlX3BhdHRlcm4Aewx0c190cmVlX2NvcHkAkQIOdHNfdHJlZV9kZWxldGUAkAIHdHNfaW5pdACLAhJ0c19wYXJzZXJfbmV3X3dhc20AigIcdHNfcGFyc2VyX2VuYWJsZV9sb2dnZXJfd2FzbQCJAhR0c19wYXJzZXJfcGFyc2Vfd2FzbQCGAh50c19wYXJzZXJfaW5jbHVkZWRfcmFuZ2VzX3dhc20AgwIedHNfbGFuZ3VhZ2VfdHlwZV9pc19uYW1lZF93YXNtAIICIHRzX2xhbmd1YWdlX3R5cGVfaXNfdmlzaWJsZV93YXNtAIECGXRzX2xhbmd1YWdlX21ldGFkYXRhX3dhc20AgAIbdHNfbGFuZ3VhZ2Vfc3VwZXJ0eXBlc193YXNtAP8BGXRzX2xhbmd1YWdlX3N1YnR5cGVzX3dhc20A/gEWdHNfdHJlZV9yb290X25vZGVfd2FzbQD9ASJ0c190cmVlX3Jvb3Rfbm9kZV93aXRoX29mZnNldF93YXNtAPwBEXRzX3RyZWVfZWRpdF93YXNtAPsBHHRzX3RyZWVfaW5jbHVkZWRfcmFuZ2VzX3dhc20A+gEfdHNfdHJlZV9nZXRfY2hhbmdlZF9yYW5nZXNfd2FzbQD5ARd0c190cmVlX2N1cnNvcl9uZXdfd2FzbQD4ARh0c190cmVlX2N1cnNvcl9jb3B5X3dhc20A9wEadHNfdHJlZV9jdXJzb3JfZGVsZXRlX3dhc20A9gEZdHNfdHJlZV9jdXJzb3JfcmVzZXRfd2FzbQD1ARx0c190cmVlX2N1cnNvcl9yZXNldF90b193YXNtAPQBJHRzX3RyZWVfY3Vyc29yX2dvdG9fZmlyc3RfY2hpbGRfd2FzbQDzASN0c190cmVlX2N1cnNvcl9nb3RvX2xhc3RfY2hpbGRfd2FzbQDxAS50c190cmVlX2N1cnNvcl9nb3RvX2ZpcnN0X2NoaWxkX2Zvcl9pbmRleF93YXNtAPABMXRzX3RyZWVfY3Vyc29yX2dvdG9fZmlyc3RfY2hpbGRfZm9yX3Bvc2l0aW9uX3dhc20A7wEldHNfdHJlZV9jdXJzb3JfZ290b19uZXh0X3NpYmxpbmdfd2FzbQDuASl0c190cmVlX2N1cnNvcl9nb3RvX3ByZXZpb3VzX3NpYmxpbmdfd2FzbQDtASN0c190cmVlX2N1cnNvcl9nb3RvX2Rlc2NlbmRhbnRfd2FzbQDsAR90c190cmVlX2N1cnNvcl9nb3RvX3BhcmVudF93YXNtAOsBKHRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfbm9kZV90eXBlX2lkX3dhc20A6gEpdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX3N0YXRlX2lkX3dhc20A6QEpdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX2lzX25hbWVkX3dhc20A6AErdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX2lzX21pc3Npbmdfd2FzbQDnASN0c190cmVlX2N1cnNvcl9jdXJyZW50X25vZGVfaWRfd2FzbQDmASJ0c190cmVlX2N1cnNvcl9zdGFydF9wb3NpdGlvbl93YXNtAOUBIHRzX3RyZWVfY3Vyc29yX2VuZF9wb3NpdGlvbl93YXNtAOQBH3RzX3RyZWVfY3Vyc29yX3N0YXJ0X2luZGV4X3dhc20A4wEddHNfdHJlZV9jdXJzb3JfZW5kX2luZGV4X3dhc20A4gEkdHNfdHJlZV9jdXJzb3JfY3VycmVudF9maWVsZF9pZF93YXNtAOEBIXRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfZGVwdGhfd2FzbQDgASx0c190cmVlX2N1cnNvcl9jdXJyZW50X2Rlc2NlbmRhbnRfaW5kZXhfd2FzbQDfASB0c190cmVlX2N1cnNvcl9jdXJyZW50X25vZGVfd2FzbQDeARN0c19ub2RlX3N5bWJvbF93YXNtAN0BIXRzX25vZGVfZmllbGRfbmFtZV9mb3JfY2hpbGRfd2FzbQDcASd0c19ub2RlX2ZpZWxkX25hbWVfZm9yX25hbWVkX2NoaWxkX3dhc20A2wEhdHNfbm9kZV9jaGlsZHJlbl9ieV9maWVsZF9pZF93YXNtANoBIXRzX25vZGVfZmlyc3RfY2hpbGRfZm9yX2J5dGVfd2FzbQDZASd0c19ub2RlX2ZpcnN0X25hbWVkX2NoaWxkX2Zvcl9ieXRlX3dhc20A2AEbdHNfbm9kZV9ncmFtbWFyX3N5bWJvbF93YXNtANcBGHRzX25vZGVfY2hpbGRfY291bnRfd2FzbQDWAR50c19ub2RlX25hbWVkX2NoaWxkX2NvdW50X3dhc20A1QESdHNfbm9kZV9jaGlsZF93YXNtANQBGHRzX25vZGVfbmFtZWRfY2hpbGRfd2FzbQDSAR50c19ub2RlX2NoaWxkX2J5X2ZpZWxkX2lkX3dhc20A0QEZdHNfbm9kZV9uZXh0X3NpYmxpbmdfd2FzbQDQARl0c19ub2RlX3ByZXZfc2libGluZ193YXNtAM8BH3RzX25vZGVfbmV4dF9uYW1lZF9zaWJsaW5nX3dhc20AzgEfdHNfbm9kZV9wcmV2X25hbWVkX3NpYmxpbmdfd2FzbQDNAR10c19ub2RlX2Rlc2NlbmRhbnRfY291bnRfd2FzbQDMARN0c19ub2RlX3BhcmVudF93YXNtAMsBInRzX25vZGVfY2hpbGRfd2l0aF9kZXNjZW5kYW50X3dhc20AygEhdHNfbm9kZV9kZXNjZW5kYW50X2Zvcl9pbmRleF93YXNtAMkBJ3RzX25vZGVfbmFtZWRfZGVzY2VuZGFudF9mb3JfaW5kZXhfd2FzbQDHASR0c19ub2RlX2Rlc2NlbmRhbnRfZm9yX3Bvc2l0aW9uX3dhc20AxgEqdHNfbm9kZV9uYW1lZF9kZXNjZW5kYW50X2Zvcl9wb3NpdGlvbl93YXNtAMUBGHRzX25vZGVfc3RhcnRfcG9pbnRfd2FzbQDEARZ0c19ub2RlX2VuZF9wb2ludF93YXNtAMMBGHRzX25vZGVfc3RhcnRfaW5kZXhfd2FzbQDCARZ0c19ub2RlX2VuZF9pbmRleF93YXNtAMEBFnRzX25vZGVfdG9fc3RyaW5nX3dhc20AwAEVdHNfbm9kZV9jaGlsZHJlbl93YXNtAL8BG3RzX25vZGVfbmFtZWRfY2hpbGRyZW5fd2FzbQC+ASB0c19ub2RlX2Rlc2NlbmRhbnRzX29mX3R5cGVfd2FzbQC8ARV0c19ub2RlX2lzX25hbWVkX3dhc20AuwEYdHNfbm9kZV9oYXNfY2hhbmdlc193YXNtALoBFnRzX25vZGVfaGFzX2Vycm9yX3dhc20AuQEVdHNfbm9kZV9pc19lcnJvcl93YXNtALgBF3RzX25vZGVfaXNfbWlzc2luZ193YXNtALcBFXRzX25vZGVfaXNfZXh0cmFfd2FzbQC2ARh0c19ub2RlX3BhcnNlX3N0YXRlX3dhc20AtQEddHNfbm9kZV9uZXh0X3BhcnNlX3N0YXRlX3dhc20AtAEVdHNfcXVlcnlfbWF0Y2hlc193YXNtALMBFnRzX3F1ZXJ5X2NhcHR1cmVzX3dhc20AsAEGbWVtc2V0ADMGbWVtY3B5ACQHbWVtbW92ZQCZAQhpc3dhbHBoYQBnCGlzd2JsYW5rAJ0BCGlzd2RpZ2l0AKIBCGlzd2xvd2VyAJ4BCGlzd3VwcGVyAJoBCWlzd3hkaWdpdACXAQZtZW1jaHIAZAZzdHJsZW4AZQZzdHJjbXAAlgEHc3RybmNhdACcAQdzdHJuY3B5AJgBCHRvd2xvd2VyAKQBCHRvd3VwcGVyAKMBCHNldFRocmV3AKYBGV9lbXNjcmlwdGVuX3N0YWNrX3Jlc3RvcmUAoQEXX2Vtc2NyaXB0ZW5fc3RhY2tfYWxsb2MAoAEcZW1zY3JpcHRlbl9zdGFja19nZXRfY3VycmVudACfARhfX3dhc21fYXBwbHlfZGF0YV9yZWxvY3MAmgIIAsgBCUABACMCCx6bAZUBlAGSAZEBkAGKAZcClQKWApQCJZICkwGPAY4BMo4CjQKMAogChQKEArEBrwGtAa4BqgGpAacBDAEBCtSBC5MC0AEBA38CQCABKAJMIgJBAE4EQCACRQ0BIwFBlNYAaigCGCACQf////8DcUcNAQsCQCAAQf8BcSIDIAEoAlBG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IAQgCy8BSk0NASALIAQ7AUogACgCPCAEQRRsaiEHDAALAAsgGigCFCAQSw0ACwwACwALIBVBAWoiFSADKAIETw0BIAMoAhAhBAwACwALIAsgAygCCDYCECALIAMpAgA3AwggAyARKAIINgIIIAMgESkCADcCACARIAsoAhA2AgggESALKQMINwIACyAjQQFqIiNBgAJHDQALIANBAToASAsgC0HQAGokAAu5IAIZfwF+IwBBgAJrIggkACAAKAKECSIJKAIEIRogCCADNgLYASAIQYQBaiAJIAEjAkEHaiAIQdgBaiADEBkgACgChAkiAygCBCILBH8gAygCACERQQAhCUEAIQMgC0EETwRAIAtBfHEhDANAIAkgESADQQV0aiIQKAIcQQJGaiAQKAI8QQJGaiAQKAJcQQJGaiAQKAJ8QQJGaiEJIANBBGohAyANQQRqIg0gDEcNAAsLIAtBA3EiEARAA0AgCSARIANBBXRqKAIcQQJGaiEJIANBAWohAyAKQQFqIgogEEcNAAsLIAlBCmoFQQoLIRsgCCgCiAEiEgRAQRhBACACQf3/A0sbIRwgAEGEAWohESAAQYgJaiEXIABBvAlqIR0gAkEDbCEeQQAhEANAIAgoAoQBIg4gEEEEdGoiAygCBCEKIAMoAgAhCQJAIBsgAygCDCIUIBhrIhlJBEAgACgChAkgGRARQQAhAyAKBEADQCAIIAkgA0EDdGopAgA3AwggFyAIQQhqEAogA0EBaiIDIApHDQALCyAJBEAgCSMIKAIAEQIACyAYQQFqIRggEEEBaiIDIBJPDQEDQCADIQoCQAJAIAAoAmAiCUUEQCAAKAKMCkUNAiARIwEiAykAnQM3AAAgESADKQC8AzcAHyARIAMpALUDNwAYIBEgAykArQM3ABAgESADKQClAzcACAwBCyARIwEiAykAnQM3AAAgESADKQC8AzcAHyARIAMpALUDNwAYIBEgAykArQM3ABAgESADKQClAzcACCAAKAJcQQAgESAJEQMAIAAoAowKRQ0BCyARIQkDQAJAAkAgCS0AACIDQSJGDQAgA0HcAEYNACADDQEMAwtB3AAgACgCjAoQCSAJLQAAIQMLIAPAIAAoAowKEAkgCUEBaiEJDAALAAsgDiAKQQR0aiIMKAIMIBRHDQIgDCgCACEJQQAhAyAMKAIEIhAEQANA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BEF/NgJMIAQjAkEdajYCJCAEQX82AlAgBCAEQZ8BajYCLCAEIARBlAFqNgJUIAZBADoAACMAQdABayIFJAAgBSADNgLMASAFQaABaiIAQQBBKPwLACAFIAUoAswBNgLIAQJAQQAgAiAFQcgBaiAFQdAAaiAAIwIiAEEbaiIGIABBHGoiABBiQQBIBEBBfyEADAELIAQoAkxBAEggBCAEKAIAIgFBX3E2AgACfwJAAkAgBCgCMEUEQCAEQdAANgIwIARBADYCHCAEQgA3AxAgBCgCLCEHIAQgBTYCLAwBCyAEKAIQDQELQX8gBBBCDQEaCyAEIAIgBUHIAWogBUHQAGogBUGgAWogBiAAEGILIQIgBwRAIARBAEEAIAQoAiQRBAAaIARBADYCMCAEIAc2AiwgBEEANgIcIAQoAhQhACAEQgA3AxAgAkF/IAAbIQILIAQgBCgCACIAIAFBIHFyNgIAQX8gAiAAQSBxGyEADQALIAVB0AFqJAAgBEGgAWokACAAC7wCAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4SAAgJCggJAQIDBAoJCgoICQUGBwsgAiACKAIAIgFBBGo2AgAgACABKAIANgIADwsgAiACKAIAIgFBBGo2AgAgACABMgEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMwEANwMADwsgAiACKAIAIgFBBGo2AgAgACABMAAANwMADwsgAiACKAIAIgFBBGo2AgAgACABMQAANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRBQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC28BBX8gACgCACIDLAAAQTBrIgFBCUsEQEEADwsDQEF/IQQgAkHMmbPmAE0EQEF/IAEgAkEKbCIFaiABIAVB/////wdzSxshBAsgACADQQFqIgU2AgAgAywAASAEIQIgBSEDQTBrIgFBCkkNAAsgAgucEwITfwJ+IwBBQGoiCCQAIAggATYCPCAIQSlqIRcgCEEnaiEYIAhBKGohEgJAAkACQAJAA0BBACEHA0AgASENIAcgDkH/////B3NKDQIgByAO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QQALMwEBfyAAECkgAEEANgKgCQJAIAEEQCABKAIAQRBrQX1JDQELIAAgATYCoAlBASECCyACC+wHAQp/IwBBIGsiAyQAIAAEQCAAECkgAEEANgKgCSAAKAKECSEBIwBBEGsiBiQAIAEoAgwiAgRAIAIjCCgCABECACABQQA2AhQgAUIANwIMCyABKAIYIgIEQCACIwgoAgARAgAgAUEANgIgIAFCADcCGAsgASgCMCABQSRqIgggASgCNBAaIAEoAgQiAgRAA0AgASgCACAFQQV0aiIEKAIABEAgASgCNCEHIAQoAgwEQCAGIAQpAgw3AwggByAGQQhqEAoLIAQoAhQEQCAGIAQpAhQ3AwAgByAGEAoLIAQoAgQiAgRAIAIoAgAiCgRAIAojCCgCABECACAEKAIEIQILIAJBADYCCCACQgA3AgAgAiMIKAIAEQIACyAEKAIAIAggBxAaIAEoAgQhAgsgBUEBaiIFIAJJDQALC0EAIQIgAUEANgIEIAEoAiQiBQRAAkAgASgCKARAA0AgASgCJCACQQJ0aigCACMIKAIAEQIAIAJBAWoiAiABKAIoSQ0ACyAIKAIAIgVFDQELIAUjCCgCABECAAsgAUEANgIsIAFCADcCJAsgASgCACICBEAgAiMIKAIAEQIACyABQQA2AgggAUIANwIAIAEjCCgCABECACAGQRBqJAAgACgCqAkiAQRAIAEjCCgCABECACAAQQA2ArAJIABCADcCqAkLIAAoAqAKIgEEQCABIwgoAgARAgAgAEEANgKoCiAAQgA3AqAKCyAAKAKYCgRAIAMgAEGYCmopAgA3AxggAEGICWogA0EYahAKIABCADcCmAoLIAAoAkQjCCgCABECACAAQeAJaiEBIAAoAuAJBEAgAyABKQIANwMQIABBiAlqIANBEGoQCgsgACgC6AkEQCADIABB6AlqKQIANwMIIABBiAlqIANBCGoQCgsgAUIANwIAIAFBADYCECABQgA3AgggACgCiAkiAQRAAkAgACgCjAkEQANAIAAoAogJIAlBA3RqKAIAIwgoAgARAgAgCUEBaiIJIAAoAowJSQ0ACyAAKAKICSIBRQ0BCyABIwgoAgARAgALIABBADYCkAkgAEIANwKICQsgACgClAkiAQRAIAEjCCgCABECACAAQQA2ApwJIABCADcClAkLIAAoAvQJIgEEQCABIwgoAgARAgALIABBADYC/AkgAEIANwL0CSAAKAK8CSIBBEAgASMIKAIAEQIACyAAQQA2AsQJIABCADcCvAkgACgCyAkiAQRAIAEjCCgCABECAAsgAEEANgLQCSAAQgA3AsgJIAAoAtQJIgEEQCABIwgoAgARAgALIABBADYC3AkgAEIANwLUCSAAIwgoAgARAgALIANBIGokAAuzAQIFfwF+IAApAgAiCEIgiKchAyAIpyEEAkAgASgCACIFIAIoAgQiB08EQCADIAIoAiAgAyACKAIYayIGQQAgAyAGTxtqIAQgAigCFCIGSxshAyACKAIcIAQgBmsiBkEAIAQgBk8baiEEIAIoAgggBSAHa2ohBQwBCyAFIAIoAgBNDQAgAikCHCIIQiCIpyEDIAIoAgghBSAIpyEECyAAIAStIAOtQiCGhDcCACABIAU2AgALGwAgACABEF0hAAJAIAFFDQAgAA0AEEMACyAACxsAIAAgARAqIQECQCAARQ0AIAENABBDAAsgAQvAAQEDfyMAQSBrIgMkACAAKAJIBEAgACgCYCECAkAgAQRAIAJFDQEgAyAAKAIAIgI2AgAgAEGEAWoiBEGACCMBQZoLQf0IIAJBIGtB3wBJG2ogAxALGiAAKAJcQQEgBCAAKAJgEQMADAELIAJFDQAgAyAAKAIAIgI2AhAgAEGEAWoiBEGACCMBQa4LQY8JIAJBIGtB3wBJG2ogA0EQahALGiAAKAJcQQEgBCAAKAJgEQMACyAAIAEQQQsgA0EgaiQAC2kBAn8CQCAAKAJoIgEgACgCZEYNACABRQ0AIAAoAiAgACgCRCABQRhsaiIBKAIQRw0AIAFBBGsoAgAhAiAAIAFBEGspAgA3AjwgACACNgI4DwsgACAAKQIgNwI4IABBQGsgACgCKDYCAAv6BQIJfwF+IwBBEGsiBSQAIABBAToAeAJAIAAtAIABDQAgACgCICIIIAAoAigiA2shASAAKAIkIQQgAwRAIABBADYCfCAAQQA6AIABCyAAQQA2AiggACAENgIkIAAgATYCICAAKAJEIQYCQAJ/IAAoAmQiBARAA0ACQCAGIAJBGGxqIgcoAhQiCSABTQ0AIAkgBygCECIDTQ0AIAEgA00EQCAAIAcpAgA3AiQgACADNgIgIAMhAQsgACACNgJoQQAhAiAAKAJIRQ0EIAAoAmwiAyABTQRAIAEgACgCcCADakkNBQsgAEEANgJIQQAMAwsgAkEBaiICIARHDQALCyAAIAQ2AmggBiAEQRhsaiIDQQRrKAIAIQEgA0EQaykCACEKIABBADYCSCAAIAo3AiQgACABNgIgQQELIQIgAEEANgJwCyAAQQE6AIABIABBADYCACAAIAI2AnQgAEEANgJ8IAAgATYCbCAAKAJQIQMgACgCTCECIAUgACkCJDcDCCAAIAIgASAFQQhqIABB8ABqIgQgAxEGACICNgJIIAAoAnAiAUUEQCAAQQA2AkggACAAKAJkNgJoDAELIAAoAmggACgCZEYNAAJAIAAoAiAgACgCbGsiAyABRgRAIABBADYCACAAQQE2AnQMAQsgACACIANqIAEgA2siASAAIwFB0NMAaiAAKAJUIgNBAnRqIABB2ABqIANBA0kbKAIAIgMRBAA2AnQgACgCACECAkAgAUEDSw0AIAJBf0cNACAAIAAoAiAiATYCbCAAKAJQIQIgACgCTCEGIAUgACkCJDcDACAAIAYgASAFIAQgAhEGACICNgJIIAAgACgCcCIBBH8gAgUgAEEANgJIIAAgACgCZDYCaEEACyABIAAgAxEEADYCdCAAKAIAIQILIAJBf0cNACAAQQE2AnQLA0AgACgCICAITw0BIAAoAmggACgCZEYNASAAKAJIRQ0BIABBABBBIAAoAmggACgCZEcNAAsLIAAoAnwgBUEQaiQACxsBAX8gABAiIQECQCAARQ0AIAENABBDAAsgAQsrAQJ/IAAoAmgiAiAAKAJkSQR/IAAoAiAgACgCRCACQRhsaigCEEYFQQALCw0AIAAoAmggACgCZEYLTQECfyABLQAAIQICQCAALQAAIgNFDQAgAiADRw0AA0AgAS0AASECIAAtAAEiA0UNASABQQFqIQEgAEEBaiEAIAIgA0YNAAsLIAMgAmsLFwAgAEEwa0EKSSAAQSByQeEAa0EGSXILggIBAn8CQAJAAkACQCABIAAiA3NBA3ENACACQQBHIQQCQCABQQNxRQ0AIAJFDQADQCADIAEtAAAiBDoAACAERQ0FIANBAWohAyACQQFrIgJBAEchBCABQQFqIgFBA3FFDQEgAg0ACwsgBEUNAiABLQAARQ0DIAJBBEkNAANAQYCChAggASgCACIEayAEckGAgYKEeHFB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ICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQQV2QQFxDAELIAAvASxBCXZBAXELIAFBMGokAAveAQECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAAn8CQCABKAIMIgBB//8DcUUEQCABKAIQKAIAIgBBAXEEQCAAQYD+A3FBCHYhAAwCCyAALwEoIQALIABB//8DcUH//wNHDQBBAQwBCyABKAIUKAIIKAJMIABB//8DcUEBdGovAQBB//8DRgsgAUEwaiQAC6oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQRp0QR91QeIEcQwBC0HiBCAALQAtQQJxDQAaIAAoAiALQQBHIAFBMGokAAubAQECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAAn8gASgCECgCACIAQQFxBEAgAEEEdkEBcQwBCyAALwEsQQV2QQFxCyABQTBqJAALdwECfyMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAIAEQPSABQTBqJAAL0QYBCH8jAEGgAWsiByQAIAcjCyIIKAIANgKYASAHIAgoAgxBAXQ2ApABIAcgADYCnAEgByAHKQKYATcDWCAHIAgoAhA2ApQBIAcgBykCkAE3A1AgByAIKAIINgKMASAHIAgoAgRBAXQ2AogB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NgIAIAFBgAFqJAALrAICB38BfiMAQTBrIgEkACABIwsiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAIwBBIGsiACQAIAEoAhQoAgghAiABKAIQKQIAIQhBASEDAkACQAJAIAEvAQwiBEH+/wNrDgIAAgELQQAhAwwBCyACKAJIIARBA2xqLQAAIQMLIAAgCDcDECAAIAg3AwggAEEIaiAAQR9qQQEgAkEAIAQgA0EBcSIFIwFBoQpqIgYQMEEBaiIHIwcoAgARAAAhAyAAIAApAxA3AwAgACADIAcgAkEAIAQgBSAGEDAaIABBIGokACABQTBqJAAgAwt6AQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwAgARBbIAFBMGokAEEBdgt7AQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwAgASgCACABQTBqJABBAXYLlgEBAn8jAEFAaiIBJAAgASMLIgIoAgA2AjggASACKAIMQQF0NgIwIAEgADYCPCABIAEpAjg3AxggASACKAIQNgI0IAEgASkCMDcDECABIAIoAgg2AiwgASACKAIEQQF0NgIoIAEgASkCKDcDCCABQSBqIAFBCGoQPyACIAEoAiA2AgAgAiABKAIkQQF2NgIEIAFBQGskAAueAQECfyMAQUBqIgEkACABIwsiAigCADYCOCABIAIoAgxBAXQ2AjAgASAANgI8IAEgASkCODcDGCABIAIoAhA2AjQgASABKQIwNwMQIAEgAigCCDYCLCABIAIoAgRBAXQ2AiggASABKQIoNwMIIAEgASgCDDYCICABIAEoAhA2AiQgAiABKAIgNgIAIAIgASgCJEEBdjYCBCABQUBrJAAL1wIBBn8jAEHwAGsiASQAIAEjCyICKAIANgJoIAEgAigCDEEBdDYCYCABIAA2AmwgASACKAIINgJcIAEgAigCEDYCZCABIAIoAgRBAXQ2AlggASACKAIYQQF0NgJUIAEgAigCFDYCUCACKAIgIQAgAigCHCEDIAEgASkCaDcDKCABIAEpAmA3AyAgASADNgJIIAEgASkCWDcDGCABIABBAXQ2AkwgASABKQJQNwMQIAEgASkCSDcDCCMAQSBrIgAkACABKAIMIQMgASgCCCEEIAEoAhQhBSABKAIQIQYgACABKQIoNwMYIAAgASkCIDcDECAAIAEpAhg3AwggAUEwaiAAQQhqIAYgBSAEIANBABBVIABBIGokACACIAEoAjw2AhAgAiABKAI0NgIIIAIgASgCQDYCACACIAEoAjhBAXY2AgwgAiABKAIwQQF2NgIEIAFB8ABqJAAL1wIBBn8jAEHwAGsiASQAIAEjCyICKAIANgJoIAEgAigCDEEBdDYCYCABIAA2AmwgASACKAIINgJcIAEgAigCEDYCZCABIAIoAgRBAXQ2AlggASACKAIYQQF0NgJUIAEgAigCFDYCUCACKAIgIQAgAigCHCEDIAEgASkCaDcDKCABIAEpAmA3AyAgASADNgJIIAEgASkCWDcDGCABIABBAXQ2AkwgASABKQJQNwMQIAEgASkCSDcDCCMAQSBrIgAkACABKAIMIQMgASgCCCEEIAEoAhQhBSABKAIQIQYgACABKQIoNwMYIAAgASkCIDcDECAAIAEpAhg3AwggAUEwaiAAQQhqIAYgBSAEIANBARBVIABBIGokACACIAEoAjw2AhAgAiABKAI0NgIIIAIgASgCQDYCACACIAEoAjhBAXY2AgwgAiABKAIwQQF2NgIEIAFB8ABqJAALhgIBBH8jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCACKAIUQQF0IQMgAigCGEEBdCEEIwBBIGsiACQAIAAgASkCGDcDGCAAIAEpAhA3AxAgACABKQIINwMIIAFBIGogAEEIaiADIARBABBWIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAALWAEBfyMBQcjTAGokBiMBQcDTAGokByMBQczTAGokCCMBQcTTAGokCSMBQYjVAGokCiMBQZDVAGoiACQLIwFBlNsAaiQMIwFBmNsAaiQNIABBAEGMBvwLAAuGAgEEfyMAQdAAayIBJAAgASMLIgIoAgA2AkggAUFAayIDIAIoAgxBAXQ2AgAgASAANgJMIAEgASkCSDcDGCABIAIoAhA2AkQgASADKQIANwMQIAEgAigCCDYCPCABIAIoAgRBAXQ2AjggASABKQI4NwMIIAIoAhRBAXQhAyACKAIYQQF0IQQjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIAMgBEEBEFYgAEEgaiQAIAIgASgCLDYCECACIAEoAiQ2AgggAiABKAIwNgIAIAIgASgCKEEBdjYCDCACIAEoAiBBAXY2AgQgAUHQAGokAAufAgEDfyMAQYABayIBJAAgASMLIgIoAgA2AnggASACKAIMQQF0NgJwIAEgADYCfCABIAIoAgg2AmwgASACKAIQNgJ0IAEgAigCBEEBdDYCaCABIAIoAhQ2AmAgASACKAIYQQF0NgJQIAEgAigCHDYCVCABIAIoAiBBAXQ2AlggAigCJCEDIAEgASkCeDcDMCABIAEpAnA3AyggASAANgJkIAEgASkCaDcDICABIAM2AlwgASABKQJgNwMYIAEgASkCWDcDECABIAEpAlA3AwggAUE4aiABQSBqIAFBCGoQGCACIAEoAkQ2AhAgAiABKAI8NgIIIAIgASgCSDYCACACIAEoAkBBAXY2AgwgAiABKAI4QQF2NgIEIAFBgAFqJAAL4AQCBn8CfiMAQdAAayIBJAAgASMLIgMoAgA2AkggAUFAayICIAMoAgxBAXQ2AgAgASAANgJMIAEgASkCSDcDGCABIAMoAhA2AkQgASACKQIANwMQIAEgAygCCDYCPCABIAMoAgRBAXQ2AjggASABKQI4NwMIIwBBkAFrIgAkAAJ/IAEoAhwiAigCACIEQQFxBEAgAi0ABUEPcSEFIAItAAQhBiACLQAGDAELIAQoAgwhBiAEKAIIIQUgBCgCBAshBCAAIAI2AowBIAAgAjYCiAEgAEEANgKEASAAIAY2AoABIAAgBTYCfCAAIAQ2AngCQCACIAEoAhgiBEcEQCAAIAApAoABNwNQIAAgACkCiAE3A1ggACAAKQJ4NwNIIAAgASkCEDcDOCAAQUBrIAEpAhg3AwAgACABKQIINwMwIABB4ABqIABByABqIABBMGoQGAJAIAAoAnAiAiAERg0AIAJFDQADQCAAIAApAnAiBzcDiAEgACAAKQJoIgg3A4ABIAAgCDcDICAAIAc3AyggACAAKQJgIgc3A3ggACAHNwMYIAAgASkCEDcDCCAAIAEpAhg3AxAgACABKQIINwMAIABB4ABqIABBGGogABAYIAAoAnAiAiAERg0BIAINAAsLIAEgACkDeDcCICABIAApA4gBNwIwIAEgACkDgAE3AigMAQsgAUIANwIgIAFCADcCMCABQgA3AigLIABBkAFqJAAgAyABKAIsNgIQIAMgASgCJDYCCCADIAEoAjA2AgAgAyABKAIoQQF2NgIMIAMgASgCIEEBdjYCBCABQdAAaiQAC50BAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBASEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAI4QQFqIQALIAFBMGokACAAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQAQWCAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQAQWSAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQEQWCAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC+4BAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwgjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqQQEQWSAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC8UBAQN/IwBB0ABrIgIkACACIwsiAygCADYCSCACQUBrIgQgAygCDEEBdDYCACACIAA2AkwgAiACKQJINwMYIAIgAygCEDYCRCACIAQpAgA3AxAgAiADKAIINgI8IAIgAygCBEEBdDYCOCACIAIpAjg3AwggAkEgaiACQQhqIAFB//8DcRA7IAMgAigCLDYCECADIAIoAiQ2AgggAyACKAIwNgIAIAMgAigCKEEBdjYCDCADIAIoAiBBAXY2AgQgAkHQAGokAAvwAQEDfyMAQdAAayICJAAgAiMLIgMoAgA2AkggAkFAayIEIAMoAgxBAXQ2AgAgAiAANgJMIAIgAikCSDcDGCACIAMoAhA2AkQgAiAEKQIANwMQIAIgAygCCDYCPCACIAMoAgRBAXQ2AjggAiACKQI4NwMIIwBBIGsiACQAIAAgAikCGDcDGCAAIAIpAhA3AxAgACACKQIINwMIIAJBIGogAEEIaiABQQAQPCAAQSBqJAAgAyACKAIsNgIQIAMgAigCJDYCCCADIAIoAjA2AgAgAyACKAIoQQF2NgIMIAMgAigCIEEBdjYCBCACQdAAaiQACyoBAn8CQCAAKAIgIgNFDQAgASADSw0AIAAoAjwgAUECdGooAgAhAgsgAgvwAQEDfyMAQdAAayICJAAgAiMLIgMoAgA2AkggAkFAayIEIAMoAgxBAXQ2AgAgAiAANgJMIAIgAikCSDcDGCACIAMoAhA2AkQgAiAEKQIANwMQIAIgAygCCDYCPCACIAMoAgRBAXQ2AjggAiACKQI4NwMIIwBBIGsiACQAIAAgAikCGDcDGCAAIAIpAhA3AxAgACACKQIINwMIIAJBIGogAEEIaiABQQEQPCAAQSBqJAAgAyACKAIsNgIQIAMgAigCJDYCCCADIAIoAjA2AgAgAyACKAIoQQF2NgIMIAMgAigCIEEBdjYCBCACQdAAaiQAC5oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBACEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAI0IQALIAFBMGokACAAC5oBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBACEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAIwIQALIAFBMGokACAAC5wBAQJ/IwBBMGsiASQAIAEjCyICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQYD+A3FBCHYMAQsgAC8BKAtB//8DcSABQTBqJAAL+gEBA38jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCACKAIUQQF0IQMjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIANBABBXIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAAL+gEBA38jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCACKAIUQQF0IQMjAEEgayIAJAAgACABKQIYNwMYIAAgASkCEDcDECAAIAEpAgg3AwggAUEgaiAAQQhqIANBARBXIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAALiQQBCX8jAEGAAWsiAiQAIAIjCyIDKAIANgJ4IAIgAygCDEEBdDYCcCACIAA2AnwgAiACKQJ4NwMwIAIgAygCEDYCdCACIAIpAnA3AyggAiADKAIINgJsIAIgAygCBEEBdDYCaCACIAIpAmg3AyAgAkHUAGogAkEgahBwAkAgAUUEQEEAIQMMAQsgAiACKQJ4NwMYIAIgAikCcDcDECACIAIpAmg3AwggAkHUAGoiACACQQhqECYgABAsGkEAIQBBACEDA0AgAyEEAkADQCACQdQAaiIDEG0gAUYNASADEBwNAAsgBCEDDAILIAJBPGogAkHUAGoiAxAQIAMQHAJAIARBBWoiAyAATQ0AQQggAEEBdCIAIAMgACADSxsiACAAQQhNGyIAQQJ0IQYgBQRAIAUgBiMGKAIAEQEAIQUMAQsgBiMHKAIAEQAAIQULIAUgBEECdGoiBEIANwIAIARBADYCECAEQgA3AgggAigCPCEGIAIoAkQhCCACKAJMIQkgAigCQCEKIAUgA0ECdGoiBEEE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IAA2AgwgASMLIgApAwA3AhAgASAAKQMINwIYIAFBDGoQbSABQSBqJAALZwEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxggASABKQIsNwMQIAEgASkCJDcDCCABQQhqEFsgAUHQAGokAEEBdgtlAQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDGCABIAEpAiw3AxAgASABKQIkNwMIIAEoAgggAUHQAGokAEEBdgt9AQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDECABIAEpAiw3AwggASABKQIkNwMAIAFBHGogARA/IAAgASgCHDYCACAAIAEoAiBBAXY2AgQgAUHQAGokAAuIAQEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxAgASABKQIsNwMIIAEgASkCJDcDACABIAEoAgQ2AhwgASABKAIINgIgIAAgASgCHDYCACAAIAEoAiBBAXY2AgQgAUHQAGokAAtCAQF/IwBBMGsiASQAIAEgADYCHCABIwsiACkDADcCICABIAApAwg3AiggAUEEaiABQRxqEBAgASgCFCABQTBqJAALhQEBAX8jAEHQAGsiASQAIAEgADYCPCABIwsiACkDADcCQCABIAApAwg3AkggAUEkaiABQTxqEBAgASABKQI0NwMYIAEgASkCLDcDECABIAEpAiQ3AwgCfyABKAIYKAIAIgBBAXEEQCAAQQV2QQFxDAELIAAvASxBCXZBAXELIAFB0ABqJAALZAEBfyMAQdAAayIBJAAgASAANgI8IAEjCyIAKQMANwJAIAEgACkDCDcCSCABQSRqIAFBPGoQECABIAEpAjQ3AxggASABKQIsNwMQIAEgASkCJDcDCCABQQhqED0gAUHQAGokAAtkAQF/IwBB0ABrIgEkACABIAA2AjwgASMLIgApAwA3AkAgASAAKQMINwJIIAFBJGogAUE8ahAQIAEgASkCNDcDGCABIAEpAiw3AxAgASABKQIkNwMI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AEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABQQxqEBwgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALhwECAn8BfiMAQTBrIgEkACABIAA2AhwgASMLIgAoAgA2AiAgASAAKQIENwIkIAEgACgCDCICNgIsIAEgACgCEEEBdDYCGCABIAI2AhQgASABKQIUNwMIIAFBHGpBACABKAIIIAEoAgwQbiAAIAEpAiA3AwAgACABKQIoNwMIIAFBMGokAEIAUgtmAgJ/AX4jAEEgayIBJAAgASAANgIMIAEjCyIAKAIANgIQIAEgACkCBDcCFCABIAAoAgwiAjYCHCABQQxqIAJBAXRBAEEAEG4gACABKQIQNwMAIAAgASkCGDcDCCABQSBqJABCAFILXwEDfyMAQSBrIgEkACABIAA2AgwgASMLIgApAwA3AhAgASAAKQMINwIYIAFBDGohAgNAIAIQbyIDQQFGDQALIANBAkYgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALTgEBfyMBQasKaiECAkACQAJAIAFB/v8Daw4CAAIBCyMBQaoKag8LQQAhAiAAKAIIIAAoAgRqIAFNDQAgACgCOCABQQJ0aigCACECCyACC0wBAn8jAEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABQQxqECwgACABKQIQNwMAIAAgASkCGDcDCCABQSBqJAALugIBBX8jAEEwayICJAAgAiAANgIcIAIjCyIDKQMANwIgIAIgAykDCDcCKCACIAMpAxA3AgwgAiADKQMYNwIUIAIgATYCCCACIAIoAgg2AhwgAi8BGCEAIAJBADYCJCACIAA7ASwgAigCICEAIAIoAgwhBgJAAkAgAigCECIEIAIoAihLBEAgBEEcbCEBAn8gAARAIAAgASMGKAIAEQEADAELIAEjBygCABEAAAshACACIAQ2AiggAigCJCIFRQ0BIAVBHGwiBUUNASAAIAFqIAAgBfwKAAAMAQsgBEUNASAEQRxsIQELIAYEQCABRQ0BIAAgBiAB/AoAAAwBCyABRQ0AIABBACAB/AsACyACIAA2AiAgAiACKAIkIARqNgIkIAMgAikCIDcDACADIAIpAig3AwggAkEwaiQAC9kBAgh/AX4jAEHQAGsiASQAIAEjCyICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCACKAIgIQQgAikDGCEJIAIoAhQhBSACKAIEIQYgAigCCCEHIAIoAhAhCCABIAEpAkg3AxggASAINgJEIAEgAykCADcDECABIAc2AjwgASAGQQF0NgI4IAEgBTYCKCABIAk3AiwgASAENgI0IAEgADYCJCABIAEpAjg3AwggAUEkaiABQQhqECYgAiABKQIoNwMAIAIgASkCMDcDCCABQdAAaiQAC1MBAX8jAEEgayIBJAAgASAANgIMIAEjCyIAKQMANwIQIAEgACkDCDcCGCABKAIQIgAEQCAAIwgoAgARAgALIAFBADYCGCABQgA3AhAgAUEgaiQAC80BAQV/IwBBMGsiASQAIAEgADYCHCABIwsiAykDADcCICABIAMpAwg3AihBACEAIAFBADYCGCABIAEoAhw2AgggAS8BLCECIAFBADYCFCABIAI7ARgCQCABKAIkIgRFDQAgASgCICEFIARBHGwiAiMHKAIAEQAAIQAgASAENgIUIAUEQCACRQ0BIAAgBSAC/AoAAAwBCyACRQ0AIABBACAC/AsACyABIAA2AgwgASAENgIQIAMgASkCDDcDACADIAEpAhQ3AwggAUEwaiQAC5oBAQN/IwBB0ABrIgEkACABIwsiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwggAUEkaiABQQhqEHAgAiABKQIoNwMAIAIgASkCMDcDCCABQdAAaiQAC84wAht/A34jAEEQayIYJAAjAEFAaiIHJAAgB0EANgI8IAdCADcCJCAHQgA3AhwCfyAAKAIAIgJBAXEEQCAALQAEIQ0gAC0ABiEMIAAtAAVBD3EMAQsgAigCDCENIAIoAgQhDCACKAIICyEIIAdBADsBPCAHIAA2AiwgB0HgASMHKAIAEQAAIgI2AjAgB0KBgICAgAE3AjQgAkEANgIYIAJCADcCECACIA02AgwgAiAINgIIIAIgDDYCBCACIAA2AgACfyABKAIAIgJBAXEEQCABLQAEIQ0gAS0ABiEMIAEtAAVBD3EMAQsgAigCDCENIAIoAgQhDCACKAIICyEC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NgKIAiAKIDg3A4ACIApBADYC+AEgCkEANgL0ASAKQQA2AvABIAogBzYC7AEgCkEANgLoASAKQQA2AuQBIAogETsB4AEgCkEAOwHeASAKQQA7AdoBIApCADcDuAEgCkEBNgKMAiAKIANBAXQgAmpB/wFxOwHcASABIAooAowCNgIAIAEgCigCiAI2AgQgASAKKQOAAjcCCCABIAooAvgBNgIQIAEgCigC9AE2AhQgASAKKALwATYCGCABIAooAuwBNgIcIAEgCigC6AE2AiAgASAKKALkATYCJCABIAovAeABOwEoIAEgCi8B3gE7ASogASAKLwHcATsBLCABIAovAdoBOwEuIAEgCigC0AE2AkggAUFAayAKKQPIATcCACABIAopA8ABNwI4IAEgCikDuAE3AjBCAAshOCAEQQFrIRgCQCABQQFxBEAgAUEgciEBDAELIAEgAS8BLEGABHI7ASwLIBhBBXQiECAFKAKECSICKAIAaiIHKAIAIQMCfyACKAIoIgAEQCACIABBAWsiADYCKCACKAIkIABBAnRqKAIADAELQaQBIwcoAgARAAALIhQgDzsBACAUQQJqQQBBkgH8CwAgFEIANwKYASAUQQE2ApQBIBRBADYCoAECQAJ/AkAgAwRAIBQgOCABrYQ3AhQgFCADNgIQIBRBATsBkAEgFCADKQIENwIEIBQgAygCDDYCDCAUIAMoApgBIgA2ApgBIBQgAygCoAEiBDYCoAEgFCADKAKcASITNgKcASABQQFxIgMNASAUIAEtAC1BAnEEf0HiBAUgASgCIAsgAGo2ApgBQQAgASgCDCABKAIUIgIbIQAgASgCECABKAIEaiENIAIgASgCCGohDiABKAIYDAILIBRCADcCBCAUQQA2AgwMAgsgFCAAIAFBGnRBH3VB4gRxajYCmAEgOEIgiKdB/wFxIQAgOEIoiKdBD3EhDiA4QjCIpyENQQALIQIgFCAUKAIEIA1qNgIEIBQgFCgCCCAOaq0gACACakEAIBQoAgwgDhtqrUIghoQ3AggCQCADRQRAQQAhDiAUIAEoAiQiAAR/IAEoAjgFQQALIBNqIAEvASxBAXFqIAEvAShB/v8DRmo2ApwBIABFDQEgASgCPCEODAELIBQgEyABQQF2QQFxajYCnAFBACEOCyAUIAQgDmo2AqABCyAHIBQ2AgAgBSAY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AgwgACABQQVqNgIIIABCADcCACAAQSBqQQBB5Aj8CwAgAEEAQRgjBigCABEBACIBNgJEIAEjAUH8C2oiAikCEDcCECABIAIpAgg3AgggASACKQIANwIAIABBATYCZAJAAkAgACgCRCIDKAIUIgQgACgCICIBTQ0AIAQgAygCECICTQ0AIAEgAk0EQCAAIAMpAgA3AiQgACACNgIgIAIhAQtBACECIABBADYCaCAAKAJIRQ0BIAAoAmwiAyABTQRAIAEgACgCcCADakkNAgsgAEEANgJIIABCADcCbAwBC0EBIQIgAEEBNgJoIAMpAgghByAAQQA2AkggACAHNwIkIAAgBDYCICAAQgA3AmwLIABBADYCsAkgAEEANgIAIAAgAjYCdCAAQgA3AqgJIABBwAAjByIBKAIAEQAANgKoCSAAQQQ2ArAJQYACIAEoAgARAAAhASAAQgA3ApQJIABCgICAgIAENwKMCSAAIAE2AogJIABBnAlqQQA2AgBBAUE4IwkoAgARAQAiAUIANwIAIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AgggAUGAASMHKAIAEQAANgIAIAFBBDYCCCABKAIMIQIgASgCFEEDTQRAAn8gAgRAIAJBwAAjBigCABEBAAwBC0HAACMHKAIAEQAACyECIAFBBDYCFAsgASACNgIMIAEoAhghAiABKAIgQQNNBEACfyACBEAgAkHgACMGKAIAEQEADAELQeAAIwcoAgARAAALIQIgAUEENgIgCyABIAI2AhggASgCJCECIAEoAixBMU0EQAJ/IAIEQCACQcgBIwYoAgARAQAMAQtByAEjBygCABEAAAshAiABQTI2AiwLIAEgAEGICWoiAzYCNCABIAI2AiQCfyABKAIoIgQEQCABIARBAWsiBDYCKCACIARBAnRqKAIADAELQaQBIwcoAgARAAALIgJBATsBACACQQJqQQBBkgH8CwAgAkIANwIEIAJBATYClAEgAkEANgIMIAJCADcCmAEgAkEANgKgASABIAI2AjAgARA5IABCADcC9AkgAEIANwK0CSAAIAE2AoQJIABB/AlqQgA3AgAgAEGECmpBADYCACAAQgA3ApQKIABCADcCiAogAEEANgKgCSAAQZwKakIANwIAIABBpApqQgA3AgAgAEEANgLACiAAQcMKakEA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IHN5bTolcwBzZWxlY3Rfc21hbGxlcl9lcnJvciBzeW1ib2w6JXMsIG92ZXJfc3ltYm9sOiVzAHNlbGVjdF9lYXJsaWVyIHN5bWJvbDolcywgb3Zlcl9zeW1ib2w6JXMAc2VsZWN0X2V4aXN0aW5nIHN5bWJvbDolcywgb3Zlcl9zeW1ib2w6JXMAY2FudF9yZXVzZV9ub2RlIHN5bWJvbDolcywgZmlyc3RfbGVhZl9zeW1ib2w6JXMAc2tpcF90b2tlbiBzeW1ib2w6JXMAaWdub3JlX2VtcHR5X2V4dGVybmFsX3Rva2VuIHN5bWJvbDolcwByZXVzYWJsZV9ub2RlX2hhc19kaWZmZXJlbnRfZXh0ZXJuYWxfc2Nhbm5lcl9zdGF0ZSBzeW1ib2w6JXMAcmV1c2Vfbm9kZSBzeW1ib2w6JXMAcGFzdF9yZXVzYWJsZV9ub2RlIHN5bWJvbDolcwBiZWZvcmVfcmV1c2FibGVfbm9kZSBzeW1ib2w6JXMAY2FudF9yZXVzZV9ub2RlXyVzIHRyZWU6JXMAYnJlYWtkb3duX3RvcF9vZl9zdGFjayB0cmVlOiVzAGRldGVjdF9lcnJvciBsb29rYWhlYWQ6JXMAKCVzAGlzX2Vycm9yAHNraXBfdW5yZWNvZ25pemVkX2NoYXJhY3RlcgBuYW4AXG4AaXNfbWlzc2luZwByZXN1bWVfcGFyc2luZwByZWNvdmVyX2VvZgBpbmYAbmV3X3BhcnNlAGNvbmRlbnNlAGRvbmUAaXNfZnJhZ2lsZQBjb250YWluc19kaWZmZXJlbnRfaW5jbHVkZWRfcmFuZ2UAc2tpcCBjaGFyYWN0ZXI6JWQAY29uc3VtZSBjaGFyYWN0ZXI6JWQAc2VsZWN0X2hpZ2hlcl9wcmVjZWRlbmNlIHN5bWJvbDolcywgcHJlYzolZCwgb3Zlcl9zeW1ib2w6JXMsIG90aGVyX3ByZWM6JWQAc2hpZnRfZXh0cmEAbm9fbG9va2FoZWFkX2FmdGVyX25vbl90ZXJtaW5hbF9leHRyYQBfX1JPT1RfXwBfRVJST1IATkFOAE1JU1NJTkcASU5GAElOVkFMSUQAbGV4ZWRfbG9va2FoZWFkIHN5bToAIDAwMDAwMDAwMDAwMBAwMAAuACglcykAKG51bGwpAChOVUxMKQAoIiVzIikAJ1x0JwAnXHInACdcbicAc2tpcCBjaGFyYWN0ZXI6JyVjJwBjb25zdW1lIGNoYXJhY3RlcjonJWMnACdcMCcAIiVzIgAoTUlTU0lORyAAKFVORVhQRUNURUQgACVzOiAACgoAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAP//////////AAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeDw8PAAAAAAAAAAABAAAAAQAAAAIAAAABAAAAAgAAAAEAAAACAAAAAQAAAAIAAAAAAAAAAAAAABIRExQVFhcYGRobHB0eHyAhESIjJBElJicoKSorLBEtLi8QEDAQEBAQEBAQMTIzEDQ1EBARERERERERERERERERERERERERERERERERNhERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERETcREREROBE5Ojs8PT4RERERERERERERERERERERERERERERERERERERERERERERERERERERERERPxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFAQRFCQ0RFRkdISUoRS0xNTk9QURBSU1RVVldYWVpbXF0QXl9gEBEREWFiYxAQEBAQEBAQEBARERERZBAQEBAQEBAQEBAQEBAQEBERZRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBERZmcQEGhpERERERERERERERERERERERERERERERFqERFrEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFsbRAQEBAQEBAQEG4QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEG9wcXIQEBAQEBAQEHN0dRAQEBAQdncQEBAQeBAQeRAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAAAAAAA/v//B/7//wcAAAAAAAQgBP//f////3//////////////////////////////////w/8DAB9QAAAAAAAAAAAAACAAAAAAAN+8QNf///v///////////+///////////////////////8D/P///////////////////////////v///38C//////8BAAAAAP+/tgD///+HBwAAAP8H//////////7/w////////////////+8f/uH/nwAA////////AOD///////////////8DAP//////BzAE/////P8fAAD///8B/wcAAAAAAAD//98/AADw//gD////////////7//f4f/P//7/75/5///9xeOfWYCwz/8DEO6H+f///W3DhxkCXsD/PwDuv/v///3t478bAQDP/wAe7p/5///97eOfGcCwz/8CAOzHPdYYx//Dxx2BAMD/AADv3/3///3/498dYAfP/wAA79/9///97+PfHWBAz/8GAO/f/f/////n313wgM//APzs/3/8///7L3+AX//A/wwA/v////9//wc/IP8DAAAAANb3//+v//87XyD/8wAAAAABAAAA/wMAAP/+////H/7/A////v///x8AAAAAAAAAAP///////3/5/wP///////////8//////78g///////3////////////PX89//////89/////z1/Pf9//////////z3//////////wcAAAAA//8AAP////////////8/P/7//////////////////////////////////////////////////////////5////7//wf////////////H/wH/3w8A//8PAP//DwD/3w0A////////z///AYAQ/wMAAAAA/wP//////////////wH//////wf//////////z8A////f/8P/wHA/////z8fAP//////D////wP/AwAAAAD///8P/////////3/+/x8A/wP/A4AAAAAAAAAAAAAAAP///////+//7w//AwAAAAD///////P///////+//wMA////////fwD/4///////P/8B///////nAAAAAADebwT///////////////////////////////8AAAAAgP8fAP//Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAAAAAAAAAAAAAAACgAAA/x8AAAAAAAAAAAAAAACE/C8+UL3/8+BDAAD//////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////////AwAA//////9///////9//////////////////////x94DAD/////vyD/////////gAAA//9/AH9/f39/f39//////wAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAP4DPh/+////////////f+D+//////////////fg///////+/////////////38AAP///wcAAAAAAAD///////////////////////////////8/AAAAAAAAAAAA////////////////////////////////////////AAD//////////////////////x8AAAAAAAAAAP//////P/8f////DwAA//////9/8I///////////////////wAAAACA//z////////////////5////////fAAAAAAAgP+//////wAAAP///////w8A//////////8vAP8DAAD86P//////B/////8HAP///x/////////3/wCA/wP///9/////////fwD/P/8D//9//P////////9/BQAAOP//PAB+fn4Af3////////f/AP///////////////////wf/A///////////////////////////DwD//3/4//////8P/////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj///////////////8/AAD///////////z///////8AAAAAAP8PAAAAAAAAAAAAAAAAAADf/////////////////////x8AAP8D/v//B/7//wfA/////////////3/8/PwcAAAAAP/v//9///+3/z//PwAAAAD///////////////////8HAAAAAAAAAAD///////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H////////wEAAAAAAP////8A4P///wf//////wf///8//////w//PgAAAAAA/////////////////////////z//A/////8P/////w///////wD///////8PAAAAAAAAAAAAAAAAAAAAAAAAAP///////38A//8/AP8AAAAAAAAAAAAAAAAAAAAAAAAAP/3/////v5H//z8A//9/AP///38AAAAAAAAAAP//NwD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAG/w7/7//z8AAAAAAP///x////8fAAAAAP/+//8fAAAA////////PwD//z8A//8HAP//AwAAAAAAAAAAAAAAAAD///////////8BAAAAAAAA////////BwD///////8HAP//////AP8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H4AA//8/AAAAAAAAAAAAAAAAAAAAAAAAAP//fwD//////////z8AAADA/wAA/P///////wEAAP///wH/A////////8f/cAD/////RwD//////////x4A/xcAAAAA///7////n0AAAAAAAAAAAH+9/7//Af////////8B/wPvn/n///3t458ZgeAPAAAAAAAAAAAAAAAAAAAAAAAAAP//////////uwf/gwAAAAD//////////7MA/wMAAAAAAAAAAAAAAAAAAAAAAAAAAP///////z9/AAAAPwAAAAD/////////fxEA/wMAAAAA////////PwH/AwAAAAAAAP///+f/B/8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////wEAAAAAAAAAAAAAAAD///////////8DAIAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8///////8GgAAAP///////+d/AAD///////////8gAAAAAP////////8B//3/////f38BAP8DAAD8/////P///n8AAAAAAAAAAAB/+/////9/tMsA/wO//f///397Af8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//38A/////////////////////////wMAAAAAAAAAAAAAAAD/////////////////fwAA////////////////////////////////DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////8B////f/8DAAAAAAAAAAAAAAAA////PwAA////////AAAPAP8D+P//4P//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAP///////////4f/////////gP//AAAAAAAAAAALAAAA/////////////////////////////////////////wD///////////////////////////////////////8HAP///38AAAAAAAAHAPAA/////////////////////////////////////////////////////////////////w//////////////////B/8f/wH/QwAAAAAAAAAAAAAAAP/////////////f///////////fZN7/6+//////////v+ff3////3tf/P3//////////////////////////////////////////////////////z/////9///3////9///3////9///3////9//////f////3///fP////////f///+dsHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////x+AP/9DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////D/8D////////////////////////////////HwAAAAAAAAD//////////48I/wMAAAAAAAAAAAAAAAAAAAAAAAAAAO////+W/vcKhOqWqpb3917/+/8P7vv/DwAAAAAAAAAAAAAAAAAA////A////wP///8DAAAAAAAAAAAAAAAAAAAgAAAACQAAAAoAAAANAAAACwAAAAwAAACFAAAAACAAAAEgAAACIAAAAyAAAAQgAAAFIAAABiAAAAggAAAJIAAACiAAACggAAApIAAAXyAAAAAwAAAAAAAAAAAAAAAAAAAZAAsAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkACgoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAZAAsNGRkZAA0AAAIACQ4AAAAJAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAEwAAAAATAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAEDwAAAAAJEAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAARAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAABoaGgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABcAAAAAFwAAAAAJFAAAAAAAFAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAAAAAAAAAAAAVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYACAAAVgEAADkAAAAAAAAAAAAAAAEgAAAA4P//AL8dAADnAgAAeQAAAiQAAAEBAAAA////AAAAAAECAAAA/v//ATn//wAY//8Bh///ANT+/wDDAAAB0gAAAc4AAAHNAAABTwAAAcoAAAHLAAABzwAAAGEAAAHTAAAB0QAAAKMAAAHVAAAAggAAAdYAAAHaAAAB2QAAAdsAAAA4AAADAAAAALH//wGf//8ByP//AigkAAAAAAABAQAAAP///wAz//8AJv//AX7//wErKgABXf//ASgqAAA/KgABPf//AUUAAAFHAAAAHyoAABwqAAAeKgAALv//ADL//wA2//8ANf//AE+lAABLpQAAMf//ACilAABEpQAAL///AC3//wD3KQAAQaUAAP0pAAAr//8AKv//AOcpAABDpQAAKqUAALv//wAn//8Auf//ACX//wAVpQAAEqUAAiRMAAAAAAABIAAAAOD//wEBAAAA////AFQAAAF0AAABJgAAASUAAAFAAAABPwAAANr//wDb//8A4f//AMD//wDB//8BCAAAAML//wDH//8A0f//AMr//wD4//8Aqv//ALD//wAHAAAAjP//AcT//wCg//8B+f//AhpwAAEBAAAA////ASAAAADg//8BUAAAAQ8AAADx//8AAAAAATAAAADQ//8BAQAAAP///wAAAAAAwAsAAWAcAAAAAAAB0JcAAQgAAAD4//8CBYoAAAAAAAFA9P8Anuf/AMKJAADb5/8Akuf/AJPn/wCc5/8Anef/AKTn/wAAAAAAOIoAAASKAADmDgABAQAAAP///wAAAAAAxf//AUHi/wIdjwAACAAAAfj//wAAAAAAVgAAAar//wBKAAAAZAAAAIAAAABwAAAAfgAAAAkAAAG2//8B9///ANvj/wGc//8BkP//AYD/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",typeof document>"u"?require("url").pathToFileURL(__filename).href:_documentCurrentScript&&_documentCurrentScript.tagName.toUpperCase()==="SCRIPT"&&_documentCurrentScript.src||new URL("kerebron3.cjs",document.baseURI).href).href}__name(findWasmBinary,"findWasmBinary");function getBinarySync(t){if(t==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(t);throw"both async and sync fetching of the wasm failed"}__name(getBinarySync,"getBinarySync");async function getWasmBinary(t){if(!wasmBinary)try{var e=await readAsync(t);return new Uint8Array(e)}catch{}return getBinarySync(t)}__name(getWasmBinary,"getWasmBinary");async function instantiateArrayBuffer(t,e){try{var A=await getWasmBinary(t),n=await WebAssembly.instantiate(A,e);return n}catch(r){err(`failed to asynchronously prepare wasm: ${r}`),abort(r)}}__name(instantiateArrayBuffer,"instantiateArrayBuffer");async function instantiateAsync(t,e,A){if(!t&&!isFileURI(e)&&!ENVIRONMENT_IS_NODE)try{var n=fetch(e,{credentials:"same-origin"}),r=await WebAssembly.instantiateStreaming(n,A);return r}catch(o){err(`wasm streaming compile failed: ${o}`),err("falling back to ArrayBuffer instantiation")}return instantiateArrayBuffer(e,A)}__name(instantiateAsync,"instantiateAsync");function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}__name(getWasmImports,"getWasmImports");async function createWasm(){function t(o,s){wasmExports=o.exports,wasmExports=relocateExports(wasmExports,1024);var a=getDylinkMetadata(s);return a.neededDynlibs&&(dynamicLibraries=a.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,"main"),LDSO.init(),loadDylibs(),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),assignWasmExports(wasmExports),wasmExports}__name(t,"receiveInstance");function e(o){return t(o.instance,o.module)}__name(e,"receiveInstantiationResult");var A=getWasmImports();if(Module.instantiateWasm)return new Promise((o,s)=>{Module.instantiateWasm(A,(a,l)=>{o(t(a,l))})});wasmBinaryFile??=findWasmBinary();var n=await instantiateAsync(wasmBinary,wasmBinaryFile,A),r=e(n);return r}__name(createWasm,"createWasm");class ExitStatus{static{__name(this,"ExitStatus")}name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(t,e){var A=GOT[e];return A||(A=GOT[e]=new WebAssembly.Global({value:"i32",mutable:!0})),currentModuleWeakSymbols.has(e)||(A.required=!0),A}},LE_HEAP_LOAD_F32=__name(t=>HEAP_DATA_VIEW.getFloat32(t,!0),"LE_HEAP_LOAD_F32"),LE_HEAP_LOAD_F64=__name(t=>HEAP_DATA_VIEW.getFloat64(t,!0),"LE_HEAP_LOAD_F64"),LE_HEAP_LOAD_I16=__name(t=>HEAP_DATA_VIEW.getInt16(t,!0),"LE_HEAP_LOAD_I16"),LE_HEAP_LOAD_I32=__name(t=>HEAP_DATA_VIEW.getInt32(t,!0),"LE_HEAP_LOAD_I32"),LE_HEAP_LOAD_I64=__name(t=>HEAP_DATA_VIEW.getBigInt64(t,!0),"LE_HEAP_LOAD_I64"),LE_HEAP_LOAD_U32=__name(t=>HEAP_DATA_VIEW.getUint32(t,!0),"LE_HEAP_LOAD_U32"),LE_HEAP_STORE_F32=__name((t,e)=>HEAP_DATA_VIEW.setFloat32(t,e,!0),"LE_HEAP_STORE_F32"),LE_HEAP_STORE_F64=__name((t,e)=>HEAP_DATA_VIEW.setFloat64(t,e,!0),"LE_HEAP_STORE_F64"),LE_HEAP_STORE_I16=__name((t,e)=>HEAP_DATA_VIEW.setInt16(t,e,!0),"LE_HEAP_STORE_I16"),LE_HEAP_STORE_I32=__name((t,e)=>HEAP_DATA_VIEW.setInt32(t,e,!0),"LE_HEAP_STORE_I32"),LE_HEAP_STORE_I64=__name((t,e)=>HEAP_DATA_VIEW.setBigInt64(t,e,!0),"LE_HEAP_STORE_I64"),LE_HEAP_STORE_U32=__name((t,e)=>HEAP_DATA_VIEW.setUint32(t,e,!0),"LE_HEAP_STORE_U32"),callRuntimeCallbacks=__name(t=>{for(;t.length>0;)t.shift()(Module)},"callRuntimeCallbacks"),onPostRuns=[],addOnPostRun=__name(t=>onPostRuns.push(t),"addOnPostRun"),onPreRuns=[],addOnPreRun=__name(t=>onPreRuns.push(t),"addOnPreRun"),UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder:void 0,findStringEnd=__name((t,e,A,n)=>{var r=e+A;if(n)return r;for(;t[e]&&!(e>=r);)++e;return e},"findStringEnd"),UTF8ArrayToString=__name((t,e=0,A,n)=>{var r=findStringEnd(t,e,A,n);if(r-e>16&&t.buffer&&UTF8Decoder)return UTF8Decoder.decode(t.subarray(e,r));for(var o="";e<r;){var s=t[e++];if(!(s&128)){o+=String.fromCharCode(s);continue}var a=t[e++]&63;if((s&224)==192){o+=String.fromCharCode((s&31)<<6|a);continue}var l=t[e++]&63;if((s&240)==224?s=(s&15)<<12|a<<6|l:s=(s&7)<<18|a<<12|l<<6|t[e++]&63,s<65536)o+=String.fromCharCode(s);else{var g=s-65536;o+=String.fromCharCode(55296|g>>10,56320|g&1023)}}return o},"UTF8ArrayToString"),getDylinkMetadata=__name(t=>{var e=0,A=0;function n(){return t[e++]}__name(n,"getU8");function r(){for(var F=0,N=1;;){var b=t[e++];if(F+=(b&127)*N,N*=128,!(b&128))break}return F}__name(r,"getLEB");function o(){var F=r();return e+=F,UTF8ArrayToString(t,e-F,F)}__name(o,"getString");function s(){for(var F=r(),N=[];F--;)N.push(o());return N}__name(s,"getStringList");function a(F,N){if(F)throw new Error(N)}if(__name(a,"failIf"),t instanceof WebAssembly.Module){var l=WebAssembly.Module.customSections(t,"dylink.0");a(l.length===0,"need dylink section"),t=new Uint8Array(l[0]),A=t.length}else{var g=new Uint32Array(new Uint8Array(t.subarray(0,24)).buffer),c=g[0]==1836278016||g[0]==6386541;a(!c,"need to see wasm magic number"),a(t[8]!==0,"need the dylink section to be first"),e=9;var I=r();A=e+I;var d=o();a(d!=="dylink.0")}for(var h={neededDynlibs:[],tlsExports:new Set,weakImports:new Set,runtimePaths:[]},u=1,B=2,E=3,f=4,Q=5,p=256,m=3,y=1;e<A;){var w=n(),D=r();if(w===u)h.memorySize=r(),h.memoryAlign=r(),h.tableSize=r(),h.tableAlign=r();else if(w===B)h.neededDynlibs=s();else if(w===E)for(var _=r();_--;){var k=o(),S=r();S&p&&h.tlsExports.add(k)}else if(w===f)for(var _=r();_--;){o();var k=o(),S=r();(S&m)==y&&h.weakImports.add(k)}else w===Q?h.runtimePaths=s():e+=D}return h},"getDylinkMetadata");function getValue(t,e="i8"){switch(e.endsWith("*")&&(e="*"),e){case"i1":return HEAP8[t];case"i8":return HEAP8[t];case"i16":return LE_HEAP_LOAD_I16((t>>1)*2);case"i32":return LE_HEAP_LOAD_I32((t>>2)*4);case"i64":return LE_HEAP_LOAD_I64((t>>3)*8);case"float":return LE_HEAP_LOAD_F32((t>>2)*4);case"double":return LE_HEAP_LOAD_F64((t>>3)*8);case"*":return LE_HEAP_LOAD_U32((t>>2)*4);default:abort(`invalid type for getValue: ${e}`)}}__name(getValue,"getValue");var newDSO=__name((t,e,A)=>{var n={refcount:1/0,name:t,exports:A,global:!0};return LDSO.loadedLibsByName[t]=n,e!=null&&(LDSO.loadedLibsByHandle[e]=n),n},"newDSO"),LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}},___heap_base=78240,alignMemory=__name((t,e)=>Math.ceil(t/e)*e,"alignMemory"),getMemory=__name(t=>{if(runtimeInitialized)return _calloc(t,1);var e=___heap_base,A=e+alignMemory(t,16);return ___heap_base=A,GOT.__heap_base.value=A,e},"getMemory"),isInternalSym=__name(t=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(t)||t.startsWith("__em_js__"),"isInternalSym"),uleb128EncodeWithLen=__name(t=>{const e=t.length;return[e%128|128,e>>7,...t]},"uleb128EncodeWithLen"),wasmTypeCodes={i:127,p:127,j:126,f:125,d:124,e:111},generateTypePack=__name(t=>uleb128EncodeWithLen(Array.from(t,e=>{var A=wasmTypeCodes[e];return A})),"generateTypePack"),convertJsFunctionToWasm=__name((t,e)=>{var A=Uint8Array.of(0,97,115,109,1,0,0,0,1,...uleb128EncodeWithLen([1,96,...generateTypePack(e.slice(1)),...generateTypePack(e[0]==="v"?"":e[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),n=new WebAssembly.Module(A),r=new WebAssembly.Instance(n,{e:{f:t}}),o=r.exports.f;return o},"convertJsFunctionToWasm"),wasmTableMirror=[],wasmTable=new WebAssembly.Table({initial:31,element:"anyfunc"}),getWasmTableEntry=__name(t=>{var e=wasmTableMirror[t];return e||(wasmTableMirror[t]=e=wasmTable.get(t)),e},"getWasmTableEntry"),updateTableMap=__name((t,e)=>{if(functionsInTableMap)for(var A=t;A<t+e;A++){var n=getWasmTableEntry(A);n&&functionsInTableMap.set(n,A)}},"updateTableMap"),functionsInTableMap,getFunctionAddress=__name(t=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(t)||0),"getFunctionAddress"),freeTableIndexes=[],getEmptyTableSlot=__name(()=>freeTableIndexes.length?freeTableIndexes.pop():wasmTable.grow(1),"getEmptyTableSlot"),setWasmTableEntry=__name((t,e)=>{wasmTable.set(t,e),wasmTableMirror[t]=wasmTable.get(t)},"setWasmTableEntry"),addFunction=__name((t,e)=>{var A=getFunctionAddress(t);if(A)return A;var n=getEmptyTableSlot();try{setWasmTableEntry(n,t)}catch(o){if(!(o instanceof TypeError))throw o;var r=convertJsFunctionToWasm(t,e);setWasmTableEntry(n,r)}return functionsInTableMap.set(t,n),n},"addFunction"),updateGOT=__name((t,e)=>{for(var A in t)if(!isInternalSym(A)){var n=t[A];GOT[A]||=new WebAssembly.Global({value:"i32",mutable:!0}),(e||GOT[A].value==0)&&(typeof n=="function"?GOT[A].value=addFunction(n):typeof n=="number"?GOT[A].value=n:err(`unhandled export type for '${A}': ${typeof n}`))}},"updateGOT"),relocateExports=__name((t,e,A)=>{var n={};for(var r in t){var o=t[r];typeof o=="object"&&(o=o.value),typeof o=="number"&&(o+=e),n[r]=o}return updateGOT(n,A),n},"relocateExports"),isSymbolDefined=__name(t=>{var e=wasmImports[t];return!(!e||e.stub)},"isSymbolDefined"),dynCall=__name((t,e,A=[],n=!1)=>{var r=getWasmTableEntry(e),o=r(...A);function s(a){return a}return __name(s,"convert"),o},"dynCall"),stackSave=__name(()=>_emscripten_stack_get_current(),"stackSave"),stackRestore=__name(t=>__emscripten_stack_restore(t),"stackRestore"),createInvokeFunction=__name(t=>(e,...A)=>{var n=stackSave();try{return dynCall(t,e,A)}catch(r){if(stackRestore(n),r!==r+0)throw r;if(_setThrew(1,0),t[0]=="j")return 0n}},"createInvokeFunction"),resolveGlobalSymbol=__name((t,e=!1)=>{var A;return isSymbolDefined(t)?A=wasmImports[t]:t.startsWith("invoke_")&&(A=wasmImports[t]=createInvokeFunction(t.split("_")[1])),{sym:A,name:t}},"resolveGlobalSymbol"),onPostCtors=[],addOnPostCtor=__name(t=>onPostCtors.push(t),"addOnPostCtor"),UTF8ToString=__name((t,e,A)=>t?UTF8ArrayToString(HEAPU8,t,e,A):"","UTF8ToString"),loadWebAssemblyModule=__name((binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);function loadModule(){var memAlign=Math.pow(2,metadata.memoryAlign),memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(HEAP8[handle+8]=1,LE_HEAP_STORE_U32((handle+12>>2)*4,memoryBase),LE_HEAP_STORE_I32((handle+16>>2)*4,metadata.memorySize),LE_HEAP_STORE_U32((handle+20>>2)*4,tableBase),LE_HEAP_STORE_I32((handle+24>>2)*4,metadata.tableSize)),metadata.tableSize&&wasmTable.grow(metadata.tableSize);var moduleExports;function resolveSymbol(t){var e=resolveGlobalSymbol(t).sym;return!e&&localScope&&(e=localScope[t]),e||(e=moduleExports[t]),e}__name(resolveSymbol,"resolveSymbol");var proxyHandler={get(t,e){switch(e){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(e in wasmImports&&!wasmImports[e].stub){var A=wasmImports[e];return A}if(!(e in t)){var n;t[e]=(...r)=>(n||=resolveSymbol(e),n(...r))}return t[e]}},proxy=new Proxy({},proxyHandler);currentModuleWeakSymbols=metadata.weakImports;var info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf("$"+arity)!=-1;arity++)args.push("$"+arity);args=args.join(",");var func=`(${args}) => { ${body} };`;eval(func)}if(__name(addEmAsm,"addEmAsm"),"__start_em_asm"in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),cSig!="void"){cSig=cSig.split(",");for(var i in cSig){var jsArg=cSig[i].split(" ").pop();jsArgs.push(jsArg.replace("*",""))}}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}__name(addEmJs,"addEmJs");for(var name in moduleExports)if(name.startsWith("__em_js__")){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():addOnPostCtor(init)),moduleExports}if(__name(postInstantiation,"postInstantiation"),flags.loadAsync)return(async()=>{var t;return binary instanceof WebAssembly.Module?t=new WebAssembly.Instance(binary,info):{module:binary,instance:t}=await WebAssembly.instantiate(binary,info),postInstantiation(binary,t)})();var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return __name(loadModule,"loadModule"),flags={...flags,rpath:{parentLibPath:libName,paths:metadata.runtimePaths}},flags.loadAsync?metadata.neededDynlibs.reduce((t,e)=>t.then(()=>loadDynamicLibrary(e,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(t=>loadDynamicLibrary(t,flags,localScope)),loadModule())},"loadWebAssemblyModule"),mergeLibSymbols=__name((t,e)=>{for(var[A,n]of Object.entries(t)){const r=__name(s=>{isSymbolDefined(s)||(wasmImports[s]=n)},"setImport");r(A);const o="__main_argc_argv";A=="main"&&r(o),A==o&&r("main")}},"mergeLibSymbols"),asyncLoad=__name(async t=>{var e=await readAsync(t);return new Uint8Array(e)},"asyncLoad");function loadDynamicLibrary(t,e={global:!0,nodelete:!0},A,n){var r=LDSO.loadedLibsByName[t];if(r)return e.global?r.global||(r.global=!0,mergeLibSymbols(r.exports,t)):A&&Object.assign(A,r.exports),e.nodelete&&r.refcount!==1/0&&(r.refcount=1/0),r.refcount++,n&&(LDSO.loadedLibsByHandle[n]=r),e.loadAsync?Promise.resolve(!0):!0;r=newDSO(t,n,"loading"),r.refcount=e.nodelete?1/0:1,r.global=e.global;function o(){if(n){var l=LE_HEAP_LOAD_U32((n+28>>2)*4),g=LE_HEAP_LOAD_U32((n+32>>2)*4);if(l&&g){var c=HEAP8.slice(l,l+g);return e.loadAsync?Promise.resolve(c):c}}var I=locateFile(t);if(e.loadAsync)return asyncLoad(I);if(!readBinary)throw new Error(`${I}: file not found, and synchronous loading of external files is not available`);return readBinary(I)}__name(o,"loadLibData");function s(){return e.loadAsync?o().then(l=>loadWebAssemblyModule(l,e,t,A,n)):loadWebAssemblyModule(o(),e,t,A,n)}__name(s,"getExports");function a(l){r.global?mergeLibSymbols(l,t):A&&Object.assign(A,l),r.exports=l}return __name(a,"moduleLoaded"),e.loadAsync?s().then(l=>(a(l),!0)):(a(s()),!0)}__name(loadDynamicLibrary,"loadDynamicLibrary");var reportUndefinedSymbols=__name(()=>{for(var[t,e]of Object.entries(GOT))if(e.value==0){var A=resolveGlobalSymbol(t,!0).sym;if(!A&&!e.required)continue;if(typeof A=="function")e.value=addFunction(A,A.sig);else if(typeof A=="number")e.value=A;else throw new Error(`bad export type for '${t}': ${typeof A}`)}},"reportUndefinedSymbols"),runDependencies=0,dependenciesFulfilled=null,removeRunDependency=__name(t=>{if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),runDependencies==0&&dependenciesFulfilled){var e=dependenciesFulfilled;dependenciesFulfilled=null,e()}},"removeRunDependency"),addRunDependency=__name(t=>{runDependencies++,Module.monitorRunDependencies?.(runDependencies)},"addRunDependency"),loadDylibs=__name(async()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs");for(var t of dynamicLibraries)await loadDynamicLibrary(t,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0});reportUndefinedSymbols(),removeRunDependency("loadDylibs")},"loadDylibs"),noExitRuntime=!0;function setValue(t,e,A="i8"){switch(A.endsWith("*")&&(A="*"),A){case"i1":HEAP8[t]=e;break;case"i8":HEAP8[t]=e;break;case"i16":LE_HEAP_STORE_I16((t>>1)*2,e);break;case"i32":LE_HEAP_STORE_I32((t>>2)*4,e);break;case"i64":LE_HEAP_STORE_I64((t>>3)*8,BigInt(e));break;case"float":LE_HEAP_STORE_F32((t>>2)*4,e);break;case"double":LE_HEAP_STORE_F64((t>>3)*8,e);break;case"*":LE_HEAP_STORE_U32((t>>2)*4,e);break;default:abort(`invalid type for setValue: ${A}`)}}__name(setValue,"setValue");var ___memory_base=new WebAssembly.Global({value:"i32",mutable:!1},1024),___stack_high=78240,___stack_low=12704,___stack_pointer=new WebAssembly.Global({value:"i32",mutable:!0},78240),___table_base=new WebAssembly.Global({value:"i32",mutable:!1},1),__abort_js=__name(()=>abort(""),"__abort_js");__abort_js.sig="v";var getHeapMax=__name(()=>2147483648,"getHeapMax"),growMemory=__name(t=>{var e=wasmMemory.buffer.byteLength,A=(t-e+65535)/65536|0;try{return wasmMemory.grow(A),updateMemoryViews(),1}catch{}},"growMemory"),_emscripten_resize_heap=__name(t=>{var e=HEAPU8.length;t>>>=0;var A=getHeapMax();if(t>A)return!1;for(var n=1;n<=4;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296);var o=Math.min(A,alignMemory(Math.max(t,r),65536)),s=growMemory(o);if(s)return!0}return!1},"_emscripten_resize_heap");_emscripten_resize_heap.sig="ip";var _fd_close=__name(t=>52,"_fd_close");_fd_close.sig="ii";var INT53_MAX=9007199254740992,INT53_MIN=-9007199254740992,bigintToI53Checked=__name(t=>t<INT53_MIN||t>INT53_MAX?NaN:Number(t),"bigintToI53Checked");function _fd_seek(t,e,A,n){return e=bigintToI53Checked(e),70}__name(_fd_seek,"_fd_seek"),_fd_seek.sig="iijip";var printCharBuffers=[null,[],[]],printChar=__name((t,e)=>{var A=printCharBuffers[t];e===0||e===10?((t===1?out:err)(UTF8ArrayToString(A)),A.length=0):A.push(e)},"printChar"),_fd_write=__name((t,e,A,n)=>{for(var r=0,o=0;o<A;o++){var s=LE_HEAP_LOAD_U32((e>>2)*4),a=LE_HEAP_LOAD_U32((e+4>>2)*4);e+=8;for(var l=0;l<a;l++)printChar(t,HEAPU8[s+l]);r+=a}return LE_HEAP_STORE_U32((n>>2)*4,r),0},"_fd_write");_fd_write.sig="iippp";function _tree_sitter_log_callback(t,e){if(Module.currentLogCallback){const A=UTF8ToString(e);Module.currentLogCallback(A,t!==0)}}__name(_tree_sitter_log_callback,"_tree_sitter_log_callback");function _tree_sitter_parse_callback(t,e,A,n,r){const s=Module.currentParseCallback(e,{row:A,column:n});typeof s=="string"?(setValue(r,s.length,"i32"),stringToUTF16(s,t,10240)):setValue(r,0,"i32")}__name(_tree_sitter_parse_callback,"_tree_sitter_parse_callback");function _tree_sitter_progress_callback(t,e){return Module.currentProgressCallback?Module.currentProgressCallback({currentOffset:t,hasError:e}):!1}__name(_tree_sitter_progress_callback,"_tree_sitter_progress_callback");function _tree_sitter_query_progress_callback(t){return Module.currentQueryProgressCallback?Module.currentQueryProgressCallback({currentOffset:t}):!1}__name(_tree_sitter_query_progress_callback,"_tree_sitter_query_progress_callback");var runtimeKeepaliveCounter=0,keepRuntimeAlive=__name(()=>noExitRuntime||runtimeKeepaliveCounter>0,"keepRuntimeAlive"),_proc_exit=__name(t=>{EXITSTATUS=t,keepRuntimeAlive()||(Module.onExit?.(t),ABORT=!0),quit_(t,new ExitStatus(t))},"_proc_exit");_proc_exit.sig="vi";var exitJS=__name((t,e)=>{EXITSTATUS=t,_proc_exit(t)},"exitJS"),handleException=__name(t=>{if(t instanceof ExitStatus||t=="unwind")return EXITSTATUS;quit_(1,t)},"handleException"),lengthBytesUTF8=__name(t=>{for(var e=0,A=0;A<t.length;++A){var n=t.charCodeAt(A);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++A):e+=3}return e},"lengthBytesUTF8"),stringToUTF8Array=__name((t,e,A,n)=>{if(!(n>0))return 0;for(var r=A,o=A+n-1,s=0;s<t.length;++s){var a=t.codePointAt(s);if(a<=127){if(A>=o)break;e[A++]=a}else if(a<=2047){if(A+1>=o)break;e[A++]=192|a>>6,e[A++]=128|a&63}else if(a<=65535){if(A+2>=o)break;e[A++]=224|a>>12,e[A++]=128|a>>6&63,e[A++]=128|a&63}else{if(A+3>=o)break;e[A++]=240|a>>18,e[A++]=128|a>>12&63,e[A++]=128|a>>6&63,e[A++]=128|a&63,s++}}return e[A]=0,A-r},"stringToUTF8Array"),stringToUTF8=__name((t,e,A)=>stringToUTF8Array(t,HEAPU8,e,A),"stringToUTF8"),stackAlloc=__name(t=>__emscripten_stack_alloc(t),"stackAlloc"),stringToUTF8OnStack=__name(t=>{var e=lengthBytesUTF8(t)+1,A=stackAlloc(e);return stringToUTF8(t,A,e),A},"stringToUTF8OnStack"),AsciiToString=__name(t=>{for(var e="";;){var A=HEAPU8[t++];if(!A)return e;e+=String.fromCharCode(A)}},"AsciiToString"),stringToUTF16=__name((t,e,A)=>{if(A??=2147483647,A<2)return 0;A-=2;for(var n=e,r=A<t.length*2?A/2:t.length,o=0;o<r;++o){var s=t.charCodeAt(o);LE_HEAP_STORE_I16((e>>1)*2,s),e+=2}return LE_HEAP_STORE_I16((e>>1)*2,0),e-n},"stringToUTF16");new Int8Array(new Int16Array([1]).buffer)[0];function LE_HEAP_UPDATE(){HEAPU16.unsigned=(t=>t&65535),HEAPU32.unsigned=(t=>t>>>0)}if(__name(LE_HEAP_UPDATE,"LE_HEAP_UPDATE"),initMemory(),Module.noExitRuntime&&(noExitRuntime=Module.noExitRuntime),Module.print&&(out=Module.print),Module.printErr&&(err=Module.printErr),Module.dynamicLibraries&&(dynamicLibraries=Module.dynamicLibraries),Module.wasmBinary&&(wasmBinary=Module.wasmBinary),Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram),Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.shift()();Module.setValue=setValue,Module.getValue=getValue,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.AsciiToString=AsciiToString,Module.stringToUTF16=stringToUTF16,Module.loadWebAssemblyModule=loadWebAssemblyModule,Module.LE_HEAP_STORE_I64=LE_HEAP_STORE_I64;var _calloc,_setThrew,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current;function assignWasmExports(t){Module._malloc=t.malloc,Module._calloc=_calloc=t.calloc,Module._realloc=t.realloc,Module._free=t.free,Module._ts_range_edit=t.ts_range_edit,Module._memcmp=t.memcmp,Module._ts_language_symbol_count=t.ts_language_symbol_count,Module._ts_language_state_count=t.ts_language_state_count,Module._ts_language_abi_version=t.ts_language_abi_version,Module._ts_language_name=t.ts_language_name,Module._ts_language_field_count=t.ts_language_field_count,Module._ts_language_next_state=t.ts_language_next_state,Module._ts_language_symbol_name=t.ts_language_symbol_name,Module._ts_language_symbol_for_name=t.ts_language_symbol_for_name,Module._strncmp=t.strncmp,Module._ts_language_symbol_type=t.ts_language_symbol_type,Module._ts_language_field_name_for_id=t.ts_language_field_name_for_id,Module._ts_lookahead_iterator_new=t.ts_lookahead_iterator_new,Module._ts_lookahead_iterator_delete=t.ts_lookahead_iterator_delete,Module._ts_lookahead_iterator_reset_state=t.ts_lookahead_iterator_reset_state,Module._ts_lookahead_iterator_reset=t.ts_lookahead_iterator_reset,Module._ts_lookahead_iterator_next=t.ts_lookahead_iterator_next,Module._ts_lookahead_iterator_current_symbol=t.ts_lookahead_iterator_current_symbol,Module._ts_point_edit=t.ts_point_edit,Module._ts_parser_delete=t.ts_parser_delete,Module._ts_parser_reset=t.ts_parser_reset,Module._ts_parser_set_language=t.ts_parser_set_language,Module._ts_parser_set_included_ranges=t.ts_parser_set_included_ranges,Module._ts_query_new=t.ts_query_new,Module._ts_query_delete=t.ts_query_delete,Module._iswspace=t.iswspace,Module._iswalnum=t.iswalnum,Module._ts_query_pattern_count=t.ts_query_pattern_count,Module._ts_query_capture_count=t.ts_query_capture_count,Module._ts_query_string_count=t.ts_query_string_count,Module._ts_query_capture_name_for_id=t.ts_query_capture_name_for_id,Module._ts_query_capture_quantifier_for_id=t.ts_query_capture_quantifier_for_id,Module._ts_query_string_value_for_id=t.ts_query_string_value_for_id,Module._ts_query_predicates_for_pattern=t.ts_query_predicates_for_pattern,Module._ts_query_start_byte_for_pattern=t.ts_query_start_byte_for_pattern,Module._ts_query_end_byte_for_pattern=t.ts_query_end_byte_for_pattern,Module._ts_query_is_pattern_rooted=t.ts_query_is_pattern_rooted,Module._ts_query_is_pattern_non_local=t.ts_query_is_pattern_non_local,Module._ts_query_is_pattern_guaranteed_at_step=t.ts_query_is_pattern_guaranteed_at_step,Module._ts_query_disable_capture=t.ts_query_disable_capture,Module._ts_query_disable_pattern=t.ts_query_disable_pattern,Module._ts_tree_copy=t.ts_tree_copy,Module._ts_tree_delete=t.ts_tree_delete,Module._ts_init=t.ts_init,Module._ts_parser_new_wasm=t.ts_parser_new_wasm,Module._ts_parser_enable_logger_wasm=t.ts_parser_enable_logger_wasm,Module._ts_parser_parse_wasm=t.ts_parser_parse_wasm,Module._ts_parser_included_ranges_wasm=t.ts_parser_included_ranges_wasm,Module._ts_language_type_is_named_wasm=t.ts_language_type_is_named_wasm,Module._ts_language_type_is_visible_wasm=t.ts_language_type_is_visible_wasm,Module._ts_language_metadata_wasm=t.ts_language_metadata_wasm,Module._ts_language_supertypes_wasm=t.ts_language_supertypes_wasm,Module._ts_language_subtypes_wasm=t.ts_language_subtypes_wasm,Module._ts_tree_root_node_wasm=t.ts_tree_root_node_wasm,Module._ts_tree_root_node_with_offset_wasm=t.ts_tree_root_node_with_offset_wasm,Module._ts_tree_edit_wasm=t.ts_tree_edit_wasm,Module._ts_tree_included_ranges_wasm=t.ts_tree_included_ranges_wasm,Module._ts_tree_get_changed_ranges_wasm=t.ts_tree_get_changed_ranges_wasm,Module._ts_tree_cursor_new_wasm=t.ts_tree_cursor_new_wasm,Module._ts_tree_cursor_copy_wasm=t.ts_tree_cursor_copy_wasm,Module._ts_tree_cursor_delete_wasm=t.ts_tree_cursor_delete_wasm,Module._ts_tree_cursor_reset_wasm=t.ts_tree_cursor_reset_wasm,Module._ts_tree_cursor_reset_to_wasm=t.ts_tree_cursor_reset_to_wasm,Module._ts_tree_cursor_goto_first_child_wasm=t.ts_tree_cursor_goto_first_child_wasm,Module._ts_tree_cursor_goto_last_child_wasm=t.ts_tree_cursor_goto_last_child_wasm,Module._ts_tree_cursor_goto_first_child_for_index_wasm=t.ts_tree_cursor_goto_first_child_for_index_wasm,Module._ts_tree_cursor_goto_first_child_for_position_wasm=t.ts_tree_cursor_goto_first_child_for_position_wasm,Module._ts_tree_cursor_goto_next_sibling_wasm=t.ts_tree_cursor_goto_next_sibling_wasm,Module._ts_tree_cursor_goto_previous_sibling_wasm=t.ts_tree_cursor_goto_previous_sibling_wasm,Module._ts_tree_cursor_goto_descendant_wasm=t.ts_tree_cursor_goto_descendant_wasm,Module._ts_tree_cursor_goto_parent_wasm=t.ts_tree_cursor_goto_parent_wasm,Module._ts_tree_cursor_current_node_type_id_wasm=t.ts_tree_cursor_current_node_type_id_wasm,Module._ts_tree_cursor_current_node_state_id_wasm=t.ts_tree_cursor_current_node_state_id_wasm,Module._ts_tree_cursor_current_node_is_named_wasm=t.ts_tree_cursor_current_node_is_named_wasm,Module._ts_tree_cursor_current_node_is_missing_wasm=t.ts_tree_cursor_current_node_is_missing_wasm,Module._ts_tree_cursor_current_node_id_wasm=t.ts_tree_cursor_current_node_id_wasm,Module._ts_tree_cursor_start_position_wasm=t.ts_tree_cursor_start_position_wasm,Module._ts_tree_cursor_end_position_wasm=t.ts_tree_cursor_end_position_wasm,Module._ts_tree_cursor_start_index_wasm=t.ts_tree_cursor_start_index_wasm,Module._ts_tree_cursor_end_index_wasm=t.ts_tree_cursor_end_index_wasm,Module._ts_tree_cursor_current_field_id_wasm=t.ts_tree_cursor_current_field_id_wasm,Module._ts_tree_cursor_current_depth_wasm=t.ts_tree_cursor_current_depth_wasm,Module._ts_tree_cursor_current_descendant_index_wasm=t.ts_tree_cursor_current_descendant_index_wasm,Module._ts_tree_cursor_current_node_wasm=t.ts_tree_cursor_current_node_wasm,Module._ts_node_symbol_wasm=t.ts_node_symbol_wasm,Module._ts_node_field_name_for_child_wasm=t.ts_node_field_name_for_child_wasm,Module._ts_node_field_name_for_named_child_wasm=t.ts_node_field_name_for_named_child_wasm,Module._ts_node_children_by_field_id_wasm=t.ts_node_children_by_field_id_wasm,Module._ts_node_first_child_for_byte_wasm=t.ts_node_first_child_for_byte_wasm,Module._ts_node_first_named_child_for_byte_wasm=t.ts_node_first_named_child_for_byte_wasm,Module._ts_node_grammar_symbol_wasm=t.ts_node_grammar_symbol_wasm,Module._ts_node_child_count_wasm=t.ts_node_child_count_wasm,Module._ts_node_named_child_count_wasm=t.ts_node_named_child_count_wasm,Module._ts_node_child_wasm=t.ts_node_child_wasm,Module._ts_node_named_child_wasm=t.ts_node_named_child_wasm,Module._ts_node_child_by_field_id_wasm=t.ts_node_child_by_field_id_wasm,Module._ts_node_next_sibling_wasm=t.ts_node_next_sibling_wasm,Module._ts_node_prev_sibling_wasm=t.ts_node_prev_sibling_wasm,Module._ts_node_next_named_sibling_wasm=t.ts_node_next_named_sibling_wasm,Module._ts_node_prev_named_sibling_wasm=t.ts_node_prev_named_sibling_wasm,Module._ts_node_descendant_count_wasm=t.ts_node_descendant_count_wasm,Module._ts_node_parent_wasm=t.ts_node_parent_wasm,Module._ts_node_child_with_descendant_wasm=t.ts_node_child_with_descendant_wasm,Module._ts_node_descendant_for_index_wasm=t.ts_node_descendant_for_index_wasm,Module._ts_node_named_descendant_for_index_wasm=t.ts_node_named_descendant_for_index_wasm,Module._ts_node_descendant_for_position_wasm=t.ts_node_descendant_for_position_wasm,Module._ts_node_named_descendant_for_position_wasm=t.ts_node_named_descendant_for_position_wasm,Module._ts_node_start_point_wasm=t.ts_node_start_point_wasm,Module._ts_node_end_point_wasm=t.ts_node_end_point_wasm,Module._ts_node_start_index_wasm=t.ts_node_start_index_wasm,Module._ts_node_end_index_wasm=t.ts_node_end_index_wasm,Module._ts_node_to_string_wasm=t.ts_node_to_string_wasm,Module._ts_node_children_wasm=t.ts_node_children_wasm,Module._ts_node_named_children_wasm=t.ts_node_named_children_wasm,Module._ts_node_descendants_of_type_wasm=t.ts_node_descendants_of_type_wasm,Module._ts_node_is_named_wasm=t.ts_node_is_named_wasm,Module._ts_node_has_changes_wasm=t.ts_node_has_changes_wasm,Module._ts_node_has_error_wasm=t.ts_node_has_error_wasm,Module._ts_node_is_error_wasm=t.ts_node_is_error_wasm,Module._ts_node_is_missing_wasm=t.ts_node_is_missing_wasm,Module._ts_node_is_extra_wasm=t.ts_node_is_extra_wasm,Module._ts_node_parse_state_wasm=t.ts_node_parse_state_wasm,Module._ts_node_next_parse_state_wasm=t.ts_node_next_parse_state_wasm,Module._ts_query_matches_wasm=t.ts_query_matches_wasm,Module._ts_query_captures_wasm=t.ts_query_captures_wasm,Module._memset=t.memset,Module._memcpy=t.memcpy,Module._memmove=t.memmove,Module._iswalpha=t.iswalpha,Module._iswblank=t.iswblank,Module._iswdigit=t.iswdigit,Module._iswlower=t.iswlower,Module._iswupper=t.iswupper,Module._iswxdigit=t.iswxdigit,Module._memchr=t.memchr,Module._strlen=t.strlen,Module._strcmp=t.strcmp,Module._strncat=t.strncat,Module._strncpy=t.strncpy,Module._towlower=t.towlower,Module._towupper=t.towupper,_setThrew=t.setThrew,__emscripten_stack_restore=t._emscripten_stack_restore,__emscripten_stack_alloc=t._emscripten_stack_alloc,_emscripten_stack_get_current=t.emscripten_stack_get_current,t.__wasm_apply_data_relocs}__name(assignWasmExports,"assignWasmExports");var wasmImports={__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__table_base:___table_base,_abort_js:__abort_js,emscripten_resize_heap:_emscripten_resize_heap,fd_close:_fd_close,fd_seek:_fd_seek,fd_write:_fd_write,memory:wasmMemory,tree_sitter_log_callback:_tree_sitter_log_callback,tree_sitter_parse_callback:_tree_sitter_parse_callback,tree_sitter_progress_callback:_tree_sitter_progress_callback,tree_sitter_query_progress_callback:_tree_sitter_query_progress_callback};function callMain(t=[]){var e=resolveGlobalSymbol("main").sym;if(e){t.unshift(thisProgram);var A=t.length,n=stackAlloc((A+1)*4),r=n;t.forEach(s=>{LE_HEAP_STORE_U32((r>>2)*4,stringToUTF8OnStack(s)),r+=4}),LE_HEAP_STORE_U32((r>>2)*4,0);try{var o=e(A,n);return exitJS(o,!0),o}catch(s){return handleException(s)}}}__name(callMain,"callMain");function run(t=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}if(preRun(),runDependencies>0){dependenciesFulfilled=run;return}function e(){if(Module.calledRun=!0,!ABORT){initRuntime(),readyPromiseResolve?.(Module),Module.onRuntimeInitialized?.();var A=Module.noInitialRun||!1;A||callMain(t),postRun()}}__name(e,"doRun"),Module.setStatus?(Module.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>Module.setStatus(""),1),e()},1)):e()}__name(run,"run");var wasmExports;return wasmExports=await createWasm(),run(),runtimeInitialized?moduleRtn=Module:moduleRtn=new Promise((t,e)=>{readyPromiseResolve=t,readyPromiseReject=e}),moduleRtn}__name(Module2,"Module");var web_tree_sitter_default=Module2,Module3=null;async function initializeBinding(t){return Module3??=await web_tree_sitter_default(t)}__name(initializeBinding,"initializeBinding");function checkModule(){return!!Module3}__name(checkModule,"checkModule");var TRANSFER_BUFFER,LANGUAGE_VERSION,MIN_COMPATIBLE_VERSION,Parser=class{static{__name(this,"Parser")}0=0;1=0;logCallback=null;language=null;static async init(t){setModule(await initializeBinding(t)),TRANSFER_BUFFER=C._ts_init(),LANGUAGE_VERSION=C.getValue(TRANSFER_BUFFER,"i32"),MIN_COMPATIBLE_VERSION=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32")}constructor(){this.initialize()}initialize(){if(!checkModule())throw new Error("cannot construct a Parser before calling `init()`");C._ts_parser_new_wasm(),this[0]=C.getValue(TRANSFER_BUFFER,"i32"),this[1]=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32")}delete(){C._ts_parser_delete(this[0]),C._free(this[1]),this[0]=0,this[1]=0}setLanguage(t){let e;if(!t)e=0,this.language=null;else if(t.constructor===Language){e=t[0];const A=C._ts_language_abi_version(e);if(A<MIN_COMPATIBLE_VERSION||LANGUAGE_VERSION<A)throw new Error(`Incompatible language version ${A}. Compatibility range ${MIN_COMPATIBLE_VERSION} through ${LANGUAGE_VERSION}.`);this.language=t}else throw new Error("Argument must be a Language");return C._ts_parser_set_language(this[0],e),this}parse(t,e,A){if(typeof t=="string")C.currentParseCallback=a=>t.slice(a);else if(typeof t=="function")C.currentParseCallback=t;else throw new Error("Argument must be a string or a function");A?.progressCallback?C.currentProgressCallback=A.progressCallback:C.currentProgressCallback=null,this.logCallback?(C.currentLogCallback=this.logCallback,C._ts_parser_enable_logger_wasm(this[0],1)):(C.currentLogCallback=null,C._ts_parser_enable_logger_wasm(this[0],0));let n=0,r=0;if(A?.includedRanges){n=A.includedRanges.length,r=C._calloc(n,SIZE_OF_RANGE);let a=r;for(let l=0;l<n;l++)marshalRange(a,A.includedRanges[l]),a+=SIZE_OF_RANGE}const o=C._ts_parser_parse_wasm(this[0],this[1],e?e[0]:0,r,n);if(!o)return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,null;if(!this.language)throw new Error("Parser must have a language to parse");const s=new Tree(INTERNAL,o,this.language,C.currentParseCallback);return C.currentParseCallback=null,C.currentLogCallback=null,C.currentProgressCallback=null,s}reset(){C._ts_parser_reset(this[0])}getIncludedRanges(){C._ts_parser_included_ranges_wasm(this[0]);const t=C.getValue(TRANSFER_BUFFER,"i32"),e=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),A=new Array(t);if(t>0){let n=e;for(let r=0;r<t;r++)A[r]=unmarshalRange(n),n+=SIZE_OF_RANGE;C._free(e)}return A}setLogger(t){if(!t)this.logCallback=null;else{if(typeof t!="function")throw new Error("Logger callback must be a function");this.logCallback=t}return this}getLogger(){return this.logCallback}},PREDICATE_STEP_TYPE_CAPTURE=1,PREDICATE_STEP_TYPE_STRING=2,QUERY_WORD_REGEX=/[\w-]+/g,isCaptureStep=__name(t=>t.type==="capture","isCaptureStep"),isStringStep=__name(t=>t.type==="string","isStringStep"),QueryErrorKind={Syntax:1,NodeName:2,FieldName:3,CaptureName:4,PatternStructure:5},QueryError=class X extends Error{constructor(e,A,n,r){super(X.formatMessage(e,A)),this.kind=e,this.info=A,this.index=n,this.length=r,this.name="QueryError"}static{__name(this,"QueryError")}static formatMessage(e,A){switch(e){case QueryErrorKind.NodeName:return`Bad node name '${A.word}'`;case QueryErrorKind.FieldName:return`Bad field name '${A.word}'`;case QueryErrorKind.CaptureName:return`Bad capture name @${A.word}`;case QueryErrorKind.PatternStructure:return`Bad pattern structure at offset ${A.suffix}`;case QueryErrorKind.Syntax:return`Bad syntax at offset ${A.suffix}`}}};function parseAnyPredicate(t,e,A,n){if(t.length!==3)throw new Error(`Wrong number of arguments to \`#${A}\` predicate. Expected 2, got ${t.length-1}`);if(!isCaptureStep(t[1]))throw new Error(`First argument of \`#${A}\` predicate must be a capture. Got "${t[1].value}"`);const r=A==="eq?"||A==="any-eq?",o=!A.startsWith("any-");if(isCaptureStep(t[2])){const s=t[1].name,a=t[2].name;n[e].push(l=>{const g=[],c=[];for(const d of l)d.name===s&&g.push(d.node),d.name===a&&c.push(d.node);const I=__name((d,h,u)=>u?d.text===h.text:d.text!==h.text,"compare");return o?g.every(d=>c.some(h=>I(d,h,r))):g.some(d=>c.some(h=>I(d,h,r)))})}else{const s=t[1].name,a=t[2].value,l=__name(c=>c.text===a,"matches"),g=__name(c=>c.text!==a,"doesNotMatch");n[e].push(c=>{const I=[];for(const h of c)h.name===s&&I.push(h.node);const d=r?l:g;return o?I.every(d):I.some(d)})}}__name(parseAnyPredicate,"parseAnyPredicate");function parseMatchPredicate(t,e,A,n){if(t.length!==3)throw new Error(`Wrong number of arguments to \`#${A}\` predicate. Expected 2, got ${t.length-1}.`);if(t[1].type!=="capture")throw new Error(`First argument of \`#${A}\` predicate must be a capture. Got "${t[1].value}".`);if(t[2].type!=="string")throw new Error(`Second argument of \`#${A}\` predicate must be a string. Got @${t[2].name}.`);const r=A==="match?"||A==="any-match?",o=!A.startsWith("any-"),s=t[1].name,a=new RegExp(t[2].value);n[e].push(l=>{const g=[];for(const I of l)I.name===s&&g.push(I.node.text);const c=__name((I,d)=>d?a.test(I):!a.test(I),"test");return g.length===0?!r:o?g.every(I=>c(I,r)):g.some(I=>c(I,r))})}__name(parseMatchPredicate,"parseMatchPredicate");function parseAnyOfPredicate(t,e,A,n){if(t.length<2)throw new Error(`Wrong number of arguments to \`#${A}\` predicate. Expected at least 1. Got ${t.length-1}.`);if(t[1].type!=="capture")throw new Error(`First argument of \`#${A}\` predicate must be a capture. Got "${t[1].value}".`);const r=A==="any-of?",o=t[1].name,s=t.slice(2);if(!s.every(isStringStep))throw new Error(`Arguments to \`#${A}\` predicate must be strings.".`);const a=s.map(l=>l.value);n[e].push(l=>{const g=[];for(const c of l)c.name===o&&g.push(c.node.text);return g.length===0?!r:g.every(c=>a.includes(c))===r})}__name(parseAnyOfPredicate,"parseAnyOfPredicate");function parseIsPredicate(t,e,A,n,r){if(t.length<2||t.length>3)throw new Error(`Wrong number of arguments to \`#${A}\` predicate. Expected 1 or 2. Got ${t.length-1}.`);if(!t.every(isStringStep))throw new Error(`Arguments to \`#${A}\` predicate must be strings.".`);const o=A==="is?"?n:r;o[e]||(o[e]={}),o[e][t[1].value]=t[2]?.value??null}__name(parseIsPredicate,"parseIsPredicate");function parseSetDirective(t,e,A){if(t.length<2||t.length>3)throw new Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${t.length-1}.`);if(!t.every(isStringStep))throw new Error('Arguments to `#set!` predicate must be strings.".');A[e]||(A[e]={}),A[e][t[1].value]=t[2]?.value??null}__name(parseSetDirective,"parseSetDirective");function parsePattern(t,e,A,n,r,o,s,a,l,g,c){if(e===PREDICATE_STEP_TYPE_CAPTURE){const I=n[A];o.push({type:"capture",name:I})}else if(e===PREDICATE_STEP_TYPE_STRING)o.push({type:"string",value:r[A]});else if(o.length>0){if(o[0].type!=="string")throw new Error("Predicates must begin with a literal value");const I=o[0].value;switch(I){case"any-not-eq?":case"not-eq?":case"any-eq?":case"eq?":parseAnyPredicate(o,t,I,s);break;case"any-not-match?":case"not-match?":case"any-match?":case"match?":parseMatchPredicate(o,t,I,s);break;case"not-any-of?":case"any-of?":parseAnyOfPredicate(o,t,I,s);break;case"is?":case"is-not?":parseIsPredicate(o,t,I,g,c);break;case"set!":parseSetDirective(o,t,l);break;default:a[t].push({operator:I,operands:o.slice(1)})}o.length=0}}__name(parsePattern,"parsePattern");var Query=class{static{__name(this,"Query")}0=0;exceededMatchLimit;textPredicates;captureNames;captureQuantifiers;predicates;setProperties;assertedProperties;refutedProperties;matchLimit;constructor(t,e){const A=C.lengthBytesUTF8(e),n=C._malloc(A+1);C.stringToUTF8(e,n,A+1);const r=C._ts_query_new(t[0],n,A,TRANSFER_BUFFER,TRANSFER_BUFFER+SIZE_OF_INT);if(!r){const E=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),f=C.getValue(TRANSFER_BUFFER,"i32"),Q=C.UTF8ToString(n,f).length,p=e.slice(Q,Q+100).split(`
26
+ `)[0],m=p.match(QUERY_WORD_REGEX)?.[0]??"";switch(C._free(n),E){case QueryErrorKind.Syntax:throw new QueryError(QueryErrorKind.Syntax,{suffix:`${Q}: '${p}'...`},Q,0);case QueryErrorKind.NodeName:throw new QueryError(E,{word:m},Q,m.length);case QueryErrorKind.FieldName:throw new QueryError(E,{word:m},Q,m.length);case QueryErrorKind.CaptureName:throw new QueryError(E,{word:m},Q,m.length);case QueryErrorKind.PatternStructure:throw new QueryError(E,{suffix:`${Q}: '${p}'...`},Q,0)}}const o=C._ts_query_string_count(r),s=C._ts_query_capture_count(r),a=C._ts_query_pattern_count(r),l=new Array(s),g=new Array(a),c=new Array(o);for(let E=0;E<s;E++){const f=C._ts_query_capture_name_for_id(r,E,TRANSFER_BUFFER),Q=C.getValue(TRANSFER_BUFFER,"i32");l[E]=C.UTF8ToString(f,Q)}for(let E=0;E<a;E++){const f=new Array(s);for(let Q=0;Q<s;Q++){const p=C._ts_query_capture_quantifier_for_id(r,E,Q);f[Q]=p}g[E]=f}for(let E=0;E<o;E++){const f=C._ts_query_string_value_for_id(r,E,TRANSFER_BUFFER),Q=C.getValue(TRANSFER_BUFFER,"i32");c[E]=C.UTF8ToString(f,Q)}const I=new Array(a),d=new Array(a),h=new Array(a),u=new Array(a),B=new Array(a);for(let E=0;E<a;E++){const f=C._ts_query_predicates_for_pattern(r,E,TRANSFER_BUFFER),Q=C.getValue(TRANSFER_BUFFER,"i32");u[E]=[],B[E]=[];const p=new Array;let m=f;for(let y=0;y<Q;y++){const w=C.getValue(m,"i32");m+=SIZE_OF_INT;const D=C.getValue(m,"i32");m+=SIZE_OF_INT,parsePattern(E,w,D,l,c,p,B,u,I,d,h)}Object.freeze(B[E]),Object.freeze(u[E]),Object.freeze(I[E]),Object.freeze(d[E]),Object.freeze(h[E])}C._free(n),this[0]=r,this.captureNames=l,this.captureQuantifiers=g,this.textPredicates=B,this.predicates=u,this.setProperties=I,this.assertedProperties=d,this.refutedProperties=h,this.exceededMatchLimit=!1}delete(){C._ts_query_delete(this[0]),this[0]=0}matches(t,e={}){const A=e.startPosition??ZERO_POINT,n=e.endPosition??ZERO_POINT,r=e.startIndex??0,o=e.endIndex??0,s=e.startContainingPosition??ZERO_POINT,a=e.endContainingPosition??ZERO_POINT,l=e.startContainingIndex??0,g=e.endContainingIndex??0,c=e.matchLimit??4294967295,I=e.maxStartDepth??4294967295,d=e.progressCallback;if(typeof c!="number")throw new Error("Arguments must be numbers");if(this.matchLimit=c,o!==0&&r>o)throw new Error("`startIndex` cannot be greater than `endIndex`");if(n!==ZERO_POINT&&(A.row>n.row||A.row===n.row&&A.column>n.column))throw new Error("`startPosition` cannot be greater than `endPosition`");if(g!==0&&l>g)throw new Error("`startContainingIndex` cannot be greater than `endContainingIndex`");if(a!==ZERO_POINT&&(s.row>a.row||s.row===a.row&&s.column>a.column))throw new Error("`startContainingPosition` cannot be greater than `endContainingPosition`");d&&(C.currentQueryProgressCallback=d),marshalNode(t),C._ts_query_matches_wasm(this[0],t.tree[0],A.row,A.column,n.row,n.column,r,o,s.row,s.column,a.row,a.column,l,g,c,I);const h=C.getValue(TRANSFER_BUFFER,"i32"),u=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),B=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,"i32"),E=new Array(h);this.exceededMatchLimit=!!B;let f=0,Q=u;for(let p=0;p<h;p++){const m=C.getValue(Q,"i32");Q+=SIZE_OF_INT;const y=C.getValue(Q,"i32");Q+=SIZE_OF_INT;const w=new Array(y);if(Q=unmarshalCaptures(this,t.tree,Q,m,w),this.textPredicates[m].every(D=>D(w))){E[f]={patternIndex:m,captures:w};const D=this.setProperties[m];E[f].setProperties=D;const _=this.assertedProperties[m];E[f].assertedProperties=_;const k=this.refutedProperties[m];E[f].refutedProperties=k,f++}}return E.length=f,C._free(u),C.currentQueryProgressCallback=null,E}captures(t,e={}){const A=e.startPosition??ZERO_POINT,n=e.endPosition??ZERO_POINT,r=e.startIndex??0,o=e.endIndex??0,s=e.startContainingPosition??ZERO_POINT,a=e.endContainingPosition??ZERO_POINT,l=e.startContainingIndex??0,g=e.endContainingIndex??0,c=e.matchLimit??4294967295,I=e.maxStartDepth??4294967295,d=e.progressCallback;if(typeof c!="number")throw new Error("Arguments must be numbers");if(this.matchLimit=c,o!==0&&r>o)throw new Error("`startIndex` cannot be greater than `endIndex`");if(n!==ZERO_POINT&&(A.row>n.row||A.row===n.row&&A.column>n.column))throw new Error("`startPosition` cannot be greater than `endPosition`");if(g!==0&&l>g)throw new Error("`startContainingIndex` cannot be greater than `endContainingIndex`");if(a!==ZERO_POINT&&(s.row>a.row||s.row===a.row&&s.column>a.column))throw new Error("`startContainingPosition` cannot be greater than `endContainingPosition`");d&&(C.currentQueryProgressCallback=d),marshalNode(t),C._ts_query_captures_wasm(this[0],t.tree[0],A.row,A.column,n.row,n.column,r,o,s.row,s.column,a.row,a.column,l,g,c,I);const h=C.getValue(TRANSFER_BUFFER,"i32"),u=C.getValue(TRANSFER_BUFFER+SIZE_OF_INT,"i32"),B=C.getValue(TRANSFER_BUFFER+2*SIZE_OF_INT,"i32"),E=new Array;this.exceededMatchLimit=!!B;const f=new Array;let Q=u;for(let p=0;p<h;p++){const m=C.getValue(Q,"i32");Q+=SIZE_OF_INT;const y=C.getValue(Q,"i32");Q+=SIZE_OF_INT;const w=C.getValue(Q,"i32");if(Q+=SIZE_OF_INT,f.length=y,Q=unmarshalCaptures(this,t.tree,Q,m,f),this.textPredicates[m].every(D=>D(f))){const D=f[w],_=this.setProperties[m];D.setProperties=_;const k=this.assertedProperties[m];D.assertedProperties=k;const S=this.refutedProperties[m];D.refutedProperties=S,E.push(D)}}return C._free(u),C.currentQueryProgressCallback=null,E}predicatesForPattern(t){return this.predicates[t]}disableCapture(t){const e=C.lengthBytesUTF8(t),A=C._malloc(e+1);C.stringToUTF8(t,A,e+1),C._ts_query_disable_capture(this[0],A,e),C._free(A)}disablePattern(t){if(t>=this.predicates.length)throw new Error(`Pattern index is ${t} but the pattern count is ${this.predicates.length}`);C._ts_query_disable_pattern(this[0],t)}didExceedMatchLimit(){return this.exceededMatchLimit}startIndexForPattern(t){if(t>=this.predicates.length)throw new Error(`Pattern index is ${t} but the pattern count is ${this.predicates.length}`);return C._ts_query_start_byte_for_pattern(this[0],t)}endIndexForPattern(t){if(t>=this.predicates.length)throw new Error(`Pattern index is ${t} but the pattern count is ${this.predicates.length}`);return C._ts_query_end_byte_for_pattern(this[0],t)}patternCount(){return C._ts_query_pattern_count(this[0])}captureIndexForName(t){return this.captureNames.indexOf(t)}isPatternRooted(t){return C._ts_query_is_pattern_rooted(this[0],t)===1}isPatternNonLocal(t){return C._ts_query_is_pattern_non_local(this[0],t)===1}isPatternGuaranteedAtStep(t){return C._ts_query_is_pattern_guaranteed_at_step(this[0],t)===1}};const _shadows={};class BaseNode{constructor(e){Object.assign(this,e)}get depth(){return this._depth==null&&(this.parent==null?this._depth=0:this._depth=this.parent.depth+1),this._depth}get length(){return this.children?.length||0}*[Symbol.iterator](){yield*this.children||[]}get hasChildren(){return(this.children?.length||0)>0}get hardChildren(){return(this.children||[]).filter(e=>e instanceof Node$1)}get fields(){return{}}get fieldNames(){return[]}get indent(){return this.tree.codeString.match(new RegExp(`^(?:.*\\r?\\n){${this.startPosition.row}}(\\s*)`))[1]}toJSON(){const e={};return this.children?.length?{type:this.type,typeId:this.typeId,fieldNames:this.fieldNames,startPosition:this.startPosition,startIndex:this.startIndex,endPosition:this.endPosition,indent:this.indent,...e,children:this.children.map(A=>A.toJSON())}:{type:this.type,typeId:this.typeId,fieldNames:this.fieldNames,startPosition:this.startPosition,startIndex:this.startIndex,endPosition:this.endPosition,indent:this.indent,...e,text:this.text,children:[]}}[Symbol.for("Deno.customInspect")](e,A){const n={};let r;try{r=this.text}catch{r=void 0}return r==null?this:e({"":r.length<60?r:r.slice(0,30)+"..."+r.slice(-27),type:this.type,typeId:this.typeId,fieldNames:this.fieldNames,startPosition:this.startPosition,startIndex:this.startIndex,endPosition:this.endPosition,indent:this.indent,...n,hasChildren:this.hasChildren,children:[...this.children||[]]},A)}*iterFlattened(){}flattened(){return[]}replaceInnards(e){const A=this.tree,n=this.tree.codeString,r=_shadows[this.id]||this;r._children=[],r._fields={};const{startPosition:o,endPosition:s,startIndex:a,endIndex:l}=r,g=e.match(/\n/g)?.length||0;let c=o.column;g==0?c=o.column+e.length:c=e.split(`
27
+ `).slice(-1)[0].length,A.edit({startIndex:a,oldEndIndex:l,newEndIndex:a+e.length,startPosition:o,oldEndPosition:s,newEndPosition:{row:o.row+g,column:c}}),this.tree.codeString=n.slice(0,a)+e+n.slice(l)}}class SoftNode extends BaseNode{constructor(e){super(e),this.children=[]}get startIndex(){return this._startIndexOffset+this.getReferencePoint().index}get startPosition(){return{row:this._startRowOffset+this.getReferencePoint().position.row,column:this._startColOffset+this.getReferencePoint().position.column}}get endIndex(){return this._endIndexOffset+this.getReferencePoint().index}get endPosition(){return{row:this._endRowOffset+this.getReferencePoint().position.row,column:this._endColOffset+this.getReferencePoint().position.column}}}class WhitespaceNode extends SoftNode{constructor({parent:e,...A}){super({...A,type:"whitespace",typeId:-1}),this._parent=e}get parent(){return this._parent}}class SoftTextNode extends SoftNode{constructor({parent:e,...A}){super({...A,type:"text",typeId:-2}),this._parent=e}get parent(){return this._parent}}function _getQueryCaptureTargets(t){return t.includes("@")?t.replace(/"(?:\\(?:[^xu0-7]|[0-7]{1,3}|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]+})|[^\"\\])*"/g,"").match(/(?<=@)([a-zA-Z0-9.\-_\$]+)/g):[]}const realRootNodeGetter=Object.getOwnPropertyDescriptor(Tree.prototype,"rootNode").get;Object.defineProperty(Tree.prototype,"rootNode",{get(){const t=realRootNodeGetter.call(this),e={};Object.setPrototypeOf(e,Object.getPrototypeOf(t));const A=Object.assign(Object.getOwnPropertyDescriptors(Node$1.prototype),Object.getOwnPropertyDescriptors(t)),n={};for(const[r,o]of Object.entries(A))r=="startIndex"||r=="startPosition"||(r=="text"||r=="replaceInnards"?n[r]=o:n[r]={get:()=>{const s=t[r];return typeof s=="function"?(...a)=>s.apply(t,a):s},set:s=>t[r]=s,enumerable:o.enumerable,configurable:o.configurable});return Object.setPrototypeOf(e,Node$1.prototype),Object.defineProperties(e,n),e.startIndex=0,e.startPosition={row:0,column:0},e.children.length==0&&e.endIndex!=0&&(e._children=_childrenWithSoftNodes(e,[{startIndex:e.endIndex,endIndex:e.endIndex,endPosition:e.endPosition}],t.tree.codeString).slice(0,-1)),_shadows[t.id]=e,e}});const originalDescriptors=Object.getOwnPropertyDescriptors(Node$1.prototype),originalChildrenGetter=originalDescriptors.children.get,originalEndIndex=originalDescriptors.endIndex.get,originalEndPosition=originalDescriptors.endPosition.get,originalParent=originalDescriptors.parent.get,originalTextGetter=originalDescriptors.text.get,originalEquals=originalDescriptors.equals.value,originalToString=originalDescriptors.toString.value;class HardNode extends BaseNode{constructor(){super(...arguments),this.equals=originalEquals}get parent(){const e=originalParent.call(this);return _shadows[e?.id]||e}get text(){return originalTextGetter.call(_shadows[this.id]||this)}get endIndex(){return this.depth==0?this.tree.codeString.length:originalEndIndex.call(this)}get endPosition(){if(this.depth==0){const e=(this.tree.codeString.match(/\n/g)||[]).length,A=this.tree.codeString.match(new RegExp(`^(?:.*\\r?\\n){${e}}(.*)`))[1].length;return{row:e,column:A}}return originalEndPosition.call(this)}get children(){return this._children||(this._children=originalChildrenGetter.call(this),this.tree._enableSoftNodes&&(this._children=_childrenWithSoftNodes(this,this._children||[],this.tree.codeString))),this._children||[]}set children(e){this._children=e}*traverse(e={_parentNodes:[]}){const{_parentNodes:A}=e,n=[this,...A];if(this.children?.length==0)yield[A,this,"-"];else{yield[A,this,"->"];for(const r of this.children||[])if(r instanceof Node$1)for(const o of r.traverse({_parentNodes:n}))yield o;else yield[n,r,"-"];yield[A,this,"<-"]}}*iterFlattened({filter:e,includeSelf:A=!1}={}){if(A&&(yield this),typeof e=="function")for(const n of this.children||[]){e(n)&&(yield n);for(const r of n.iterFlattened({filter:e}))yield r}else for(const n of this.children||[]){yield n;for(const r of n.iterFlattened({filter:e}))yield r}}iterFlatten(){throw Error("did you mean iterFlattened instead of iterFlatten?")}flattened({filter:e,includeSelf:A=!1}={}){return[...this.iterFlattened({filter:e,includeSelf:A})]}flatten(){throw Error("did you mean flattened instead of flatten?")}query(e,A){const{matchLimit:n,startPosition:r,endPosition:o,maxResultDepth:s}=A||{},a=s??1/0;let l;try{l=new Query(this.tree.language,e)}catch(d){throw d.name==="QueryError"&&(d.message=`${d.message} in the following query: ${JSON.stringify(e)}`),d}const g=l.matches(this,r||this.startPosition,o||this.endPosition,n),c=g.filter(d=>d.captures.every(h=>h.node.depth-this.depth<=a)),I=this.tree.codeString;for(const d of c)for(const h of d.captures)h.node.children=_childrenWithSoftNodes(h.node,h.node.children,I);return g.filter(d=>d.captures.every(h=>h.node.depth-this.depth<=a))}quickQuery(e,A){const n=_getQueryCaptureTargets(e);let r="_";for(;n.includes(r);)r=`${r}_`;return e=`${e} @${r}`,this.query(e,A).map(s=>{const a=Object.fromEntries(s.captures.map(l=>[l.name,l.node]));return n.length==0?a[r]:(a[0]=a[r],delete a[r],a)})}quickQueryFirst(e,A){return this.quickQuery(e,{...A,matchLimit:1})[0]}get fields(){if(!this._fields){this._fields={};let e=-1;for(let A of this.children||[]){if(A.typeId<=0)continue;e++;const n=this.fieldNameForChild(e);n&&(this._fields[n]=A)}}return this._fields}get fieldNames(){return Object.keys(this.fields)}getQueryForSelf(){let e=this,A=[];for(;e;)e.type&&(e.isNamed&&e.type.match(/^([a-zA-Z0-9.\-_\$]+)$/)?A.push(e.type):A.push(JSON.stringify(e.type))),e=e.parent;return"("+A.reverse().join(" (")+")".repeat(A.length)}asLispString(){return originalToString.call(this)}}const descriptors=Object.getOwnPropertyDescriptors(HardNode.prototype);delete descriptors.constructor;Object.defineProperties(Node$1.prototype,descriptors);Object.setPrototypeOf(Node$1.prototype,BaseNode.prototype);const _childrenWithSoftNodes=(t,e,A)=>{if(e?.length>0){const n=[],r=[...e];let o=r.shift();const s=(l,g,c)=>{const{index:I,position:d}=g();let h=I,u=d;const B=l.split(/(?<!\s)(?=\s+)/g);let E=u.column,f=u.row;for(const Q of B){if(Q.length==0)continue;const p=h+Q.length;if(Q.match(/^\s/)){const m=f,y=E;f+=(Q.match(/\n/g)||[]).length,m!=f?E=Q.split(`
28
+ `).slice(-1)[0].length:E+=Q.length,n.push(new WhitespaceNode({tree:t.tree,parent:c,getReferencePoint:g,text:Q,_startIndexOffset:h-I,_startRowOffset:m-d.row,_startColOffset:y-d.column,_endIndexOffset:p-I,_endRowOffset:f-d.row,_endColOffset:E-d.column,children:[]}))}else{const m=E;E+=Q.length,n.push(new SoftTextNode({tree:t.tree,parent:c,getReferencePoint:g,text:Q,_startIndexOffset:h-I,_startRowOffset:f-d.row,_startColOffset:m-d.column,_endIndexOffset:p-I,_endRowOffset:f-d.row,_endColOffset:E-d.column,children:[]}))}h=p}};if(t.startIndex!=o.startIndex){const l=A.slice(t.startIndex,o.startIndex),g=t;s(l,()=>({index:g.startIndex,position:g.startPosition}),t)}n.push(o);let a=o;for(const l of r){if(a.endIndex!=l.startIndex){const g=A.slice(a.endIndex,l.startIndex),c=a;s(g,()=>({index:c.endIndex,position:c.endPosition}),t)}n.push(l),a=l}if(a.endIndex!=t.endIndex){const l=A.slice(a.endIndex,t.endIndex),g=a;s(l,()=>({index:g.endIndex,position:g.endPosition}),t)}return n}};class ExtendedParser extends Parser{constructor(){super(...arguments),this.disableSoftNodes=!1}parse(e,A,n){typeof e=="function"&&(console.warn("When calling .parse() the source code was a function instead of a string. The original tree sitter supports giving a function as a means of supporting edits (see: https://github.com/tree-sitter/tree-sitter/discussions/2553 ).\nHowever, this library supports edits directly (use node.replaceInnards(``))\nThe downside of making edits easy is that .parse() doesn't really accept a function argument. I'm just going to evaluate that function to grab the string once at the beginning. Use tree.codeString if you want to get the full string after a .replaceInnards() call."),e=e(0,{row:0,column:0})||"");let r=null;return r=super.parse.apply(this,[o=>(r?.codeString??e).slice(o),A,n]),r.codeString=e,r._enableSoftNodes=!this.disableSoftNodes,r}}let hasBeenLoaded=!1;async function createParser(t,{disableSoftNodes:e=!1,assetLoad:A}){if(!hasBeenLoaded){hasBeenLoaded=!0;const o={wasmBinary:await A("tree-sitter/web-tree-sitter.wasm")};await Parser.init(o)}const n=new ExtendedParser,r=await Language.load(t);return n.setLanguage(r),n.disableSoftNodes=e,n}class TreeSitterHighlighter{async init(e){if(this.lang=e,!e||!this.assetLoad)return this.parser=void 0,this.hightligtScm=void 0,!0;const A=getLangTreeSitter(e),n=A.files[0];try{const r=await this.assetLoad(A.dir+"/"+n);this.parser=await createParser(r,{assetLoad:this.assetLoad}),this.hightligtScm=new TextDecoder().decode(await this.assetLoad(A.dir+"/highlights.scm"))}catch(r){console.error("Error init highlight for: "+e,r)}return this.parser?this.hightligtScm?!0:(console.warn("hightligtScm not inited"),!1):(console.warn("Parser not inited"),!1)}highlight(e,A){if(!this.lang||!this.parser||!this.hightligtScm)return A.decorationGroups.highlight=[],A.highlight(e);const o=this.parser.parse(e).rootNode.query(this.hightligtScm),s=[];for(const l of o)s.push(...l.captures);const a=[];for(const l of s){const{node:g,name:c}=l,I=g.startIndex,d=g.endIndex;a.push({startIndex:I,endIndex:d,className:"ts-"+c.replaceAll(".","_")})}return A.decorationGroups.highlight=a,A.highlight(e)}}class Decorator{constructor(){this.decorationGroups={}}highlight(e){const A=[];for(const a in this.decorationGroups){const l=this.decorationGroups[a];A.push(...l)}const n=new Set;for(const a of A)n.add(a.startIndex),n.add(a.endIndex);n.add(0),n.add(e.length);const r=Array.from(n);r.sort((a,l)=>a-l);let o="",s=0;for(const a of r){const l=e.substring(s,a),g=A.filter(c=>s>=c.startIndex&&a<=c.endIndex);for(const c of g)c.title?o+=`<span class="${c.className}" title="${escapeHtml$1(c.title||"")}">`:o+=`<span class="${c.className}">`;o+=escapeHtml$1(l);for(const c of g)o+="</span>";s=a}return o}}function escapeHtml$1(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}const lineNumberOptions={class:"codejar-linenumbers",wrapClass:"codejar-wrap",width:"35px",backgroundColor:"rgba(128, 128, 128, 0.15)"};function refreshNumbers(t,e){const n=(e.textContent||"").replace(/\n$/g,"").split(`
29
+ `).length;let r="";for(let o=0;o<n;o++)r+=`${o+1}
30
+ `;t.innerText=r,e.style.paddingLeft="calc(40px + 5px)"}function initLineNumbers(t,e){const A=getComputedStyle(t),n=document.createElement("div");n.className=e.wrapClass,n.style.position="relative";const r=document.createElement("div");r.className="codejar-linenumbers-inner-wrap",r.style.background=A.background,r.style.marginTop=A.borderTopWidth,r.style.marginBottom=A.borderBottomWidth,r.style.marginLeft=A.borderLeftWidth,r.style.borderTopLeftRadius=A.borderTopLeftRadius,r.style.borderBottomLeftRadius=A.borderBottomLeftRadius;const o=document.createElement("div");o.className=e.class,r.appendChild(o),n.appendChild(r),o.style.width=e.width,o.style.overflow="hidden",o.style.backgroundColor=e.backgroundColor,o.style.fontFamily=A.fontFamily,o.style.fontSize=A.fontSize,o.style.lineHeight=A.lineHeight,o.style.paddingTop=`calc(${A.paddingTop})`,o.style.paddingLeft=A.paddingLeft,o.style.borderTopLeftRadius=A.borderTopLeftRadius,o.style.borderBottomLeftRadius=A.borderBottomLeftRadius;const s=document.createElement("div");return s.setAttribute("class","codejar-linenumber"),s.style.color=A.color,s.style.setProperty("mix-blend-mode","unset"),o.appendChild(s),t.style.paddingLeft=`calc(${e.width} + ${o.style.paddingLeft} + 5px)`,t.style.whiteSpace="pre",t.parentNode.insertBefore(n,t),n.appendChild(t),t.addEventListener("scroll",()=>s.style.top=`-${t.scrollTop}px`),s}class CodeJarBlockNodeView{constructor(e,A,n,r,o){this.node=e,this.view=A,this.getPos=n,this.config=r,this.editor=o,this.lang="plaintext",this.uri="file:///"+Math.random()+".ts",this.updating=!1;const s=document.createElement("div");this.dom=s,s.className="codejar-root",this.languageDropDown=this.addLanguageDropDown(),o.view&&"root"in o.view&&o.view.root,this.element=document.createElement("div"),this.element.classList.add("codejar"),this.codeJar=new CodeJar(this.element,a=>this.highlight(a),{tab:" ",indentOn:new RegExp("^(?!)"),moveToNewLine:new RegExp("^(?!)"),history:!1,readOnly:this.config.readOnly}),this.codeJar.onUpdate(()=>{if(!this.updating){const l=this.codeJar.toString();valueChanged(l,this.node,n,A),document.activeElement===this.element&&forwardSelection(this.codeJar,A,n)}const a=this.extensionLsp?.getClient(this.lang);a&&a.workspace.changedFile(this.uri)}),this.highlighter=new TreeSitterHighlighter,this.highlighter.assetLoad=this.editor.config.assetLoad,this.decorator=new Decorator,s.append(this.element),this.lineNumbers=initLineNumbers(this.element,lineNumberOptions),this.source={ui:this.editor.ui,getMappedContent:async()=>{const a=this.editor,l=toRawTextResult(this.codeJar.toString(),0),g=new PositionMapper(a,l.rawTextMap);return{...l,mapper:g}}},this.extensionLsp=o.getExtension("lsp"),this.diagListener=a=>{const l=a.detail;if(l.params.uri!==this.uri)return;a.preventDefault();const g=this.extensionLsp?.getClient(this.lang);if(g){const c=g.workspace.getFile(this.uri);if(c){const{mapper:I}=c;console.debug({diagnostics:l.params.diagnostics,mapper:I});const d=l.params.diagnostics,h=[];for(const u of d){const B=I.fromLineChar(u.range.start.line,u.range.start.character),E=I.fromLineChar(u.range.end.line,u.range.end.character);h.push({startIndex:B,endIndex:E,className:"kb-lsp__error",title:u.message||""})}this.decorator.decorationGroups.innerDiag=h,this.highlight(this.element)}}}}addLanguageDropDown(){const e=document.createElement("select");e.classList.add("codejar-select");for(const A of[""].concat(this.config.languageWhitelist||[])){const n=document.createElement("option");n.value=A,n.innerText=A,e.appendChild(n)}return this.dom.appendChild(e),e.addEventListener("change",async()=>{const A=e.value,n=this.getPos();n&&this.view.dispatch(this.view.state.tr.setNodeMarkup(n,void 0,{...this.node.attrs,lang:A})),await this.setLang(A)}),e}async setLang(e){this.languageDropDown.value=e||"",await this.highlighter.init(e),this.highlight(this.element),this.lang=e;const A=this.extensionLsp?.getClient(this.lang);A&&(A.addEventListener("textDocument/publishDiagnostics",this.diagListener),A.connect(this.uri,this.source),A.workspace.openFile(this.uri,e,this.source))}async init(){this.codeJar.updateCode(this.node.textContent,!1),this.node.attrs.lang&&await this.setLang(this.node.attrs.lang)}setSelection(e,A){this.element.focus(),this.updating=!0;const n=this.getPos();if(n){e-=n,A-=n;const r={start:Math.min(e,A),end:Math.max(e,A),dir:e<=A?"->":"<-"};this.codeJar.restore(r)}this.updating=!1}highlight(e){if(!this.highlighter)e.innerHTML=e.textContent;else{const A=e.textContent;e.innerHTML=this.highlighter.highlight(A,this.decorator)||A}refreshNumbers(this.lineNumbers,e)}update(e,A,n){const r=[];n.forEachSet(g=>g.find().map(c=>{r.push(c)}));const o=[];for(const g of r)if("type"in g){const c=g.type;o.push({startIndex:g.from,endIndex:g.to,className:c?.attrs?.class||"",title:c?.attrs?.title||""})}this.decorator.decorationGroups.diag=o;const s=this.node,a=this.codeJar.toString();if(computeChange(a,e.textContent)){const g=this.codeJar.save();this.updating=!0,this.codeJar.updateCode(e.textContent,!0),this.updating=!1,g&&this.codeJar.restore(g)}return this.node=e,e.attrs.lang!==s.attrs.lang&&this.setLang(e.attrs.lang),!0}selectNode(){this.element.focus()}stopEvent(e){return!0}ignoreMutation(){return!0}destroy(){const e=this.extensionLsp?.getClient(this.lang);e&&(this.uri&&e.disconnect(this.uri),this.diagListener&&e.removeEventListener("textDocument/publishDiagnostics",this.diagListener)),this.codeJar.destroy()}}const codeJarBlockNodeView=(t,e)=>(A,n,r)=>{const o=new CodeJarBlockNodeView(A,n,r,t,e);return o.init(),o},codeJarBlockKey=new PluginKey("code-jar-block");class NodeCodeJar extends NodeCodeBlock{constructor(e){super(e),this.config=e}getCommandFactories(e,A){return{setCodeBlock:n=>e.commandFactories.setBlockType(A,{lang:n})}}getKeyboardShortcuts(){return{'Shift-Ctrl-"':"setCodeBlock",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",ArrowDown:"ArrowDown"}}getProseMirrorPlugins(){const e=getShadowRoot(this.editor.config.element),A={languageWhitelist:this.config.languageWhitelist||getLangsList(),shadowRoot:e,readOnly:this.editor.config.readOnly||this.config.readOnly,undo:()=>{this.editor.chain().undo().run()},redo:()=>{this.editor.chain().redo().run()}};return[new Plugin({key:codeJarBlockKey,props:{nodeViews:{[this.name]:codeJarBlockNodeView(A,this.editor)}}})]}}class ExtensionCodeJar extends Extension{constructor(e={}){super(e),this.config=e,this.name="code-jar",this.nodeCodeJar=new NodeCodeJar({}),this.requires=[this.nodeCodeJar]}created(){this.nodeCodeJar.config.languageWhitelist=this.config.languageWhitelist}}var html,hasRequiredHtml;function requireHtml(){if(hasRequiredHtml)return html;hasRequiredHtml=1;function t(e,A){var n,r,o,s,a,l;A=A||{},r=A.indent_size||4,o=A.indent_char||" ",a=A.brace_style||"collapse",s=A.max_char==0?1/0:A.max_char||70,l=A.unformatted||["a","span","bdo","em","strong","dfn","code","samp","kbd","var","cite","abbr","acronym","q","sub","sup","tt","i","b","big","small","u","s","strike","font","ins","del","pre","address","dt","h1","h2","h3","h4","h5","h6"];function g(){return this.pos=0,this.token="",this.current_mode="CONTENT",this.tags={parent:"parent1",parentcount:1,parent1:""},this.tag_type="",this.token_text=this.last_token=this.last_text=this.token_type="",this.Utils={whitespace:`
31
+ \r `.split(""),single_token:"br,input,link,meta,!doctype,basefont,base,area,hr,wbr,param,img,isindex,?xml,embed,?php,?,?=".split(","),extra_liners:"head,body,/html".split(","),in_array:function(y,w){for(var D=0;D<w.length;D++)if(y===w[D])return!0;return!1}},this.get_content=function(){for(var y="",w=[],D=!1;this.input.charAt(this.pos)!=="<";){if(this.pos>=this.input.length)return w.length?w.join(""):["","TK_EOF"];if(y=this.input.charAt(this.pos),this.pos++,this.line_char_count++,this.Utils.in_array(y,this.Utils.whitespace)){w.length&&(D=!0),this.line_char_count--;continue}else if(D){if(this.line_char_count>=this.max_char){w.push(`
32
+ `);for(var _=0;_<this.indent_level;_++)w.push(this.indent_string);this.line_char_count=0}else w.push(" "),this.line_char_count++;D=!1}w.push(y)}return w.length?w.join(""):""},this.get_contents_to=function(y){if(this.pos==this.input.length)return["","TK_EOF"];var w="",D=new RegExp("</"+y+"\\s*>","igm");D.lastIndex=this.pos;var _=D.exec(this.input),k=_?_.index:this.input.length;return this.pos<k&&(w=this.input.substring(this.pos,k),this.pos=k),w},this.record_tag=function(y){this.tags[y+"count"]?(this.tags[y+"count"]++,this.tags[y+this.tags[y+"count"]]=this.indent_level):(this.tags[y+"count"]=1,this.tags[y+this.tags[y+"count"]]=this.indent_level),this.tags[y+this.tags[y+"count"]+"parent"]=this.tags.parent,this.tags.parent=y+this.tags[y+"count"]},this.retrieve_tag=function(y){if(this.tags[y+"count"]){for(var w=this.tags.parent;w&&y+this.tags[y+"count"]!==w;)w=this.tags[w+"parent"];w&&(this.indent_level=this.tags[y+this.tags[y+"count"]],this.tags.parent=this.tags[w+"parent"]),delete this.tags[y+this.tags[y+"count"]+"parent"],delete this.tags[y+this.tags[y+"count"]],this.tags[y+"count"]==1?delete this.tags[y+"count"]:this.tags[y+"count"]--}},this.get_tag=function(){var y="",w=[],D=!1,_,k;do{if(this.pos>=this.input.length)return w.length?w.join(""):["","TK_EOF"];if(y=this.input.charAt(this.pos),this.pos++,this.line_char_count++,this.Utils.in_array(y,this.Utils.whitespace)){D=!0,this.line_char_count--;continue}(y==="'"||y==='"')&&(!w[1]||w[1]!=="!")&&(y+=this.get_unformatted(y),D=!0),y==="="&&(D=!1),w.length&&w[w.length-1]!=="="&&y!==">"&&D&&(this.line_char_count>=this.max_char?(this.print_newline(!1,w),this.line_char_count=0):(w.push(" "),this.line_char_count++),D=!1),y==="<"&&(_=this.pos-1),w.push(y)}while(y!==">");var S=w.join(""),F;S.indexOf(" ")!=-1?F=S.indexOf(" "):F=S.indexOf(">");var N=S.substring(1,F).toLowerCase();if(S.charAt(S.length-2)==="/"||this.Utils.in_array(N,this.Utils.single_token))this.tag_type="SINGLE";else if(N==="script")this.record_tag(N),this.tag_type="SCRIPT";else if(N==="style")this.record_tag(N),this.tag_type="STYLE";else if(this.Utils.in_array(N,l)){var b=this.get_unformatted("</"+N+">",S);w.push(b),_>0&&this.Utils.in_array(this.input.charAt(_-1),this.Utils.whitespace)&&w.splice(0,0,this.input.charAt(_-1)),k=this.pos-1,this.Utils.in_array(this.input.charAt(k+1),this.Utils.whitespace)&&w.push(this.input.charAt(k+1)),this.tag_type="SINGLE"}else if(N.charAt(0)==="!")if(N.indexOf("[if")!=-1){if(S.indexOf("!IE")!=-1){var b=this.get_unformatted("-->",S);w.push(b)}this.tag_type="START"}else if(N.indexOf("[endif")!=-1)this.tag_type="END",this.unindent();else if(N.indexOf("[cdata[")!=-1){var b=this.get_unformatted("]]>",S);w.push(b),this.tag_type="SINGLE"}else{var b=this.get_unformatted("-->",S);w.push(b),this.tag_type="SINGLE"}else N.charAt(0)==="/"?(this.retrieve_tag(N.substring(1)),this.tag_type="END"):(this.record_tag(N),this.tag_type="START"),this.Utils.in_array(N,this.Utils.extra_liners)&&this.print_newline(!0,this.output);return w.join("")},this.get_unformatted=function(y,w){if(w&&w.toLowerCase().indexOf(y)!=-1)return"";var D="",_="",k=!0;do{if(this.pos>=this.input.length)return _;if(D=this.input.charAt(this.pos),this.pos++,this.Utils.in_array(D,this.Utils.whitespace)){if(!k){this.line_char_count--;continue}if(D===`
33
+ `||D==="\r"){_+=`
34
+ `,this.line_char_count=0;continue}}_+=D,this.line_char_count++,k=!0}while(_.toLowerCase().indexOf(y)==-1);return _},this.get_token=function(){var y;if(this.last_token==="TK_TAG_SCRIPT"||this.last_token==="TK_TAG_STYLE"){var w=this.last_token.substr(7);return y=this.get_contents_to(w),typeof y!="string"?y:[y,"TK_"+w]}if(this.current_mode==="CONTENT")return y=this.get_content(),typeof y!="string"?y:[y,"TK_CONTENT"];if(this.current_mode==="TAG"){if(y=this.get_tag(),typeof y!="string")return y;var D="TK_TAG_"+this.tag_type;return[y,D]}},this.get_full_indent=function(y){return y=this.indent_level+y||0,y<1?"":Array(y+1).join(this.indent_string)},this.printer=function(y,w,D,_,k){this.input=y||"",this.output=[],this.indent_character=w,this.indent_string="",this.indent_size=D,this.brace_style=k,this.indent_level=0,this.max_char=_,this.line_char_count=0;for(var S=0;S<this.indent_size;S++)this.indent_string+=this.indent_character;this.print_newline=function(F,N){if(this.line_char_count=0,!(!N||!N.length)){if(!F)for(;this.Utils.in_array(N[N.length-1],this.Utils.whitespace);)N.pop();N.push(`
35
+ `);for(var b=0;b<this.indent_level;b++)N.push(this.indent_string)}},this.print_token=function(F){this.output.push(F)},this.indent=function(){this.indent_level++},this.unindent=function(){this.indent_level>0&&this.indent_level--}},this}for(n=new g,n.printer(e,o,r,s,a);;){var c=n.get_token();if(n.token_text=c[0],n.token_type=c[1],n.token_type==="TK_EOF")break;switch(n.token_type){case"TK_TAG_START":n.print_newline(!1,n.output),n.print_token(n.token_text),n.indent(),n.current_mode="CONTENT";break;case"TK_TAG_STYLE":case"TK_TAG_SCRIPT":n.print_newline(!1,n.output),n.print_token(n.token_text),n.current_mode="CONTENT";break;case"TK_TAG_END":if(n.last_token==="TK_CONTENT"&&n.last_text===""){var I=n.token_text.match(/\w+/)[0],d=n.output[n.output.length-1].match(/<\s*(\w+)/);(d===null||d[1]!==I)&&n.print_newline(!0,n.output)}n.print_token(n.token_text),n.current_mode="CONTENT";break;case"TK_TAG_SINGLE":var h=n.token_text.match(/^\s*<([a-z]+)/i);(!h||!n.Utils.in_array(h[1],l))&&n.print_newline(!1,n.output),n.print_token(n.token_text),n.current_mode="CONTENT";break;case"TK_CONTENT":n.token_text!==""&&n.print_token(n.token_text),n.current_mode="TAG";break;case"TK_STYLE":case"TK_SCRIPT":if(n.token_text!==""){n.output.push(`
36
+ `);var u=n.token_text;if(n.token_type=="TK_SCRIPT")var B=typeof js_beautify=="function"&&js_beautify;else if(n.token_type=="TK_STYLE")var B=typeof css_beautify=="function"&&css_beautify;if(A.indent_scripts=="keep")var E=0;else if(A.indent_scripts=="separate")var E=-n.indent_level;else var E=1;var f=n.get_full_indent(E);if(B)u=B(u.replace(/^\s*/,f),A);else{var Q=u.match(/^\s*/)[0],p=Q.match(/[^\n\r]*$/)[0].split(n.indent_string).length-1,m=n.get_full_indent(E-p);u=u.replace(/^\s*/,f).replace(/\r\n|\r|\n/g,`
37
+ `+m).replace(/\s*$/,"")}u&&(n.print_token(u),n.print_newline(!0,n.output))}n.current_mode="TAG";break}n.last_token=n.token_type,n.last_text=n.token_text}return n.output.join("")}return html={prettyPrint:t},html}var htmlExports=requireHtml();function __rest(t,e){var A={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(A[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(t);r<n.length;r++)e.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(t,n[r])&&(A[n[r]]=t[n[r]]);return A}typeof SuppressedError=="function"&&SuppressedError;function noop(){}function assign(t,e){for(const A in e)t[A]=e[A];return t}function run(t){return t()}function blank_object(){return Object.create(null)}function run_all(t){t.forEach(run)}function is_function(t){return typeof t=="function"}function safe_not_equal(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function is_empty(t){return Object.keys(t).length===0}function subscribe(t){for(var e=arguments.length,A=new Array(e>1?e-1:0),n=1;n<e;n++)A[n-1]=arguments[n];if(t==null){for(const o of A)o(void 0);return noop}const r=t.subscribe(...A);return r.unsubscribe?()=>r.unsubscribe():r}function get_store_value(t){let e;return subscribe(t,A=>e=A)(),e}function component_subscribe(t,e,A){t.$$.on_destroy.push(subscribe(e,A))}function create_slot(t,e,A,n){if(t){const r=get_slot_context(t,e,A,n);return t[0](r)}}function get_slot_context(t,e,A,n){return t[1]&&n?assign(A.ctx.slice(),t[1](n(e))):A.ctx}function get_slot_changes(t,e,A,n){if(t[2]&&n){const r=t[2](n(A));if(e.dirty===void 0)return r;if(typeof r=="object"){const o=[],s=Math.max(e.dirty.length,r.length);for(let a=0;a<s;a+=1)o[a]=e.dirty[a]|r[a];return o}return e.dirty|r}return e.dirty}function update_slot_base(t,e,A,n,r,o){if(r){const s=get_slot_context(e,A,n,o);t.p(s,r)}}function get_all_dirty_from_scope(t){if(t.ctx.length>32){const e=[],A=t.ctx.length/32;for(let n=0;n<A;n++)e[n]=-1;return e}return-1}function exclude_internal_props(t){const e={};for(const A in t)A[0]!=="$"&&(e[A]=t[A]);return e}function null_to_empty(t){return t??""}function action_destroyer(t){return t&&is_function(t.destroy)?t.destroy:noop}function append(t,e){t.appendChild(e)}function append_styles(t,e,A){const n=get_root_for_style(t);if(!n.getElementById(e)){const r=element("style");r.id=e,r.textContent=A,append_stylesheet(n,r)}}function get_root_for_style(t){if(!t)return document;const e=t.getRootNode?t.getRootNode():t.ownerDocument;return e&&e.host?e:t.ownerDocument}function append_stylesheet(t,e){return append(t.head||t,e),e.sheet}function insert(t,e,A){t.insertBefore(e,A||null)}function detach(t){t.parentNode&&t.parentNode.removeChild(t)}function destroy_each(t,e){for(let A=0;A<t.length;A+=1)t[A]&&t[A].d(e)}function element(t){return document.createElement(t)}function svg_element(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function text(t){return document.createTextNode(t)}function space(){return text(" ")}function empty(){return text("")}function listen(t,e,A,n){return t.addEventListener(e,A,n),()=>t.removeEventListener(e,A,n)}function prevent_default(t){return function(e){return e.preventDefault(),t.call(this,e)}}function attr(t,e,A){A==null?t.removeAttribute(e):t.getAttribute(e)!==A&&t.setAttribute(e,A)}function xlink_attr(t,e,A){t.setAttributeNS("http://www.w3.org/1999/xlink",e,A)}function children(t){return Array.from(t.childNodes)}function set_data(t,e){e=""+e,t.data!==e&&(t.data=e)}function set_input_value(t,e){t.value=e??""}function set_style(t,e,A,n){t.style.setProperty(e,A,"")}function toggle_class(t,e,A){t.classList.toggle(e,!!A)}function custom_event(t,e){let{bubbles:A=!1,cancelable:n=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return new CustomEvent(t,{detail:e,bubbles:A,cancelable:n})}function construct_svelte_component(t,e){return new t(e)}let current_component;function set_current_component(t){current_component=t}function get_current_component(){if(!current_component)throw new Error("Function called outside component initialization");return current_component}function onMount(t){get_current_component().$$.on_mount.push(t)}function onDestroy(t){get_current_component().$$.on_destroy.push(t)}function createEventDispatcher(){const t=get_current_component();return function(e,A){let{cancelable:n=!1}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=t.$$.callbacks[e];if(r){const o=custom_event(e,A,{cancelable:n});return r.slice().forEach(s=>{s.call(t,o)}),!o.defaultPrevented}return!0}}function setContext$1(t,e){return get_current_component().$$.context.set(t,e),e}function getContext$1(t){return get_current_component().$$.context.get(t)}function bubble(t,e){const A=t.$$.callbacks[e.type];A&&A.slice().forEach(n=>n.call(this,e))}const dirty_components=[],binding_callbacks=[];let render_callbacks=[];const flush_callbacks=[],resolved_promise=Promise.resolve();let update_scheduled=!1;function schedule_update(){update_scheduled||(update_scheduled=!0,resolved_promise.then(flush))}function add_render_callback(t){render_callbacks.push(t)}const seen_callbacks=new Set;let flushidx=0;function flush(){if(flushidx!==0)return;const t=current_component;do{try{for(;flushidx<dirty_components.length;){const e=dirty_components[flushidx];flushidx++,set_current_component(e),update(e.$$)}}catch(e){throw dirty_components.length=0,flushidx=0,e}for(set_current_component(null),dirty_components.length=0,flushidx=0;binding_callbacks.length;)binding_callbacks.pop()();for(let e=0;e<render_callbacks.length;e+=1){const A=render_callbacks[e];seen_callbacks.has(A)||(seen_callbacks.add(A),A())}render_callbacks.length=0}while(dirty_components.length);for(;flush_callbacks.length;)flush_callbacks.pop()();update_scheduled=!1,seen_callbacks.clear(),set_current_component(t)}function update(t){if(t.fragment!==null){t.update(),run_all(t.before_update);const e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),t.after_update.forEach(add_render_callback)}}function flush_render_callbacks(t){const e=[],A=[];render_callbacks.forEach(n=>t.indexOf(n)===-1?e.push(n):A.push(n)),A.forEach(n=>n()),render_callbacks=e}const outroing=new Set;let outros;function group_outros(){outros={r:0,c:[],p:outros}}function check_outros(){outros.r||run_all(outros.c),outros=outros.p}function transition_in(t,e){t&&t.i&&(outroing.delete(t),t.i(e))}function transition_out(t,e,A,n){if(t&&t.o){if(outroing.has(t))return;outroing.add(t),outros.c.push(()=>{outroing.delete(t),n&&(A&&t.d(1),n())}),t.o(e)}else n&&n()}function ensure_array_like(t){return t?.length!==void 0?t:Array.from(t)}function destroy_block(t,e){t.d(1),e.delete(t.key)}function update_keyed_each(t,e,A,n,r,o,s,a,l,g,c,I){let d=t.length,h=o.length,u=d;const B={};for(;u--;)B[t[u].key]=u;const E=[],f=new Map,Q=new Map,p=[];for(u=h;u--;){const D=I(r,o,u),_=A(D);let k=s.get(_);k?p.push(()=>k.p(D,e)):(k=g(_,D),k.c()),f.set(_,E[u]=k),_ in B&&Q.set(_,Math.abs(u-B[_]))}const m=new Set,y=new Set;function w(D){transition_in(D,1),D.m(a,c),s.set(D.key,D),c=D.first,h--}for(;d&&h;){const D=E[h-1],_=t[d-1],k=D.key,S=_.key;D===_?(c=D.first,d--,h--):f.has(S)?!s.has(k)||m.has(k)?w(D):y.has(S)?d--:Q.get(k)>Q.get(S)?(y.add(k),w(D)):(m.add(S),d--):(l(_,s),d--)}for(;d--;){const D=t[d];f.has(D.key)||l(D,s)}for(;h;)w(E[h-1]);return run_all(p),E}function create_component(t){t&&t.c()}function mount_component(t,e,A){const{fragment:n,after_update:r}=t.$$;n&&n.m(e,A),add_render_callback(()=>{const o=t.$$.on_mount.map(run).filter(is_function);t.$$.on_destroy?t.$$.on_destroy.push(...o):run_all(o),t.$$.on_mount=[]}),r.forEach(add_render_callback)}function destroy_component(t,e){const A=t.$$;A.fragment!==null&&(flush_render_callbacks(A.after_update),run_all(A.on_destroy),A.fragment&&A.fragment.d(e),A.on_destroy=A.fragment=null,A.ctx=[])}function make_dirty(t,e){t.$$.dirty[0]===-1&&(dirty_components.push(t),schedule_update(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<<e%31}function init$1(t,e,A,n,r,o){let s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,a=arguments.length>7&&arguments[7]!==void 0?arguments[7]:[-1];const l=current_component;set_current_component(t);const g=t.$$={fragment:null,ctx:[],props:o,update:noop,not_equal:r,bound:blank_object(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(e.context||(l?l.$$.context:[])),callbacks:blank_object(),dirty:a,skip_bound:!1,root:e.target||l.$$.root};s&&s(g.root);let c=!1;if(g.ctx=A?A(t,e.props||{},function(I,d){const h=!(arguments.length<=2)&&arguments.length-2?arguments.length<=2?void 0:arguments[2]:d;return g.ctx&&r(g.ctx[I],g.ctx[I]=h)&&(!g.skip_bound&&g.bound[I]&&g.bound[I](h),c&&make_dirty(t,I)),d}):[],g.update(),c=!0,run_all(g.before_update),g.fragment=n?n(g.ctx):!1,e.target){if(e.hydrate){const I=children(e.target);g.fragment&&g.fragment.l(I),I.forEach(detach)}else g.fragment&&g.fragment.c();e.intro&&transition_in(t.$$.fragment),mount_component(t,e.target,e.anchor),flush()}set_current_component(l)}class SvelteComponent{constructor(){this.$$=void 0,this.$$set=void 0}$destroy(){destroy_component(this,1),this.$destroy=noop}$on(e,A){if(!is_function(A))return noop;const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(A),()=>{const r=n.indexOf(A);r!==-1&&n.splice(r,1)}}$set(e){this.$$set&&!is_empty(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const PUBLIC_VERSION="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(PUBLIC_VERSION);const setContext=(t,e)=>setContext$1(t,e),getContext=t=>getContext$1(t);function add_css$k(t){append_styles(t,"svelte-1lt2k10",".floating-btn.svelte-1lt2k10.svelte-1lt2k10{background:#363755;border:0;border-radius:50%;box-shadow:0 0 30px rgba(34, 34, 34, 0.3);cursor:pointer;position:fixed;padding:6px;transition:opacity 0.3s;-webkit-transition:opacity 0.3s;z-index:99999}.floating-btn.bottom-right.svelte-1lt2k10.svelte-1lt2k10{bottom:16px;right:16px}.floating-btn.bottom-left.svelte-1lt2k10.svelte-1lt2k10{bottom:16px;left:16px}.floating-btn.top-right.svelte-1lt2k10.svelte-1lt2k10{top:16px;right:16px}.floating-btn.top-left.svelte-1lt2k10.svelte-1lt2k10{top:16px;left:16px}.floating-btn.svelte-1lt2k10.svelte-1lt2k10:hover{opacity:0.7}.floating-btn.svelte-1lt2k10>svg.svelte-1lt2k10{display:block;width:34px;height:34px;position:relative}")}function create_fragment$k(t){let e,A,n,r,o,s,a,l,g,c,I,d,h,u,B,E,f,Q,p,m,y,w,D,_;return{c(){e=element("button"),A=svg_element("svg"),n=svg_element("title"),r=text("prosemirror"),o=svg_element("desc"),s=text("Created using Figma"),a=svg_element("use"),l=svg_element("use"),g=svg_element("use"),c=svg_element("use"),I=svg_element("use"),d=svg_element("use"),h=svg_element("use"),u=svg_element("defs"),B=svg_element("path"),E=svg_element("path"),f=svg_element("path"),Q=svg_element("path"),p=svg_element("path"),m=svg_element("path"),y=svg_element("path"),xlink_attr(a,"xlink:href","#a"),attr(a,"transform","matrix(2 0 0 2 118 116)"),attr(a,"fill","#FFF"),xlink_attr(l,"xlink:href","#b"),attr(l,"transform","rotate(16 59.054 420.192) scale(2)"),attr(l,"fill","#FFF"),xlink_attr(g,"xlink:href","#c"),attr(g,"transform","matrix(2 0 0 2 154.024 141.58)"),attr(g,"fill","#363755"),xlink_attr(c,"xlink:href","#d"),attr(c,"transform","matrix(2 0 0 2 220 334.8)"),attr(c,"fill","#FFF"),xlink_attr(I,"xlink:href","#e"),attr(I,"transform","matrix(2 0 0 2 218.826 262.052)"),attr(I,"fill","#363755"),xlink_attr(d,"xlink:href","#f"),attr(d,"transform","matrix(2 0 0 2 197.108 184.998)"),attr(d,"fill","#FFF"),xlink_attr(h,"xlink:href","#g"),attr(h,"transform","matrix(2 0 0 2 221.8 216)"),attr(h,"fill","#363755"),attr(B,"id","a"),attr(B,"d",`M73.5 0C32.859 0 0 32.859 0 73.5S32.859 147 73.5 147 147 114.141 147 73.5 114.069 0 73.5
38
+ 0z`),attr(E,"id","b"),attr(E,"d",`M193.601 107.116c0-13.376 8.238-23.91
39
+ 20.619-31.153-2.244-7.447-5.19-14.6-8.824-21.32-13.886
40
+ 3.633-25.12-1.799-34.568-11.26-9.449-9.437-12.344-20.672-8.709-34.571A111.362 111.362 0 0 0
41
+ 140.799 0c-7.243 12.37-20.339 20.594-33.689 20.594-13.363
42
+ 0-26.446-8.225-33.701-20.594A110.888 110.888 0 0 0 52.1 8.812c3.634 13.9.753 25.134-8.721
43
+ 34.57-9.436 9.462-20.67 14.894-34.569 11.26A112.178 112.178 0 0 0 0 75.963c12.369 7.243
44
+ 20.593 17.777 20.593 31.153 0 13.352-8.224 26.448-20.593 33.704a113.338 113.338 0 0 0 8.811
45
+ 21.321c13.899-3.634 25.133-.752 34.569 8.697 9.448 9.462 12.355 20.696 8.721 34.57a112.653
46
+ 112.653 0 0 0 21.32 8.837c7.243-12.407 20.338-20.619 33.702-20.619 13.35 0 26.446 8.225
47
+ 33.701 20.619a114.22 114.22 0 0 0 21.32-8.837c-3.634-13.874-.752-25.108 8.709-34.57
48
+ 9.449-9.437 20.683-14.869 34.569-11.26a112.343 112.343 0 0 0
49
+ 8.823-21.321c-12.406-7.256-20.644-17.789-20.644-31.141zm-86.491 46.57c-25.732
50
+ 0-46.58-20.849-46.58-46.57 0-25.733 20.86-46.595 46.58-46.595 25.732 0 46.567 20.875 46.567
51
+ 46.595 0 25.734-20.835 46.57-46.567 46.57z`),attr(f,"id","c"),attr(f,"d",`M98.088 49.91c-6.9 83.9 10.8 103.401 10.8 103.401s-55.1
52
+ 5.499-82.7-13.401c-30.5-20.9-26-67.5-25.9-94.6.1-28.4 25.6-45.8 49.9-45.3 29.1.5 50.2 21.6
53
+ 47.9 49.9z`),attr(Q,"id","d"),attr(Q,"d","M.1.1c12.2 33.3 22.5 42.7 40 55.2 25.3 18 36.6 17.5 76.3 41C78.1 60.3 30.8 45.7 0 0l.1.1z"),attr(p,"id","e"),attr(p,"d",`M.687 36.474c3 13.3 17.9 29.9 30.4 41.6 24.8 23.2 42 22.4 86
54
+ 54.7-18.2-51.8-18.8-62-43.5-106.1-24.7-44-67.6-20.3-67.6-20.3s-8.4 16.6-5.3 29.9v.2z`),attr(m,"id","f"),attr(m,"d",`M38.346 11.5s-4-11.6-18-11.5c-30 .2-28.8 52.1 16.9 52 39.6-.1 39.2-49.4
55
+ 16.1-49.6-10.2-.2-15 9.1-15 9.1z`),attr(y,"id","g"),attr(y,"d",`M26.5 15c10.8 0 2 14.9-.6 20.9-1.8-8.4-10.2-20.9.6-20.9zM10.2.1C4.6.1 0 4.6 0 10.3c0 5.6
56
+ 4.5 10.2 10.2 10.2 5.6 0 10.2-4.5 10.2-10.2C20.4 4.7 15.9.1 10.2.1zM40.7 0c-4.8 0-8.8
57
+ 4.5-8.8 10.2 0 5.6 3.9 10.2 8.8 10.2 4.8 0 8.8-4.5 8.8-10.2C49.5 4.6 45.6 0 40.7 0z`),attr(A,"width","530"),attr(A,"height","530"),attr(A,"viewBox","0 0 530 530"),attr(A,"xmlns","http://www.w3.org/2000/svg"),attr(A,"xmlns:xlink","http://www.w3.org/1999/xlink"),attr(A,"class","svelte-1lt2k10"),attr(e,"class",w=null_to_empty("floating-btn ".concat(t[0]))+" svelte-1lt2k10")},m(k,S){insert(k,e,S),append(e,A),append(A,n),append(n,r),append(A,o),append(o,s),append(A,a),append(A,l),append(A,g),append(A,c),append(A,I),append(A,d),append(A,h),append(A,u),append(u,B),append(u,E),append(u,f),append(u,Q),append(u,p),append(u,m),append(u,y),D||(_=listen(e,"click",t[1]),D=!0)},p(k,S){let[F]=S;F&1&&w!==(w=null_to_empty("floating-btn ".concat(k[0]))+" svelte-1lt2k10")&&attr(e,"class",w)},i:noop,o:noop,d(k){k&&detach(e),D=!1,_()}}}function instance$k(t,e,A){let{buttonPosition:n}=e;function r(o){bubble.call(this,t,o)}return t.$$set=o=>{"buttonPosition"in o&&A(0,n=o.buttonPosition)},[n,r]}class FloatingBtn extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$k,create_fragment$k,safe_not_equal,{buttonPosition:0},add_css$k)}}const subscriber_queue=[];function readable(t,e){return{subscribe:writable(t,e).subscribe}}function writable(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:noop,A;const n=new Set;function r(a){if(safe_not_equal(t,a)&&(t=a,A)){const l=!subscriber_queue.length;for(const g of n)g[1](),subscriber_queue.push(g,t);if(l){for(let g=0;g<subscriber_queue.length;g+=2)subscriber_queue[g][0](subscriber_queue[g+1]);subscriber_queue.length=0}}}function o(a){r(a(t))}function s(a){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:noop;const g=[a,l];return n.add(g),n.size===1&&(A=e(r,o)||noop),a(t),()=>{n.delete(g),n.size===0&&A&&(A(),A=null)}}return{set:r,update:o,subscribe:s}}function derived(t,e,A){const n=!Array.isArray(t),r=n?[t]:t;if(!r.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const o=e.length<2;return readable(A,(s,a)=>{let l=!1;const g=[];let c=0,I=noop;const d=()=>{if(c)return;I();const u=e(n?g[0]:g,s,a);o?s(u):I=is_function(u)?u:noop},h=r.map((u,B)=>subscribe(u,E=>{g[B]=E,c&=~(1<<B),l&&d()},()=>{c|=1<<B}));return l=!0,d(),function(){run_all(h),I(),l=!1}})}const SNAPSHOTS_KEY="__prosemirror-dev-toolkit__snapshots",snapshots=writable([]),selectedSnapshot=writable(),previousEditorState=writable();let canAccessLocalStorage=!0;function hydrate(){let t=null;try{t=localStorage.getItem(SNAPSHOTS_KEY)}catch{canAccessLocalStorage=!1}if(t&&t.length>0)try{const e=JSON.parse(t);snapshots.set(e)}catch(e){console.error("Corrupted snapshots values in localStorage",e)}}hydrate();snapshots.subscribe(t=>{canAccessLocalStorage&&localStorage.setItem(SNAPSHOTS_KEY,JSON.stringify(t))});function setEditorDoc(t,e){const A=t.state.schema.nodeFromJSON(e),n=t.state.tr;n.replaceWith(0,t.state.doc.nodeSize-2,A.content),t.dispatch(n)}function saveSnapshot(t,e){const A={name:t,timestamp:Date.now(),doc:e};return snapshots.update(n=>[A,...n]),A}function importSnapshot(t,e,A){const n=A.nodeFromJSON(e),r={name:t,timestamp:Date.now(),doc:n.toJSON()};return snapshots.update(o=>[r,...o]),r}function updateSnapshot(t){snapshots.update(e=>e.map(A=>A.timestamp===t.timestamp?t:A))}function toggleViewSnapshot(t,e){if(e)get_store_value(previousEditorState)||previousEditorState.set(t.state),setEditorDoc(t,e.doc);else{const A=get_store_value(previousEditorState);A?t.updateState(A):console.error("No previous state to restore!"),previousEditorState.set(void 0)}selectedSnapshot.set(e)}function restoreSnapshot(t,e){setEditorDoc(t,e.doc),previousEditorState.set(void 0),selectedSnapshot.set(void 0)}function exportSnapshot(t){const e=document.createElement("a"),A=new Blob([JSON.stringify(t.doc)],{type:"application/json"});e.href=URL.createObjectURL(A),e.download=`${t.name}.json`,e.click()}function deleteSnapshot(t){snapshots.update(A=>A.filter(n=>n.timestamp!==t.timestamp));const e=get_store_value(selectedSnapshot);e?.timestamp===t.timestamp&&selectedSnapshot.set(void 0)}function clickOutside(t,e){const A=n=>{t&&!n.composedPath().includes(t)&&!n.defaultPrevented&&e()};return document.addEventListener("click",A,!0),{destroy(){document.removeEventListener("click",A,!0)}}}function add_css$j(t){append_styles(t,"svelte-19h7j7n",".paste-modal.svelte-19h7j7n.svelte-19h7j7n{font-size:15px;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1000}.paste-modal.svelte-19h7j7n>form.svelte-19h7j7n{display:flex;height:100%;justify-content:center;padding:64px}.modal-bg.svelte-19h7j7n.svelte-19h7j7n{background:#000;height:100%;left:0;opacity:0.8;position:absolute;top:0;width:100%;z-index:-1}fieldset.svelte-19h7j7n.svelte-19h7j7n{border-color:transparent;width:100%;max-width:800px}.submit-container.svelte-19h7j7n.svelte-19h7j7n{position:relative;width:100%}button.svelte-19h7j7n.svelte-19h7j7n{cursor:pointer;padding:4px 8px;position:absolute;right:-6px;top:-32px}legend.svelte-19h7j7n.svelte-19h7j7n{color:white}textarea.svelte-19h7j7n.svelte-19h7j7n{background:#fefcfc;height:calc(100vh - 128px);width:100%}")}function create_fragment$j(t){let e,A,n,r,o,s,a,l,g,c,I,d;return{c(){e=element("div"),A=element("div"),n=space(),r=element("form"),o=element("fieldset"),s=element("div"),s.innerHTML='<button class="svelte-19h7j7n">Submit</button>',a=space(),l=element("legend"),l.textContent="Doc",g=space(),c=element("textarea"),attr(A,"class","modal-bg svelte-19h7j7n"),attr(s,"class","submit-container svelte-19h7j7n"),attr(l,"class","svelte-19h7j7n"),attr(c,"class","svelte-19h7j7n"),attr(o,"class","svelte-19h7j7n"),attr(r,"class","paste-content svelte-19h7j7n"),attr(e,"class","paste-modal svelte-19h7j7n"),toggle_class(e,"hidden",!t[0])},m(h,u){insert(h,e,u),append(e,A),append(e,n),append(e,r),append(r,o),append(o,s),append(o,a),append(o,l),append(o,g),append(o,c),set_input_value(c,t[1]),I||(d=[listen(c,"input",t[4]),action_destroyer(clickOutside.call(null,o,t[2])),listen(r,"submit",prevent_default(t[3]))],I=!0)},p(h,u){let[B]=u;B&2&&set_input_value(c,h[1]),B&1&&toggle_class(e,"hidden",!h[0])},i:noop,o:noop,d(h){h&&detach(e),I=!1,run_all(d)}}}function instance$j(t,e,A){let{isOpen:n}=e,r;const o=createEventDispatcher();function s(){o("close")}function a(){try{o("submit",{doc:JSON.parse(r)})}catch{}}function l(){r=this.value,A(1,r)}return t.$$set=g=>{"isOpen"in g&&A(0,n=g.isOpen)},[n,r,s,a,l]}class PasteModal extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$j,create_fragment$j,safe_not_equal,{isOpen:0},add_css$j)}}function add_css$i(t){append_styles(t,"svelte-10notzq","ul.svelte-10notzq{display:flex;list-style:none;margin:0;overflow-x:scroll;padding:0}button.svelte-10notzq{background:transparent;border:0;border-bottom:2px solid transparent;color:#fff;cursor:pointer;height:100%;font-size:var(--font-medium);font-weight:400;padding:1em}button.svelte-10notzq:hover{background:rgba(255, 255, 255, 0.05)}button.active.svelte-10notzq{border-bottom:2px solid rgb(255, 162, 177)}")}function create_fragment$i(t){let e,A,n,r,o,s,a,l,g,c,I,d,h,u,B,E,f,Q,p,m;return{c(){e=element("ul"),A=element("li"),n=element("button"),n.textContent="STATE",r=space(),o=element("li"),s=element("button"),s.textContent="HISTORY",a=space(),l=element("li"),g=element("button"),g.textContent="PLUGINS",c=space(),I=element("li"),d=element("button"),d.textContent="SCHEMA",h=space(),u=element("li"),B=element("button"),B.textContent="STRUCTURE",E=space(),f=element("li"),Q=element("button"),Q.textContent="SNAPSHOTS",attr(n,"class","svelte-10notzq"),toggle_class(n,"active",t[0]==="state"),attr(s,"class","svelte-10notzq"),toggle_class(s,"active",t[0]==="history"),attr(g,"class","svelte-10notzq"),toggle_class(g,"active",t[0]==="plugins"),attr(d,"class","svelte-10notzq"),toggle_class(d,"active",t[0]==="schema"),attr(B,"class","svelte-10notzq"),toggle_class(B,"active",t[0]==="structure"),attr(Q,"class","svelte-10notzq"),toggle_class(Q,"active",t[0]==="snapshots"),attr(e,"class","tabs-menu svelte-10notzq")},m(y,w){insert(y,e,w),append(e,A),append(A,n),append(e,r),append(e,o),append(o,s),append(e,a),append(e,l),append(l,g),append(e,c),append(e,I),append(I,d),append(e,h),append(e,u),append(u,B),append(e,E),append(e,f),append(f,Q),p||(m=[listen(n,"click",t[2]),listen(s,"click",t[3]),listen(g,"click",t[4]),listen(d,"click",t[5]),listen(B,"click",t[6]),listen(Q,"click",t[7])],p=!0)},p(y,w){let[D]=w;D&1&&toggle_class(n,"active",y[0]==="state"),D&1&&toggle_class(s,"active",y[0]==="history"),D&1&&toggle_class(g,"active",y[0]==="plugins"),D&1&&toggle_class(d,"active",y[0]==="schema"),D&1&&toggle_class(B,"active",y[0]==="structure"),D&1&&toggle_class(Q,"active",y[0]==="snapshots")},i:noop,o:noop,d(y){y&&detach(e),p=!1,run_all(m)}}}function instance$i(t,e,A){let{active:n,onClickTab:r}=e;const o=()=>r("state"),s=()=>r("history"),a=()=>r("plugins"),l=()=>r("schema"),g=()=>r("structure"),c=()=>r("snapshots");return t.$$set=I=>{"active"in I&&A(0,n=I.active),"onClickTab"in I&&A(1,r=I.onClickTab)},[n,r,o,s,a,l,g,c]}class TabsMenu extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$i,create_fragment$i,safe_not_equal,{active:0,onClickTab:1},add_css$i)}}function getDefaultExportFromCjs(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var diffMatchPatch={exports:{}};(function(t){var e=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},A=-1,n=1,r=0;e.Diff=function(o,s){return[o,s]},e.prototype.diff_main=function(o,s,a,l){typeof l>"u"&&(this.Diff_Timeout<=0?l=Number.MAX_VALUE:l=new Date().getTime()+this.Diff_Timeout*1e3);var g=l;if(o==null||s==null)throw new Error("Null input. (diff_main)");if(o==s)return o?[new e.Diff(r,o)]:[];typeof a>"u"&&(a=!0);var c=a,I=this.diff_commonPrefix(o,s),d=o.substring(0,I);o=o.substring(I),s=s.substring(I),I=this.diff_commonSuffix(o,s);var h=o.substring(o.length-I);o=o.substring(0,o.length-I),s=s.substring(0,s.length-I);var u=this.diff_compute_(o,s,c,g);return d&&u.unshift(new e.Diff(r,d)),h&&u.push(new e.Diff(r,h)),this.diff_cleanupMerge(u),u},e.prototype.diff_compute_=function(o,s,a,l){var g;if(!o)return[new e.Diff(n,s)];if(!s)return[new e.Diff(A,o)];var c=o.length>s.length?o:s,I=o.length>s.length?s:o,d=c.indexOf(I);if(d!=-1)return g=[new e.Diff(n,c.substring(0,d)),new e.Diff(r,I),new e.Diff(n,c.substring(d+I.length))],o.length>s.length&&(g[0][0]=g[2][0]=A),g;if(I.length==1)return[new e.Diff(A,o),new e.Diff(n,s)];var h=this.diff_halfMatch_(o,s);if(h){var u=h[0],B=h[1],E=h[2],f=h[3],Q=h[4],p=this.diff_main(u,E,a,l),m=this.diff_main(B,f,a,l);return p.concat([new e.Diff(r,Q)],m)}return a&&o.length>100&&s.length>100?this.diff_lineMode_(o,s,l):this.diff_bisect_(o,s,l)},e.prototype.diff_lineMode_=function(o,s,a){var l=this.diff_linesToChars_(o,s);o=l.chars1,s=l.chars2;var g=l.lineArray,c=this.diff_main(o,s,!1,a);this.diff_charsToLines_(c,g),this.diff_cleanupSemantic(c),c.push(new e.Diff(r,""));for(var I=0,d=0,h=0,u="",B="";I<c.length;){switch(c[I][0]){case n:h++,B+=c[I][1];break;case A:d++,u+=c[I][1];break;case r:if(d>=1&&h>=1){c.splice(I-d-h,d+h),I=I-d-h;for(var E=this.diff_main(u,B,!1,a),f=E.length-1;f>=0;f--)c.splice(I,0,E[f]);I=I+E.length}h=0,d=0,u="",B="";break}I++}return c.pop(),c},e.prototype.diff_bisect_=function(o,s,a){for(var l=o.length,g=s.length,c=Math.ceil((l+g)/2),I=c,d=2*c,h=new Array(d),u=new Array(d),B=0;B<d;B++)h[B]=-1,u[B]=-1;h[I+1]=0,u[I+1]=0;for(var E=l-g,f=E%2!=0,Q=0,p=0,m=0,y=0,w=0;w<c&&!(new Date().getTime()>a);w++){for(var D=-w+Q;D<=w-p;D+=2){var _=I+D,k;D==-w||D!=w&&h[_-1]<h[_+1]?k=h[_+1]:k=h[_-1]+1;for(var S=k-D;k<l&&S<g&&o.charAt(k)==s.charAt(S);)k++,S++;if(h[_]=k,k>l)p+=2;else if(S>g)Q+=2;else if(f){var F=I+E-D;if(F>=0&&F<d&&u[F]!=-1){var N=l-u[F];if(k>=N)return this.diff_bisectSplit_(o,s,k,S,a)}}}for(var b=-w+m;b<=w-y;b+=2){var F=I+b,N;b==-w||b!=w&&u[F-1]<u[F+1]?N=u[F+1]:N=u[F-1]+1;for(var R=N-b;N<l&&R<g&&o.charAt(l-N-1)==s.charAt(g-R-1);)N++,R++;if(u[F]=N,N>l)y+=2;else if(R>g)m+=2;else if(!f){var _=I+E-b;if(_>=0&&_<d&&h[_]!=-1){var k=h[_],S=I+k-_;if(N=l-N,k>=N)return this.diff_bisectSplit_(o,s,k,S,a)}}}}return[new e.Diff(A,o),new e.Diff(n,s)]},e.prototype.diff_bisectSplit_=function(o,s,a,l,g){var c=o.substring(0,a),I=s.substring(0,l),d=o.substring(a),h=s.substring(l),u=this.diff_main(c,I,!1,g),B=this.diff_main(d,h,!1,g);return u.concat(B)},e.prototype.diff_linesToChars_=function(o,s){var a=[],l={};a[0]="";function g(h){for(var u="",B=0,E=-1,f=a.length;E<h.length-1;){E=h.indexOf(`
58
+ `,B),E==-1&&(E=h.length-1);var Q=h.substring(B,E+1);(l.hasOwnProperty?l.hasOwnProperty(Q):l[Q]!==void 0)?u+=String.fromCharCode(l[Q]):(f==c&&(Q=h.substring(B),E=h.length),u+=String.fromCharCode(f),l[Q]=f,a[f++]=Q),B=E+1}return u}var c=4e4,I=g(o);c=65535;var d=g(s);return{chars1:I,chars2:d,lineArray:a}},e.prototype.diff_charsToLines_=function(o,s){for(var a=0;a<o.length;a++){for(var l=o[a][1],g=[],c=0;c<l.length;c++)g[c]=s[l.charCodeAt(c)];o[a][1]=g.join("")}},e.prototype.diff_commonPrefix=function(o,s){if(!o||!s||o.charAt(0)!=s.charAt(0))return 0;for(var a=0,l=Math.min(o.length,s.length),g=l,c=0;a<g;)o.substring(c,g)==s.substring(c,g)?(a=g,c=a):l=g,g=Math.floor((l-a)/2+a);return g},e.prototype.diff_commonSuffix=function(o,s){if(!o||!s||o.charAt(o.length-1)!=s.charAt(s.length-1))return 0;for(var a=0,l=Math.min(o.length,s.length),g=l,c=0;a<g;)o.substring(o.length-g,o.length-c)==s.substring(s.length-g,s.length-c)?(a=g,c=a):l=g,g=Math.floor((l-a)/2+a);return g},e.prototype.diff_commonOverlap_=function(o,s){var a=o.length,l=s.length;if(a==0||l==0)return 0;a>l?o=o.substring(a-l):a<l&&(s=s.substring(0,a));var g=Math.min(a,l);if(o==s)return g;for(var c=0,I=1;;){var d=o.substring(g-I),h=s.indexOf(d);if(h==-1)return c;I+=h,(h==0||o.substring(g-I)==s.substring(0,I))&&(c=I,I++)}},e.prototype.diff_halfMatch_=function(o,s){if(this.Diff_Timeout<=0)return null;var a=o.length>s.length?o:s,l=o.length>s.length?s:o;if(a.length<4||l.length*2<a.length)return null;var g=this;function c(p,m,y){for(var w=p.substring(y,y+Math.floor(p.length/4)),D=-1,_="",k,S,F,N;(D=m.indexOf(w,D+1))!=-1;){var b=g.diff_commonPrefix(p.substring(y),m.substring(D)),R=g.diff_commonSuffix(p.substring(0,y),m.substring(0,D));_.length<R+b&&(_=m.substring(D-R,D)+m.substring(D,D+b),k=p.substring(0,y-R),S=p.substring(y+b),F=m.substring(0,D-R),N=m.substring(D+b))}return _.length*2>=p.length?[k,S,F,N,_]:null}var I=c(a,l,Math.ceil(a.length/4)),d=c(a,l,Math.ceil(a.length/2)),h;if(!I&&!d)return null;d?I?h=I[4].length>d[4].length?I:d:h=d:h=I;var u,B,E,f;o.length>s.length?(u=h[0],B=h[1],E=h[2],f=h[3]):(E=h[0],f=h[1],u=h[2],B=h[3]);var Q=h[4];return[u,B,E,f,Q]},e.prototype.diff_cleanupSemantic=function(o){for(var s=!1,a=[],l=0,g=null,c=0,I=0,d=0,h=0,u=0;c<o.length;)o[c][0]==r?(a[l++]=c,I=h,d=u,h=0,u=0,g=o[c][1]):(o[c][0]==n?h+=o[c][1].length:u+=o[c][1].length,g&&g.length<=Math.max(I,d)&&g.length<=Math.max(h,u)&&(o.splice(a[l-1],0,new e.Diff(A,g)),o[a[l-1]+1][0]=n,l--,l--,c=l>0?a[l-1]:-1,I=0,d=0,h=0,u=0,g=null,s=!0)),c++;for(s&&this.diff_cleanupMerge(o),this.diff_cleanupSemanticLossless(o),c=1;c<o.length;){if(o[c-1][0]==A&&o[c][0]==n){var B=o[c-1][1],E=o[c][1],f=this.diff_commonOverlap_(B,E),Q=this.diff_commonOverlap_(E,B);f>=Q?(f>=B.length/2||f>=E.length/2)&&(o.splice(c,0,new e.Diff(r,E.substring(0,f))),o[c-1][1]=B.substring(0,B.length-f),o[c+1][1]=E.substring(f),c++):(Q>=B.length/2||Q>=E.length/2)&&(o.splice(c,0,new e.Diff(r,B.substring(0,Q))),o[c-1][0]=n,o[c-1][1]=E.substring(0,E.length-Q),o[c+1][0]=A,o[c+1][1]=B.substring(Q),c++),c++}c++}},e.prototype.diff_cleanupSemanticLossless=function(o){function s(Q,p){if(!Q||!p)return 6;var m=Q.charAt(Q.length-1),y=p.charAt(0),w=m.match(e.nonAlphaNumericRegex_),D=y.match(e.nonAlphaNumericRegex_),_=w&&m.match(e.whitespaceRegex_),k=D&&y.match(e.whitespaceRegex_),S=_&&m.match(e.linebreakRegex_),F=k&&y.match(e.linebreakRegex_),N=S&&Q.match(e.blanklineEndRegex_),b=F&&p.match(e.blanklineStartRegex_);return N||b?5:S||F?4:w&&!_&&k?3:_||k?2:w||D?1:0}for(var a=1;a<o.length-1;){if(o[a-1][0]==r&&o[a+1][0]==r){var l=o[a-1][1],g=o[a][1],c=o[a+1][1],I=this.diff_commonSuffix(l,g);if(I){var d=g.substring(g.length-I);l=l.substring(0,l.length-I),g=d+g.substring(0,g.length-I),c=d+c}for(var h=l,u=g,B=c,E=s(l,g)+s(g,c);g.charAt(0)===c.charAt(0);){l+=g.charAt(0),g=g.substring(1)+c.charAt(0),c=c.substring(1);var f=s(l,g)+s(g,c);f>=E&&(E=f,h=l,u=g,B=c)}o[a-1][1]!=h&&(h?o[a-1][1]=h:(o.splice(a-1,1),a--),o[a][1]=u,B?o[a+1][1]=B:(o.splice(a+1,1),a--))}a++}},e.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,e.whitespaceRegex_=/\s/,e.linebreakRegex_=/[\r\n]/,e.blanklineEndRegex_=/\n\r?\n$/,e.blanklineStartRegex_=/^\r?\n\r?\n/,e.prototype.diff_cleanupEfficiency=function(o){for(var s=!1,a=[],l=0,g=null,c=0,I=!1,d=!1,h=!1,u=!1;c<o.length;)o[c][0]==r?(o[c][1].length<this.Diff_EditCost&&(h||u)?(a[l++]=c,I=h,d=u,g=o[c][1]):(l=0,g=null),h=u=!1):(o[c][0]==A?u=!0:h=!0,g&&(I&&d&&h&&u||g.length<this.Diff_EditCost/2&&I+d+h+u==3)&&(o.splice(a[l-1],0,new e.Diff(A,g)),o[a[l-1]+1][0]=n,l--,g=null,I&&d?(h=u=!0,l=0):(l--,c=l>0?a[l-1]:-1,h=u=!1),s=!0)),c++;s&&this.diff_cleanupMerge(o)},e.prototype.diff_cleanupMerge=function(o){o.push(new e.Diff(r,""));for(var s=0,a=0,l=0,g="",c="",I;s<o.length;)switch(o[s][0]){case n:l++,c+=o[s][1],s++;break;case A:a++,g+=o[s][1],s++;break;case r:a+l>1?(a!==0&&l!==0&&(I=this.diff_commonPrefix(c,g),I!==0&&(s-a-l>0&&o[s-a-l-1][0]==r?o[s-a-l-1][1]+=c.substring(0,I):(o.splice(0,0,new e.Diff(r,c.substring(0,I))),s++),c=c.substring(I),g=g.substring(I)),I=this.diff_commonSuffix(c,g),I!==0&&(o[s][1]=c.substring(c.length-I)+o[s][1],c=c.substring(0,c.length-I),g=g.substring(0,g.length-I))),s-=a+l,o.splice(s,a+l),g.length&&(o.splice(s,0,new e.Diff(A,g)),s++),c.length&&(o.splice(s,0,new e.Diff(n,c)),s++),s++):s!==0&&o[s-1][0]==r?(o[s-1][1]+=o[s][1],o.splice(s,1)):s++,l=0,a=0,g="",c="";break}o[o.length-1][1]===""&&o.pop();var d=!1;for(s=1;s<o.length-1;)o[s-1][0]==r&&o[s+1][0]==r&&(o[s][1].substring(o[s][1].length-o[s-1][1].length)==o[s-1][1]?(o[s][1]=o[s-1][1]+o[s][1].substring(0,o[s][1].length-o[s-1][1].length),o[s+1][1]=o[s-1][1]+o[s+1][1],o.splice(s-1,1),d=!0):o[s][1].substring(0,o[s+1][1].length)==o[s+1][1]&&(o[s-1][1]+=o[s+1][1],o[s][1]=o[s][1].substring(o[s+1][1].length)+o[s+1][1],o.splice(s+1,1),d=!0)),s++;d&&this.diff_cleanupMerge(o)},e.prototype.diff_xIndex=function(o,s){var a=0,l=0,g=0,c=0,I;for(I=0;I<o.length&&(o[I][0]!==n&&(a+=o[I][1].length),o[I][0]!==A&&(l+=o[I][1].length),!(a>s));I++)g=a,c=l;return o.length!=I&&o[I][0]===A?c:c+(s-g)},e.prototype.diff_prettyHtml=function(o){for(var s=[],a=/&/g,l=/</g,g=/>/g,c=/\n/g,I=0;I<o.length;I++){var d=o[I][0],h=o[I][1],u=h.replace(a,"&amp;").replace(l,"&lt;").replace(g,"&gt;").replace(c,"&para;<br>");switch(d){case n:s[I]='<ins style="background:#e6ffe6;">'+u+"</ins>";break;case A:s[I]='<del style="background:#ffe6e6;">'+u+"</del>";break;case r:s[I]="<span>"+u+"</span>";break}}return s.join("")},e.prototype.diff_text1=function(o){for(var s=[],a=0;a<o.length;a++)o[a][0]!==n&&(s[a]=o[a][1]);return s.join("")},e.prototype.diff_text2=function(o){for(var s=[],a=0;a<o.length;a++)o[a][0]!==A&&(s[a]=o[a][1]);return s.join("")},e.prototype.diff_levenshtein=function(o){for(var s=0,a=0,l=0,g=0;g<o.length;g++){var c=o[g][0],I=o[g][1];switch(c){case n:a+=I.length;break;case A:l+=I.length;break;case r:s+=Math.max(a,l),a=0,l=0;break}}return s+=Math.max(a,l),s},e.prototype.diff_toDelta=function(o){for(var s=[],a=0;a<o.length;a++)switch(o[a][0]){case n:s[a]="+"+encodeURI(o[a][1]);break;case A:s[a]="-"+o[a][1].length;break;case r:s[a]="="+o[a][1].length;break}return s.join(" ").replace(/%20/g," ")},e.prototype.diff_fromDelta=function(o,s){for(var a=[],l=0,g=0,c=s.split(/\t/g),I=0;I<c.length;I++){var d=c[I].substring(1);switch(c[I].charAt(0)){case"+":try{a[l++]=new e.Diff(n,decodeURI(d))}catch{throw new Error("Illegal escape in diff_fromDelta: "+d)}break;case"-":case"=":var h=parseInt(d,10);if(isNaN(h)||h<0)throw new Error("Invalid number in diff_fromDelta: "+d);var u=o.substring(g,g+=h);c[I].charAt(0)=="="?a[l++]=new e.Diff(r,u):a[l++]=new e.Diff(A,u);break;default:if(c[I])throw new Error("Invalid diff operation in diff_fromDelta: "+c[I])}}if(g!=o.length)throw new Error("Delta length ("+g+") does not equal source text length ("+o.length+").");return a},e.prototype.match_main=function(o,s,a){if(o==null||s==null||a==null)throw new Error("Null input. (match_main)");return a=Math.max(0,Math.min(a,o.length)),o==s?0:o.length?o.substring(a,a+s.length)==s?a:this.match_bitap_(o,s,a):-1},e.prototype.match_bitap_=function(o,s,a){if(s.length>this.Match_MaxBits)throw new Error("Pattern too long for this browser.");var l=this.match_alphabet_(s),g=this;function c(k,S){var F=k/s.length,N=Math.abs(a-S);return g.Match_Distance?F+N/g.Match_Distance:N?1:F}var I=this.Match_Threshold,d=o.indexOf(s,a);d!=-1&&(I=Math.min(c(0,d),I),d=o.lastIndexOf(s,a+s.length),d!=-1&&(I=Math.min(c(0,d),I)));var h=1<<s.length-1;d=-1;for(var u,B,E=s.length+o.length,f,Q=0;Q<s.length;Q++){for(u=0,B=E;u<B;)c(Q,a+B)<=I?u=B:E=B,B=Math.floor((E-u)/2+u);E=B;var p=Math.max(1,a-B+1),m=Math.min(a+B,o.length)+s.length,y=Array(m+2);y[m+1]=(1<<Q)-1;for(var w=m;w>=p;w--){var D=l[o.charAt(w-1)];if(Q===0?y[w]=(y[w+1]<<1|1)&D:y[w]=(y[w+1]<<1|1)&D|((f[w+1]|f[w])<<1|1)|f[w+1],y[w]&h){var _=c(Q,w-1);if(_<=I)if(I=_,d=w-1,d>a)p=Math.max(1,2*a-d);else break}}if(c(Q+1,a)>I)break;f=y}return d},e.prototype.match_alphabet_=function(o){for(var s={},a=0;a<o.length;a++)s[o.charAt(a)]=0;for(var a=0;a<o.length;a++)s[o.charAt(a)]|=1<<o.length-a-1;return s},e.prototype.patch_addContext_=function(o,s){if(s.length!=0){if(o.start2===null)throw Error("patch not initialized");for(var a=s.substring(o.start2,o.start2+o.length1),l=0;s.indexOf(a)!=s.lastIndexOf(a)&&a.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)l+=this.Patch_Margin,a=s.substring(o.start2-l,o.start2+o.length1+l);l+=this.Patch_Margin;var g=s.substring(o.start2-l,o.start2);g&&o.diffs.unshift(new e.Diff(r,g));var c=s.substring(o.start2+o.length1,o.start2+o.length1+l);c&&o.diffs.push(new e.Diff(r,c)),o.start1-=g.length,o.start2-=g.length,o.length1+=g.length+c.length,o.length2+=g.length+c.length}},e.prototype.patch_make=function(o,s,a){var l,g;if(typeof o=="string"&&typeof s=="string"&&typeof a>"u")l=o,g=this.diff_main(l,s,!0),g.length>2&&(this.diff_cleanupSemantic(g),this.diff_cleanupEfficiency(g));else if(o&&typeof o=="object"&&typeof s>"u"&&typeof a>"u")g=o,l=this.diff_text1(g);else if(typeof o=="string"&&s&&typeof s=="object"&&typeof a>"u")l=o,g=s;else if(typeof o=="string"&&typeof s=="string"&&a&&typeof a=="object")l=o,g=a;else throw new Error("Unknown call format to patch_make.");if(g.length===0)return[];for(var c=[],I=new e.patch_obj,d=0,h=0,u=0,B=l,E=l,f=0;f<g.length;f++){var Q=g[f][0],p=g[f][1];switch(!d&&Q!==r&&(I.start1=h,I.start2=u),Q){case n:I.diffs[d++]=g[f],I.length2+=p.length,E=E.substring(0,u)+p+E.substring(u);break;case A:I.length1+=p.length,I.diffs[d++]=g[f],E=E.substring(0,u)+E.substring(u+p.length);break;case r:p.length<=2*this.Patch_Margin&&d&&g.length!=f+1?(I.diffs[d++]=g[f],I.length1+=p.length,I.length2+=p.length):p.length>=2*this.Patch_Margin&&d&&(this.patch_addContext_(I,B),c.push(I),I=new e.patch_obj,d=0,B=E,h=u);break}Q!==n&&(h+=p.length),Q!==A&&(u+=p.length)}return d&&(this.patch_addContext_(I,B),c.push(I)),c},e.prototype.patch_deepCopy=function(o){for(var s=[],a=0;a<o.length;a++){var l=o[a],g=new e.patch_obj;g.diffs=[];for(var c=0;c<l.diffs.length;c++)g.diffs[c]=new e.Diff(l.diffs[c][0],l.diffs[c][1]);g.start1=l.start1,g.start2=l.start2,g.length1=l.length1,g.length2=l.length2,s[a]=g}return s},e.prototype.patch_apply=function(o,s){if(o.length==0)return[s,[]];o=this.patch_deepCopy(o);var a=this.patch_addPadding(o);s=a+s+a,this.patch_splitMax(o);for(var l=0,g=[],c=0;c<o.length;c++){var I=o[c].start2+l,d=this.diff_text1(o[c].diffs),h,u=-1;if(d.length>this.Match_MaxBits?(h=this.match_main(s,d.substring(0,this.Match_MaxBits),I),h!=-1&&(u=this.match_main(s,d.substring(d.length-this.Match_MaxBits),I+d.length-this.Match_MaxBits),(u==-1||h>=u)&&(h=-1))):h=this.match_main(s,d,I),h==-1)g[c]=!1,l-=o[c].length2-o[c].length1;else{g[c]=!0,l=h-I;var B;if(u==-1?B=s.substring(h,h+d.length):B=s.substring(h,u+this.Match_MaxBits),d==B)s=s.substring(0,h)+this.diff_text2(o[c].diffs)+s.substring(h+d.length);else{var E=this.diff_main(d,B,!1);if(d.length>this.Match_MaxBits&&this.diff_levenshtein(E)/d.length>this.Patch_DeleteThreshold)g[c]=!1;else{this.diff_cleanupSemanticLossless(E);for(var f=0,Q,p=0;p<o[c].diffs.length;p++){var m=o[c].diffs[p];m[0]!==r&&(Q=this.diff_xIndex(E,f)),m[0]===n?s=s.substring(0,h+Q)+m[1]+s.substring(h+Q):m[0]===A&&(s=s.substring(0,h+Q)+s.substring(h+this.diff_xIndex(E,f+m[1].length))),m[0]!==A&&(f+=m[1].length)}}}}}return s=s.substring(a.length,s.length-a.length),[s,g]},e.prototype.patch_addPadding=function(o){for(var s=this.Patch_Margin,a="",l=1;l<=s;l++)a+=String.fromCharCode(l);for(var l=0;l<o.length;l++)o[l].start1+=s,o[l].start2+=s;var g=o[0],c=g.diffs;if(c.length==0||c[0][0]!=r)c.unshift(new e.Diff(r,a)),g.start1-=s,g.start2-=s,g.length1+=s,g.length2+=s;else if(s>c[0][1].length){var I=s-c[0][1].length;c[0][1]=a.substring(c[0][1].length)+c[0][1],g.start1-=I,g.start2-=I,g.length1+=I,g.length2+=I}if(g=o[o.length-1],c=g.diffs,c.length==0||c[c.length-1][0]!=r)c.push(new e.Diff(r,a)),g.length1+=s,g.length2+=s;else if(s>c[c.length-1][1].length){var I=s-c[c.length-1][1].length;c[c.length-1][1]+=a.substring(0,I),g.length1+=I,g.length2+=I}return a},e.prototype.patch_splitMax=function(o){for(var s=this.Match_MaxBits,a=0;a<o.length;a++)if(!(o[a].length1<=s)){var l=o[a];o.splice(a--,1);for(var g=l.start1,c=l.start2,I="";l.diffs.length!==0;){var d=new e.patch_obj,h=!0;for(d.start1=g-I.length,d.start2=c-I.length,I!==""&&(d.length1=d.length2=I.length,d.diffs.push(new e.Diff(r,I)));l.diffs.length!==0&&d.length1<s-this.Patch_Margin;){var u=l.diffs[0][0],B=l.diffs[0][1];u===n?(d.length2+=B.length,c+=B.length,d.diffs.push(l.diffs.shift()),h=!1):u===A&&d.diffs.length==1&&d.diffs[0][0]==r&&B.length>2*s?(d.length1+=B.length,g+=B.length,h=!1,d.diffs.push(new e.Diff(u,B)),l.diffs.shift()):(B=B.substring(0,s-d.length1-this.Patch_Margin),d.length1+=B.length,g+=B.length,u===r?(d.length2+=B.length,c+=B.length):h=!1,d.diffs.push(new e.Diff(u,B)),B==l.diffs[0][1]?l.diffs.shift():l.diffs[0][1]=l.diffs[0][1].substring(B.length))}I=this.diff_text2(d.diffs),I=I.substring(I.length-this.Patch_Margin);var E=this.diff_text1(l.diffs).substring(0,this.Patch_Margin);E!==""&&(d.length1+=E.length,d.length2+=E.length,d.diffs.length!==0&&d.diffs[d.diffs.length-1][0]===r?d.diffs[d.diffs.length-1][1]+=E:d.diffs.push(new e.Diff(r,E))),h||o.splice(++a,0,d)}}},e.prototype.patch_toText=function(o){for(var s=[],a=0;a<o.length;a++)s[a]=o[a];return s.join("")},e.prototype.patch_fromText=function(o){var s=[];if(!o)return s;for(var a=o.split(`
59
+ `),l=0,g=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;l<a.length;){var c=a[l].match(g);if(!c)throw new Error("Invalid patch string: "+a[l]);var I=new e.patch_obj;for(s.push(I),I.start1=parseInt(c[1],10),c[2]===""?(I.start1--,I.length1=1):c[2]=="0"?I.length1=0:(I.start1--,I.length1=parseInt(c[2],10)),I.start2=parseInt(c[3],10),c[4]===""?(I.start2--,I.length2=1):c[4]=="0"?I.length2=0:(I.start2--,I.length2=parseInt(c[4],10)),l++;l<a.length;){var d=a[l].charAt(0);try{var h=decodeURI(a[l].substring(1))}catch{throw new Error("Illegal escape in patch_fromText: "+h)}if(d=="-")I.diffs.push(new e.Diff(A,h));else if(d=="+")I.diffs.push(new e.Diff(n,h));else if(d==" ")I.diffs.push(new e.Diff(r,h));else{if(d=="@")break;if(d!=="")throw new Error('Invalid patch mode "'+d+'" in: '+h)}l++}}return s},e.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0},e.patch_obj.prototype.toString=function(){var o,s;this.length1===0?o=this.start1+",0":this.length1==1?o=this.start1+1:o=this.start1+1+","+this.length1,this.length2===0?s=this.start2+",0":this.length2==1?s=this.start2+1:s=this.start2+1+","+this.length2;for(var a=["@@ -"+o+" +"+s+` @@
60
+ `],l,g=0;g<this.diffs.length;g++){switch(this.diffs[g][0]){case n:l="+";break;case A:l="-";break;case r:l=" ";break}a[g+1]=l+encodeURI(this.diffs[g][1])+`
61
+ `}return a.join("").replace(/%20/g," ")},t.exports=e,t.exports.diff_match_patch=e,t.exports.DIFF_DELETE=A,t.exports.DIFF_INSERT=n,t.exports.DIFF_EQUAL=r})(diffMatchPatch);var diffMatchPatchExports=diffMatchPatch.exports,dmp=getDefaultExportFromCjs(diffMatchPatchExports),_typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},classCallCheck=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},createClass=(function(){function t(e,A){for(var n=0;n<A.length;n++){var r=A[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,A,n){return A&&t(e.prototype,A),n&&t(e,n),e}})(),get=function t(e,A,n){e===null&&(e=Function.prototype);var r=Object.getOwnPropertyDescriptor(e,A);if(r===void 0){var o=Object.getPrototypeOf(e);return o===null?void 0:t(o,A,n)}else{if("value"in r)return r.value;var s=r.get;return s===void 0?void 0:s.call(n)}},inherits=function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)},possibleConstructorReturn=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&(typeof e=="object"||typeof e=="function")?e:t},Processor=(function(){function t(e){classCallCheck(this,t),this.selfOptions=e||{},this.pipes={}}return createClass(t,[{key:"options",value:function(A){return A&&(this.selfOptions=A),this.selfOptions}},{key:"pipe",value:function(A,n){var r=n;if(typeof A=="string"){if(typeof r>"u")return this.pipes[A];this.pipes[A]=r}if(A&&A.name){if(r=A,r.processor===this)return r;this.pipes[r.name]=r}return r.processor=this,r}},{key:"process",value:function(A,n){var r=A;r.options=this.options();for(var o=n||A.pipe||"default",s=void 0,a=void 0;o;)typeof r.nextAfterChildren<"u"&&(r.next=r.nextAfterChildren,r.nextAfterChildren=null),typeof o=="string"&&(o=this.pipe(o)),o.process(r),a=r,s=o,o=null,r&&r.next&&(r=r.next,o=a.nextPipe||r.pipe||s);return r.hasResult?r.result:void 0}}]),t})(),Pipe=(function(){function t(e){classCallCheck(this,t),this.name=e,this.filters=[]}return createClass(t,[{key:"process",value:function(A){if(!this.processor)throw new Error("add this pipe to a processor before using it");for(var n=this.debug,r=this.filters.length,o=A,s=0;s<r;s++){var a=this.filters[s];if(n&&this.log("filter: "+a.filterName),a(o),(typeof o>"u"?"undefined":_typeof(o))==="object"&&o.exiting){o.exiting=!1;break}}!o.next&&this.resultCheck&&this.resultCheck(o)}},{key:"log",value:function(A){console.log("[jsondiffpatch] "+this.name+" pipe, "+A)}},{key:"append",value:function(){var A;return(A=this.filters).push.apply(A,arguments),this}},{key:"prepend",value:function(){var A;return(A=this.filters).unshift.apply(A,arguments),this}},{key:"indexOf",value:function(A){if(!A)throw new Error("a filter name is required");for(var n=0;n<this.filters.length;n++){var r=this.filters[n];if(r.filterName===A)return n}throw new Error("filter not found: "+A)}},{key:"list",value:function(){return this.filters.map(function(A){return A.filterName})}},{key:"after",value:function(A){var n=this.indexOf(A),r=Array.prototype.slice.call(arguments,1);if(!r.length)throw new Error("a filter is required");return r.unshift(n+1,0),Array.prototype.splice.apply(this.filters,r),this}},{key:"before",value:function(A){var n=this.indexOf(A),r=Array.prototype.slice.call(arguments,1);if(!r.length)throw new Error("a filter is required");return r.unshift(n,0),Array.prototype.splice.apply(this.filters,r),this}},{key:"replace",value:function(A){var n=this.indexOf(A),r=Array.prototype.slice.call(arguments,1);if(!r.length)throw new Error("a filter is required");return r.unshift(n,1),Array.prototype.splice.apply(this.filters,r),this}},{key:"remove",value:function(A){var n=this.indexOf(A);return this.filters.splice(n,1),this}},{key:"clear",value:function(){return this.filters.length=0,this}},{key:"shouldHaveResult",value:function(A){if(A===!1){this.resultCheck=null;return}if(!this.resultCheck){var n=this;return this.resultCheck=function(r){if(!r.hasResult){console.log(r);var o=new Error(n.name+" failed");throw o.noResult=!0,o}},this}}}]),t})(),Context=(function(){function t(){classCallCheck(this,t)}return createClass(t,[{key:"setResult",value:function(A){return this.result=A,this.hasResult=!0,this}},{key:"exit",value:function(){return this.exiting=!0,this}},{key:"switchTo",value:function(A,n){return typeof A=="string"||A instanceof Pipe?this.nextPipe=A:(this.next=A,n&&(this.nextPipe=n)),this}},{key:"push",value:function(A,n){return A.parent=this,typeof n<"u"&&(A.childName=n),A.root=this.root||this,A.options=A.options||this.options,this.children?(this.children[this.children.length-1].next=A,this.children.push(A)):(this.children=[A],this.nextAfterChildren=this.next||null,this.next=A),A.next=this,this}}]),t})(),isArray=typeof Array.isArray=="function"?Array.isArray:function(t){return t instanceof Array};function cloneRegExp(t){var e=/^\/(.*)\/([gimyu]*)$/.exec(t.toString());return new RegExp(e[1],e[2])}function clone(t){if((typeof t>"u"?"undefined":_typeof(t))!=="object")return t;if(t===null)return null;if(isArray(t))return t.map(clone);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return cloneRegExp(t);var e={};for(var A in t)Object.prototype.hasOwnProperty.call(t,A)&&(e[A]=clone(t[A]));return e}var DiffContext=(function(t){inherits(e,t);function e(A,n){classCallCheck(this,e);var r=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return r.left=A,r.right=n,r.pipe="diff",r}return createClass(e,[{key:"setResult",value:function(n){if(this.options.cloneDiffValues&&(typeof n>"u"?"undefined":_typeof(n))==="object"){var r=typeof this.options.cloneDiffValues=="function"?this.options.cloneDiffValues:clone;_typeof(n[0])==="object"&&(n[0]=r(n[0])),_typeof(n[1])==="object"&&(n[1]=r(n[1]))}return Context.prototype.setResult.apply(this,arguments)}}]),e})(Context),PatchContext=(function(t){inherits(e,t);function e(A,n){classCallCheck(this,e);var r=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return r.left=A,r.delta=n,r.pipe="patch",r}return e})(Context),ReverseContext=(function(t){inherits(e,t);function e(A){classCallCheck(this,e);var n=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return n.delta=A,n.pipe="reverse",n}return e})(Context),isArray$1=typeof Array.isArray=="function"?Array.isArray:function(t){return t instanceof Array},diffFilter=function t(e){if(e.left===e.right){e.setResult(void 0).exit();return}if(typeof e.left>"u"){if(typeof e.right=="function")throw new Error("functions are not supported");e.setResult([e.right]).exit();return}if(typeof e.right>"u"){e.setResult([e.left,0,0]).exit();return}if(typeof e.left=="function"||typeof e.right=="function")throw new Error("functions are not supported");if(e.leftType=e.left===null?"null":_typeof(e.left),e.rightType=e.right===null?"null":_typeof(e.right),e.leftType!==e.rightType){e.setResult([e.left,e.right]).exit();return}if(e.leftType==="boolean"||e.leftType==="number"){e.setResult([e.left,e.right]).exit();return}if(e.leftType==="object"&&(e.leftIsArray=isArray$1(e.left)),e.rightType==="object"&&(e.rightIsArray=isArray$1(e.right)),e.leftIsArray!==e.rightIsArray){e.setResult([e.left,e.right]).exit();return}e.left instanceof RegExp&&(e.right instanceof RegExp?e.setResult([e.left.toString(),e.right.toString()]).exit():e.setResult([e.left,e.right]).exit())};diffFilter.filterName="trivial";var patchFilter=function t(e){if(typeof e.delta>"u"){e.setResult(e.left).exit();return}if(e.nested=!isArray$1(e.delta),!e.nested){if(e.delta.length===1){e.setResult(e.delta[0]).exit();return}if(e.delta.length===2){if(e.left instanceof RegExp){var A=/^\/(.*)\/([gimyu]+)$/.exec(e.delta[1]);if(A){e.setResult(new RegExp(A[1],A[2])).exit();return}}e.setResult(e.delta[1]).exit();return}e.delta.length===3&&e.delta[2]===0&&e.setResult(void 0).exit()}};patchFilter.filterName="trivial";var reverseFilter=function t(e){if(typeof e.delta>"u"){e.setResult(e.delta).exit();return}if(e.nested=!isArray$1(e.delta),!e.nested){if(e.delta.length===1){e.setResult([e.delta[0],0,0]).exit();return}if(e.delta.length===2){e.setResult([e.delta[1],e.delta[0]]).exit();return}e.delta.length===3&&e.delta[2]===0&&e.setResult([e.delta[0]]).exit()}};reverseFilter.filterName="trivial";function collectChildrenDiffFilter(t){if(!(!t||!t.children)){for(var e=t.children.length,A=void 0,n=t.result,r=0;r<e;r++)A=t.children[r],!(typeof A.result>"u")&&(n=n||{},n[A.childName]=A.result);n&&t.leftIsArray&&(n._t="a"),t.setResult(n).exit()}}collectChildrenDiffFilter.filterName="collectChildren";function objectsDiffFilter(t){if(!(t.leftIsArray||t.leftType!=="object")){var e=void 0,A=void 0,n=t.options.propertyFilter;for(e in t.left)Object.prototype.hasOwnProperty.call(t.left,e)&&(n&&!n(e,t)||(A=new DiffContext(t.left[e],t.right[e]),t.push(A,e)));for(e in t.right)Object.prototype.hasOwnProperty.call(t.right,e)&&(n&&!n(e,t)||typeof t.left[e]>"u"&&(A=new DiffContext(void 0,t.right[e]),t.push(A,e)));if(!t.children||t.children.length===0){t.setResult(void 0).exit();return}t.exit()}}objectsDiffFilter.filterName="objects";var patchFilter$1=function t(e){if(e.nested&&!e.delta._t){var A=void 0,n=void 0;for(A in e.delta)n=new PatchContext(e.left[A],e.delta[A]),e.push(n,A);e.exit()}};patchFilter$1.filterName="objects";var collectChildrenPatchFilter=function t(e){if(!(!e||!e.children)&&!e.delta._t){for(var A=e.children.length,n=void 0,r=0;r<A;r++)n=e.children[r],Object.prototype.hasOwnProperty.call(e.left,n.childName)&&n.result===void 0?delete e.left[n.childName]:e.left[n.childName]!==n.result&&(e.left[n.childName]=n.result);e.setResult(e.left).exit()}};collectChildrenPatchFilter.filterName="collectChildren";var reverseFilter$1=function t(e){if(e.nested&&!e.delta._t){var A=void 0,n=void 0;for(A in e.delta)n=new ReverseContext(e.delta[A]),e.push(n,A);e.exit()}};reverseFilter$1.filterName="objects";function collectChildrenReverseFilter(t){if(!(!t||!t.children)&&!t.delta._t){for(var e=t.children.length,A=void 0,n={},r=0;r<e;r++)A=t.children[r],n[A.childName]!==A.result&&(n[A.childName]=A.result);t.setResult(n).exit()}}collectChildrenReverseFilter.filterName="collectChildren";var defaultMatch=function t(e,A,n,r){return e[n]===A[r]},lengthMatrix=function t(e,A,n,r){var o=e.length,s=A.length,a=void 0,l=void 0,g=[o+1];for(a=0;a<o+1;a++)for(g[a]=[s+1],l=0;l<s+1;l++)g[a][l]=0;for(g.match=n,a=1;a<o+1;a++)for(l=1;l<s+1;l++)n(e,A,a-1,l-1,r)?g[a][l]=g[a-1][l-1]+1:g[a][l]=Math.max(g[a-1][l],g[a][l-1]);return g},backtrack=function t(e,A,n,r){for(var o=A.length,s=n.length,a={sequence:[],indices1:[],indices2:[]};o!==0&&s!==0;){var l=e.match(A,n,o-1,s-1,r);if(l)a.sequence.unshift(A[o-1]),a.indices1.unshift(o-1),a.indices2.unshift(s-1),--o,--s;else{var g=e[o][s-1],c=e[o-1][s];g>c?--s:--o}}return a},get$1=function t(e,A,n,r){var o=r||{},s=lengthMatrix(e,A,n||defaultMatch,o),a=backtrack(s,e,A,o);return typeof e=="string"&&typeof A=="string"&&(a.sequence=a.sequence.join("")),a},lcs={get:get$1},ARRAY_MOVE=3,isArray$2=typeof Array.isArray=="function"?Array.isArray:function(t){return t instanceof Array},arrayIndexOf=typeof Array.prototype.indexOf=="function"?function(t,e){return t.indexOf(e)}:function(t,e){for(var A=t.length,n=0;n<A;n++)if(t[n]===e)return n;return-1};function arraysHaveMatchByRef(t,e,A,n){for(var r=0;r<A;r++)for(var o=t[r],s=0;s<n;s++){var a=e[s];if(r!==s&&o===a)return!0}}function matchItems(t,e,A,n,r){var o=t[A],s=e[n];if(o===s)return!0;if((typeof o>"u"?"undefined":_typeof(o))!=="object"||(typeof s>"u"?"undefined":_typeof(s))!=="object")return!1;var a=r.objectHash;if(!a)return r.matchByPosition&&A===n;var l=void 0,g=void 0;return typeof A=="number"?(r.hashCache1=r.hashCache1||[],l=r.hashCache1[A],typeof l>"u"&&(r.hashCache1[A]=l=a(o,A))):l=a(o),typeof l>"u"||(typeof n=="number"?(r.hashCache2=r.hashCache2||[],g=r.hashCache2[n],typeof g>"u"&&(r.hashCache2[n]=g=a(s,n))):g=a(s),typeof g>"u")?!1:l===g}var diffFilter$1=function t(e){if(e.leftIsArray){var A={objectHash:e.options&&e.options.objectHash,matchByPosition:e.options&&e.options.matchByPosition},n=0,r=0,o=void 0,s=void 0,a=void 0,l=e.left,g=e.right,c=l.length,I=g.length,d=void 0;for(c>0&&I>0&&!A.objectHash&&typeof A.matchByPosition!="boolean"&&(A.matchByPosition=!arraysHaveMatchByRef(l,g,c,I));n<c&&n<I&&matchItems(l,g,n,n,A);)o=n,d=new DiffContext(e.left[o],e.right[o]),e.push(d,o),n++;for(;r+n<c&&r+n<I&&matchItems(l,g,c-1-r,I-1-r,A);)s=c-1-r,a=I-1-r,d=new DiffContext(e.left[s],e.right[a]),e.push(d,a),r++;var h=void 0;if(n+r===c){if(c===I){e.setResult(void 0).exit();return}for(h=h||{_t:"a"},o=n;o<I-r;o++)h[o]=[g[o]];e.setResult(h).exit();return}if(n+r===I){for(h=h||{_t:"a"},o=n;o<c-r;o++)h["_"+o]=[l[o],0,0];e.setResult(h).exit();return}delete A.hashCache1,delete A.hashCache2;var u=l.slice(n,c-r),B=g.slice(n,I-r),E=lcs.get(u,B,matchItems,A),f=[];for(h=h||{_t:"a"},o=n;o<c-r;o++)arrayIndexOf(E.indices1,o-n)<0&&(h["_"+o]=[l[o],0,0],f.push(o));var Q=!0;e.options&&e.options.arrays&&e.options.arrays.detectMove===!1&&(Q=!1);var p=!1;e.options&&e.options.arrays&&e.options.arrays.includeValueOnMove&&(p=!0);var m=f.length;for(o=n;o<I-r;o++){var y=arrayIndexOf(E.indices2,o-n);if(y<0){var w=!1;if(Q&&m>0){for(var D=0;D<m;D++)if(s=f[D],matchItems(u,B,s-n,o-n,A)){h["_"+s].splice(1,2,o,ARRAY_MOVE),p||(h["_"+s][0]=""),a=o,d=new DiffContext(e.left[s],e.right[a]),e.push(d,a),f.splice(D,1),w=!0;break}}w||(h[o]=[g[o]])}else s=E.indices1[y]+n,a=E.indices2[y]+n,d=new DiffContext(e.left[s],e.right[a]),e.push(d,a)}e.setResult(h).exit()}};diffFilter$1.filterName="arrays";var compare={numerically:function t(e,A){return e-A},numericallyBy:function t(e){return function(A,n){return A[e]-n[e]}}},patchFilter$2=function t(e){if(e.nested&&e.delta._t==="a"){var A=void 0,n=void 0,r=e.delta,o=e.left,s=[],a=[],l=[];for(A in r)if(A!=="_t")if(A[0]==="_")if(r[A][2]===0||r[A][2]===ARRAY_MOVE)s.push(parseInt(A.slice(1),10));else throw new Error("only removal or move can be applied at original array indices,"+(" invalid diff type: "+r[A][2]));else r[A].length===1?a.push({index:parseInt(A,10),value:r[A][0]}):l.push({index:parseInt(A,10),delta:r[A]});for(s=s.sort(compare.numerically),A=s.length-1;A>=0;A--){n=s[A];var g=r["_"+n],c=o.splice(n,1)[0];g[2]===ARRAY_MOVE&&a.push({index:g[1],value:c})}a=a.sort(compare.numericallyBy("index"));var I=a.length;for(A=0;A<I;A++){var d=a[A];o.splice(d.index,0,d.value)}var h=l.length,u=void 0;if(h>0)for(A=0;A<h;A++){var B=l[A];u=new PatchContext(e.left[B.index],B.delta),e.push(u,B.index)}if(!e.children){e.setResult(e.left).exit();return}e.exit()}};patchFilter$2.filterName="arrays";var collectChildrenPatchFilter$1=function t(e){if(!(!e||!e.children)&&e.delta._t==="a"){for(var A=e.children.length,n=void 0,r=0;r<A;r++)n=e.children[r],e.left[n.childName]=n.result;e.setResult(e.left).exit()}};collectChildrenPatchFilter$1.filterName="arraysCollectChildren";var reverseFilter$2=function t(e){if(!e.nested){e.delta[2]===ARRAY_MOVE&&(e.newName="_"+e.delta[1],e.setResult([e.delta[0],parseInt(e.childName.substr(1),10),ARRAY_MOVE]).exit());return}if(e.delta._t==="a"){var A=void 0,n=void 0;for(A in e.delta)A!=="_t"&&(n=new ReverseContext(e.delta[A]),e.push(n,A));e.exit()}};reverseFilter$2.filterName="arrays";var reverseArrayDeltaIndex=function t(e,A,n){if(typeof A=="string"&&A[0]==="_")return parseInt(A.substr(1),10);if(isArray$2(n)&&n[2]===0)return"_"+A;var r=+A;for(var o in e){var s=e[o];if(isArray$2(s))if(s[2]===ARRAY_MOVE){var a=parseInt(o.substr(1),10),l=s[1];if(l===+A)return a;a<=r&&l>r?r++:a>=r&&l<r&&r--}else if(s[2]===0){var g=parseInt(o.substr(1),10);g<=r&&r++}else s.length===1&&o<=r&&r--}return r};function collectChildrenReverseFilter$1(t){if(!(!t||!t.children)&&t.delta._t==="a"){for(var e=t.children.length,A=void 0,n={_t:"a"},r=0;r<e;r++){A=t.children[r];var o=A.newName;typeof o>"u"&&(o=reverseArrayDeltaIndex(t.delta,A.childName,A.result)),n[o]!==A.result&&(n[o]=A.result)}t.setResult(n).exit()}}collectChildrenReverseFilter$1.filterName="arraysCollectChildren";var diffFilter$2=function t(e){e.left instanceof Date?(e.right instanceof Date?e.left.getTime()!==e.right.getTime()?e.setResult([e.left,e.right]):e.setResult(void 0):e.setResult([e.left,e.right]),e.exit()):e.right instanceof Date&&e.setResult([e.left,e.right]).exit()};diffFilter$2.filterName="dates";var TEXT_DIFF=2,DEFAULT_MIN_LENGTH=60,cachedDiffPatch=null,getDiffMatchPatch=function t(e){if(!cachedDiffPatch){var A=void 0;if(typeof diff_match_patch<"u")A=typeof diff_match_patch=="function"?new diff_match_patch:new diff_match_patch.diff_match_patch;else if(dmp)try{A=dmp&&new dmp}catch{A=null}if(!A){if(!e)return null;var n=new Error("text diff_match_patch library not found");throw n.diff_match_patch_not_found=!0,n}cachedDiffPatch={diff:function(o,s){return A.patch_toText(A.patch_make(o,s))},patch:function(o,s){for(var a=A.patch_apply(A.patch_fromText(s),o),l=0;l<a[1].length;l++)if(!a[1][l]){var g=new Error("text patch failed");g.textPatchFailed=!0}return a[0]}}}return cachedDiffPatch},diffFilter$3=function t(e){if(e.leftType==="string"){var A=e.options&&e.options.textDiff&&e.options.textDiff.minLength||DEFAULT_MIN_LENGTH;if(e.left.length<A||e.right.length<A){e.setResult([e.left,e.right]).exit();return}var n=getDiffMatchPatch();if(!n){e.setResult([e.left,e.right]).exit();return}var r=n.diff;e.setResult([r(e.left,e.right),0,TEXT_DIFF]).exit()}};diffFilter$3.filterName="texts";var patchFilter$3=function t(e){if(!e.nested&&e.delta[2]===TEXT_DIFF){var A=getDiffMatchPatch(!0).patch;e.setResult(A(e.left,e.delta[0])).exit()}};patchFilter$3.filterName="texts";var textDeltaReverse=function t(e){var A=void 0,n=void 0,r=void 0,o=void 0,s=void 0,a=null,l=/^@@ +-(\d+),(\d+) +\+(\d+),(\d+) +@@$/,g=void 0;for(r=e.split(`
62
+ `),A=0,n=r.length;A<n;A++){o=r[A];var c=o.slice(0,1);c==="@"?(a=l.exec(o),g=A,r[g]="@@ -"+a[3]+","+a[4]+" +"+a[1]+","+a[2]+" @@"):c==="+"?(r[A]="-"+r[A].slice(1),r[A-1].slice(0,1)==="+"&&(s=r[A],r[A]=r[A-1],r[A-1]=s)):c==="-"&&(r[A]="+"+r[A].slice(1))}return r.join(`
63
+ `)},reverseFilter$3=function t(e){e.nested||e.delta[2]===TEXT_DIFF&&e.setResult([textDeltaReverse(e.delta[0]),0,TEXT_DIFF]).exit()};reverseFilter$3.filterName="texts";var DiffPatcher=(function(){function t(e){classCallCheck(this,t),this.processor=new Processor(e),this.processor.pipe(new Pipe("diff").append(collectChildrenDiffFilter,diffFilter,diffFilter$2,diffFilter$3,objectsDiffFilter,diffFilter$1).shouldHaveResult()),this.processor.pipe(new Pipe("patch").append(collectChildrenPatchFilter,collectChildrenPatchFilter$1,patchFilter,patchFilter$3,patchFilter$1,patchFilter$2).shouldHaveResult()),this.processor.pipe(new Pipe("reverse").append(collectChildrenReverseFilter,collectChildrenReverseFilter$1,reverseFilter,reverseFilter$3,reverseFilter$1,reverseFilter$2).shouldHaveResult())}return createClass(t,[{key:"options",value:function(){var A;return(A=this.processor).options.apply(A,arguments)}},{key:"diff",value:function(A,n){return this.processor.process(new DiffContext(A,n))}},{key:"patch",value:function(A,n){return this.processor.process(new PatchContext(A,n))}},{key:"reverse",value:function(A){return this.processor.process(new ReverseContext(A))}},{key:"unpatch",value:function(A,n){return this.patch(A,this.reverse(n))}},{key:"clone",value:function(A){return clone(A)}}]),t})(),isArray$3=typeof Array.isArray=="function"?Array.isArray:function(t){return t instanceof Array},getObjectKeys=typeof Object.keys=="function"?function(t){return Object.keys(t)}:function(t){var e=[];for(var A in t)Object.prototype.hasOwnProperty.call(t,A)&&e.push(A);return e},trimUnderscore=function t(e){return e.substr(0,1)==="_"?e.slice(1):e},arrayKeyToSortNumber=function t(e){return e==="_t"?-1:e.substr(0,1)==="_"?parseInt(e.slice(1),10):parseInt(e,10)+.1},arrayKeyComparer=function t(e,A){return arrayKeyToSortNumber(e)-arrayKeyToSortNumber(A)},BaseFormatter=(function(){function t(){classCallCheck(this,t)}return createClass(t,[{key:"format",value:function(A,n){var r={};return this.prepareContext(r),this.recurse(r,A,n),this.finalize(r)}},{key:"prepareContext",value:function(A){A.buffer=[],A.out=function(){var n;(n=this.buffer).push.apply(n,arguments)}}},{key:"typeFormattterNotFound",value:function(A,n){throw new Error("cannot format delta type: "+n)}},{key:"typeFormattterErrorFormatter",value:function(A,n){return n.toString()}},{key:"finalize",value:function(A){var n=A.buffer;if(isArray$3(n))return n.join("")}},{key:"recurse",value:function(A,n,r,o,s,a,l){var g=n&&a,c=g?a.value:r;if(!(typeof n>"u"&&typeof o>"u")){var I=this.getDeltaType(n,a),d=I==="node"?n._t==="a"?"array":"object":"";typeof o<"u"?this.nodeBegin(A,o,s,I,d,l):this.rootBegin(A,I,d);var h=void 0;try{h=this["format_"+I]||this.typeFormattterNotFound(A,I),h.call(this,A,n,c,o,s,a)}catch(u){this.typeFormattterErrorFormatter(A,u,n,c,o,s,a),typeof console<"u"&&console.error&&console.error(u.stack)}typeof o<"u"?this.nodeEnd(A,o,s,I,d,l):this.rootEnd(A,I,d)}}},{key:"formatDeltaChildren",value:function(A,n,r){var o=this;this.forEachDeltaKey(n,r,function(s,a,l,g){o.recurse(A,n[s],r?r[a]:void 0,s,a,l,g)})}},{key:"forEachDeltaKey",value:function(A,n,r){var o=getObjectKeys(A),s=A._t==="a",a={},l=void 0;if(typeof n<"u")for(l in n)Object.prototype.hasOwnProperty.call(n,l)&&typeof A[l]>"u"&&(!s||typeof A["_"+l]>"u")&&o.push(l);for(l in A)if(Object.prototype.hasOwnProperty.call(A,l)){var g=A[l];isArray$3(g)&&g[2]===3&&(a[g[1].toString()]={key:l,value:n&&n[parseInt(l.substr(1))]},this.includeMoveDestinations!==!1&&typeof n>"u"&&typeof A[g[1]]>"u"&&o.push(g[1].toString()))}s?o.sort(arrayKeyComparer):o.sort();for(var c=0,I=o.length;c<I;c++){var d=o[c];if(!(s&&d==="_t")){var h=s?typeof d=="number"?d:parseInt(trimUnderscore(d),10):d,u=c===I-1;r(d,h,a[h],u)}}}},{key:"getDeltaType",value:function(A,n){if(typeof A>"u")return typeof n<"u"?"movedestination":"unchanged";if(isArray$3(A)){if(A.length===1)return"added";if(A.length===2)return"modified";if(A.length===3&&A[2]===0)return"deleted";if(A.length===3&&A[2]===2)return"textdiff";if(A.length===3&&A[2]===3)return"moved"}else if((typeof A>"u"?"undefined":_typeof(A))==="object")return"node";return"unknown"}},{key:"parseTextDiff",value:function(A){for(var n=[],r=A.split(`
64
+ @@ `),o=0,s=r.length;o<s;o++){var a=r[o],l={pieces:[]},g=/^(?:@@ )?[-+]?(\d+),(\d+)/.exec(a).slice(1);l.location={line:g[0],chr:g[1]};for(var c=a.split(`
65
+ `).slice(1),I=0,d=c.length;I<d;I++){var h=c[I];if(h.length){var u={type:"context"};h.substr(0,1)==="+"?u.type="added":h.substr(0,1)==="-"&&(u.type="deleted"),u.text=h.slice(1),l.pieces.push(u)}}n.push(l)}return n}}]),t})();(function(t){inherits(e,t);function e(){return classCallCheck(this,e),possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return createClass(e,[{key:"typeFormattterErrorFormatter",value:function(n,r){n.out('<pre class="jsondiffpatch-error">'+r+"</pre>")}},{key:"formatValue",value:function(n,r){n.out("<pre>"+htmlEscape(JSON.stringify(r,null,2))+"</pre>")}},{key:"formatTextDiffString",value:function(n,r){var o=this.parseTextDiff(r);n.out('<ul class="jsondiffpatch-textdiff">');for(var s=0,a=o.length;s<a;s++){var l=o[s];n.out('<li><div class="jsondiffpatch-textdiff-location">'+('<span class="jsondiffpatch-textdiff-line-number">'+l.location.line+'</span><span class="jsondiffpatch-textdiff-char">'+l.location.chr+'</span></div><div class="jsondiffpatch-textdiff-line">'));for(var g=l.pieces,c=0,I=g.length;c<I;c++){var d=g[c];n.out('<span class="jsondiffpatch-textdiff-'+d.type+'">'+htmlEscape(decodeURI(d.text))+"</span>")}n.out("</div></li>")}n.out("</ul>")}},{key:"rootBegin",value:function(n,r,o){var s="jsondiffpatch-"+r+(o?" jsondiffpatch-child-node-type-"+o:"");n.out('<div class="jsondiffpatch-delta '+s+'">')}},{key:"rootEnd",value:function(n){n.out("</div>"+(n.hasArrows?'<script type="text/javascript">setTimeout('+(adjustArrows.toString()+",10);<\/script>"):""))}},{key:"nodeBegin",value:function(n,r,o,s,a){var l="jsondiffpatch-"+s+(a?" jsondiffpatch-child-node-type-"+a:"");n.out('<li class="'+l+'" data-key="'+o+'">'+('<div class="jsondiffpatch-property-name">'+o+"</div>"))}},{key:"nodeEnd",value:function(n){n.out("</li>")}},{key:"format_unchanged",value:function(n,r,o){typeof o>"u"||(n.out('<div class="jsondiffpatch-value">'),this.formatValue(n,o),n.out("</div>"))}},{key:"format_movedestination",value:function(n,r,o){typeof o>"u"||(n.out('<div class="jsondiffpatch-value">'),this.formatValue(n,o),n.out("</div>"))}},{key:"format_node",value:function(n,r,o){var s=r._t==="a"?"array":"object";n.out('<ul class="jsondiffpatch-node jsondiffpatch-node-type-'+s+'">'),this.formatDeltaChildren(n,r,o),n.out("</ul>")}},{key:"format_added",value:function(n,r){n.out('<div class="jsondiffpatch-value">'),this.formatValue(n,r[0]),n.out("</div>")}},{key:"format_modified",value:function(n,r){n.out('<div class="jsondiffpatch-value jsondiffpatch-left-value">'),this.formatValue(n,r[0]),n.out('</div><div class="jsondiffpatch-value jsondiffpatch-right-value">'),this.formatValue(n,r[1]),n.out("</div>")}},{key:"format_deleted",value:function(n,r){n.out('<div class="jsondiffpatch-value">'),this.formatValue(n,r[0]),n.out("</div>")}},{key:"format_moved",value:function(n,r){n.out('<div class="jsondiffpatch-value">'),this.formatValue(n,r[0]),n.out('</div><div class="jsondiffpatch-moved-destination">'+r[1]+"</div>"),n.out(`<div class="jsondiffpatch-arrow" style="position: relative; left: -34px;">
66
+ <svg width="30" height="60" style="position: absolute; display: none;">
67
+ <defs>
68
+ <marker id="markerArrow" markerWidth="8" markerHeight="8"
69
+ refx="2" refy="4"
70
+ orient="auto" markerUnits="userSpaceOnUse">
71
+ <path d="M1,1 L1,7 L7,4 L1,1" style="fill: #339;" />
72
+ </marker>
73
+ </defs>
74
+ <path d="M30,0 Q-10,25 26,50"
75
+ style="stroke: #88f; stroke-width: 2px; fill: none; stroke-opacity: 0.5; marker-end: url(#markerArrow);"
76
+ ></path>
77
+ </svg>
78
+ </div>`),n.hasArrows=!0}},{key:"format_textdiff",value:function(n,r){n.out('<div class="jsondiffpatch-value">'),this.formatTextDiffString(n,r[0]),n.out("</div>")}}]),e})(BaseFormatter);function htmlEscape(t){for(var e=t,A=[[/&/g,"&amp;"],[/</g,"&lt;"],[/>/g,"&gt;"],[/'/g,"&apos;"],[/"/g,"&quot;"]],n=0;n<A.length;n++)e=e.replace(A[n][0],A[n][1]);return e}var adjustArrows=function t(e){var A=e||document,n=function(a){var l=a.textContent,g=a.innerText;return l||g},r=function(a,l,g){for(var c=a.querySelectorAll(l),I=0,d=c.length;I<d;I++)g(c[I])},o=function(a,l){for(var g=a.children,c=0,I=g.length;c<I;c++)l(g[c],c)};r(A,".jsondiffpatch-arrow",function(s){var a=s.parentNode,l=s.children,g=s.style,c=a,I=l[0],d=I.children[1];I.style.display="none";var h=n(c.querySelector(".jsondiffpatch-moved-destination")),u=c.parentNode,B=void 0;if(o(u,function(Q){Q.getAttribute("data-key")===h&&(B=Q)}),!!B)try{var E=B.offsetTop-c.offsetTop;I.setAttribute("height",Math.abs(E)+6),g.top=-8+(E>0?0:E)+"px";var f=E>0?"M30,0 Q-10,"+Math.round(E/2)+" 26,"+(E-4):"M30,"+-E+" Q-10,"+Math.round(-E/2)+" 26,4";d.setAttribute("d",f),I.style.display=""}catch{}})},AnnotatedFormatter=(function(t){inherits(e,t);function e(){classCallCheck(this,e);var A=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return A.includeMoveDestinations=!1,A}return createClass(e,[{key:"prepareContext",value:function(n){get(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"prepareContext",this).call(this,n),n.indent=function(r){this.indentLevel=(this.indentLevel||0)+(typeof r>"u"?1:r),this.indentPad=new Array(this.indentLevel+1).join("&nbsp;&nbsp;")},n.row=function(r,o){n.out('<tr><td style="white-space: nowrap;"><pre class="jsondiffpatch-annotated-indent" style="display: inline-block">'),n.out(n.indentPad),n.out('</pre><pre style="display: inline-block">'),n.out(r),n.out('</pre></td><td class="jsondiffpatch-delta-note"><div>'),n.out(o),n.out("</div></td></tr>")}}},{key:"typeFormattterErrorFormatter",value:function(n,r){n.row("",'<pre class="jsondiffpatch-error">'+r+"</pre>")}},{key:"formatTextDiffString",value:function(n,r){var o=this.parseTextDiff(r);n.out('<ul class="jsondiffpatch-textdiff">');for(var s=0,a=o.length;s<a;s++){var l=o[s];n.out('<li><div class="jsondiffpatch-textdiff-location">'+('<span class="jsondiffpatch-textdiff-line-number">'+l.location.line+'</span><span class="jsondiffpatch-textdiff-char">'+l.location.chr+'</span></div><div class="jsondiffpatch-textdiff-line">'));for(var g=l.pieces,c=0,I=g.length;c<I;c++){var d=g[c];n.out('<span class="jsondiffpatch-textdiff-'+d.type+'">'+d.text+"</span>")}n.out("</div></li>")}n.out("</ul>")}},{key:"rootBegin",value:function(n,r,o){n.out('<table class="jsondiffpatch-annotated-delta">'),r==="node"&&(n.row("{"),n.indent()),o==="array"&&n.row('"_t": "a",',"Array delta (member names indicate array indices)")}},{key:"rootEnd",value:function(n,r){r==="node"&&(n.indent(-1),n.row("}")),n.out("</table>")}},{key:"nodeBegin",value:function(n,r,o,s,a){n.row("&quot;"+r+"&quot;: {"),s==="node"&&n.indent(),a==="array"&&n.row('"_t": "a",',"Array delta (member names indicate array indices)")}},{key:"nodeEnd",value:function(n,r,o,s,a,l){s==="node"&&n.indent(-1),n.row("}"+(l?"":","))}},{key:"format_unchanged",value:function(){}},{key:"format_movedestination",value:function(){}},{key:"format_node",value:function(n,r,o){this.formatDeltaChildren(n,r,o)}}]),e})(BaseFormatter),wrapPropertyName=function t(e){return'<pre style="display:inline-block">&quot;'+e+"&quot;</pre>"},deltaAnnotations={added:function t(e,A,n,r){var o=" <pre>([newValue])</pre>";return typeof r>"u"?"new value"+o:typeof r=="number"?"insert at index "+r+o:"add property "+wrapPropertyName(r)+o},modified:function t(e,A,n,r){var o=" <pre>([previousValue, newValue])</pre>";return typeof r>"u"?"modify value"+o:typeof r=="number"?"modify at index "+r+o:"modify property "+wrapPropertyName(r)+o},deleted:function t(e,A,n,r){var o=" <pre>([previousValue, 0, 0])</pre>";return typeof r>"u"?"delete value"+o:typeof r=="number"?"remove index "+r+o:"delete property "+wrapPropertyName(r)+o},moved:function t(e,A,n,r){return'move from <span title="(position to remove at original state)">'+("index "+r+'</span> to <span title="(position to insert at final')+(' state)">index '+e[1]+"</span>")},textdiff:function t(e,A,n,r){var o=typeof r>"u"?"":typeof r=="number"?" at index "+r:" at property "+wrapPropertyName(r);return"text diff"+o+', format is <a href="https://code.google.com/p/google-diff-match-patch/wiki/Unidiff">a variation of Unidiff</a>'}},formatAnyChange=function t(e,A){var n=this.getDeltaType(A),r=deltaAnnotations[n],o=r&&r.apply(r,Array.prototype.slice.call(arguments,1)),s=JSON.stringify(A,null,2);n==="textdiff"&&(s=s.split("\\n").join(`\\n"+
79
+ "`)),e.indent(),e.row(s,o),e.indent(-1)};AnnotatedFormatter.prototype.format_added=formatAnyChange;AnnotatedFormatter.prototype.format_modified=formatAnyChange;AnnotatedFormatter.prototype.format_deleted=formatAnyChange;AnnotatedFormatter.prototype.format_moved=formatAnyChange;AnnotatedFormatter.prototype.format_textdiff=formatAnyChange;var OPERATIONS={add:"add",remove:"remove",replace:"replace",move:"move"};(function(t){inherits(e,t);function e(){classCallCheck(this,e);var A=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return A.includeMoveDestinations=!0,A}return createClass(e,[{key:"prepareContext",value:function(n){get(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"prepareContext",this).call(this,n),n.result=[],n.path=[],n.pushCurrentOp=function(r){var o=r.op,s=r.value,a={op:o,path:this.currentPath()};typeof s<"u"&&(a.value=s),this.result.push(a)},n.pushMoveOp=function(r){var o=this.currentPath();this.result.push({op:OPERATIONS.move,from:o,path:this.toPath(r)})},n.currentPath=function(){return"/"+this.path.join("/")},n.toPath=function(r){var o=this.path.slice();return o[o.length-1]=r,"/"+o.join("/")}}},{key:"typeFormattterErrorFormatter",value:function(n,r){n.out("[ERROR] "+r)}},{key:"rootBegin",value:function(){}},{key:"rootEnd",value:function(){}},{key:"nodeBegin",value:function(n,r,o){var s=n.path;s.push(o)}},{key:"nodeEnd",value:function(n){var r=n.path;r.pop()}},{key:"format_unchanged",value:function(){}},{key:"format_movedestination",value:function(){}},{key:"format_node",value:function(n,r,o){this.formatDeltaChildren(n,r,o)}},{key:"format_added",value:function(n,r){n.pushCurrentOp({op:OPERATIONS.add,value:r[0]})}},{key:"format_modified",value:function(n,r){n.pushCurrentOp({op:OPERATIONS.replace,value:r[1]})}},{key:"format_deleted",value:function(n){n.pushCurrentOp({op:OPERATIONS.remove})}},{key:"format_moved",value:function(n,r){var o=r[1];n.pushMoveOp(o)}},{key:"format_textdiff",value:function(){throw new Error("Not implemented")}},{key:"format",value:function(n,r){var o={};return this.prepareContext(o),this.recurse(o,n,r),o.result}}]),e})(BaseFormatter);function chalkColor(t){return function(){for(var e=arguments.length,A=Array(e),n=0;n<e;n++)A[n]=arguments[n];return A}}var colors={added:chalkColor(),deleted:chalkColor(),movedestination:chalkColor(),moved:chalkColor(),unchanged:chalkColor(),error:chalkColor(),textDiffLine:chalkColor()};(function(t){inherits(e,t);function e(){classCallCheck(this,e);var A=possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return A.includeMoveDestinations=!1,A}return createClass(e,[{key:"prepareContext",value:function(n){get(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"prepareContext",this).call(this,n),n.indent=function(r){this.indentLevel=(this.indentLevel||0)+(typeof r>"u"?1:r),this.indentPad=new Array(this.indentLevel+1).join(" "),this.outLine()},n.outLine=function(){this.buffer.push(`
80
+ `+(this.indentPad||""))},n.out=function(){for(var r=arguments.length,o=Array(r),s=0;s<r;s++)o[s]=arguments[s];for(var a=0,l=o.length;a<l;a++){var g=o[a].split(`
81
+ `),c=g.join(`
82
+ `+(this.indentPad||""));this.color&&this.color[0]&&(c=this.color[0](c)),this.buffer.push(c)}},n.pushColor=function(r){this.color=this.color||[],this.color.unshift(r)},n.popColor=function(){this.color=this.color||[],this.color.shift()}}},{key:"typeFormattterErrorFormatter",value:function(n,r){n.pushColor(colors.error),n.out("[ERROR]"+r),n.popColor()}},{key:"formatValue",value:function(n,r){n.out(JSON.stringify(r,null,2))}},{key:"formatTextDiffString",value:function(n,r){var o=this.parseTextDiff(r);n.indent();for(var s=0,a=o.length;s<a;s++){var l=o[s];n.pushColor(colors.textDiffLine),n.out(l.location.line+","+l.location.chr+" "),n.popColor();for(var g=l.pieces,c=0,I=g.length;c<I;c++){var d=g[c];n.pushColor(colors[d.type]),n.out(d.text),n.popColor()}s<a-1&&n.outLine()}n.indent(-1)}},{key:"rootBegin",value:function(n,r,o){n.pushColor(colors[r]),r==="node"&&(n.out(o==="array"?"[":"{"),n.indent())}},{key:"rootEnd",value:function(n,r,o){r==="node"&&(n.indent(-1),n.out(o==="array"?"]":"}")),n.popColor()}},{key:"nodeBegin",value:function(n,r,o,s,a){n.pushColor(colors[s]),n.out(o+": "),s==="node"&&(n.out(a==="array"?"[":"{"),n.indent())}},{key:"nodeEnd",value:function(n,r,o,s,a,l){s==="node"&&(n.indent(-1),n.out(a==="array"?"]":"}"+(l?"":","))),l||n.outLine(),n.popColor()}},{key:"format_unchanged",value:function(n,r,o){typeof o>"u"||this.formatValue(n,o)}},{key:"format_movedestination",value:function(n,r,o){typeof o>"u"||this.formatValue(n,o)}},{key:"format_node",value:function(n,r,o){this.formatDeltaChildren(n,r,o)}},{key:"format_added",value:function(n,r){this.formatValue(n,r[0])}},{key:"format_modified",value:function(n,r){n.pushColor(colors.deleted),this.formatValue(n,r[0]),n.popColor(),n.out(" => "),n.pushColor(colors.added),this.formatValue(n,r[1]),n.popColor()}},{key:"format_deleted",value:function(n,r){this.formatValue(n,r[0])}},{key:"format_moved",value:function(n,r){n.out("==> "+r[1])}},{key:"format_textdiff",value:function(n,r){this.formatTextDiffString(n,r[0])}}]),e})(BaseFormatter);const diffPatcher=new DiffPatcher({arrays:{detectMove:!1,includeValueOnMove:!1},textDiff:{minLength:1}});function diff(t,e){return diffPatcher.diff(t,e)}const addedProperties=["docChanged","isGeneric","scrolledIntoView","selectionSet","storedMarksSet"];function addPropertiesToTransaction(t){return Object.keys(t).concat(addedProperties).reduce((e,A)=>(e[A]=t[A],e),{})}function buildSelection(t){return{type:t.type,empty:t.empty,anchor:t.anchor,head:t.head,from:t.from,to:t.to}}function pad(t){return("00"+t).slice(-2)}function pad3(t){return("000"+t).slice(-3)}const formatTimestamp=t=>{const e=new Date(t);return[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds()),pad3(e.getMilliseconds())].join(":")},srcAttr=/src=[\"|\']data:(.*);base64,(.*)[\"|\']/g,wrappingCarets=/(&lt;\/?[\w\d\s="']+&gt;)/gim,highlightHtmlString=t=>t.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(wrappingCarets,"<span style='color: cadetblue;'>$&</span>");function createHistoryEntry(t,e,A,n){const r=DOMSerializer.fromSchema(e.schema),o=e.selection,s=r.serializeFragment(o.content().content),a=[];if(s){let I=s.firstChild;for(;I;)a.push(I.outerHTML.replaceAll(srcAttr,'src="..."')),I=I.nextSibling}const l=n?n.state:A,g=diff(l.doc.toJSON(),e.doc.toJSON()),c=diff(buildSelection(l.selection),buildSelection(e.selection));return{id:Math.random().toString()+Math.random().toString(),state:e,trs:t.map(I=>addPropertiesToTransaction(I)),timestamp:t[0].time,timeStr:formatTimestamp(t[0].time),contentDiff:g,selectionDiff:c,selectionHtml:highlightHtmlString(htmlExports.prettyPrint(a.join(`
83
+ `),{max_char:60,indent_size:2}))}}const stateHistory=writable(new Map),shownHistoryGroups=writable([]),latestEntry=writable(void 0),nextId=writable(0);function appendNewHistoryEntry(t,e,A){const n=get_store_value(stateHistory),r=get_store_value(shownHistoryGroups)[0],o=n.get(r?.topEntryId||""),s=createHistoryEntry(t,e,A,o);stateHistory.update(l=>new Map(l.set(s.id,s))),latestEntry.set(s);const a=!s.contentDiff;if(r?.isGroup&&a){const l={id:r.id,isGroup:a,entryIds:[s.id,...r.entryIds],topEntryId:s.id,expanded:r.expanded};shownHistoryGroups.update(g=>[l,...g.slice(1)])}else{const l=get_store_value(nextId)+1,g={id:l,isGroup:a,entryIds:[s.id],topEntryId:s.id,expanded:!1};shownHistoryGroups.update(c=>[g,...c]),nextId.set(l)}}function resetHistory(){stateHistory.set(new Map),shownHistoryGroups.set([]),latestEntry.set(void 0)}function getActiveMarks(t){if(t.selection.empty){const e=t.selection.$from,A=t.storedMarks;return A?A.map(n=>n.type.name):e.marks().map(n=>n.type.name)}else{const e=t.selection.$head,A=t.selection.$anchor,n=new Set;return e.marks().forEach(r=>n.add(r.type.name)),A.marks().forEach(r=>n.add(r.type.name)),Array.from(n)}}const defaultProperties=["jsonID","empty","anchor","from","head","to"],resolvedPosProperties=["$anchor","$head","$cursor","$to","$from"],resolvedPosSubProperties=["nodeAfter","nodeBefore","textOffset"];function createSelection(t){return defaultProperties.reduce((e,A)=>(e[A]=t[A],e),{})}function createFullSelection(t){return defaultProperties.concat(resolvedPosProperties).reduce((e,A)=>{let n=t[A];if(n&&resolvedPosProperties.includes(A)){const r={};resolvedPosSubProperties.forEach(o=>{r[o]=n[o]}),n=Object.assign(Object.assign({},n),r)}return e[A]=n,e},{})}function createNode(t,e,A,n,r){const o=r?[...r.path,t]:[];return{id:"[".concat(o.join(","),"]"),index:t,key:e,value:A,depth:n,collapsed:!0,type:getValueType(A),path:o,parentId:r?r.id:null,circularOfId:null,children:[]}}function getValueType(t){return Array.isArray(t)?"array":t instanceof Map?"map":t instanceof Set?"set":t instanceof Date?"date":t===null?"null":typeof t}function getChildren(t,e){switch(e){case"array":return t.map((n,r)=>[r.toString(),n]);case"map":return Array.from(t.entries()).map((n,r)=>{let[o,s]=n;return["[map entry ".concat(r,"]"),{"[key]":o,"[value]":s}]});case"set":return Array.from(t.values()).map((n,r)=>["[set entry ".concat(r,"]"),n]);case"object":return Object.entries(t);default:return[]}}function shouldRecurseChildren(t,e,A,n){if(e){if(t.collapsed&&e?.collapsed)return!1;if(n.stopCircularRecursion){if(n.isCircularNode)return n.isCircularNode(t,A);if(t.type==="object"||t.type==="array"){const r=A.get(t.value);if(r&&t.id!==r.id)return t.circularOfId=r.id,!1;A.set(t.value,t)}}else return!0}else return!0;return!0}function recurseObjectProperties(t,e,A,n,r,o,s,a,l,g,c){var I;if(!((I=c.omitKeys)===null||I===void 0)&&I.includes(e)||c.maxDepth&&n>c.maxDepth)return null;const d=createNode(t,e,A,n,o),h=a.get(d.id);if(r?d.collapsed=!1:h&&!g?d.collapsed=h.collapsed:c.shouldExpandNode&&(d.collapsed=!c.shouldExpandNode(d)),s.set(d.id,d),shouldRecurseChildren(d,o,l,c)){const u=c.mapChildren&&c.mapChildren(A,getValueType(A),d),B=u??getChildren(A,getValueType(A));d.children=B.map((E,f)=>{let[Q,p]=E;return recurseObjectProperties(f,Q,p,n+1,!1,d,s,a,l,g,c)}).filter(E=>E!==null)}return d}function recomputeTree(t,e,A,n){const r=new Map,o=new Map,s=recurseObjectProperties(-1,"root",t,0,!0,null,r,e,o,n,A);return{treeMap:r,tree:s,iteratedValues:o}}const createPropsStore=t=>{const e=writable(t),A=derived(e,n=>n.recursionOpts);return{props:e,recursionOpts:A,setProps(n){e.set(n)},formatValue(n,r){const{valueFormatter:o}=get_store_value(e),s=o?o(n,r):void 0;if(s)return s;switch(r.type){case"array":return"".concat(r.circularOfId?"circular":""," [] ").concat(n.length," items");case"object":return"".concat(r.circularOfId?"circular":""," {} ").concat(Object.keys(n).length," keys");case"map":case"set":return"".concat(r.circularOfId?"circular":""," () ").concat(n.size," entries");case"date":return"".concat(n.toISOString());case"string":return'"'.concat(n,'"');case"boolean":return n?"true":"false";case"symbol":return String(n);default:return n}}}},createRootElementStore=()=>{const t=writable(null);return{set:t.set,subscribe:t.subscribe}},createTreeStore=t=>{const e=createNode(0,"root",[],0,null),A=writable(e),n=writable(new Map),r=writable(new Map);return{tree:A,treeMap:n,defaultRootNode:e,init(o,s,a){o?A.set(o):A.set(e),n.set(s),r.set(a)},getNode(o){return get_store_value(n).get(o)},toggleCollapse(o){const s=get_store_value(n).get(o);if(!s){console.warn("Attempted to collapse non-existent node: ".concat(o));return}const a=Object.assign(Object.assign({},s),{collapsed:!s.collapsed});n.update(g=>new Map(g.set(s.id,a)));const l=get_store_value(t.recursionOpts);l&&this.expandNodeChildren(a,l)},expandNodeChildren(o,s){const a=this.getNode(o?.parentId||"")||null;if(!a)throw Error("No parent in expandNodeChildren for node: "+o);const l=new Map(get_store_value(n)),g=get_store_value(n),c=get_store_value(r),I=recurseObjectProperties(o.index,o.key,o.value,o.depth,!o.collapsed,a,l,g,c,!1,s);I&&(a.children=a.children.map(d=>d.id===I.id?I:d),l.set(I.id,I),l.set(a.id,a),n.set(l),r.set(c))},expandAllNodesToNode(o){function s(l,g){g&&(l.set(g.id,Object.assign(Object.assign({},g),{collapsed:!1})),g.parentId&&s(l,l.get(g.parentId)))}const a=new Map(get_store_value(n));s(a,a.get(o)),n.set(a)}}};function add_css$h(t){append_styles(t,"svelte-ngcjq5","ul.svelte-ngcjq5.svelte-ngcjq5{display:flex;flex-direction:column;height:max-content;list-style:none;padding:0;padding-left:var(--tree-view-left-indent);margin:0;width:100%}li.svelte-ngcjq5.svelte-ngcjq5{align-items:baseline;display:flex;height:max-content;line-height:var(--tree-view-line-height);list-style:none;width:100%}li.svelte-ngcjq5+li.svelte-ngcjq5{margin-top:0.25em}.empty-block.svelte-ngcjq5.svelte-ngcjq5{visibility:hidden}.node-key.svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base0D);margin-right:var(--tree-view-key-margin-right)}.node-key.has-children.svelte-ngcjq5.svelte-ngcjq5{cursor:pointer}.node-key.p-left.svelte-ngcjq5.svelte-ngcjq5{padding-left:1.1em}.node-value.svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base0B);margin-right:0.5em;word-break:break-all}.node-value[data-type=number].svelte-ngcjq5.svelte-ngcjq5,.node-value[data-type=boolean].svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base09)}.node-value[data-type=null].svelte-ngcjq5.svelte-ngcjq5,.node-value[data-type=undefined].svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base08)}.node-value.expanded.svelte-ngcjq5.svelte-ngcjq5{color:var(--tree-view-base03)}.node-value.has-children.svelte-ngcjq5.svelte-ngcjq5{cursor:pointer}.arrow-btn.svelte-ngcjq5.svelte-ngcjq5{background:transparent;border:0;color:var(--tree-view-base0D);cursor:pointer;margin-right:0.7em;padding:0;transition:all 150ms ease 0s;transform:rotateZ(90deg);transform-origin:47% 43%;position:relative;line-height:1.1em;font-size:0.75em}.arrow-btn.collapsed.svelte-ngcjq5.svelte-ngcjq5{transform:rotateZ(0deg)}.buttons.svelte-ngcjq5.svelte-ngcjq5{display:flex;flex-wrap:wrap}.log-copy-button.svelte-ngcjq5.svelte-ngcjq5{background:transparent;border:0;color:var(--tree-view-base0D);cursor:pointer;margin:0;padding:0 0.5em}.log-copy-button.svelte-ngcjq5.svelte-ngcjq5:hover{background:rgba(255, 162, 177, 0.4);border-radius:2px;color:var(--tree-view-base07)}")}function get_each_context$7(t,e,A){const n=t.slice();return n[14]=e[A],n}function create_if_block_4$3(t){let e,A,n,r,o;return{c(){e=element("button"),A=text("▶"),attr(e,"class",n=null_to_empty("arrow-btn ".concat(t[0].collapsed?"collapsed":""))+" svelte-ngcjq5")},m(s,a){insert(s,e,a),append(e,A),r||(o=listen(e,"click",t[9]),r=!0)},p(s,a){a&1&&n!==(n=null_to_empty("arrow-btn ".concat(s[0].collapsed?"collapsed":""))+" svelte-ngcjq5")&&attr(e,"class",n)},d(s){s&&detach(e),r=!1,o()}}}function create_else_block$8(t){let e=t[5].formatValue(t[0].value,t[0])+"",A;return{c(){A=text(e)},m(n,r){insert(n,A,r)},p(n,r){r&1&&e!==(e=n[5].formatValue(n[0].value,n[0])+"")&&set_data(A,e)},i:noop,o:noop,d(n){n&&detach(A)}}}function create_if_block_3$4(t){let e,A,n;var r=t[3];function o(s,a){return{props:{value:s[0].value,node:s[0],defaultFormatter:s[10]}}}return r&&(e=construct_svelte_component(r,o(t))),{c(){e&&create_component(e.$$.fragment),A=empty()},m(s,a){e&&mount_component(e,s,a),insert(s,A,a),n=!0},p(s,a){if(a&8&&r!==(r=s[3])){if(e){group_outros();const l=e;transition_out(l.$$.fragment,1,0,()=>{destroy_component(l,1)}),check_outros()}r?(e=construct_svelte_component(r,o(s)),create_component(e.$$.fragment),transition_in(e.$$.fragment,1),mount_component(e,A.parentNode,A)):e=null}else if(r){const l={};a&1&&(l.value=s[0].value),a&1&&(l.node=s[0]),e.$set(l)}},i(s){n||(e&&transition_in(e.$$.fragment,s),n=!0)},o(s){e&&transition_out(e.$$.fragment,s),n=!1},d(s){s&&detach(A),e&&destroy_component(e,s)}}}function create_if_block_2$5(t){let e,A,n;return{c(){e=element("button"),e.textContent="log",attr(e,"class","log-copy-button svelte-ngcjq5")},m(r,o){insert(r,e,o),A||(n=listen(e,"click",t[7]),A=!0)},p:noop,d(r){r&&detach(e),A=!1,n()}}}function create_if_block_1$6(t){let e,A,n;return{c(){e=element("button"),e.textContent="copy",attr(e,"class","log-copy-button svelte-ngcjq5")},m(r,o){insert(r,e,o),A||(n=listen(e,"click",t[8]),A=!0)},p:noop,d(r){r&&detach(e),A=!1,n()}}}function create_if_block$9(t){let e,A,n,r=ensure_array_like(t[0].children),o=[];for(let a=0;a<r.length;a+=1)o[a]=create_each_block$7(get_each_context$7(t,r,a));const s=a=>transition_out(o[a],1,1,()=>{o[a]=null});return{c(){e=element("li"),A=element("ul");for(let a=0;a<o.length;a+=1)o[a].c();attr(A,"class","svelte-ngcjq5"),attr(e,"class","row svelte-ngcjq5")},m(a,l){insert(a,e,l),append(e,A);for(let g=0;g<o.length;g+=1)o[g]&&o[g].m(A,null);n=!0},p(a,l){if(l&1){r=ensure_array_like(a[0].children);let g;for(g=0;g<r.length;g+=1){const c=get_each_context$7(a,r,g);o[g]?(o[g].p(c,l),transition_in(o[g],1)):(o[g]=create_each_block$7(c),o[g].c(),transition_in(o[g],1),o[g].m(A,null))}for(group_outros(),g=r.length;g<o.length;g+=1)s(g);check_outros()}},i(a){if(!n){for(let l=0;l<r.length;l+=1)transition_in(o[l]);n=!0}},o(a){o=o.filter(Boolean);for(let l=0;l<o.length;l+=1)transition_out(o[l]);n=!1},d(a){a&&detach(e),destroy_each(o,a)}}}function create_each_block$7(t){let e,A;return e=new TreeViewNode({props:{id:t[14].id}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){const o={};r&1&&(o.id=n[14].id),e.$set(o)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_fragment$h(t){let e,A,n,r=t[0].key+"",o,s,a,l,g,c,I,d,h,u,B,E,f,Q,p,m,y=t[2]&&create_if_block_4$3(t);const w=[create_if_block_3$4,create_else_block$8],D=[];function _(N,b){return N[3]?0:1}g=_(t),c=D[g]=w[g](t);let k=t[1].showLogButton&&create_if_block_2$5(t),S=t[1].showCopyButton&&create_if_block_1$6(t),F=!t[0].collapsed&&t[2]&&create_if_block$9(t);return{c(){e=element("li"),y&&y.c(),A=space(),n=element("div"),o=text(r),s=text(":"),a=space(),l=element("div"),c.c(),d=space(),h=element("div"),k&&k.c(),u=space(),S&&S.c(),E=space(),F&&F.c(),f=empty(),attr(n,"class","node-key svelte-ngcjq5"),attr(n,"role","presentation"),toggle_class(n,"has-children",t[2]),toggle_class(n,"p-left",!t[2]),attr(l,"class","node-value svelte-ngcjq5"),attr(l,"data-type",I=t[0].type),attr(l,"role","presentation"),toggle_class(l,"expanded",!t[0].collapsed&&t[2]),toggle_class(l,"has-children",t[2]),attr(h,"class","buttons svelte-ngcjq5"),attr(e,"class","row svelte-ngcjq5"),attr(e,"data-tree-id",B=t[0].id),toggle_class(e,"collapsed",t[0].collapsed&&t[2])},m(N,b){insert(N,e,b),y&&y.m(e,null),append(e,A),append(e,n),append(n,o),append(n,s),append(e,a),append(e,l),D[g].m(l,null),append(e,d),append(e,h),k&&k.m(h,null),append(h,u),S&&S.m(h,null),insert(N,E,b),F&&F.m(N,b),insert(N,f,b),Q=!0,p||(m=[listen(n,"click",t[9]),listen(l,"click",t[9])],p=!0)},p(N,b){let[R]=b;N[2]?y?y.p(N,R):(y=create_if_block_4$3(N),y.c(),y.m(e,A)):y&&(y.d(1),y=null),(!Q||R&1)&&r!==(r=N[0].key+"")&&set_data(o,r),(!Q||R&4)&&toggle_class(n,"has-children",N[2]),(!Q||R&4)&&toggle_class(n,"p-left",!N[2]);let v=g;g=_(N),g===v?D[g].p(N,R):(group_outros(),transition_out(D[v],1,1,()=>{D[v]=null}),check_outros(),c=D[g],c?c.p(N,R):(c=D[g]=w[g](N),c.c()),transition_in(c,1),c.m(l,null)),(!Q||R&1&&I!==(I=N[0].type))&&attr(l,"data-type",I),(!Q||R&5)&&toggle_class(l,"expanded",!N[0].collapsed&&N[2]),(!Q||R&4)&&toggle_class(l,"has-children",N[2]),N[1].showLogButton?k?k.p(N,R):(k=create_if_block_2$5(N),k.c(),k.m(h,u)):k&&(k.d(1),k=null),N[1].showCopyButton?S?S.p(N,R):(S=create_if_block_1$6(N),S.c(),S.m(h,null)):S&&(S.d(1),S=null),(!Q||R&1&&B!==(B=N[0].id))&&attr(e,"data-tree-id",B),(!Q||R&5)&&toggle_class(e,"collapsed",N[0].collapsed&&N[2]),!N[0].collapsed&&N[2]?F?(F.p(N,R),R&5&&transition_in(F,1)):(F=create_if_block$9(N),F.c(),transition_in(F,1),F.m(f.parentNode,f)):F&&(group_outros(),transition_out(F,1,1,()=>{F=null}),check_outros())},i(N){Q||(transition_in(c),transition_in(F),Q=!0)},o(N){transition_out(c),transition_out(F),Q=!1},d(N){N&&(detach(e),detach(E),detach(f)),y&&y.d(),D[g].d(),k&&k.d(),S&&S.d(),F&&F.d(N),p=!1,run_all(m)}}}function instance$h(t,e,A){let n,r,o,s,a,l=noop,g=()=>(l(),l=subscribe(r,p=>A(1,a=p)),r);t.$$.on_destroy.push(()=>l());let{id:c}=e;const{treeStore:I,propsStore:d,rootElementStore:h}=getContext$1("svelte-tree-view");component_subscribe(t,h,p=>A(12,s=p));let u;I.treeMap.subscribe(p=>{const m=p.get(c);m&&u!==m&&A(0,u=m)});function B(){console.info("%c [svelte-tree-view]: Property added to window._node","color: #b8e248"),console.log(u.value);try{typeof window<"u"&&(window._node=u.value)}catch{console.error("Failed to set _node, window was undefined")}}function E(){try{navigator.clipboard.writeText(JSON.stringify(u.value))}catch(p){console.error("Copying node to clipboard failed: ",p)}}function f(){var p;n?I.toggleCollapse(u.id):u.circularOfId&&(I.expandAllNodesToNode(u.circularOfId),(p=s?.querySelector('li[data-tree-id="'.concat(u.circularOfId,'"]')))===null||p===void 0||p.scrollIntoView())}function Q(p){return d.formatValue(p,u)}return t.$$set=p=>{"id"in p&&A(11,c=p.id)},t.$$.update=()=>{if(t.$$.dirty&2048){let p=I.getNode(c);if(!p)throw Error("[svelte-tree-view] TreeViewNode.svelte received undefined node from treeMapStore whereas it should be already unmounted!");A(0,u=p)}t.$$.dirty&1&&A(2,n=u&&u.children.length>0),t.$$.dirty&2&&A(3,o=a.valueComponent)},g(A(4,r=d.props)),[u,a,n,o,r,d,h,B,E,f,Q,c]}class TreeViewNode extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$h,create_fragment$h,safe_not_equal,{id:11},add_css$h)}}function add_css$g(t){append_styles(t,"svelte-167awo5",":root{--tree-view-font-family:'Helvetica Neue', 'Calibri Light', Roboto, sans-serif;--tree-view-font-size:13px;--tree-view-left-indent:0.875em;--tree-view-line-height:1.1;--tree-view-key-margin-right:0.5em}ul.svelte-167awo5{background:var(--tree-view-base00);font-family:var(--tree-view-font-family);font-size:var(--tree-view-font-size);height:max-content;list-style:none;margin:0;padding:0;width:max-content}")}function get_each_context$6(t,e,A){const n=t.slice();return n[18]=e[A],n}function create_each_block$6(t){let e,A;return e=new TreeViewNode({props:{id:t[18].id}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){const o={};r&4&&(o.id=n[18].id),e.$set(o)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_fragment$g(t){let e,A,n,r=ensure_array_like(t[2].children),o=[];for(let a=0;a<r.length;a+=1)o[a]=create_each_block$6(get_each_context$6(t,r,a));const s=a=>transition_out(o[a],1,1,()=>{o[a]=null});return{c(){e=element("ul");for(let a=0;a<o.length;a+=1)o[a].c();attr(e,"class",A=null_to_empty("".concat(t[3].class||""," svelte-tree-view"))+" svelte-167awo5")},m(a,l){insert(a,e,l);for(let g=0;g<o.length;g+=1)o[g]&&o[g].m(e,null);t[13](e),n=!0},p(a,l){let[g]=l;if(g&4){r=ensure_array_like(a[2].children);let c;for(c=0;c<r.length;c+=1){const I=get_each_context$6(a,r,c);o[c]?(o[c].p(I,g),transition_in(o[c],1)):(o[c]=create_each_block$6(I),o[c].c(),transition_in(o[c],1),o[c].m(e,null))}for(group_outros(),c=r.length;c<o.length;c+=1)s(c);check_outros()}(!n||g&8&&A!==(A=null_to_empty("".concat(a[3].class||""," svelte-tree-view"))+" svelte-167awo5"))&&attr(e,"class",A)},i(a){if(!n){for(let l=0;l<r.length;l+=1)transition_in(o[l]);n=!0}},o(a){o=o.filter(Boolean);for(let l=0;l<o.length;l+=1)transition_out(o[l]);n=!1},d(a){a&&detach(e),destroy_each(o,a),t[13](null)}}}function instance$g(t,e,A){let n,r,o=noop,s=()=>(o(),o=subscribe(n,w=>A(2,r=w)),n);t.$$.on_destroy.push(()=>o());var a;let{data:l,theme:g=void 0,showLogButton:c=!1,showCopyButton:I=!1,valueComponent:d=void 0,recursionOpts:h={},valueFormatter:u=void 0}=e,B=null;const E={maxDepth:16,omitKeys:[],stopCircularRecursion:!1,shouldExpandNode:()=>!1};let f={showLogButton:c,showCopyButton:I,valueComponent:d,recursionOpts:{...E,...h},valueFormatter:u};const Q=createPropsStore(f),p=createRootElementStore(),m=createTreeStore(Q);setContext$1("svelte-tree-view",{propsStore:Q,rootElementStore:p,treeStore:m}),onMount(()=>{p.set(B)});function y(w){binding_callbacks[w?"unshift":"push"](()=>{B=w,A(0,B)})}return t.$$set=w=>{A(3,e=assign(assign({},e),exclude_internal_props(w))),"data"in w&&A(4,l=w.data),"theme"in w&&A(5,g=w.theme),"showLogButton"in w&&A(6,c=w.showLogButton),"showCopyButton"in w&&A(7,I=w.showCopyButton),"valueComponent"in w&&A(8,d=w.valueComponent),"recursionOpts"in w&&A(9,h=w.recursionOpts),"valueFormatter"in w&&A(10,u=w.valueFormatter)},t.$$.update=()=>{if(t.$$.dirty&5568&&A(12,f={showLogButton:c,showCopyButton:I,valueComponent:d,valueFormatter:u,recursionOpts:f.recursionOpts}),t.$$.dirty&6672){const w={...E,...h},D=(A(11,a=f?.recursionOpts)===null||a===void 0?void 0:a.shouldExpandNode)!==w.shouldExpandNode,_=get_store_value(m.treeMap),{treeMap:k,tree:S,iteratedValues:F}=recomputeTree(l,_,w,D);m.init(S,k,F),A(12,f.recursionOpts=w,f),Q.setProps(f)}if(t.$$.dirty&33&&g&&B){let w;for(w in g){const D=g[w];B&&w.includes("base")&&D&&B.style.setProperty("--tree-view-".concat(w),D)}}},s(A(1,n=m.tree)),e=exclude_internal_props(e),[B,n,r,e,l,g,c,I,d,h,u,a,f,y]}class TreeView extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$g,create_fragment$g,safe_not_equal,{data:4,theme:5,showLogButton:6,showCopyButton:7,valueComponent:8,recursionOpts:9,valueFormatter:10},add_css$g)}}function add_css$f(t){append_styles(t,"svelte-fdudio",".split-view.svelte-fdudio{border-top:1px solid rgba(255, 162, 177, 0.2);color:#fff;display:flex;height:calc(100% - var(--height-tabs-menu));width:100%}.split-view h2{color:rgb(187, 145, 163);font-family:var(--font-sans);font-size:var(--font-medium);font-weight:400;letter-spacing:1px;margin:0;text-transform:uppercase}.split-view > .left-panel{display:flex;flex-direction:column;flex-grow:1;overflow:scroll;padding:1em}.split-view > .right-panel{border-left:1px solid rgba(255, 162, 177, 0.2);display:flex;flex-direction:column;flex-grow:1;overflow:scroll;padding:1em}.split-view .hidden{visibility:hidden}")}const get_right_slot_changes=t=>({}),get_right_slot_context=t=>({class:"right-panel"}),get_left_slot_changes=t=>({}),get_left_slot_context=t=>({class:"left-panel"});function create_fragment$f(t){let e,A,n;const r=t[1].left,o=create_slot(r,t,t[0],get_left_slot_context),s=t[1].right,a=create_slot(s,t,t[0],get_right_slot_context);return{c(){e=element("section"),o&&o.c(),A=space(),a&&a.c(),attr(e,"class","split-view svelte-fdudio")},m(l,g){insert(l,e,g),o&&o.m(e,null),append(e,A),a&&a.m(e,null),n=!0},p(l,g){let[c]=g;o&&o.p&&(!n||c&1)&&update_slot_base(o,r,l,l[0],n?get_slot_changes(r,l[0],c,get_left_slot_changes):get_all_dirty_from_scope(l[0]),get_left_slot_context),a&&a.p&&(!n||c&1)&&update_slot_base(a,s,l,l[0],n?get_slot_changes(s,l[0],c,get_right_slot_changes):get_all_dirty_from_scope(l[0]),get_right_slot_context)},i(l){n||(transition_in(o,l),transition_in(a,l),n=!0)},o(l){transition_out(o,l),transition_out(a,l),n=!1},d(l){l&&detach(e),o&&o.d(l),a&&a.d(l)}}}function instance$f(t,e,A){let{$$slots:n={},$$scope:r}=e;return t.$$set=o=>{"$$scope"in o&&A(0,r=o.$$scope)},[r,n]}class SplitView extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$f,create_fragment$f,safe_not_equal,{},add_css$f)}}function add_css$e(t){append_styles(t,"svelte-it3v6s","button.svelte-it3v6s{background:transparent;border:0;border-radius:2px;color:#d3d3d9;cursor:pointer;font-family:var(--font-family);font-size:var(--font-small);font-weight:400;padding:6px 10px;text-transform:uppercase}button.svelte-it3v6s:hover{background:rgba(255, 162, 177, 0.4);color:#fff}button.selected.svelte-it3v6s{background:rgba(255, 162, 177, 0.4)}")}function create_fragment$e(t){let e,A,n,r,o;const s=t[3].default,a=create_slot(s,t,t[2],null);return{c(){e=element("button"),a&&a.c(),attr(e,"class",A=null_to_empty("".concat(t[1].class||""))+" svelte-it3v6s"),toggle_class(e,"selected",t[0])},m(l,g){insert(l,e,g),a&&a.m(e,null),n=!0,r||(o=[listen(e,"click",t[4]),listen(e,"mouseover",t[5]),listen(e,"mouseenter",t[6]),listen(e,"mouseleave",t[7]),listen(e,"focus",t[8])],r=!0)},p(l,g){let[c]=g;a&&a.p&&(!n||c&4)&&update_slot_base(a,s,l,l[2],n?get_slot_changes(s,l[2],c,null):get_all_dirty_from_scope(l[2]),null),(!n||c&2&&A!==(A=null_to_empty("".concat(l[1].class||""))+" svelte-it3v6s"))&&attr(e,"class",A),(!n||c&3)&&toggle_class(e,"selected",l[0])},i(l){n||(transition_in(a,l),n=!0)},o(l){transition_out(a,l),n=!1},d(l){l&&detach(e),a&&a.d(l),r=!1,run_all(o)}}}function instance$e(t,e,A){let{$$slots:n={},$$scope:r}=e,{selected:o=!1}=e;function s(I){bubble.call(this,t,I)}function a(I){bubble.call(this,t,I)}function l(I){bubble.call(this,t,I)}function g(I){bubble.call(this,t,I)}function c(I){bubble.call(this,t,I)}return t.$$set=I=>{A(1,e=assign(assign({},e),exclude_internal_props(I))),"selected"in I&&A(0,o=I.selected),"$$scope"in I&&A(2,r=I.$$scope)},e=exclude_internal_props(e),[o,e,r,n,s,a,l,g,c]}class Button extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$e,create_fragment$e,safe_not_equal,{selected:0},add_css$e)}}function add_css$d(t){append_styles(t,"svelte-8c7oqn",'@charset "UTF-8";.top-row.svelte-8c7oqn{align-items:center;display:flex;justify-content:space-between}.left-panel[slot=left].svelte-8c7oqn{overflow:scroll}.right-panel[slot=right].svelte-8c7oqn{border-left:1px solid rgba(255, 162, 177, 0.2);flex-grow:0;min-width:200px;width:200px}.split-view .selection-btn{height:24px;width:35px}.caret-icon.svelte-8c7oqn::before{content:"▶"}.caret-icon.expanded.svelte-8c7oqn::before{content:"▼"}.no-marks.svelte-8c7oqn{color:#85d9ef;margin:0.5em 0 1.25em 1em}.split-view .tree-view{margin:0.5em 0 1.25em 0}')}function create_default_slot_1$4(t){let e;return{c(){e=text("log")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_left_slot$4(t){let e,A,n,r,o,s,a,l;return o=new Button({props:{$$slots:{default:[create_default_slot_1$4]},$$scope:{ctx:t}}}),o.$on("click",t[6]),a=new TreeView({props:{class:"tree-view",data:t[0],showLogButton:!0,showCopyButton:!0,valueFormatter:formatDocNodeValue}}),{c(){e=element("div"),A=element("div"),n=element("h2"),n.textContent="Current doc",r=space(),create_component(o.$$.fragment),s=space(),create_component(a.$$.fragment),attr(A,"class","top-row svelte-8c7oqn"),attr(e,"slot","left"),attr(e,"class","left-panel svelte-8c7oqn")},m(g,c){insert(g,e,c),append(e,A),append(A,n),append(A,r),mount_component(o,A,null),append(e,s),mount_component(a,e,null),l=!0},p(g,c){const I={};c&1024&&(I.$$scope={dirty:c,ctx:g}),o.$set(I);const d={};c&1&&(d.data=g[0]),a.$set(d)},i(g){l||(transition_in(o.$$.fragment,g),transition_in(a.$$.fragment,g),l=!0)},o(g){transition_out(o.$$.fragment,g),transition_out(a.$$.fragment,g),l=!1},d(g){g&&detach(e),destroy_component(o),destroy_component(a)}}}function create_default_slot$4(t){let e;return{c(){e=element("span"),attr(e,"class","caret-icon svelte-8c7oqn"),toggle_class(e,"expanded",t[5])},m(A,n){insert(A,e,n)},p(A,n){n&32&&toggle_class(e,"expanded",A[5])},d(A){A&&detach(e)}}}function create_else_block$7(t){let e,A;return e=new TreeView({props:{class:"tree-view",data:t[2]}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){const o={};r&4&&(o.data=n[2]),e.$set(o)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_if_block$8(t){let e;return{c(){e=element("div"),e.textContent="No active marks",attr(e,"class","no-marks svelte-8c7oqn")},m(A,n){insert(A,e,n)},p:noop,i:noop,o:noop,d(A){A&&detach(e)}}}function create_right_slot$5(t){let e,A,n,r,o,s,a,l,g,c,I,d,h,u,B,E,f,Q,p;o=new Button({props:{class:"selection-btn",$$slots:{default:[create_default_slot$4]},$$scope:{ctx:t}}}),o.$on("click",t[7]),a=new TreeView({props:{class:"tree-view",data:t[1]}});const m=[create_if_block$8,create_else_block$7],y=[];function w(D,_){return D[2].length===0?0:1}return d=w(t),h=y[d]=m[d](t),Q=new TreeView({props:{class:"tree-view",data:{nodeSize:t[3],childCount:t[4]}}}),{c(){e=element("div"),A=element("div"),n=element("h2"),n.textContent="Selection",r=space(),create_component(o.$$.fragment),s=space(),create_component(a.$$.fragment),l=space(),g=element("div"),c=element("h2"),c.textContent="Active marks",I=space(),h.c(),u=space(),B=element("div"),E=element("h2"),E.textContent="Document stats",f=space(),create_component(Q.$$.fragment),attr(A,"class","top-row svelte-8c7oqn"),attr(e,"slot","right"),attr(e,"class","right-panel svelte-8c7oqn")},m(D,_){insert(D,e,_),append(e,A),append(A,n),append(A,r),mount_component(o,A,null),append(e,s),mount_component(a,e,null),append(e,l),append(e,g),append(g,c),append(g,I),y[d].m(g,null),append(e,u),append(e,B),append(B,E),append(B,f),mount_component(Q,B,null),p=!0},p(D,_){const k={};_&1056&&(k.$$scope={dirty:_,ctx:D}),o.$set(k);const S={};_&2&&(S.data=D[1]),a.$set(S);let F=d;d=w(D),d===F?y[d].p(D,_):(group_outros(),transition_out(y[F],1,1,()=>{y[F]=null}),check_outros(),h=y[d],h?h.p(D,_):(h=y[d]=m[d](D),h.c()),transition_in(h,1),h.m(g,null));const N={};_&24&&(N.data={nodeSize:D[3],childCount:D[4]}),Q.$set(N)},i(D){p||(transition_in(o.$$.fragment,D),transition_in(a.$$.fragment,D),transition_in(h),transition_in(Q.$$.fragment,D),p=!0)},o(D){transition_out(o.$$.fragment,D),transition_out(a.$$.fragment,D),transition_out(h),transition_out(Q.$$.fragment,D),p=!1},d(D){D&&detach(e),destroy_component(o),destroy_component(a),y[d].d(),destroy_component(Q)}}}function create_fragment$d(t){let e,A;return e=new SplitView({props:{$$slots:{right:[create_right_slot$5],left:[create_left_slot$4]},$$scope:{ctx:t}}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){let[o]=r;const s={};o&1087&&(s.$$scope={dirty:o,ctx:n}),e.$set(s)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function formatDocNodeValue(t,e){if(e.type==="object"&&t.type)return"{} ".concat(t.type)}function instance$d(t,e,A){const{view:n}=getContext("editor-view");let r=n.state.doc.toJSON(),o=createSelection(n.state.selection),s=n.state,a=[],l=n.state.doc.nodeSize,g=n.state.doc.childCount,c=!1;latestEntry.subscribe(h=>{if(!h)return;const{state:u}=h;s=u,A(0,r=u.doc.toJSON()),A(1,o=c?createFullSelection(u.selection):createSelection(u.selection)),A(2,a=getActiveMarks(u)),A(3,l=u.doc.nodeSize),A(4,g=u.doc.childCount)});function I(){console.log(r),window._doc=r}function d(){A(5,c=!c),c?A(1,o=createFullSelection(s.selection)):A(1,o=createSelection(s.selection))}return[r,o,a,l,g,c,I,d]}class StateTab extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$d,create_fragment$d,safe_not_equal,{},add_css$d)}}function mapSelectionDeltaChildren(t,e,A){if(e==="array")return[]}function mapDocDeltaChildren(t,e){if(e==="array"&&t[1]===0&&t[2]===0)return[];if(e==="array"&&typeof t[0]=="string"&&t[1]===0&&t[2]===2)return[];if(e==="array"&&t.length===1&&typeof t[0]=="object")return[];if(e!=="object"||t._t!=="a")return;const A=[];for(const n in t)n!=="_t"&&(n.charAt(0)==="_"?A.push([n.substr(1),t[n]]):A.push([n,t[n]]));return A}function add_css$c(t){append_styles(t,"svelte-vbjxb8",'@charset "UTF-8";ul.svelte-vbjxb8.svelte-vbjxb8{color:#fff;list-style:none;margin:0;padding:0;height:100%;width:100%}li.svelte-vbjxb8.svelte-vbjxb8{transition:background 0.7s ease}li.svelte-vbjxb8.svelte-vbjxb8:hover{background:rgba(255, 162, 177, 0.4);color:#fff}li.selected.svelte-vbjxb8.svelte-vbjxb8{background:rgba(255, 162, 177, 0.4)}li.svelte-vbjxb8+li.svelte-vbjxb8{border-top:1px solid rgb(96, 76, 104)}button.svelte-vbjxb8.svelte-vbjxb8{background:transparent;border:0;color:#d3d3d9;cursor:pointer;display:flex;font-family:monospace;font-size:var(--font-medium);justify-content:space-between;padding:6px 18px;text-transform:uppercase;width:100%}button.p-left.svelte-vbjxb8.svelte-vbjxb8{margin-left:1em}.caret-icon.svelte-vbjxb8.svelte-vbjxb8::before{content:"▶"}.caret-icon.expanded.svelte-vbjxb8.svelte-vbjxb8::before{content:"▼"}')}function get_each_context$5(t,e,A){const n=t.slice();return n[6]=e[A],n[8]=A,n}function get_each_context_1(t,e,A){const n=t.slice();return n[9]=e[A],n}function create_if_block_3$3(t){let e,A=t[6].entries.length+"",n,r;return{c(){e=text("["),n=text(A),r=text("]")},m(o,s){insert(o,e,s),insert(o,n,s),insert(o,r,s)},p(o,s){s&1&&A!==(A=o[6].entries.length+"")&&set_data(n,A)},d(o){o&&(detach(e),detach(n),detach(r))}}}function create_if_block_2$4(t){let e,A=t[6].topEntry.trs.length-1+"",n;return{c(){e=text("+"),n=text(A)},m(r,o){insert(r,e,o),insert(r,n,o)},p(r,o){o&1&&A!==(A=r[6].topEntry.trs.length-1+"")&&set_data(n,A)},d(r){r&&(detach(e),detach(n))}}}function create_if_block_1$5(t){let e;return{c(){e=element("span"),attr(e,"class","caret-icon svelte-vbjxb8"),toggle_class(e,"expanded",t[6].expanded)},m(A,n){insert(A,e,n)},p(A,n){n&1&&toggle_class(e,"expanded",A[6].expanded)},d(A){A&&detach(e)}}}function create_if_block$7(t){let e=[],A=new Map,n,r=ensure_array_like(t[6].entries);const o=s=>{var a;return(a=s[9])===null||a===void 0?void 0:a.id};for(let s=0;s<r.length;s+=1){let a=get_each_context_1(t,r,s),l=o(a);A.set(l,e[s]=create_each_block_1(l,a))}return{c(){for(let s=0;s<e.length;s+=1)e[s].c();n=empty()},m(s,a){for(let l=0;l<e.length;l+=1)e[l]&&e[l].m(s,a);insert(s,n,a)},p(s,a){a&7&&(r=ensure_array_like(s[6].entries),e=update_keyed_each(e,a,o,1,s,r,A,n.parentNode,destroy_block,create_each_block_1,n,get_each_context_1))},d(s){s&&detach(n);for(let a=0;a<e.length;a+=1)e[a].d(s)}}}function create_each_block_1(t,e){var A;let n,r,o=((A=e[9])===null||A===void 0?void 0:A.timeStr)+"",s,a,l,g;function c(){return e[5](e[9],e[8])}return{key:t,first:null,c(){var I;n=element("li"),r=element("button"),s=text(o),a=space(),attr(r,"class","p-left svelte-vbjxb8"),attr(n,"class","svelte-vbjxb8"),toggle_class(n,"selected",e[1]===((I=e[9])===null||I===void 0?void 0:I.id)),this.first=n},m(I,d){insert(I,n,d),append(n,r),append(r,s),append(n,a),l||(g=listen(r,"click",c),l=!0)},p(I,d){var h;if(e=I,d&1&&o!==(o=((h=e[9])===null||h===void 0?void 0:h.timeStr)+"")&&set_data(s,o),d&3){var u;toggle_class(n,"selected",e[1]===((u=e[9])===null||u===void 0?void 0:u.id))}},d(I){I&&detach(n),l=!1,g()}}}function create_each_block$5(t,e){var A;let n,r,o,s=((A=e[6])===null||A===void 0||(A=A.topEntry)===null||A===void 0?void 0:A.timeStr)+"",a,l,g,c,I,d,h,u,B=e[6].isGroup&&create_if_block_3$3(e),E=e[6].topEntry&&e[6].topEntry.trs.length>1&&create_if_block_2$4(e),f=e[6].isGroup&&e[6].entries.length>1&&create_if_block_1$5(e);function Q(){return e[3](e[6],e[8])}function p(){return e[4](e[6])}let m=e[6].isGroup&&e[6].expanded&&create_if_block$7(e);return{key:t,first:null,c(){var y;n=element("li"),r=element("button"),o=element("span"),a=text(s),l=space(),B&&B.c(),g=space(),E&&E.c(),c=space(),f&&f.c(),I=space(),m&&m.c(),d=empty(),attr(r,"class","svelte-vbjxb8"),toggle_class(r,"is-group",e[6].isGroup),attr(n,"class","svelte-vbjxb8"),toggle_class(n,"selected",!e[6].expanded&&e[1]===((y=e[6])===null||y===void 0||(y=y.topEntry)===null||y===void 0?void 0:y.id)),this.first=n},m(y,w){insert(y,n,w),append(n,r),append(r,o),append(o,a),append(o,l),B&&B.m(o,null),append(o,g),E&&E.m(o,null),append(r,c),f&&f.m(r,null),insert(y,I,w),m&&m.m(y,w),insert(y,d,w),h||(u=[listen(r,"click",Q),listen(r,"dblclick",p)],h=!0)},p(y,w){var D;if(e=y,w&1&&s!==(s=((D=e[6])===null||D===void 0||(D=D.topEntry)===null||D===void 0?void 0:D.timeStr)+"")&&set_data(a,s),e[6].isGroup?B?B.p(e,w):(B=create_if_block_3$3(e),B.c(),B.m(o,g)):B&&(B.d(1),B=null),e[6].topEntry&&e[6].topEntry.trs.length>1?E?E.p(e,w):(E=create_if_block_2$4(e),E.c(),E.m(o,null)):E&&(E.d(1),E=null),e[6].isGroup&&e[6].entries.length>1?f?f.p(e,w):(f=create_if_block_1$5(e),f.c(),f.m(r,null)):f&&(f.d(1),f=null),w&1&&toggle_class(r,"is-group",e[6].isGroup),w&3){var _;toggle_class(n,"selected",!e[6].expanded&&e[1]===((_=e[6])===null||_===void 0||(_=_.topEntry)===null||_===void 0?void 0:_.id))}e[6].isGroup&&e[6].expanded?m?m.p(e,w):(m=create_if_block$7(e),m.c(),m.m(d.parentNode,d)):m&&(m.d(1),m=null)},d(y){y&&(detach(n),detach(I),detach(d)),B&&B.d(),E&&E.d(),f&&f.d(),m&&m.d(y),h=!1,run_all(u)}}}function create_fragment$c(t){let e,A=[],n=new Map,r=ensure_array_like(t[0]);const o=s=>s[6].id;for(let s=0;s<r.length;s+=1){let a=get_each_context$5(t,r,s),l=o(a);n.set(l,A[s]=create_each_block$5(l,a))}return{c(){e=element("ul");for(let s=0;s<A.length;s+=1)A[s].c();attr(e,"class","svelte-vbjxb8")},m(s,a){insert(s,e,a);for(let l=0;l<A.length;l+=1)A[l]&&A[l].m(e,null)},p(s,a){let[l]=a;l&7&&(r=ensure_array_like(s[0]),A=update_keyed_each(A,l,o,1,s,r,n,e,destroy_block,create_each_block$5,null,get_each_context$5))},i:noop,o:noop,d(s){s&&detach(e);for(let a=0;a<A.length;a+=1)A[a].d()}}}function instance$c(t,e,A){let{listItems:n=[],selectedId:r}=e;const o=createEventDispatcher(),s=(g,c)=>{var I;return o("click-item",{id:g==null||(I=g.topEntry)===null||I===void 0?void 0:I.id,groupIdx:c,wasTopNode:!0})},a=g=>{var c;return o("dblclick-item",{id:g==null||(c=g.topEntry)===null||c===void 0?void 0:c.id})},l=(g,c)=>o("click-item",{id:g?.id,groupIdx:c,wasTopNode:!1});return t.$$set=g=>{"listItems"in g&&A(0,n=g.listItems),"selectedId"in g&&A(1,r=g.selectedId)},[n,r,o,s,a,l]}class HistoryList extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$c,create_fragment$c,safe_not_equal,{listItems:0,selectedId:1},add_css$c)}}function add_css$b(t){append_styles(t,"svelte-1a1oqej",".added.svelte-1a1oqej.svelte-1a1oqej{display:inline-block;background:#87cc86;border-radius:1px;color:green;padding:1px 2px;text-indent:0;min-height:1ex}.deleted.svelte-1a1oqej.svelte-1a1oqej{display:inline-block;background:#d66363;border-radius:1px;color:#222;padding:1px 2px;text-decoration:line-through;text-indent:0;min-height:1ex}.updated.svelte-1a1oqej.svelte-1a1oqej{word-break:break-all}.updated.svelte-1a1oqej .added.svelte-1a1oqej{background:#eaea37}.arrow.svelte-1a1oqej.svelte-1a1oqej{color:#87cc86}")}function get_each_context$4(t,e,A){const n=t.slice();return n[3]=e[A],n}function create_else_block_1$1(t){let e=t[0](t[1])+"",A;return{c(){A=text(e)},m(n,r){insert(n,A,r)},p(n,r){r&3&&e!==(e=n[0](n[1])+"")&&set_data(A,e)},d(n){n&&detach(A)}}}function create_if_block$6(t){let e;function A(o,s){if(o[1].length===1)return create_if_block_1$4;if(o[1].length===2)return create_if_block_2$3;if(o[1].length===3&&o[1][1]===0&&o[1][2]===0)return create_if_block_3$2;if(o[1].length===3&&o[1][2]===2)return create_if_block_4$2}let n=A(t),r=n&&n(t);return{c(){r&&r.c(),e=empty()},m(o,s){r&&r.m(o,s),insert(o,e,s)},p(o,s){n===(n=A(o))&&r?r.p(o,s):(r&&r.d(1),r=n&&n(o),r&&(r.c(),r.m(e.parentNode,e)))},d(o){o&&detach(e),r&&r.d(o)}}}function create_if_block_4$2(t){let e,A=ensure_array_like(parseTextDiff(t[1][0])),n=[];for(let r=0;r<A.length;r+=1)n[r]=create_each_block$4(get_each_context$4(t,A,r));return{c(){e=element("span");for(let r=0;r<n.length;r+=1)n[r].c();attr(e,"class","updated svelte-1a1oqej")},m(r,o){insert(r,e,o);for(let s=0;s<n.length;s+=1)n[s]&&n[s].m(e,null)},p(r,o){if(o&2){A=ensure_array_like(parseTextDiff(r[1][0]));let s;for(s=0;s<A.length;s+=1){const a=get_each_context$4(r,A,s);n[s]?n[s].p(a,o):(n[s]=create_each_block$4(a),n[s].c(),n[s].m(e,null))}for(;s<n.length;s+=1)n[s].d(1);n.length=A.length}},d(r){r&&detach(e),destroy_each(n,r)}}}function create_if_block_3$2(t){let e,A=getValueString(t[1][0])+"",n;return{c(){e=element("span"),n=text(A),attr(e,"class","deleted svelte-1a1oqej")},m(r,o){insert(r,e,o),append(e,n)},p(r,o){o&2&&A!==(A=getValueString(r[1][0])+"")&&set_data(n,A)},d(r){r&&detach(e)}}}function create_if_block_2$3(t){let e,A,n=getValueString(t[1][0])+"",r,o,s,a,l,g=getValueString(t[1][1])+"",c;return{c(){e=element("span"),A=element("span"),r=text(n),o=space(),s=element("span"),s.textContent="=>",a=space(),l=element("span"),c=text(g),attr(A,"class","deleted svelte-1a1oqej"),attr(s,"class","arrow svelte-1a1oqej"),attr(l,"class","added svelte-1a1oqej"),attr(e,"class","updated svelte-1a1oqej")},m(I,d){insert(I,e,d),append(e,A),append(A,r),append(e,o),append(e,s),append(e,a),append(e,l),append(l,c)},p(I,d){d&2&&n!==(n=getValueString(I[1][0])+"")&&set_data(r,n),d&2&&g!==(g=getValueString(I[1][1])+"")&&set_data(c,g)},d(I){I&&detach(e)}}}function create_if_block_1$4(t){let e,A=getValueString(t[1][0])+"",n;return{c(){e=element("span"),n=text(A),attr(e,"class","added svelte-1a1oqej")},m(r,o){insert(r,e,o),append(e,n)},p(r,o){o&2&&A!==(A=getValueString(r[1][0])+"")&&set_data(n,A)},d(r){r&&detach(e)}}}function create_else_block$6(t){let e,A=t[3].raw+"",n;return{c(){e=element("span"),n=text(A)},m(r,o){insert(r,e,o),append(e,n)},p(r,o){o&2&&A!==(A=r[3].raw+"")&&set_data(n,A)},d(r){r&&detach(e)}}}function create_if_block_6(t){let e,A=t[3].add+"",n;return{c(){e=element("span"),n=text(A),attr(e,"class","added svelte-1a1oqej")},m(r,o){insert(r,e,o),append(e,n)},p(r,o){o&2&&A!==(A=r[3].add+"")&&set_data(n,A)},d(r){r&&detach(e)}}}function create_if_block_5$2(t){let e,A=t[3].delete+"",n;return{c(){e=element("span"),n=text(A),attr(e,"class","deleted svelte-1a1oqej")},m(r,o){insert(r,e,o),append(e,n)},p(r,o){o&2&&A!==(A=r[3].delete+"")&&set_data(n,A)},d(r){r&&detach(e)}}}function create_each_block$4(t){let e;function A(o,s){return o[3].delete?create_if_block_5$2:o[3].add?create_if_block_6:create_else_block$6}let n=A(t),r=n(t);return{c(){r.c(),e=empty()},m(o,s){r.m(o,s),insert(o,e,s)},p(o,s){n===(n=A(o))&&r?r.p(o,s):(r.d(1),r=n(o),r&&(r.c(),r.m(e.parentNode,e)))},d(o){o&&detach(e),r.d(o)}}}function create_fragment$b(t){let e,A;function n(s,a){return a&2&&(e=null),e==null&&(e=!!Array.isArray(s[1])),e?create_if_block$6:create_else_block_1$1}let r=n(t,-1),o=r(t);return{c(){o.c(),A=empty()},m(s,a){o.m(s,a),insert(s,A,a)},p(s,a){let[l]=a;r===(r=n(s,l))&&o?o.p(s,l):(o.d(1),o=r(s),o&&(o.c(),o.m(A.parentNode,A)))},i:noop,o:noop,d(s){s&&detach(A),o.d(s)}}}function replaceSpacesWithNonBreakingSpace(t){return t.replace(/\s/gm," ")}function parseTextDiff(t){return t.split(/\n/gm).slice(1).map(A=>({[A.startsWith("-")?"delete":A.startsWith("+")?"add":"raw"]:replaceSpacesWithNonBreakingSpace(A.slice(1))}))}function stringifyAndShrink(t){if(t===null)return"null";const e=JSON.stringify(t);return typeof e>"u"?"undefined":e.length>22?"".concat(e.slice(0,15),"…").concat(e.slice(-5)):e}function getValueString(t){return typeof t=="string"?t:stringifyAndShrink(t)}function instance$b(t,e,A){let n,{node:r,defaultFormatter:o}=e;return t.$$set=s=>{"node"in s&&A(2,r=s.node),"defaultFormatter"in s&&A(0,o=s.defaultFormatter)},t.$$.update=()=>{t.$$.dirty&4&&A(1,n=r.value)},[o,n,r]}class DiffValue extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$b,create_fragment$b,safe_not_equal,{node:2,defaultFormatter:0},add_css$b)}}function add_css$a(t){append_styles(t,"svelte-r7zw98",".left-panel.svelte-r7zw98.svelte-r7zw98{flex-grow:0;padding:0;min-width:190px;width:190px}.title-container.svelte-r7zw98.svelte-r7zw98{align-items:center;display:flex}.transaction-buttons.svelte-r7zw98.svelte-r7zw98{margin-left:2rem}.entry-row.svelte-r7zw98+.entry-row.svelte-r7zw98{margin-top:1em}.selection-html.svelte-r7zw98.svelte-r7zw98{font-weight:100;margin:0.5em 0 0 0;padding:0}.equal-diff.svelte-r7zw98.svelte-r7zw98{align-items:center;color:rgb(255, 162, 177);display:flex;font-size:14px;height:100%;justify-content:center;width:100%}")}function get_each_context$3(t,e,A){const n=t.slice();return n[13]=e[A],n}function create_left_slot$3(t){var e;let A,n,r;return n=new HistoryList({props:{listItems:t[4],selectedId:((e=t[0])===null||e===void 0?void 0:e.id)||""}}),n.$on("click-item",t[7]),n.$on("dblclick-item",t[8]),{c(){A=element("div"),create_component(n.$$.fragment),attr(A,"slot","left"),attr(A,"class","left-panel svelte-r7zw98")},m(o,s){insert(o,A,s),mount_component(n,A,null),r=!0},p(o,s){var a;const l={};s&16&&(l.listItems=o[4]),s&1&&(l.selectedId=((a=o[0])===null||a===void 0?void 0:a.id)||""),n.$set(l)},i(o){r||(transition_in(n.$$.fragment,o),r=!0)},o(o){transition_out(n.$$.fragment,o),r=!1},d(o){o&&detach(A),destroy_component(n)}}}function create_else_block$5(t){let e;return{c(){e=element("div"),e.textContent="Docs are equal.",attr(e,"class","equal-diff svelte-r7zw98")},m(A,n){insert(A,e,n)},p:noop,i:noop,o:noop,d(A){A&&detach(e)}}}function create_if_block$5(t){let e,A,n,r,o,s,a,l,g,c,I,d,h,u=t[0].contentDiff&&create_if_block_5$1(t),B=t[0].selectionDiff&&create_if_block_4$1(t),E=t[0].selectionHtml.length>0&&create_if_block_3$1(t),f=t[1]&&create_if_block_2$2(t);I=new Button({props:{$$slots:{default:[create_default_slot$3]},$$scope:{ctx:t}}}),I.$on("click",t[5]);let Q=t[1]&&create_if_block_1$3(t);return{c(){e=element("div"),u&&u.c(),A=space(),B&&B.c(),n=space(),E&&E.c(),r=space(),o=element("div"),s=element("div"),a=element("h2"),a.textContent="Transactions",l=space(),g=element("div"),f&&f.c(),c=space(),create_component(I.$$.fragment),d=space(),Q&&Q.c(),attr(g,"class","transaction-buttons svelte-r7zw98"),attr(s,"class","title-container svelte-r7zw98"),attr(o,"class","entry-row svelte-r7zw98")},m(p,m){insert(p,e,m),u&&u.m(e,null),append(e,A),B&&B.m(e,null),append(e,n),E&&E.m(e,null),append(e,r),append(e,o),append(o,s),append(s,a),append(s,l),append(s,g),f&&f.m(g,null),append(g,c),mount_component(I,g,null),append(o,d),Q&&Q.m(o,null),h=!0},p(p,m){p[0].contentDiff?u?(u.p(p,m),m&1&&transition_in(u,1)):(u=create_if_block_5$1(p),u.c(),transition_in(u,1),u.m(e,A)):u&&(group_outros(),transition_out(u,1,1,()=>{u=null}),check_outros()),p[0].selectionDiff?B?(B.p(p,m),m&1&&transition_in(B,1)):(B=create_if_block_4$1(p),B.c(),transition_in(B,1),B.m(e,n)):B&&(group_outros(),transition_out(B,1,1,()=>{B=null}),check_outros()),p[0].selectionHtml.length>0?E?(E.p(p,m),m&1&&transition_in(E,1)):(E=create_if_block_3$1(p),E.c(),transition_in(E,1),E.m(e,r)):E&&(group_outros(),transition_out(E,1,1,()=>{E=null}),check_outros()),p[1]?f?(f.p(p,m),m&2&&transition_in(f,1)):(f=create_if_block_2$2(p),f.c(),transition_in(f,1),f.m(g,c)):f&&(group_outros(),transition_out(f,1,1,()=>{f=null}),check_outros());const y={};m&65538&&(y.$$scope={dirty:m,ctx:p}),I.$set(y),p[1]?Q?(Q.p(p,m),m&2&&transition_in(Q,1)):(Q=create_if_block_1$3(p),Q.c(),transition_in(Q,1),Q.m(o,null)):Q&&(group_outros(),transition_out(Q,1,1,()=>{Q=null}),check_outros())},i(p){h||(transition_in(u),transition_in(B),transition_in(E),transition_in(f),transition_in(I.$$.fragment,p),transition_in(Q),h=!0)},o(p){transition_out(u),transition_out(B),transition_out(E),transition_out(f),transition_out(I.$$.fragment,p),transition_out(Q),h=!1},d(p){p&&detach(e),u&&u.d(),B&&B.d(),E&&E.d(),f&&f.d(),destroy_component(I),Q&&Q.d()}}}function create_if_block_5$1(t){let e,A,n,r,o,s,a,l;return o=new Button({props:{class:"hidden",$$slots:{default:[create_default_slot_5]},$$scope:{ctx:t}}}),a=new TreeView({props:{class:"tree-view",data:t[0].contentDiff,showLogButton:!0,showCopyButton:!0,valueComponent:DiffValue,recursionOpts:{maxDepth:12,mapChildren:mapDocDeltaChildren,shouldExpandNode:func$1}}}),{c(){e=element("div"),A=element("div"),n=element("h2"),n.textContent="Doc diff",r=space(),create_component(o.$$.fragment),s=space(),create_component(a.$$.fragment),attr(A,"class","title-container svelte-r7zw98"),attr(e,"class","entry-row svelte-r7zw98")},m(g,c){insert(g,e,c),append(e,A),append(A,n),append(A,r),mount_component(o,A,null),append(e,s),mount_component(a,e,null),l=!0},p(g,c){const I={};c&65536&&(I.$$scope={dirty:c,ctx:g}),o.$set(I);const d={};c&1&&(d.data=g[0].contentDiff),a.$set(d)},i(g){l||(transition_in(o.$$.fragment,g),transition_in(a.$$.fragment,g),l=!0)},o(g){transition_out(o.$$.fragment,g),transition_out(a.$$.fragment,g),l=!1},d(g){g&&detach(e),destroy_component(o),destroy_component(a)}}}function create_default_slot_5(t){let e;return{c(){e=text("log")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_if_block_4$1(t){let e,A,n,r,o,s,a,l;return o=new Button({props:{class:"hidden",$$slots:{default:[create_default_slot_4]},$$scope:{ctx:t}}}),a=new TreeView({props:{class:"tree-view",data:t[0].selectionDiff,valueComponent:DiffValue,recursionOpts:{mapChildren:mapSelectionDeltaChildren,shouldExpandNode:func_1}}}),{c(){e=element("div"),A=element("div"),n=element("h2"),n.textContent="Selection diff",r=space(),create_component(o.$$.fragment),s=space(),create_component(a.$$.fragment),attr(A,"class","title-container svelte-r7zw98"),attr(e,"class","entry-row svelte-r7zw98")},m(g,c){insert(g,e,c),append(e,A),append(A,n),append(A,r),mount_component(o,A,null),append(e,s),mount_component(a,e,null),l=!0},p(g,c){const I={};c&65536&&(I.$$scope={dirty:c,ctx:g}),o.$set(I);const d={};c&1&&(d.data=g[0].selectionDiff),a.$set(d)},i(g){l||(transition_in(o.$$.fragment,g),transition_in(a.$$.fragment,g),l=!0)},o(g){transition_out(o.$$.fragment,g),transition_out(a.$$.fragment,g),l=!1},d(g){g&&detach(e),destroy_component(o),destroy_component(a)}}}function create_default_slot_4(t){let e;return{c(){e=text("log")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_if_block_3$1(t){let e,A,n,r,o,s,a,l,g=t[0].selectionHtml+"",c;return o=new Button({props:{class:"hidden",$$slots:{default:[create_default_slot_3]},$$scope:{ctx:t}}}),{c(){e=element("div"),A=element("div"),n=element("h2"),n.textContent="Selection content",r=space(),create_component(o.$$.fragment),s=space(),a=element("pre"),l=element("code"),attr(A,"class","title-container svelte-r7zw98"),attr(a,"class","selection-html svelte-r7zw98"),attr(e,"class","entry-row svelte-r7zw98")},m(I,d){insert(I,e,d),append(e,A),append(A,n),append(A,r),mount_component(o,A,null),append(e,s),append(e,a),append(a,l),l.innerHTML=g,c=!0},p(I,d){const h={};d&65536&&(h.$$scope={dirty:d,ctx:I}),o.$set(h),(!c||d&1)&&g!==(g=I[0].selectionHtml+"")&&(l.innerHTML=g)},i(I){c||(transition_in(o.$$.fragment,I),c=!0)},o(I){transition_out(o.$$.fragment,I),c=!1},d(I){I&&detach(e),destroy_component(o)}}}function create_default_slot_3(t){let e;return{c(){e=text("log")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_if_block_2$2(t){let e,A,n,r;return e=new Button({props:{$$slots:{default:[create_default_slot_2]},$$scope:{ctx:t}}}),e.$on("click",t[9]),n=new Button({props:{$$slots:{default:[create_default_slot_1$3]},$$scope:{ctx:t}}}),n.$on("click",t[6]),{c(){create_component(e.$$.fragment),A=space(),create_component(n.$$.fragment)},m(o,s){mount_component(e,o,s),insert(o,A,s),mount_component(n,o,s),r=!0},p(o,s){const a={};s&65540&&(a.$$scope={dirty:s,ctx:o}),e.$set(a);const l={};s&65536&&(l.$$scope={dirty:s,ctx:o}),n.$set(l)},i(o){r||(transition_in(e.$$.fragment,o),transition_in(n.$$.fragment,o),r=!0)},o(o){transition_out(e.$$.fragment,o),transition_out(n.$$.fragment,o),r=!1},d(o){o&&detach(A),destroy_component(e,o),destroy_component(n,o)}}}function create_default_slot_2(t){let e=t[2]?"collapse":"expand",A;return{c(){A=text(e)},m(n,r){insert(n,A,r)},p(n,r){r&4&&e!==(e=n[2]?"collapse":"expand")&&set_data(A,e)},d(n){n&&detach(A)}}}function create_default_slot_1$3(t){let e;return{c(){e=text("log")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_default_slot$3(t){let e=t[1]?"hide":"show",A;return{c(){A=text(e)},m(n,r){insert(n,A,r)},p(n,r){r&2&&e!==(e=n[1]?"hide":"show")&&set_data(A,e)},d(n){n&&detach(A)}}}function create_if_block_1$3(t){let e,A,n=ensure_array_like(t[0].trs),r=[];for(let s=0;s<n.length;s+=1)r[s]=create_each_block$3(get_each_context$3(t,n,s));const o=s=>transition_out(r[s],1,1,()=>{r[s]=null});return{c(){for(let s=0;s<r.length;s+=1)r[s].c();e=empty()},m(s,a){for(let l=0;l<r.length;l+=1)r[l]&&r[l].m(s,a);insert(s,e,a),A=!0},p(s,a){if(a&9){n=ensure_array_like(s[0].trs);let l;for(l=0;l<n.length;l+=1){const g=get_each_context$3(s,n,l);r[l]?(r[l].p(g,a),transition_in(r[l],1)):(r[l]=create_each_block$3(g),r[l].c(),transition_in(r[l],1),r[l].m(e.parentNode,e))}for(group_outros(),l=n.length;l<r.length;l+=1)o(l);check_outros()}},i(s){if(!A){for(let a=0;a<n.length;a+=1)transition_in(r[a]);A=!0}},o(s){r=r.filter(Boolean);for(let a=0;a<r.length;a+=1)transition_out(r[a]);A=!1},d(s){s&&detach(e),destroy_each(r,s)}}}function create_each_block$3(t){let e,A;return e=new TreeView({props:{class:"tree-view",data:t[13],showLogButton:!0,showCopyButton:!0,recursionOpts:t[3]}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){const o={};r&1&&(o.data=n[13]),r&8&&(o.recursionOpts=n[3]),e.$set(o)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_right_slot$4(t){let e,A,n,r;const o=[create_if_block$5,create_else_block$5],s=[];function a(l,g){return l[0]?0:1}return A=a(t),n=s[A]=o[A](t),{c(){e=element("div"),n.c(),attr(e,"slot","right"),attr(e,"class","right-panel")},m(l,g){insert(l,e,g),s[A].m(e,null),r=!0},p(l,g){let c=A;A=a(l),A===c?s[A].p(l,g):(group_outros(),transition_out(s[c],1,1,()=>{s[c]=null}),check_outros(),n=s[A],n?n.p(l,g):(n=s[A]=o[A](l),n.c()),transition_in(n,1),n.m(e,null))},i(l){r||(transition_in(n),r=!0)},o(l){transition_out(n),r=!1},d(l){l&&detach(e),s[A].d()}}}function create_fragment$a(t){let e,A;return e=new SplitView({props:{$$slots:{right:[create_right_slot$4],left:[create_left_slot$3]},$$scope:{ctx:t}}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){let[o]=r;const s={};o&65567&&(s.$$scope={dirty:o,ctx:n}),e.$set(s)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}const func$1=()=>!0,func_1=()=>!0;function instance$a(t,e,A){let n,r,o;component_subscribe(t,stateHistory,E=>A(10,r=E)),component_subscribe(t,shownHistoryGroups,E=>A(11,o=E));let s,a=!1;const{replaceEditorContent:l}=getContext("editor-view");let g=!1,c={maxDepth:24,stopCircularRecursion:!0,omitKeys:["schema"],shouldExpandNode:()=>g};latestEntry.subscribe(E=>{E&&A(0,s=E)});function I(){A(1,a=!a)}function d(){console.info("%c [prosemirror-dev-toolkit]: Property added to window._trs","color: #b8e248"),console.log(s?.trs),window._trs=s?.trs}function h(E){const{id:f="",groupIdx:Q,wasTopNode:p}=E.detail;if(A(0,s=r.get(f)),!s)return;const m=n[Q];m.isGroup&&m.entries.length>1&&p&&shownHistoryGroups.update(y=>y.map((w,D)=>D!==Q?w:Object.assign(Object.assign({},w),{expanded:!w.expanded})))}function u(E){A(0,s=r.get(E.detail.id||"")),s&&l(s.state)}function B(){A(2,g=!g),A(3,c=Object.assign(Object.assign({},c),{shouldExpandNode:()=>g}))}return t.$$.update=()=>{t.$$.dirty&3072&&A(4,n=o.map(E=>({id:E.id,isGroup:E.isGroup,topEntry:r.get(E.topEntryId),entries:E.entryIds.map(f=>r.get(f)),expanded:E.expanded})))},[s,a,g,c,n,I,d,h,u,B,r,o]}class HistoryTab extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$a,create_fragment$a,safe_not_equal,{},add_css$a)}}function add_css$9(t){append_styles(t,"svelte-1fq2hhi","ul.svelte-1fq2hhi.svelte-1fq2hhi{color:#fff;list-style:none;margin:0;padding:0;height:100%;width:100%}li.svelte-1fq2hhi+li.svelte-1fq2hhi{border-top:1px solid rgb(96, 76, 104)}button.svelte-1fq2hhi.svelte-1fq2hhi{background:transparent;border:0;color:#d3d3d9;cursor:pointer;display:flex;font-family:monospace;font-size:var(--font-medium);font-weight:100;padding:6px 18px;text-transform:uppercase;width:100%}button.svelte-1fq2hhi.svelte-1fq2hhi:hover{background:rgba(255, 162, 177, 0.4);color:#fff}button:hover.empty.svelte-1fq2hhi.svelte-1fq2hhi{background:rgb(80, 68, 93)}button.selected.svelte-1fq2hhi.svelte-1fq2hhi{background:rgba(255, 162, 177, 0.4)}button.selected.empty.svelte-1fq2hhi.svelte-1fq2hhi{background:rgb(80, 68, 93)}button.empty.svelte-1fq2hhi.svelte-1fq2hhi{color:#727288}")}function get_each_context$2(t,e,A){const n=t.slice();return n[4]=e[A],n}function create_each_block$2(t){let e,A,n=t[4].value+"",r,o,s,a;function l(){return t[3](t[4])}return{c(){e=element("li"),A=element("button"),r=text(n),o=space(),attr(A,"class","svelte-1fq2hhi"),toggle_class(A,"selected",t[1]===t[4].key),toggle_class(A,"empty",t[4].empty),attr(e,"class","svelte-1fq2hhi")},m(g,c){insert(g,e,c),append(e,A),append(A,r),append(e,o),s||(a=listen(A,"click",l),s=!0)},p(g,c){t=g,c&1&&n!==(n=t[4].value+"")&&set_data(r,n),c&3&&toggle_class(A,"selected",t[1]===t[4].key),c&1&&toggle_class(A,"empty",t[4].empty)},d(g){g&&detach(e),s=!1,a()}}}function create_fragment$9(t){let e,A=ensure_array_like(t[0]),n=[];for(let r=0;r<A.length;r+=1)n[r]=create_each_block$2(get_each_context$2(t,A,r));return{c(){e=element("ul");for(let r=0;r<n.length;r+=1)n[r].c();attr(e,"class","svelte-1fq2hhi")},m(r,o){insert(r,e,o);for(let s=0;s<n.length;s+=1)n[s]&&n[s].m(e,null)},p(r,o){let[s]=o;if(s&7){A=ensure_array_like(r[0]);let a;for(a=0;a<A.length;a+=1){const l=get_each_context$2(r,A,a);n[a]?n[a].p(l,s):(n[a]=create_each_block$2(l),n[a].c(),n[a].m(e,null))}for(;a<n.length;a+=1)n[a].d(1);n.length=A.length}},i:noop,o:noop,d(r){r&&detach(e),destroy_each(n,r)}}}function instance$9(t,e,A){let{listItems:n=[],selectedKey:r,onSelect:o}=e;const s=a=>o(a);return t.$$set=a=>{"listItems"in a&&A(0,n=a.listItems),"selectedKey"in a&&A(1,r=a.selectedKey),"onSelect"in a&&A(2,o=a.onSelect)},[n,r,o,s]}class List extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$9,create_fragment$9,safe_not_equal,{listItems:0,selectedKey:1,onSelect:2},add_css$9)}}function add_css$8(t){append_styles(t,"svelte-9l897d",".top-row.svelte-9l897d{align-items:center;display:flex;justify-content:space-between;margin-bottom:0.5em}.left-panel[slot=left].svelte-9l897d{flex-grow:0;overflow:scroll;padding:0;min-width:190px;width:190px}.right-panel[slot=right].svelte-9l897d{border-left:1px solid rgba(255, 162, 177, 0.2)}.empty-state.svelte-9l897d{align-items:center;color:rgb(255, 162, 177);display:flex;font-size:14px;height:100%;justify-content:center;width:100%}")}function create_left_slot$2(t){var e;let A,n,r;return n=new List({props:{listItems:t[4],selectedKey:(e=t[0])===null||e===void 0?void 0:e.key,onSelect:t[5]}}),{c(){A=element("div"),create_component(n.$$.fragment),attr(A,"slot","left"),attr(A,"class","left-panel svelte-9l897d")},m(o,s){insert(o,A,s),mount_component(n,A,null),r=!0},p(o,s){var a;const l={};s&16&&(l.listItems=o[4]),s&1&&(l.selectedKey=(a=o[0])===null||a===void 0?void 0:a.key),n.$set(l)},i(o){r||(transition_in(n.$$.fragment,o),r=!0)},o(o){transition_out(n.$$.fragment,o),r=!1},d(o){o&&detach(A),destroy_component(n)}}}function create_if_block_1$2(t){let e,A,n,r,o,s,a,l;return o=new Button({props:{$$slots:{default:[create_default_slot_1$2]},$$scope:{ctx:t}}}),o.$on("click",t[6]),a=new Button({props:{$$slots:{default:[create_default_slot$2]},$$scope:{ctx:t}}}),a.$on("click",t[7]),{c(){e=element("div"),A=element("h2"),A.textContent="Plugin state",n=space(),r=element("div"),create_component(o.$$.fragment),s=space(),create_component(a.$$.fragment),attr(e,"class","top-row svelte-9l897d")},m(g,c){insert(g,e,c),append(e,A),append(e,n),append(e,r),mount_component(o,r,null),append(r,s),mount_component(a,r,null),l=!0},p(g,c){const I={};c&2050&&(I.$$scope={dirty:c,ctx:g}),o.$set(I);const d={};c&2048&&(d.$$scope={dirty:c,ctx:g}),a.$set(d)},i(g){l||(transition_in(o.$$.fragment,g),transition_in(a.$$.fragment,g),l=!0)},o(g){transition_out(o.$$.fragment,g),transition_out(a.$$.fragment,g),l=!1},d(g){g&&detach(e),destroy_component(o),destroy_component(a)}}}function create_default_slot_1$2(t){let e=t[1]?"collapse":"expand",A;return{c(){A=text(e)},m(n,r){insert(n,A,r)},p(n,r){r&2&&e!==(e=n[1]?"collapse":"expand")&&set_data(A,e)},d(n){n&&detach(A)}}}function create_default_slot$2(t){let e;return{c(){e=text("log")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_else_block$4(t){let e;return{c(){e=element("div"),e.textContent="Plugin has no state",attr(e,"class","empty-state svelte-9l897d")},m(A,n){insert(A,e,n)},p:noop,i:noop,o:noop,d(A){A&&detach(e)}}}function create_if_block$4(t){let e,A;return e=new TreeView({props:{data:t[3],showLogButton:!0,showCopyButton:!0,recursionOpts:t[2]}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){const o={};r&8&&(o.data=n[3]),r&4&&(o.recursionOpts=n[2]),e.$set(o)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_right_slot$3(t){let e,A,n,r,o,s=t[3]&&create_if_block_1$2(t);const a=[create_if_block$4,create_else_block$4],l=[];function g(c,I){return c[3]?0:1}return n=g(t),r=l[n]=a[n](t),{c(){e=element("div"),s&&s.c(),A=space(),r.c(),attr(e,"slot","right"),attr(e,"class","right-panel svelte-9l897d")},m(c,I){insert(c,e,I),s&&s.m(e,null),append(e,A),l[n].m(e,null),o=!0},p(c,I){c[3]?s?(s.p(c,I),I&8&&transition_in(s,1)):(s=create_if_block_1$2(c),s.c(),transition_in(s,1),s.m(e,A)):s&&(group_outros(),transition_out(s,1,1,()=>{s=null}),check_outros());let d=n;n=g(c),n===d?l[n].p(c,I):(group_outros(),transition_out(l[d],1,1,()=>{l[d]=null}),check_outros(),r=l[n],r?r.p(c,I):(r=l[n]=a[n](c),r.c()),transition_in(r,1),r.m(e,null))},i(c){o||(transition_in(s),transition_in(r),o=!0)},o(c){transition_out(s),transition_out(r),o=!1},d(c){c&&detach(e),s&&s.d(),l[n].d()}}}function create_fragment$8(t){let e,A;return e=new SplitView({props:{$$slots:{right:[create_right_slot$3],left:[create_left_slot$2]},$$scope:{ctx:t}}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){let[o]=r;const s={};o&2079&&(s.$$scope={dirty:o,ctx:n}),e.$set(s)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function instance$8(t,e,A){let n,r;const{view:o}=getContext("editor-view");let s=!1,a={maxDepth:10,stopCircularRecursion:!0,shouldExpandNode:()=>s},l=o.state,g=l.plugins,c=g[0];latestEntry.subscribe(u=>{u&&(A(8,l=u.state),A(9,g=l.plugins),A(0,c=g.find(B=>B.key===c?.key)))});function I(u){A(0,c=g.find(B=>B.key===u.key))}function d(){A(1,s=!s),A(2,a=Object.assign(Object.assign({},a),{shouldExpandNode:()=>s}))}function h(){window._plugin=[c,n],console.info("%c [prosemirror-dev-toolkit]: Property added to window._plugin","color: #b8e248"),console.log(c),console.log(n)}return t.$$.update=()=>{t.$$.dirty&257&&A(3,n=c?.getState?c.getState(l):void 0),t.$$.dirty&768&&A(4,r=g.map(u=>({key:u.key,value:u.key.toUpperCase(),empty:!(u.getState&&u.getState(l))})))},[c,s,a,n,r,I,d,h,l,g]}class PluginsTab extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$8,create_fragment$8,safe_not_equal,{},add_css$8)}}function add_css$7(t){append_styles(t,"svelte-1u2reu1",".top-row.svelte-1u2reu1{align-items:center;display:flex;justify-content:space-between}.left-panel[slot=left].svelte-1u2reu1{overflow:scroll;padding:1em}.right-panel[slot=right].svelte-1u2reu1{border-left:1px solid rgba(255, 162, 177, 0.2);overflow:scroll;padding:1em}")}function create_default_slot_1$1(t){let e;return{c(){e=text("log")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_left_slot$1(t){let e,A,n,r,o,s,a,l;return o=new Button({props:{class:"hidden",$$slots:{default:[create_default_slot_1$1]},$$scope:{ctx:t}}}),a=new TreeView({props:{class:"tree-view",data:t[0],showLogButton:!0,showCopyButton:!0,recursionOpts:{stopCircularRecursion:!0}}}),{c(){e=element("div"),A=element("div"),n=element("h2"),n.textContent="Nodes",r=space(),create_component(o.$$.fragment),s=space(),create_component(a.$$.fragment),attr(A,"class","top-row svelte-1u2reu1"),attr(e,"slot","left"),attr(e,"class","left-panel svelte-1u2reu1")},m(g,c){insert(g,e,c),append(e,A),append(A,n),append(A,r),mount_component(o,A,null),append(e,s),mount_component(a,e,null),l=!0},p(g,c){const I={};c&8&&(I.$$scope={dirty:c,ctx:g}),o.$set(I)},i(g){l||(transition_in(o.$$.fragment,g),transition_in(a.$$.fragment,g),l=!0)},o(g){transition_out(o.$$.fragment,g),transition_out(a.$$.fragment,g),l=!1},d(g){g&&detach(e),destroy_component(o),destroy_component(a)}}}function create_default_slot$1(t){let e;return{c(){e=text("log")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_right_slot$2(t){let e,A,n,r,o,s,a,l;return o=new Button({props:{class:"hidden",$$slots:{default:[create_default_slot$1]},$$scope:{ctx:t}}}),a=new TreeView({props:{class:"tree-view",data:t[1],showLogButton:!0,showCopyButton:!0,recursionOpts:{stopCircularRecursion:!0}}}),{c(){e=element("div"),A=element("div"),n=element("h2"),n.textContent="Marks",r=space(),create_component(o.$$.fragment),s=space(),create_component(a.$$.fragment),attr(A,"class","top-row svelte-1u2reu1"),attr(e,"slot","right"),attr(e,"class","right-panel svelte-1u2reu1")},m(g,c){insert(g,e,c),append(e,A),append(A,n),append(A,r),mount_component(o,A,null),append(e,s),mount_component(a,e,null),l=!0},p(g,c){const I={};c&8&&(I.$$scope={dirty:c,ctx:g}),o.$set(I)},i(g){l||(transition_in(o.$$.fragment,g),transition_in(a.$$.fragment,g),l=!0)},o(g){transition_out(o.$$.fragment,g),transition_out(a.$$.fragment,g),l=!1},d(g){g&&detach(e),destroy_component(o),destroy_component(a)}}}function create_fragment$7(t){let e,A;return e=new SplitView({props:{$$slots:{right:[create_right_slot$2],left:[create_left_slot$1]},$$scope:{ctx:t}}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){let[o]=r;const s={};o&8&&(s.$$scope={dirty:o,ctx:n}),e.$set(s)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function instance$7(t){const{view:e}=getContext("editor-view");let A=e.state.schema.nodes,n=e.state.schema.marks;return[A,n]}class SchemaTab extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$7,create_fragment$7,safe_not_equal,{},add_css$7)}}function add_css$6(t){append_styles(t,"svelte-1un819s",".doc-node.svelte-1un819s{border-left:1px solid #363755;border-right:1px solid #363755;display:flex;flex-direction:column;padding:0 12px}.doc-node.root.svelte-1un819s{border:0;padding:0}.doc-node-body.svelte-1un819s{background:#363755;color:#222;display:flex;font-size:13px;margin-top:3px}.number-box.svelte-1un819s{padding:3px 6px;background:rgba(255, 255, 255, 0.3)}.node-name.svelte-1un819s{width:100%}button.svelte-1un819s{align-items:center;background:transparent;border:0;color:#222;cursor:pointer;display:flex;height:100%;white-space:pre;width:100%}button.svelte-1un819s:hover{background:rgba(255, 162, 177, 0.4);color:#fff}button.selected.svelte-1un819s{background:rgba(255, 162, 177, 0.4)}ul.svelte-1un819s{list-style:none;margin:0;padding:0}ul.show-borders.svelte-1un819s{border-left:1px solid rgb(96, 76, 104);border-right:1px solid rgb(96, 76, 104)}.inline-children.svelte-1un819s{border-left:1px solid rgb(96, 76, 104);border-right:1px solid rgb(96, 76, 104);display:flex;flex-wrap:wrap;padding:0 12px}.inline-children.svelte-1un819s>.doc-node{flex-grow:1;padding:0}")}function get_each_context$1(t,e,A){const n=t.slice();return n[15]=e[A],n[17]=A,n}function create_each_block$1(t){let e,A;return e=new DocNode({props:{node:t[15],startPos:t[5][t[17]],depth:t[1]+1}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){const o={};r&4&&(o.node=n[15]),r&32&&(o.startPos=n[5][n[17]]),r&2&&(o.depth=n[1]+1),e.$set(o)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_fragment$6(t){let e,A,n,r,o,s,a,l,g,c,I,d,h,u,B,E,f,Q,p=ensure_array_like(t[2].content),m=[];for(let w=0;w<p.length;w+=1)m[w]=create_each_block$1(get_each_context$1(t,p,w));const y=w=>transition_out(m[w],1,1,()=>{m[w]=null});return{c(){e=element("li"),A=element("div"),n=element("div"),r=text(t[0]),o=space(),s=element("div"),a=element("button"),l=text(t[6]),g=space(),c=element("div"),I=text(t[4]),h=space(),u=element("ul");for(let w=0;w<m.length;w+=1)m[w].c();attr(n,"class","number-box svelte-1un819s"),attr(a,"aria-label","Show node info button"),attr(a,"class","svelte-1un819s"),toggle_class(a,"selected",!1),attr(s,"class","node-name svelte-1un819s"),attr(c,"class","number-box svelte-1un819s"),attr(A,"class","doc-node-body svelte-1un819s"),attr(A,"style",d="background: ".concat(t[7])),attr(u,"class","svelte-1un819s"),toggle_class(u,"inline-children",t[3]),toggle_class(u,"show-borders",t[1]>=1),attr(e,"class",B=null_to_empty("".concat(t[11].class||""," doc-node"))+" svelte-1un819s"),toggle_class(e,"root",t[8])},m(w,D){insert(w,e,D),append(e,A),append(A,n),append(n,r),append(A,o),append(A,s),append(s,a),append(a,l),append(A,g),append(A,c),append(c,I),append(e,h),append(e,u);for(let _=0;_<m.length;_+=1)m[_]&&m[_].m(u,null);E=!0,f||(Q=[listen(a,"click",t[9]),listen(a,"dblclick",t[10])],f=!0)},p(w,D){let[_]=D;if((!E||_&1)&&set_data(r,w[0]),(!E||_&64)&&set_data(l,w[6]),(!E||_&16)&&set_data(I,w[4]),(!E||_&128&&d!==(d="background: ".concat(w[7])))&&attr(A,"style",d),_&38){p=ensure_array_like(w[2].content);let k;for(k=0;k<p.length;k+=1){const S=get_each_context$1(w,p,k);m[k]?(m[k].p(S,_),transition_in(m[k],1)):(m[k]=create_each_block$1(S),m[k].c(),transition_in(m[k],1),m[k].m(u,null))}for(group_outros(),k=p.length;k<m.length;k+=1)y(k);check_outros()}(!E||_&8)&&toggle_class(u,"inline-children",w[3]),(!E||_&2)&&toggle_class(u,"show-borders",w[1]>=1),(!E||_&2048&&B!==(B=null_to_empty("".concat(w[11].class||""," doc-node"))+" svelte-1un819s"))&&attr(e,"class",B),(!E||_&2304)&&toggle_class(e,"root",w[8])},i(w){if(!E){for(let D=0;D<p.length;D+=1)transition_in(m[D]);E=!0}},o(w){m=m.filter(Boolean);for(let D=0;D<m.length;D+=1)transition_out(m[D]);E=!1},d(w){w&&detach(e),destroy_each(m,w),f=!1,run_all(Q)}}}function instance$6(t,e,A){let n,r,o,s,a,l;const{colors:g,handleNodeClick:c}=getContext("doc-view");let{node:I,startPos:d,depth:h}=e;const u=h===0;function B(){c(I,d)}function E(){c(I,d,!0)}return t.$$set=f=>{A(11,e=assign(assign({},e),exclude_internal_props(f))),"node"in f&&A(12,I=f.node),"startPos"in f&&A(0,d=f.startPos),"depth"in f&&A(1,h=f.depth)},t.$$.update=()=>{t.$$.dirty&4096&&A(2,n=I.content),t.$$.dirty&4096&&A(7,r=g[I.type.name]),t.$$.dirty&4096&&A(6,o=I.isText&&I.marks.length>0?"".concat(I.type.name," - [").concat(I.marks.map(f=>f.type.name).join(", "),"]"):I.type.name),t.$$.dirty&4097&&A(5,s=Array(I.childCount).fill(void 0).reduce((f,Q,p)=>{if(p===0)return[u?0:d+1];let m=f[p-1],y=I.child(p-1);return[...f,m+y.nodeSize]},[])),t.$$.dirty&4097&&A(4,a=d+I.nodeSize),t.$$.dirty&4&&A(3,l=n.content.every(f=>f.isInline))},e=exclude_internal_props(e),[d,h,n,l,a,s,o,r,u,B,E,e,I]}class DocNode extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$6,create_fragment$6,safe_not_equal,{node:12,startPos:0,depth:1},add_css$6)}}const nodeColors=["#EA7C7F","#67B0C6","#94BB7F","#CA9EDB","#DCDC5D","#B9CC7C","#DD97D8","#FFB761","#4D8FD1","#F36E98","#E45F44","#A6A4AE","#FCC047","#FFC129","#D3929C","#4CBCD4","#8D7BC0"];function calculateSafeIndex(t,e){const A=t/e;return Math.round(e*(A-Math.floor(A)))}function buildColors(t){return Object.keys(t.nodes).reduce((e,A,n)=>{const r=n>=nodeColors.length?calculateSafeIndex(n,nodeColors.length):n;return e[A]=nodeColors[r],e},{})}function add_css$5(t){append_styles(t,"svelte-is7zuw","ul.svelte-is7zuw{list-style:none;margin:0;padding:0}")}function create_fragment$5(t){let e,A,n;return A=new DocNode({props:{class:t[1].class,node:t[0],startPos:0,depth:0}}),{c(){e=element("ul"),create_component(A.$$.fragment),attr(e,"class","svelte-is7zuw")},m(r,o){insert(r,e,o),mount_component(A,e,null),n=!0},p(r,o){let[s]=o;const a={};s&2&&(a.class=r[1].class),s&1&&(a.node=r[0]),A.$set(a)},i(r){n||(transition_in(A.$$.fragment,r),n=!0)},o(r){transition_out(A.$$.fragment,r),n=!1},d(r){r&&detach(e),destroy_component(A)}}}function instance$5(t,e,A){let{doc:n,schema:r,selected:o={type:"",start:0,end:0},handleNodeSelect:s}=e;return setContext("doc-view",{selected:o,colors:buildColors(r),handleNodeClick:s}),t.$$set=a=>{A(1,e=assign(assign({},e),exclude_internal_props(a))),"doc"in a&&A(0,n=a.doc),"schema"in a&&A(2,r=a.schema),"selected"in a&&A(3,o=a.selected),"handleNodeSelect"in a&&A(4,s=a.handleNodeSelect)},e=exclude_internal_props(e),[n,e,r,o,s]}class DocView extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$5,create_fragment$5,safe_not_equal,{doc:0,schema:2,selected:3,handleNodeSelect:4},add_css$5)}}function add_css$4(t){append_styles(t,"svelte-15i66m0",".top-row.svelte-15i66m0{align-items:center;display:flex;justify-content:space-between}.right-panel[slot=right].svelte-15i66m0{border-left:1px solid rgba(255, 162, 177, 0.2);flex-grow:0;min-width:220px;width:220px}.split-view .m-top{margin-top:0.75em}")}function create_default_slot_1(t){let e;return{c(){e=text("log")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_left_slot(t){let e,A,n,r,o,s,a,l;return o=new Button({props:{class:"hidden",$$slots:{default:[create_default_slot_1]},$$scope:{ctx:t}}}),a=new DocView({props:{class:"m-top",doc:t[0],schema:t[2],handleNodeSelect:t[3]}}),{c(){e=element("div"),A=element("div"),n=element("h2"),n.textContent="Current doc",r=space(),create_component(o.$$.fragment),s=space(),create_component(a.$$.fragment),attr(A,"class","top-row svelte-15i66m0"),attr(e,"slot","left"),attr(e,"class","left-panel")},m(g,c){insert(g,e,c),append(e,A),append(A,n),append(A,r),mount_component(o,A,null),append(e,s),mount_component(a,e,null),l=!0},p(g,c){const I={};c&256&&(I.$$scope={dirty:c,ctx:g}),o.$set(I);const d={};c&1&&(d.doc=g[0]),a.$set(d)},i(g){l||(transition_in(o.$$.fragment,g),transition_in(a.$$.fragment,g),l=!0)},o(g){transition_out(o.$$.fragment,g),transition_out(a.$$.fragment,g),l=!1},d(g){g&&detach(e),destroy_component(o),destroy_component(a)}}}function create_default_slot(t){let e;return{c(){e=text("log")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_right_slot$1(t){let e,A,n,r,o,s,a,l;return o=new Button({props:{$$slots:{default:[create_default_slot]},$$scope:{ctx:t}}}),o.$on("click",t[4]),a=new TreeView({props:{class:"m-top",data:t[1],recursionOpts:{shouldExpandNode:func}}}),{c(){e=element("div"),A=element("div"),n=element("h2"),n.textContent="Node info",r=space(),create_component(o.$$.fragment),s=space(),create_component(a.$$.fragment),attr(A,"class","top-row svelte-15i66m0"),attr(e,"slot","right"),attr(e,"class","right-panel svelte-15i66m0")},m(g,c){insert(g,e,c),append(e,A),append(A,n),append(A,r),mount_component(o,A,null),append(e,s),mount_component(a,e,null),l=!0},p(g,c){const I={};c&256&&(I.$$scope={dirty:c,ctx:g}),o.$set(I);const d={};c&2&&(d.data=g[1]),a.$set(d)},i(g){l||(transition_in(o.$$.fragment,g),transition_in(a.$$.fragment,g),l=!0)},o(g){transition_out(o.$$.fragment,g),transition_out(a.$$.fragment,g),l=!1},d(g){g&&detach(e),destroy_component(o),destroy_component(a)}}}function create_fragment$4(t){let e,A;return e=new SplitView({props:{$$slots:{right:[create_right_slot$1],left:[create_left_slot]},$$scope:{ctx:t}}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){let[o]=r;const s={};o&259&&(s.$$scope={dirty:o,ctx:n}),e.$set(s)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function getScrollableParent(t){if(!(!t||t===document.body))return t.scrollHeight!==t.clientHeight?t:getScrollableParent(t.parentElement)}const func=t=>t.type!=="array"||t.value.length<=50;function instance$4(t,e,A){let n;const{view:r}=getContext("editor-view");let o=r.state.doc,s={node:r.state.doc,pos:0},a=r.state.schema,l;latestEntry.subscribe(I=>{I&&(I.trs.forEach(d=>{A(5,s.pos=d.mapping.map(s.pos),s)}),clearTimeout(l),l=setTimeout(()=>{A(0,o=I.state.doc);const d=s.pos;try{const h=o.nodeAt(d);A(5,s={node:h||o,pos:h?d:0})}catch{}},100))});function g(I,d){let h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;var u;if(A(5,s={node:I,pos:d}),!h)return;let B=r.nodeDOM(d);for(;B&&!(B instanceof HTMLElement);)B=B.parentElement;if(!B||getComputedStyle(B).display==="none")return;const E=getScrollableParent(r.dom);if(E){const p=E.scrollTop,m=E.offsetTop-window.scrollY,y=E.getBoundingClientRect().top-m,w=B.getBoundingClientRect().top-m,D=E.clientHeight/2;E.scroll(0,p+y+w-D)}const f=r.coordsAtPos(d).top,Q=((u=document.querySelector(".floating-dock"))===null||u===void 0?void 0:u.clientHeight)||0;window.scroll(0,f-Q+B.clientHeight+window.scrollY)}function c(){console.log(s),window._node=s,console.info("%c [prosemirror-dev-toolkit]: Property added to window._node","color: #b8e248")}return t.$$.update=()=>{t.$$.dirty&32&&A(1,n=s.node.toJSON())},[o,n,a,g,c,s]}class StructureTab extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$4,create_fragment$4,safe_not_equal,{},add_css$4)}}function add_css$3(t){append_styles(t,"svelte-969ox4","ul.svelte-969ox4.svelte-969ox4{color:#fff;list-style:none;margin:0;padding:0;height:100%;width:100%}li.svelte-969ox4+li.svelte-969ox4{border-top:1px solid rgb(96, 76, 104)}li.svelte-969ox4.svelte-969ox4{align-items:center;display:flex;font-family:monospace;padding:6px 18px}input.svelte-969ox4.svelte-969ox4{background:transparent;border:0;color:#fff;height:100%;margin:0;padding:2px;width:100%}.unstyled-btn.svelte-969ox4.svelte-969ox4{background:transparent;border:0;color:#fff;cursor:pointer;display:block;font-family:monospace;margin:0;padding:0;text-align:start;width:100%}.snapshot-btn.svelte-969ox4.svelte-969ox4{background:transparent;border:0;border-radius:3px;color:#d3d3d9;cursor:pointer;display:flex;font-size:11px;padding:6px 18px;text-transform:uppercase}.snapshot-btn.svelte-969ox4.svelte-969ox4:hover{background:rgba(255, 162, 177, 0.4);color:#fff}.ml-2.svelte-969ox4.svelte-969ox4{margin-left:1rem}")}function get_each_context(t,e,A){const n=t.slice();return n[23]=e[A],n}function create_else_block_2(t){let e,A=t[23].name+"",n,r,o;function s(){return t[16](t[23])}return{c(){e=element("button"),n=text(A),attr(e,"class","unstyled-btn svelte-969ox4"),attr(e,"aria-label","Edit snapshot name button")},m(a,l){insert(a,e,l),append(e,n),r||(o=listen(e,"dblclick",s),r=!0)},p(a,l){t=a,l&1&&A!==(A=t[23].name+"")&&set_data(n,A)},d(a){a&&detach(e),r=!1,o()}}}function create_if_block_2$1(t){let e,A,n,r;return{c(){e=element("input"),e.value=A=t[2].name,attr(e,"class","svelte-969ox4")},m(o,s){insert(o,e,s),n||(r=[listen(e,"input",t[5]),listen(e,"keypress",t[6])],n=!0)},p(o,s){s&4&&A!==(A=o[2].name)&&e.value!==A&&(e.value=A)},d(o){o&&detach(e),n=!1,run_all(r)}}}function create_else_block_1(t){let e;return{c(){e=text("Show")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_if_block_1$1(t){let e;return{c(){e=text("Hide")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_else_block$3(t){let e;return{c(){e=text("Delete")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_if_block$3(t){let e;return{c(){e=text("Confirm Delete")},m(A,n){insert(A,e,n)},d(A){A&&detach(e)}}}function create_each_block(t){let e,A,n,r,o,s,a,l,g,c,I,d;function h(S,F){return S[2]&&S[2].timestamp===S[23].timestamp?create_if_block_2$1:create_else_block_2}let u=h(t),B=u(t);function E(S,F){var N;return((N=S[1])===null||N===void 0?void 0:N.timestamp)===S[23].timestamp?create_if_block_1$1:create_else_block_1}let f=E(t),Q=f(t);function p(){return t[17](t[23])}function m(){return t[18](t[23])}function y(){return t[19](t[23])}function w(S,F){var N;return((N=S[3])===null||N===void 0?void 0:N.timestamp)===S[23].timestamp?create_if_block$3:create_else_block$3}let D=w(t),_=D(t);function k(){return t[20](t[23])}return{c(){e=element("li"),B.c(),A=space(),n=element("button"),Q.c(),r=space(),o=element("button"),o.textContent="Restore",s=space(),a=element("button"),a.textContent="Export",l=space(),g=element("button"),_.c(),c=space(),attr(n,"class","snapshot-btn ml-2 svelte-969ox4"),attr(o,"class","snapshot-btn svelte-969ox4"),attr(a,"class","snapshot-btn svelte-969ox4"),attr(g,"class","snapshot-btn svelte-969ox4"),attr(e,"class","svelte-969ox4")},m(S,F){insert(S,e,F),B.m(e,null),append(e,A),append(e,n),Q.m(n,null),append(e,r),append(e,o),append(e,s),append(e,a),append(e,l),append(e,g),_.m(g,null),append(e,c),I||(d=[listen(n,"click",p),listen(o,"click",m),listen(a,"click",y),listen(g,"click",k)],I=!0)},p(S,F){t=S,u===(u=h(t))&&B?B.p(t,F):(B.d(1),B=u(t),B&&(B.c(),B.m(e,A))),f!==(f=E(t))&&(Q.d(1),Q=f(t),Q&&(Q.c(),Q.m(n,null))),D!==(D=w(t))&&(_.d(1),_=D(t),_&&(_.c(),_.m(g,null)))},d(S){S&&detach(e),B.d(),Q.d(),_.d(),I=!1,run_all(d)}}}function create_fragment$3(t){let e,A=ensure_array_like(t[0]),n=[];for(let r=0;r<A.length;r+=1)n[r]=create_each_block(get_each_context(t,A,r));return{c(){e=element("ul");for(let r=0;r<n.length;r+=1)n[r].c();attr(e,"class","svelte-969ox4")},m(r,o){insert(r,e,o);for(let s=0;s<n.length;s+=1)n[s]&&n[s].m(e,null)},p(r,o){let[s]=o;if(s&2047){A=ensure_array_like(r[0]);let a;for(a=0;a<A.length;a+=1){const l=get_each_context(r,A,a);n[a]?n[a].p(l,s):(n[a]=create_each_block(l),n[a].c(),n[a].m(e,null))}for(;a<n.length;a+=1)n[a].d(1);n.length=A.length}},i:noop,o:noop,d(r){r&&detach(e),destroy_each(n,r)}}}function instance$3(t,e,A){let{snapshots:n=[],selectedSnapshot:r=void 0,onUpdate:o,onView:s,onRestore:a,onExport:l,onDelete:g}=e,c,I,d;const h=()=>{clearTimeout(d),d=setTimeout(()=>{o(c)},150)};function u(S){A(2,c=S),A(3,I=void 0)}function B(S){c&&(A(2,c.name=S.currentTarget.value,c),h())}function E(S){S.key==="Enter"&&c&&(o(c),clearTimeout(d),A(2,c=void 0),A(3,I=void 0))}function f(S){r?.timestamp===S.timestamp?s():s(S),A(3,I=void 0)}function Q(S){a(S),A(3,I=void 0)}function p(S){l(S),A(3,I=void 0)}function m(S){!I||I.timestamp!==S.timestamp?A(3,I=S):(g(S),A(3,I=void 0))}const y=S=>u(S),w=S=>f(S),D=S=>Q(S),_=S=>p(S),k=S=>m(S);return t.$$set=S=>{"snapshots"in S&&A(0,n=S.snapshots),"selectedSnapshot"in S&&A(1,r=S.selectedSnapshot),"onUpdate"in S&&A(11,o=S.onUpdate),"onView"in S&&A(12,s=S.onView),"onRestore"in S&&A(13,a=S.onRestore),"onExport"in S&&A(14,l=S.onExport),"onDelete"in S&&A(15,g=S.onDelete)},[n,r,c,I,u,B,E,f,Q,p,m,o,s,a,l,g,y,w,D,_,k]}class SnapshotsList extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$3,create_fragment$3,safe_not_equal,{snapshots:0,selectedSnapshot:1,onUpdate:11,onView:12,onRestore:13,onExport:14,onDelete:15},add_css$3)}}function add_css$2(t){append_styles(t,"svelte-3jdj5c",".right-panel[slot=right].svelte-3jdj5c{padding:0}.no-snapshots.svelte-3jdj5c{align-items:center;color:rgb(255, 162, 177);display:flex;font-size:14px;height:100%;justify-content:center;width:100%}")}function create_else_block$2(t){let e,A;return e=new SnapshotsList({props:{snapshots:t[0],selectedSnapshot:t[1],onUpdate:updateSnapshot,onView:t[4],onRestore:t[3],onExport:exportSnapshot,onDelete:deleteSnapshot}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){const o={};r&1&&(o.snapshots=n[0]),r&2&&(o.selectedSnapshot=n[1]),e.$set(o)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_if_block$2(t){let e;return{c(){e=element("div"),e.textContent='Save snapshots by clicking "Save" button.',attr(e,"class","no-snapshots svelte-3jdj5c")},m(A,n){insert(A,e,n)},p:noop,i:noop,o:noop,d(A){A&&detach(e)}}}function create_right_slot(t){let e,A,n,r;const o=[create_if_block$2,create_else_block$2],s=[];function a(l,g){return l[0].length===0?0:1}return A=a(t),n=s[A]=o[A](t),{c(){e=element("div"),n.c(),attr(e,"slot","right"),attr(e,"class","right-panel svelte-3jdj5c")},m(l,g){insert(l,e,g),s[A].m(e,null),r=!0},p(l,g){let c=A;A=a(l),A===c?s[A].p(l,g):(group_outros(),transition_out(s[c],1,1,()=>{s[c]=null}),check_outros(),n=s[A],n?n.p(l,g):(n=s[A]=o[A](l),n.c()),transition_in(n,1),n.m(e,null))},i(l){r||(transition_in(n),r=!0)},o(l){transition_out(n),r=!1},d(l){l&&detach(e),s[A].d()}}}function create_fragment$2(t){let e,A;return e=new SplitView({props:{$$slots:{right:[create_right_slot]},$$scope:{ctx:t}}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){let[o]=r;const s={};o&35&&(s.$$scope={dirty:o,ctx:n}),e.$set(s)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function instance$2(t,e,A){let n,r;component_subscribe(t,snapshots,l=>A(0,n=l)),component_subscribe(t,selectedSnapshot,l=>A(1,r=l));const{view:o}=getContext("editor-view");function s(l){restoreSnapshot(o,l),resetHistory()}return[n,r,o,s,l=>toggleViewSnapshot(o,l)]}class SnapshotsTab extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$2,create_fragment$2,safe_not_equal,{},add_css$2)}}function add_css$1(t){append_styles(t,"svelte-1quf800",".floating-dock-wrapper.svelte-1quf800{position:fixed;width:0px;height:0px;top:0px;left:0px;z-index:99999999}.floating-dock.svelte-1quf800{background-color:#363755;position:fixed;z-index:1;box-shadow:rgba(34, 34, 34, 0.3) 0px 0px 4px 0px;left:0px;top:50%;width:100%;height:50%}.resizing-div.svelte-1quf800{position:absolute;z-index:2;opacity:0;top:-5px;height:10px;left:0px;width:100%;cursor:row-resize}.floating-dock-body.svelte-1quf800{height:100%}button.svelte-1quf800{background:rgba(255, 162, 177, 0.6);border:0;border-radius:3px;color:#fff;cursor:pointer;font-size:12px;height:24px;line-height:25px;padding:0 6px;position:absolute}button.svelte-1quf800:hover{background:rgba(255, 162, 177, 0.8)}.copy-btn.svelte-1quf800{right:173px;top:-28px}.save-btn.svelte-1quf800{right:129px;top:-28px}.import-btn.svelte-1quf800{right:79px;top:-28px}.paste-btn.svelte-1quf800{right:32px;top:-28px}.close-btn.svelte-1quf800{font-size:var(--font-medium);right:4px;top:-28px;width:24px}")}function create_else_block$1(t){let e;return{c(){e=element("p"),e.textContent="nuting here"},m(A,n){insert(A,e,n)},i:noop,o:noop,d(A){A&&detach(e)}}}function create_if_block_5(t){let e,A;return e=new SnapshotsTab({}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_if_block_4(t){let e,A;return e=new StructureTab({}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_if_block_3(t){let e,A;return e=new SchemaTab({}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_if_block_2(t){let e,A;return e=new PluginsTab({}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_if_block_1(t){let e,A;return e=new HistoryTab({}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_if_block$1(t){let e,A;return e=new StateTab({}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_fragment$1(t){let e,A,n,r,o,s,a,l,g,c,I,d,h,u,B,E,f,Q,p,m,y,w,D,_,k,S,F,N;A=new PasteModal({props:{isOpen:t[5]}}),A.$on("submit",t[12]),A.$on("close",t[11]),y=new TabsMenu({props:{onClickTab:t[14],active:t[1]}});const b=[create_if_block$1,create_if_block_1,create_if_block_2,create_if_block_3,create_if_block_4,create_if_block_5,create_else_block$1],R=[];function v(M,L){return M[1]==="state"?0:M[1]==="history"?1:M[1]==="plugins"?2:M[1]==="schema"?3:M[1]==="structure"?4:M[1]==="snapshots"?5:6}return D=v(t),_=R[D]=b[D](t),{c(){e=element("div"),create_component(A.$$.fragment),n=space(),r=element("div"),o=element("div"),s=space(),a=element("div"),l=element("div"),g=element("button"),g.textContent="Copy",c=space(),I=element("button"),I.textContent="Save",d=space(),h=element("button"),h.textContent="Import",u=space(),B=element("button"),B.textContent="Paste",E=space(),f=element("button"),f.textContent="X",Q=space(),p=element("input"),m=space(),create_component(y.$$.fragment),w=space(),_.c(),attr(o,"class","resizing-div svelte-1quf800"),attr(o,"role","button"),attr(o,"tabindex","-1"),attr(g,"class","copy-btn svelte-1quf800"),attr(I,"class","save-btn svelte-1quf800"),attr(h,"class","import-btn svelte-1quf800"),attr(B,"class","paste-btn svelte-1quf800"),attr(f,"class","close-btn svelte-1quf800"),attr(f,"aria-label","Close dev-toolkit"),set_style(p,"display","none"),attr(p,"type","file"),attr(p,"accept",".json"),p.multiple=!0,attr(a,"class","floating-dock-body svelte-1quf800"),attr(r,"class","floating-dock svelte-1quf800"),attr(r,"style",k="top: ".concat(t[2],"%; height: ").concat(t[3],"%;")),attr(e,"class","floating-dock-wrapper svelte-1quf800")},m(M,L){insert(M,e,L),mount_component(A,e,null),append(e,n),append(e,r),append(r,o),append(r,s),append(r,a),append(a,l),append(l,g),append(l,c),append(l,I),append(l,d),append(l,h),append(l,u),append(l,B),append(l,E),append(l,f),append(a,Q),append(a,p),t[15](p),append(a,m),mount_component(y,a,null),append(a,w),R[D].m(a,null),S=!0,F||(N=[listen(o,"mousedown",t[6]),listen(g,"click",t[7]),listen(I,"click",t[8]),listen(h,"click",t[9]),listen(B,"click",t[10]),listen(f,"click",function(){is_function(t[0])&&t[0].apply(this,arguments)}),listen(p,"change",t[13])],F=!0)},p(M,L){let[K]=L;t=M;const H={};K&32&&(H.isOpen=t[5]),A.$set(H);const O={};K&2&&(O.active=t[1]),y.$set(O);let G=D;D=v(t),D!==G&&(group_outros(),transition_out(R[G],1,1,()=>{R[G]=null}),check_outros(),_=R[D],_||(_=R[D]=b[D](t),_.c()),transition_in(_,1),_.m(a,null)),(!S||K&12&&k!==(k="top: ".concat(t[2],"%; height: ").concat(t[3],"%;")))&&attr(r,"style",k)},i(M){S||(transition_in(A.$$.fragment,M),transition_in(y.$$.fragment,M),transition_in(_),S=!0)},o(M){transition_out(A.$$.fragment,M),transition_out(y.$$.fragment,M),transition_out(_),S=!1},d(M){M&&detach(e),destroy_component(A),t[15](null),destroy_component(y),R[D].d(),F=!1,run_all(N)}}}function instance$1(t,e,A){let{onClose:n}=e;const{view:r}=getContext("editor-view");let o="state",s=50,a=50,l,g=!1;onDestroy(()=>{document.removeEventListener("mousemove",I),document.removeEventListener("mouseup",d)});function c(){document.addEventListener("mousemove",I),document.addEventListener("mouseup",d)}function I(w){w.preventDefault(),A(2,s=100*w.clientY/window.innerHeight),A(3,a=100*(1-w.clientY/window.innerHeight))}function d(w){w.preventDefault(),document.removeEventListener("mousemove",I),document.removeEventListener("mouseup",d)}function h(){navigator.clipboard.writeText(JSON.stringify(r.state.doc.toJSON()))}function u(){const w=new Date().toLocaleString("sv"),D=prompt("Enter snapshot name",w);D&&saveSnapshot(D,r.state.doc.toJSON())}function B(){l.click()}function E(){A(5,g=!g)}function f(){A(5,g=!1)}function Q(w){const D=saveSnapshot(new Date().toLocaleString("sv"),w.detail.doc);restoreSnapshot(r,D),A(5,g=!1)}function p(w){Array.from(w.currentTarget.files||[]).forEach(D=>{const _=new FileReader;_.readAsText(D),_.onload=k=>{var S,F;const N=typeof((S=k.target)===null||S===void 0?void 0:S.result)=="string"?(F=k.target)===null||F===void 0?void 0:F.result:"";try{const b=JSON.parse(N);if(!b||typeof b!="object")throw Error("Imported snapshot was not a JSON object"+b);const R=D.name.slice(0,D.name.lastIndexOf("."));importSnapshot(R,b,r.state.schema)}catch(b){console.error("Failed to import snapshot: "+b)}}})}function m(w){A(1,o=w)}function y(w){binding_callbacks[w?"unshift":"push"](()=>{l=w,A(4,l)})}return t.$$set=w=>{"onClose"in w&&A(0,n=w.onClose)},[n,o,s,a,l,g,c,h,u,B,E,f,Q,p,m,y]}class FloatingDock extends SvelteComponent{constructor(e){super(),init$1(this,e,instance$1,create_fragment$1,safe_not_equal,{onClose:0},add_css$1)}}function add_css(t){append_styles(t,"svelte-pr6kw9",'.dev-tools.svelte-pr6kw9{font-family:var(--font-sans);font-size:var(--font-medium);font-weight:400;--font-sans:Helvetica Neue, Calibri Light, Roboto, sans-serif;--font-small:11px;--font-medium:13px;--font-large:16px;--height-tabs-menu:48px;--tree-view-font-family:"Helvetica Neue", "Calibri Light", Roboto, sans-serif;--tree-view-font-size:13px;--tree-view-left-indent:0.875em;--tree-view-line-height:1.1;--tree-view-key-margin-right:0.5em;--tree-view-base00:#363755;--tree-view-base01:#604d49;--tree-view-base02:#6d5a55;--tree-view-base03:#d1929b;--tree-view-base04:#b79f8d;--tree-view-base05:#f9f8f2;--tree-view-base06:#f7f4f1;--tree-view-base07:#faf8f5;--tree-view-base08:#fa3e7e;--tree-view-base09:#fd993c;--tree-view-base0A:#f6bf81;--tree-view-base0B:#b8e248;--tree-view-base0C:#b4efe4;--tree-view-base0D:#85d9ef;--tree-view-base0E:#be87ff;--tree-view-base0F:#d6724c}.dev-tools.svelte-pr6kw9 .svelte-tree-view *{box-sizing:border-box}.dev-tools.svelte-pr6kw9 .hidden{opacity:0;visibility:hidden}')}function create_else_block(t){let e,A;return e=new FloatingBtn({props:{buttonPosition:t[1]}}),e.$on("click",t[2]),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p(n,r){const o={};r&2&&(o.buttonPosition=n[1]),e.$set(o)},i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_if_block(t){let e,A;return e=new FloatingDock({props:{onClose:t[3]}}),{c(){create_component(e.$$.fragment)},m(n,r){mount_component(e,n,r),A=!0},p:noop,i(n){A||(transition_in(e.$$.fragment,n),A=!0)},o(n){transition_out(e.$$.fragment,n),A=!1},d(n){destroy_component(e,n)}}}function create_fragment(t){let e,A,n,r;const o=[create_if_block,create_else_block],s=[];function a(l,g){return l[0]?0:1}return A=a(t),n=s[A]=o[A](t),{c(){e=element("section"),n.c(),attr(e,"class","dev-tools svelte-pr6kw9")},m(l,g){insert(l,e,g),s[A].m(e,null),r=!0},p(l,g){let[c]=g,I=A;A=a(l),A===I?s[A].p(l,c):(group_outros(),transition_out(s[I],1,1,()=>{s[I]=null}),check_outros(),n=s[A],n?n.p(l,c):(n=s[A]=o[A](l),n.c()),transition_in(n,1),n.m(e,null))},i(l){r||(transition_in(n),r=!0)},o(l){transition_out(n),r=!1},d(l){l&&detach(e),s[A].d()}}}function instance(t,e,A){let{view:n,devToolsExpanded:r=!1,buttonPosition:o="bottom-right"}=e;setContext("editor-view",{view:n,execCmd(l){l(n.state,n.dispatch)},replaceEditorContent(l){const g=n.state.tr;g.replaceWith(0,n.state.doc.nodeSize-2,l.doc.content),n.dispatch(g)}}),onMount(()=>{const l=document&&document.querySelector("html");r&&l&&(l.style.paddingBottom="341px")});function s(){A(0,r=!0);const l=document&&document.querySelector("html");l&&(l.style.paddingBottom="341px")}function a(){A(0,r=!1);const l=document&&document.querySelector("html");l&&(l.style.paddingBottom="")}return t.$$set=l=>{"view"in l&&A(4,n=l.view),"devToolsExpanded"in l&&A(0,r=l.devToolsExpanded),"buttonPosition"in l&&A(1,o=l.buttonPosition)},[r,o,s,a,n]}class DevTools extends SvelteComponent{constructor(e){super(),init$1(this,e,instance,create_fragment,safe_not_equal,{view:4,devToolsExpanded:0,buttonPosition:1},add_css)}}let active=!1,resetDispatch;const handleDispatch=(t,e)=>A=>{const n=t.state,r=t.state.applyTransaction(A);if(e){const o=t.state.applyTransaction.bind(t.state);t.state.applyTransaction=function(s){return s!==A?(t.state.applyTransaction=o,Reflect.apply(o,t.state,arguments)):r},e(A)}else t.updateState(r.state);active&&r.transactions.length>0&&appendNewHistoryEntry(r.transactions,t.state,n)};function subscribeToDispatchTransaction(t){var e;active=!0;const A=(e=(t.props||t._props).dispatchTransaction)===null||e===void 0?void 0:e.bind(t);t.setProps({dispatchTransaction:handleDispatch(t,A)}),resetDispatch=()=>t.setProps({dispatchTransaction:A})}function unsubscribeDispatchTransaction(){active=!1,resetDispatch&&resetDispatch(),resetDispatch=void 0}const DEVTOOLS_CSS_CLASS="__prosemirror-dev-toolkit__";function createOrFindPlace(){let t=document.querySelector(`.${DEVTOOLS_CSS_CLASS}`);return t||(t=document.createElement("div"),t.className=DEVTOOLS_CSS_CLASS,document.body.appendChild(t)),t}class ProseMirrorDevToolkit extends HTMLElement{constructor(){super();const e=this.attachShadow({mode:"open"});this.addEventListener("init-dev-toolkit",A=>{const{detail:{view:n,opts:r}}=A;this.component=new DevTools({target:e,props:Object.assign({view:n},r)})})}disconnectedCallback(){var e;(e=this.component)===null||e===void 0||e.$destroy()}}customElements.get("prosemirror-dev-toolkit")||customElements.define("prosemirror-dev-toolkit",ProseMirrorDevToolkit);typeof window<"u"&&(window.applyDevTools=applyDevTools);let removeCallback;function applyDevTools(t,e={}){const A=createOrFindPlace();if(removeDevTools(),t.isDestroyed)return;let n;const{disableWebComponent:r}=e,o=__rest(e,["disableWebComponent"]);if(r)n=new DevTools({target:A,props:Object.assign({view:t},o)});else{const a=document.createElement("prosemirror-dev-toolkit");a.dispatchEvent(new CustomEvent("init-dev-toolkit",{detail:{view:t,opts:o}})),A.appendChild(a)}typeof window<"u"&&(window.editorView=t,window.pmCmd=a=>{const l=t.state;return a(l,t.dispatch,t)});const s=t.destroy.bind(t);t.destroy=()=>{removeDevTools(),s()},subscribeToDispatchTransaction(t),removeCallback=()=>{resetHistory(),unsubscribeDispatchTransaction(),n?.$destroy();const a=A.firstChild;a&&A.removeChild(a)}}function removeDevTools(){removeCallback&&removeCallback(),removeCallback=void 0}class ExtensionDevToolkit extends Extension{constructor(e={}){super(e),this.config=e,this.name="dev_toolkit",this.visible=!1}getCommandFactories(e){return{toggleDevToolkit:()=>()=>(this.visible?(removeDevTools(),this.visible=!this.visible):e.view instanceof EditorView&&(applyDevTools(e.view,{devToolsExpanded:!0}),this.visible=!this.visible),!0)}}getKeyboardShortcuts(){return{"Ctrl-`":"toggleDevToolkit"}}}const NESTING_OPENING=1,NESTING_SELF_CLOSING=0,NESTING_CLOSING=-1;class Token{constructor(e,A,n){this.type=e,this.tag=A,this.nesting=n,this.attrs=null,this.map=null,this.level=0,this.children=null,this.content="",this.markup="",this.info="",this.meta=null,this.block=!1,this.hidden=!1}attrIndex(e){if(!this.attrs)return-1;const A=this.attrs;for(let n=0,r=A.length;n<r;n++)if(A[n][0]===e)return n;return-1}attrPush(e){this.attrs?this.attrs.push(e):this.attrs=[e]}attrSet(e,A){const n=this.attrIndex(e),r=[e,A];n<0||!this.attrs?this.attrPush(r):this.attrs[n]=r}attrGet(e){const A=this.attrIndex(e);let n=null;return A>=0&&this.attrs&&(n=this.attrs[A][1]),n}attrJoin(e,A){const n=this.attrIndex(e);n<0||!this.attrs?this.attrPush([e,A]):this.attrs[n][1]=this.attrs[n][1]+" "+A}}const Brackets={left:["(","[","{","|","‖","⟨","⌊","⌈","⌜"],right:[")","]","}","|","‖","⟩","⌋","⌉","⌝"],isPair:function(t,e){const A=this.left.indexOf(t);return e===this.right[A]},contains:function(t){return this.isLeft(t)||this.isRight(t)},isLeft:function(t){return this.left.indexOf(t)>-1},isRight:function(t){return this.right.indexOf(t)>-1},parseLeft:function(t,e=!0){if(this.left.indexOf(t)<0)return t;let A="";switch(t){case"(":case"[":case"|":A=`\\left${t}`;break;case"‖":A="\\left\\|";break;case"{":A="\\left\\{";break;case"⟨":A="\\left\\langle ";break;case"⌊":A="\\left\\lfloor ";break;case"⌈":A="\\left\\lceil ";break;case"⌜":A="\\left\\ulcorner ";break}return e?A:A.replace("\\left","")},parseRight:function(t,e=!0){if(this.right.indexOf(t)<0)return t;let A="";switch(t){case")":case"]":case"|":A=`\\right${t}`;break;case"‖":A="\\right\\|";break;case"}":A="\\right\\}";break;case"⟩":A=" \\right\\rangle";break;case"⌋":A=" \\right\\rfloor";break;case"⌉":A=" \\right\\rceil";break;case"⌝":A=" \\right\\urcorner";break}return e?A:A.replace("\\right","")}},MathSymbol={parseIdentifier:function(t){if(t.length===0)return"";if(t.length===1){const e=t.charCodeAt(0);let A=this.greekLetter.decimals.indexOf(e);return A>-1?this.greekLetter.scripts[A]+" ":t}else return this.parseMathFunction(t)},parseOperator:function(t){if(t.length===0)return"";if(t.length===1){const e=t.charCodeAt(0),A=[this.bigCommand,this.relation,this.binaryOperation,this.setAndLogic,this.delimiter,this.other],n=[!1,!0,!0,!1,!1,!1];for(let r=0;r<A.length;r++){const o=A[r],s=o.decimals.indexOf(e);if(s>-1)return n[r]?[" ",o.scripts[s]," "].join(""):o.scripts[s]+" "}return t}else return this.parseMathFunction(t)},parseMathFunction:function(t){const e=T.createMarker(),A=[];return this.mathFunction.names.forEach((n,r)=>{const o=new RegExp(n,"g");t.match(o)&&(A.push(this.mathFunction.scripts[r]),t=t.replace(o,e.next()+" "))}),e.replaceBack(t,A)},overScript:{decimals:[9182],templates:["\\overbrace{@v}"]},underScript:{decimals:[9183],templates:["\\underbrace{@v}"]},bigCommand:{decimals:[8721,8719,8720,10753,10754,10752,8899,8898,10756,10758,8897,8896,8747,8750,8748,8749,10764,8747],scripts:["\\sum","\\prod","\\coprod","\\bigoplus","\\bigotimes","\\bigodot","\\bigcup","\\bigcap","\\biguplus","\\bigsqcup","\\bigvee","\\bigwedge","\\int","\\oint","\\iint","\\iiint","\\iiiint","\\idotsint"]},relation:{decimals:[60,62,61,8741,8742,8804,8805,8784,8781,8904,8810,8811,8801,8866,8867,8834,8835,8776,8712,8715,8838,8839,8773,8995,8994,8840,8841,8771,8872,8713,8847,8848,126,8764,8869,8739,8849,8850,8733,8826,8827,10927,10928,8800,8738,8737],scripts:["<",">","=","\\parallel","\\nparallel","\\leq","\\geq","\\doteq","\\asymp","\\bowtie","\\ll","\\gg","\\equiv","\\vdash","\\dashv","\\subset","\\supset","\\approx","\\in","\\ni","\\subseteq","\\supseteq","\\cong","\\smile","\\frown","\\nsubseteq","\\nsupseteq","\\simeq","\\models","\\notin","\\sqsubset","\\sqsupset","\\sim","\\sim","\\perp","\\mid","\\sqsubseteq","\\sqsupseteq","\\propto","\\prec","\\succ","\\preceq","\\succeq","\\neq","\\sphericalangle","\\measuredangle"]},binaryOperation:{decimals:[43,45,177,8745,8900,8853,8723,8746,9651,8854,215,8846,9661,8855,247,8851,9667,8856,8727,8852,9657,8857,8902,8744,9711,8728,8224,8743,8729,8726,8225,8901,8768,10815],scripts:["+","-","\\pm","\\cap","\\diamond","\\oplus","\\mp","\\cup","\\bigtriangleup","\\ominus","\\times","\\uplus","\\bigtriangledown","\\otimes","\\div","\\sqcap","\\triangleleft","\\oslash","\\ast","\\sqcup","\\triangleright","\\odot","\\star","\\vee","\\bigcirc","\\circ","\\dagger","\\wedge","\\bullet","\\setminus","\\ddagger","\\cdot","\\wr","\\amalg"]},setAndLogic:{decimals:[8707,8594,8594,8708,8592,8592,8704,8614,172,10233,8834,8658,10233,8835,8596,8712,10234,8713,8660,8715,8868,8743,8869,8744,8709,8709],scripts:["\\exists","\\rightarrow","\\to","\\nexists","\\leftarrow","\\gets","\\forall","\\mapsto","\\neg","\\implies","\\subset","\\Rightarrow","\\implies","\\supset","\\leftrightarrow","\\in","\\iff","\\notin","\\Leftrightarrow","\\ni","\\top","\\land","\\bot","\\lor","\\emptyset","\\varnothing"]},delimiter:{decimals:[124,8739,8214,47,8726,123,125,10216,10217,8593,8657,8968,8969,8595,8659,8970,8971],scripts:["|","\\mid","\\|","/","\\backslash","\\{","\\}","\\langle","\\rangle","\\uparrow","\\Uparrow","\\lceil","\\rceil","\\downarrow","\\Downarrow","\\lfloor","\\rfloor"]},greekLetter:{decimals:[913,945,925,957,914,946,926,958,915,947,927,959,916,948,928,960,982,917,1013,949,929,961,1009,918,950,931,963,962,919,951,932,964,920,952,977,933,965,921,953,934,981,966,922,954,1008,935,967,923,955,936,968,924,956,937,969],scripts:["A","\\alpha","N","\\nu","B","\\beta","\\Xi","\\xi","\\Gamma","\\gamma","O","o","\\Delta","\\delta","\\Pi","\\pi","\\varpi","E","\\epsilon","\\varepsilon","P","\\rho","\\varrho","Z","\\zeta","\\Sigma","\\sigma","\\varsigma","H","\\eta","T","\\tau","\\Theta","\\theta","\\vartheta","\\Upsilon","\\upsilon","I","\\iota","\\Phi","\\phi","\\varphi","K","\\kappa","\\varkappa","X","\\chi","\\Lambda","\\lambda","\\Psi","\\psi","M","\\mu","\\Omega","\\omega"]},other:{decimals:[8706,305,8476,8711,8501,240,567,8465,9723,8502,8463,8467,8472,8734,8503],scripts:["\\partial","\\imath","\\Re","\\nabla","\\aleph","\\eth","\\jmath","\\Im","\\Box","\\beth","\\hbar","\\ell","\\wp","\\infty","\\gimel"]},mathFunction:{names:["arcsin","sinh","sin","sec","arccos","cosh","cos","csc","arctan","tanh","tan","arccot","coth","cot","limsup","liminf","exp","ker","deg","gcd","lg","ln","Pr","sup","det","hom","lim","log","arg","dim","inf","max","min"],scripts:["\\arcsin","\\sinh","\\sin","\\sec","\\arccos","\\cosh","\\cos","\\csc","\\arctan","\\tanh","\\tan","\\arccot","\\coth","\\cot","\\limsup","\\liminf","\\exp","\\ker","\\deg","\\gcd","\\lg","\\ln","\\Pr","\\sup","\\det","\\hom","\\lim","\\log","\\arg","\\dim","\\inf","\\max","\\min"]}},T={};T.createMarker=function(){return{idx:-1,reReplace:/@\[\[(\d+)\]\]/mg,next:function(){return`@[[${++this.idx}]]`},replaceBack:function(t,e){return t.replace(this.reReplace,(A,n)=>{const r=parseInt(n);return e[r]})}}};const root=typeof window<"u"?window:{};function canParseHTMLNatively(){const t=root.DOMParser;let e=!1;try{new t().parseFromString("","text/html")&&(e=!0)}catch{}return e}function createHTMLParser(){const t=function(){};return shouldUseActiveX()?t.prototype.parseFromString=function(e){const A=new window.ActiveXObject("htmlfile");return A.designMode="on",A.open(),A.write(e),A.close(),A}:t.prototype.parseFromString=function(e){const A=document.implementation.createHTMLDocument("");return A.open(),A.write(e),A.close(),A},t}function shouldUseActiveX(){let t=!1;try{document.implementation.createHTMLDocument("").open()}catch{window.ActiveXObject&&(t=!0)}return t}var HTMLParser=canParseHTMLNatively()?root.DOMParser:createHTMLParser();const NodeTool={parseMath:function(t){return new HTMLParser().parseFromString(t,"text/html").querySelector("math")},getChildren:function(t){return t.children},getNodeName:function(t){return t.tagName.toLowerCase()},getNodeText:function(t){return t.textContent},getAttr:function(t,e,A){const n=t.getAttribute(e);return n===null?A:n},getPrevNode:function(t){return t.previousElementSibling},getNextNode:function(t){return t.nextElementSibling}};function convert(t){const e=NodeTool.parseMath(t);return toLatex(parse(e))}function toLatex(t){return t=t.replace(/\\left\(\\DELETE_BRACKET_L/g,""),t=t.replace(/\\DELETE_BRACKET_R\\right\)/g,""),t=t.replace(/\\DELETE_BRACKET_L/g,""),t=t.replace(/\\DELETE_BRACKET_R/g,""),t}function parse(t){const e=NodeTool.getChildren(t);return!e||e.length===0?parseLeaf(t):parseContainer(t,e)}function parseLeaf(t){let e="";switch(NodeTool.getNodeName(t)){case"mi":e=parseElementMi(t);break;case"mn":e=parseElementMn(t);break;case"mo":e=parseOperator(t);break;case"ms":e=parseElementMs(t);break;case"mtext":e=parseElementMtext(t);break;case"mglyph":e=parseElementMglyph(t);break;case"mprescripts":e="";break;case"mspace":e=parseElementMspace();case"none":e="\\:";break;default:e=escapeSpecialChars(NodeTool.getNodeText(t).trim());break}return e}function parseOperator(t){let e=NodeTool.getNodeText(t).trim();return e=MathSymbol.parseOperator(e),escapeSpecialChars(e)}function parseElementMi(t){let e=NodeTool.getNodeText(t).trim();return e=MathSymbol.parseIdentifier(e),escapeSpecialChars(e)}function parseElementMn(t){let e=NodeTool.getNodeText(t).trim();return escapeSpecialChars(e)}function parseElementMs(t){const e=NodeTool.getNodeText(t).trimRight();return['"',escapeSpecialChars(e),'"'].join("")}function parseElementMtext(t){const e=NodeTool.getNodeText(t);return`\\text{${escapeSpecialChars(e)}}`}function parseElementMglyph(t){const e=['"',NodeTool.getAttr(t,"alt",""),'"'].join("");return escapeSpecialChars(e)}function parseElementMspace(t){return""}function escapeSpecialChars(t){const e=/\$|%|_|&|#|\{|\}/g;return t=t.replace(e,A=>`\\${A}`),t}function parseContainer(t,e){const A=getRender(t);if(A)return A(t,e);throw new Error(`Couldn't get render function for container node: ${NodeTool.getNodeName(t)}`)}function renderChildren(t){const e=[];let A=[];if(Array.prototype.forEach.call(t,n=>{if(NodeTool.getNodeName(n)==="mo"){const r=NodeTool.getNodeText(n).trim();if(Brackets.contains(r)){let o=NodeTool.getAttr(n,"stretchy","true");if(o=["","true"].indexOf(o)>-1,Brackets.isRight(r)){const s=A[A.length-1];s&&Brackets.isPair(s,r)?(e.push(Brackets.parseRight(r,o)),A.pop()):Brackets.isLeft(r)?(e.push(Brackets.parseLeft(r,o)),A.push(r)):console.error("bracket not match")}else e.push(Brackets.parseLeft(r,o)),A.push(r)}else e.push(parseOperator(n))}else e.push(parse(n))}),A.length>0)for(let n=0;n<A.length;n++)e.push("\\right.");return A=void 0,e}function getRender(t){let e;switch(NodeTool.getNodeName(t)){case"msub":e=getRender_default("@1_{@2}");break;case"msup":e=getRender_default("@1^{@2}");break;case"msubsup":e=getRender_default("@1_{@2}^{@3}");break;case"mover":e=renderMover;break;case"munder":e=renderMunder;break;case"munderover":e=getRender_default("@1\\limits_{@2}^{@3}");break;case"mmultiscripts":e=renderMmultiscripts;break;case"mroot":e=getRender_default("\\sqrt[@2]{@1}");break;case"msqrt":e=getRender_joinSeparator("\\sqrt{@content}");break;case"mtable":e=renderTable;break;case"mtr":e=getRender_joinSeparator("@content \\\\ "," & ");break;case"mtd":e=getRender_joinSeparator("@content");break;case"mfrac":e=renderMfrac;break;case"mfenced":e=renderMfenced;break;case"mi":case"mn":case"mo":case"ms":case"mtext":e=getRender_joinSeparator("@content");break;case"mphantom":e=renderMphantom;break;default:e=getRender_joinSeparator("@content");break}return e}function renderTable(t,e){return getRender_joinSeparator("\\begin{matrix} @content \\end{matrix}")(t,e)}function renderMfrac(t,e){const[A,n]=[NodeTool.getAttr(t,"linethickness","medium"),NodeTool.getAttr(t,"bevelled","false")];let r=null;if(n==="true")r=getRender_default("{}^{@1}/_{@2}");else if(["0","0px"].indexOf(A)>-1){const[o,s]=[NodeTool.getPrevNode(t),NodeTool.getNextNode(t)];o&&NodeTool.getNodeText(o).trim()==="("&&s&&NodeTool.getNodeText(s).trim()===")"?r=getRender_default("\\DELETE_BRACKET_L\\binom{@1}{@2}\\DELETE_BRACKET_R"):r=getRender_default("{}_{@2}^{@1}")}else r=getRender_default("\\frac{@1}{@2}");return r(t,e)}function renderMfenced(t,e){const[A,n,r]=[NodeTool.getAttr(t,"open","("),NodeTool.getAttr(t,"close",")"),NodeTool.getAttr(t,"separators",",")],[o,s]=[Brackets.parseLeft(A),Brackets.parseRight(n)],a=r.split("").filter(c=>c.trim().length===1),l=`${o}@content${s}`;return getRender_joinSeparators(l,a)(t,e)}function renderMmultiscripts(t,e){if(e.length===0)return"";let A=-1,n=null;Array.prototype.forEach.call(e,c=>{NodeTool.getNodeName(c)==="mprescripts"&&(n=c)}),n&&(A=Array.prototype.indexOf.call(e,n));const r=renderChildren(e),o=(c,I)=>[c.slice(0,I),c.slice(I+1,c.length)],s=c=>{if(c.length>0){const I=[],d=[];return c.forEach((h,u)=>{(u+1)%2===0?d.push(h):I.push(h)}),[I.length>0?`_{${I.join(" ")}}`:"",d.length>0?`^{${d.join(" ")}}`:""].join("")}else return""},a=r.shift();let l=[],g=[];return A===-1?g=r:[g,l]=o(r,A-1),[s(l),a,s(g)].join("")}function renderMover(t,e){const A=flattenNodeTreeByNodeName(t,"mover");let n;for(let r=0;r<A.length-1;r++){n||(n=parse(A[r]));const o=parse(A[r+1]),s=getMatchValueByChar({decimals:MathSymbol.overScript.decimals,values:MathSymbol.overScript.templates,judgeChar:o,defaultValue:"@1\\limits^{@2}"});n=renderTemplate(s.replace("@v","@1"),[n,o])}return n}function renderMunder(t,e){const A=flattenNodeTreeByNodeName(t,"munder");let n;for(let r=0;r<A.length-1;r++){n||(n=parse(A[r]));const o=parse(A[r+1]),s=getMatchValueByChar({decimals:MathSymbol.underScript.decimals,values:MathSymbol.underScript.templates,judgeChar:o,defaultValue:"@1\\limits_{@2}"});n=renderTemplate(s.replace("@v","@1"),[n,o])}return n}function flattenNodeTreeByNodeName(t,e){let A=[];const n=NodeTool.getChildren(t);return Array.prototype.forEach.call(n,r=>{NodeTool.getNodeName(r)===e?A=A.concat(flattenNodeTreeByNodeName(r,e)):A.push(r)}),A}function getMatchValueByChar(t){const{decimals:e,values:A,judgeChar:n,defaultValue:r=null}=t;if(n&&n.length===1){const o=e.indexOf(n.charCodeAt(0));if(o>-1)return A[o]}return r}function renderMphantom(t,e){return""}function getRender_default(t){return function(e,A){const n=renderChildren(A);return renderTemplate(t,n)}}function renderTemplate(t,e){return t.replace(/\@\d+/g,A=>{const n=parseInt(A.substring(1,A.length))-1;return e[n]})}function getRender_joinSeparator(t,e=""){return function(A,n){const r=renderChildren(n);return t.replace("@content",r.join(e))}}function getRender_joinSeparators(t,e){return function(A,n){const r=renderChildren(n);let o="";return e.length===0?o=r.join(""):o=r.reduce((s,a,l)=>(s+=a,l<r.length-1&&(s+=e[l]||e[e.length-1]),s),""),t.replace("@content",o)}}var mathml2latex={convert};function fixCharacters(t){return t.replace(/’/g,"'").replace(/“/g,'"').replace(/”/g,'"').replace(/\x0b/g," ").replace(/\u201d/g,'"').replace(/\u201c/g,'"')}function numberString(t,e="1"){return["a"].includes(e)?String.fromCharCode(97+t-1)+". ":["A"].includes(e)?String.fromCharCode(65+t-1)+". ":["I"].includes(e)?`${romanize(t)}. `:["i"].includes(e)?`${romanize(t).toLowerCase()}. `:["1"].includes(e)?`${t}. `:`${t}. `}function romanize(t){const e=[["M",1e3],["CM",900],["D",500],["CD",400],["C",100],["XC",90],["L",50],["XL",40],["X",10],["IX",9],["V",5],["IV",4],["I",1]];let A="";for(const[n,r]of e)for(;t>=r;)A+=n,t-=r;return A}function escapeMarkdown(t){const e=[{char:"\\",escape:"\\\\"},{char:"#",escape:"\\#"},{char:"<",escape:"\\<"},{char:"…",escape:"..."},{char:"©",escape:"(c)"},{char:"®",escape:"(r)"},{char:"™",escape:"(tm)"},{char:"±",escape:"+-"},{char:"—",escape:"---"}],A=t.map&&t.map.length>0?t.map[0]:0;if(!A){let c=fixCharacters(t.content);for(const{char:I,escape:d}of e)c=c.replaceAll(I,d);return[[c,t]]}const n=fixCharacters(t.content).split(""),r=[],o=Object.fromEntries(e.map(c=>[c.char,c.escape]));let s=0,a="",l="";const g=()=>{if(l.length>0){const c=structuredClone(t);c.map=[A+s],r.push([l,c]),s=a.length}l=""};for(let c=0;c<n.length;c++){const I=n[c];a+=I,o[I]&&g(),l+=o[I]||I,o[I]&&g()}return g(),r}function getLinkTokensHandlers(){return{text:[(t,e)=>{e.current.meta.link_text+=t.content,t.content&&!e.current.meta.link_token_token&&(e.current.meta.link_token_token=t)}],link_close:[(t,e)=>{{const A=e.current.meta.link_open_token,n=A.attrGet("href")||"",r=A.attrGet("title")||"",o=A.attrGet("origUrl")||n;let s=e.current.meta.link_text;o===s&&(s=n);let a=A.attrGet("mdTemplate");if(a){const l=n.split("/").pop();a=a.replaceAll("$href",n),a=a.replaceAll("$basename",l||""),a=a.replaceAll("$label",e.current.meta.link_text),a=a.replaceAll("$title",r||""),e.current.log(a,t)}else!r&&s===n?e.current.log(n,t):!r&&!n?(e.current.log("[",t),e.current.log(s,e.current.meta.link_token_token),e.current.log(`]${r}`,t)):(e.current.log("[",t),e.current.log(s,e.current.meta.link_token_token),r?e.current.log(`](${n} ${r})`,t):e.current.log(`](${n})`,t));e.unstash("getLinkTokensHandlers.link_close")}}],default:[(t,e)=>{}]}}function getInlineTokensHandlers(){return{text:[(t,e)=>{if(t.meta==="noEscText")e.current.log(t.content);else for(const A of escapeMarkdown(t))e.current.log(A[0],A[1])}],strong_open:[(t,e)=>{e.current.log(t.markup||"**",t)}],strong_close:[(t,e)=>{e.current.log(t.markup||"**",t)}],em_open:[(t,e)=>{e.current.log(t.markup||"*",t)}],em_close:[(t,e)=>{e.current.log(t.markup||"*",t)}],underline_open:[(t,e)=>{e.current.log(t.markup||"_",t)}],underline_close:[(t,e)=>{e.current.log(t.markup||"_",t)}],strike_open:[(t,e)=>{e.current.log(t.markup||"~",t)}],strike_close:[(t,e)=>{e.current.log(t.markup||"~",t)}],link_open:[(t,e)=>{e.stash("getInlineTokensHandlers.link_open"),e.current.handlers=getLinkTokensHandlers(),e.current.meta.link_open_token=t,e.current.meta.link_text="",e.current.meta.link_token_token=null}],code_open:[(t,e)=>{e.current.log("`",t)}],code_close:[(t,e)=>{e.current.log("`",t)}],code_inline:[(t,e)=>{e.current.log("`"+t.content+"`",t)}],math:[(t,e)=>{let A=t.content;if(t.attrGet("lang")==="mathml"){const n=A.replace(/<annotation[\s\S]*?<\/annotation>/g,"");A=mathml2latex.convert(n)}e.current.log("$"+A+"$",t)}],hardbreak:[(t,e)=>{e.current.log(e.current.lineBreak+`
84
+ `,t)}],softbreak:[(t,e)=>{e.current.log(`
85
+ `,t)}],image:[(t,e)=>{{const A=t.attrGet("src");let r=t.attrGet("alt")||"";if(t.children)for(const a of t.children)a.type==="text"&&(r+=a.content);let o="![$alt]";const s=t.attrGet("title");A&&(s?o+="($src $title)":o+="($src)"),o=t.attrGet("mdTemplate")||o,o=o.replaceAll("$alt",r),o=o.replaceAll("$label",r),o=o.replaceAll("$src",A||""),o=o.replaceAll("$title",s||""),e.current.log(o,t)}}],html_block:[(t,e)=>{e.current.log(t.content,t)}],footnote_ref:[(t,e)=>{t.meta.label?e.current.log(`[^${t.meta.label}]`,t):e.current.log(`[^footnote_${t.meta.id}]`,t)}],shortcode_inline:[(t,e)=>{e.current.log("{{"+t.content+"}}",t)}],bookmark:[(t,e)=>{e.current.log(`<a id="${t.attrGet("id")}"></a>`,t)}]}}function escapeHtml(t){return t}function getHtmlInlineFormatTokensHandlers(){return{strong_open:[(t,e)=>{const A=t.tag||"strong";e.current.log(`<${A}>`,t)}],strong_close:[(t,e)=>{const A=t.tag||"strong";e.current.log(`</${A}>`,t)}],em_open:[(t,e)=>{const A=t.tag||"em";e.current.log(`<${A}>`,t)}],em_close:[(t,e)=>{const A=t.tag||"em";e.current.log(`</${A}>`,t)}],strike_open:[(t,e)=>{const A=t.tag||"strike";e.current.log(`<${A}>`,t)}],strike_close:[(t,e)=>{const A=t.tag||"strike";e.current.log(`</${A}>`,t)}],underline_open:[(t,e)=>{const A=t.tag||"u";e.current.log(`<${A}>`,t)}],underline_close:[(t,e)=>{const A=t.tag||"u";e.current.log(`</${A}>`,t)}]}}function getHtmlInlineTokensHandlers(){return{text:[(t,e)=>{e.current.log(t.content,t)}],...getHtmlInlineFormatTokensHandlers(),link_open:[(t,e)=>{e.stash("getHtmlInlineTokensHandlers.link_open");const A=t.attrGet("href")||"";t.attrGet("title"),e.current.log(`<a href="${A}">`,t)}],link_close:[(t,e)=>{e.current.log("</a>",t),e.unstash("getHtmlInlineTokensHandlers.link_close")}],code_open:[(t,e)=>{const A=t.tag||"code";e.current.log(`<${A}>`,t)}],code_close:[(t,e)=>{const A=t.tag||"code";e.current.log(`<${A}>`,t)}],math:[(t,e)=>{e.current.log('<math xmlns="http://www.w3.org/1998/Math/MathML">',t),e.current.log(t.content,t),e.current.log("</math>",t)}],hardbreak:[(t,e)=>{const A=t.tag||"br";e.current.log(`<${A} />`,t)}],softbreak:[(t,e)=>{const A=t.tag||"wbr";e.current.log(`<${A} />`,t)}],image:[(t,e)=>{{let A="";if(t.children)for(const r of t.children)r.type==="text"&&(A+=r.content);const n=t.tag||"img";e.current.log(`<${n} />`,t)}}],html_block:[(t,e)=>{e.current.log(t.content,t)}],footnote_ref:[(t,e)=>{}],shortcode_inline:[(t,e)=>{e.current.log("{{"+t.content+"}}",t)}],bookmark:[(t,e)=>{e.current.log(`<a id="${t.attrGet("id")}"></a>`,t)}]}}function getHtmlBasicTokensHandlers(){return{frontmatter:[],heading_open:[(t,e)=>{e.current.log(`<${t.tag}>`,t)}],heading_close:[(t,e)=>{e.current.log(`</${t.tag}>
86
+ `,t)}],paragraph_open:[(t,e)=>{e.current.log("<p>",t)}],paragraph_close:[(t,e)=>{e.current.log(`</p>
87
+ `,t)}],fence:[(t,e)=>{e.current.log("<pre>"+t.content+`</pre>
88
+ `,t)}],code_block:[(t,e)=>{e.current.log("<pre>"+t.content+`</pre>
89
+ `,t)}],hr:[(t,e)=>{e.current.log(`<hr />
90
+ `,t)}],html_block:[(t,e)=>{e.current.log(t.content,t)}]}}function getHeaderTokensHandlers(){const t=Object.entries(getBasicTokensHandlers()).filter(A=>["heading_close"].includes(A[0])),e=Object.entries(getInlineTokensHandlers()).filter(A=>["text","link_open","link_close"].includes(A[0]));return{...Object.fromEntries(e),...Object.fromEntries(t),default:[]}}function getBasicTokensHandlers(){return{frontmatter:[(t,e)=>{e.current.log(`---
91
+ `+t.content+`
92
+ ---
93
+
94
+ `,t)}],heading_open:[(t,e)=>{e.stash("getBasicTokensHandlers.heading_open"),e.current.handlers=getHeaderTokensHandlers(),t.markup!=="---"&&e.current.log("#".repeat(+t.tag.substring(1))+" ",t)}],heading_close:[(t,e)=>{t.markup==="---"&&e.current.log(`
95
+ `+t.markup+`
96
+ `,t),e.current.log(`
97
+ `,t),e.unstash("getBasicTokensHandlers.heading_close")}],paragraph_open:[(t,e)=>{e.current.log("",t)}],paragraph_close:[(t,e)=>{e.output.colPos!==0&&e.current.log(`
98
+ `,t)}],fence:[(t,e)=>{let A=t.content,n=t.attrGet("lang")||"";if(n==="mathml"){n="math";const r=A.replace(/<annotation[\s\S]*?<\/annotation>/g,"");A=mathml2latex.convert(r)}A.endsWith(`
99
+ `)||(A+=`
100
+ `),n==="latex"?e.current.log(`$$
101
+ `+A+`$$
102
+
103
+ `,t):e.current.log("```"+n+`
104
+ `+A+"```\n\n",t)}],code_block:[(t,e)=>{const A=+(t.attrGet("indent")||0);let n=t.content,r=t.attrGet("lang")||"";if(A===0){if(r==="mathml"){r="math";const o=n.replace(/<annotation[\s\S]*?<\/annotation>/g,"");n=mathml2latex.convert(o)}n.endsWith(`
105
+ `)||(n+=`
106
+ `),r==="rawmd"?e.current.log(n,t):r==="latex"?e.current.log(`$$
107
+ `+n+`$$
108
+
109
+ `,t):e.current.log("```"+r+`
110
+ `+n+"```\n",t);return}e.current.log(t.content.split(`
111
+ `).map(o=>o?" ".repeat(A)+o:"").join(`
112
+ `),t)}],hr:[(t,e)=>{e.current.log((t.markup||"___")+`
113
+ `,t)}],html_block:[(t,e)=>{e.current.log(t.content,t)}]}}function getFootnoteTokensHandlers(){return{footnote_block_open:[(t,e)=>{}],footnote_block_close:[(t,e)=>{}],footnote_open:[(t,e)=>{t.meta.label?e.current.log(`[^${t.meta.label}]: `,t):e.current.log(`[^footnote_${t.meta.id}]: `,t),e.stash("getFootnoteTokensHandlers.footnote_open"),e.current.footnoteCnt++,e.current.itemRow=0}],footnote_close:[(t,e)=>{e.unstash("getFootnoteTokensHandlers.footnote_close")}],footnote_anchor:[(t,e)=>{}]}}class TokenSource{constructor(e){this.tokens=e,this.currentPos=0}get pos(){return this.currentPos}iterate(e,A){for(this.currentPos=e;this.currentPos<this.tokens.length;this.currentPos++){const n=this.tokens[this.currentPos];A(n,this.currentPos)}}append(e){return this.tokens.push(...e),this.tokens.length-e.length}trim(e){this.tokens.splice(e)}rewind(e=-1){if(e<0)throw new RangeError("Invalid rewind pos: "+e);this.currentPos=e}}function writeIndented$1(t,e,A,n){const r=e.split(`
114
+ `),o={ul:2,ol:4,dl:2,tl:4};let s=0;const a=n&&n.map&&n.map.length>0?n.map[0]:0;for(let l=0;l<r.length;l++){const g=r[l];if(l===r.length-1&&g.length===0)continue;let c="";if(t.colPos===0&&(c+="> ".repeat(A.blockquoteCnt)),t.colPos===0&&g.length>0){c+=" ".repeat(A.footnoteCnt);const E=A.listPath.slice(0,A.listPath.length-1).map(f=>o[f]).reduce((f,Q)=>f+Q,0);switch(A.listType){case"tl":c+=" ".repeat(E),A.itemRow===0?(c+="- ",A.itemSymbol?c+="[x] ":c+="[ ] "):c+=" ";break;case"ul":c+=" ".repeat(E),A.itemRow===0?c+=A.itemSymbol+" ":c+=" ";break;case"ol":c+=" ".repeat(E),A.itemRow===0?c+=A.itemSymbol:c+=" ".repeat(4);break;case"dl":A.itemSymbol&&(A.itemRow===0?c+=`${A.itemSymbol}`:c+=" ".repeat(A.itemSymbol.length));break}}const I=structuredClone(n);a&&I&&(I.map=[a+s]),g.length>0&&A.blockquoteCnt>0&&t.colPos===A.blockquoteCnt*2-1&&(c+=" ");const d=l>=r.length-1,h=new RegExp(A.lineBreak+"$"),u=g.match(new RegExp(A.lineBreak+"$")),B=g.replace(h,"").replace(/[ \t\u00A0]+$/g,"");if(d?u?(t.log(B?c:c.trim()),t.log(B+(u?" ":""),I),s+=(B+(u?" ":"")).length):(t.log(g?c:c.trim()),t.log(g,I),s+=g.length):(t.log(B?c:c.trim()),t.log(B+(u?" ":""),I),s+=(B+(u?" ":"")).length),!d){A.itemRow++;const E=structuredClone(n);a&&E&&(E.map=[a+s]),t.log(`
115
+ `,E),s++}}}function getLongDefinitionTokensHandlers(){return{...getInlineTokensHandlers(),hardbreak:[(t,e)=>{e.current.log(`
116
+ `),e.current.meta.para_hidden&&(e.current.itemSymbol=""),e.current.itemRow++}],code_block:[(t,e)=>{e.current.itemRow===0&&e.current.itemRow++,e.output.colPos>0&&e.current.log(`
117
+ `),e.output.endsWith(`
118
+
119
+ `)||e.current.log(`
120
+ `),e.stash("getLongDefinitionTokensHandlers.code_block"),e.current.log=A=>{writeIndented$1(e.output,A,e.current,t)},e.current.log(t.content.split(`
121
+ `).map(A=>A.trim()?" "+A:"").join(`
122
+ `)+`
123
+ `),e.unstash("getLongDefinitionTokensHandlers.code_block"),e.current.itemRow++}],paragraph_open:[(t,e)=>{e.stash("getLongDefinitionTokensHandlers.paragraph_open"),e.current.meta.para_hidden=t.hidden}],paragraph_close:[(t,e)=>{e.unstash("getLongDefinitionTokensHandlers.paragraph_close"),e.output.colPos,e.current.itemRow++}],dt_open:[(t,e)=>{e.current.itemSymbol="",e.current.itemRow=0}],dt_close:[(t,e)=>{e.output.colPos!==0&&e.current.log(`
124
+ `)}],dd_open:[(t,e)=>{e.output.endsWith(`
125
+
126
+ `)||e.current.log(`
127
+ `),e.current.itemSymbol=": ",e.current.itemRow=0}],dd_close:[(t,e)=>{e.output.colPos!==0&&e.current.log(`
128
+ `)}],dl_open:[(t,e)=>{e.stash("getLongDefinitionTokensHandlers.dl_open"),e.current.listPath.push("dl"),e.current.listType="dl"}],dl_close:[(t,e)=>{e.unstash("getLongDefinitionTokensHandlers.dl_close")}]}}function getShortDefinitionTokensHandlers(){const t=(e,A,n)=>{const r=A.current.meta.def_rollback;if(!A.current.meta.def_token_start)throw new Error("No def_token_start");const o=A.current.meta.def_output_pos;if(!A.current.meta.def_output_pos)throw new Error("No def_output_pos");n.rewind(A.current.meta.def_token_start),A.rollback(r,"rollbackList, "+e.type),A.output.rollback(o),A.stash("getShortDefinitionTokensHandlers.rollbackList"),A.current.listPath.push("dl"),A.current.listType="dl",A.current.handlers=getLongDefinitionTokensHandlers()};return{dl_open:[(e,A,n)=>{const r=A.stash("getShortDefinitionTokensHandlers.dl_open");A.current.meta.def_rollback=r,A.current.meta.def_token_start=n.pos,A.current.meta.def_output_pos=A.output.chunkPos,A.current.listPath.push("dl"),A.current.listType="dl",A.current.handlers=getShortDefinitionTokensHandlers()}],dl_close:[(e,A)=>{A.unstash("getShortDefinitionTokensHandlers.dl_close")}],...getInlineTokensHandlers(),hardbreak:[t],code_block:[t],paragraph_open:[(e,A)=>{}],paragraph_close:[(e,A)=>{A.output.colPos}],dt_open:[(e,A)=>{A.current.itemSymbol="",A.current.itemRow=0}],dt_close:[(e,A)=>{A.output.colPos!==0&&A.current.log(`
129
+ `)}],dd_open:[(e,A)=>{A.current.itemSymbol=" ~ ",A.current.itemRow=0}],dd_close:[(e,A)=>{A.output.colPos!==0&&A.current.log(`
130
+ `)}]}}function getListsTokensHandlers(){return{dl_open:getShortDefinitionTokensHandlers().dl_open,paragraph_close:[(t,e)=>{e.output.colPos!==0&&e.current.log(`
131
+ `,t),e.current.itemRow++}],task_list_open:[(t,e)=>{e.stash("getListsTokensHandlers.task_list_open"),e.current.listPath.push("tl"),e.current.listType="tl",e.current.itemSymbol="",e.current.itemNumber=0}],task_list_close:[(t,e)=>{e.unstash("getListsTokensHandlers.task_list_close"),e.output.colPos!==0&&e.current.log(`
132
+ `)}],task_item_open:[(t,e)=>{e.current.itemRow=0,e.current.itemNumber++,e.current.itemSymbol=t.attrGet("checked")?"x":"",e.output.colPos!==0&&e.current.log(`
133
+ `)}],task_item_close:[(t,e)=>{e.output.colPos!==0&&e.current.log(`
134
+ `)}],bullet_list_open:[(t,e)=>{e.stash("getListsTokensHandlers.bullet_list_open"),e.current.listPath.push("ul"),e.current.listType="ul",e.current.itemSymbol="",e.current.itemNumber=0}],bullet_list_close:[(t,e)=>{e.unstash("getListsTokensHandlers.bullet_list_close"),e.output.colPos!==0&&e.current.log(`
135
+ `)}],ordered_list_open:[(t,e)=>{{e.stash("getListsTokensHandlers.ordered_list_open"),e.current.listPath.push("ol"),e.current.listType="ol",e.current.itemSymbol="";const A=t.attrGet("symbol");A?e.current.meta.list_symbol=A:e.current.meta.list_symbol="1";const n=t.attrGet("start");n?e.current.itemNumber=(+n||1)-1:e.current.itemNumber=0}}],ordered_list_close:[(t,e)=>{e.unstash("getListsTokensHandlers.ordered_list_close"),e.output.colPos!==0&&e.current.log(`
136
+ `)}],list_item_open:[(t,e)=>{e.current.itemRow=0,t.attrGet("type")!=="none"&&e.current.itemNumber++,e.current.itemSymbol=t.info||t.markup,e.current.itemSymbol||(e.current.itemSymbol=numberString(e.current.itemNumber,e.current.meta.list_symbol||"1")),e.output.colPos!==0&&e.current.log(`
137
+ `)}],list_item_close:[(t,e)=>{e.output.colPos!==0&&e.current.log(`
138
+ `)}],blockquote_open:[(t,e)=>{e.stash("getListsTokensHandlers.blockquote_open"),e.current.blockquoteCnt++,e.output.colPos!==0&&e.current.log(`
139
+ `)}],blockquote_close:[(t,e)=>{e.unstash("getListsTokensHandlers.blockquote_close")}]}}function getHtmlListsTokensHandlers(){return{bullet_list_open:[(t,e)=>{t.attrGet("not_first_para")&&e.current.log(`<br />
140
+ `,t),e.current.log(`<ul>
141
+ `,t)}],bullet_list_close:[(t,e)=>{e.current.log(`</ul>
142
+ `,t)}],ordered_list_open:[(t,e)=>{{t.attrGet("not_first_para")&&e.current.log(`<br />
143
+ `,t),e.current.listPath.push("ol"),e.current.listType="ol",e.current.itemSymbol="";const A=t.attrGet("symbol");A?e.current.meta.list_symbol=A:e.current.meta.list_symbol="1";const n=t.attrGet("start");n?(e.current.itemNumber=(+n||1)-1,e.current.log(`<ol start="${n}">
144
+ `,t)):(e.current.itemNumber=0,e.current.log(`<ol>
145
+ `,t))}}],ordered_list_close:[(t,e)=>{e.current.log(`</ol>
146
+ `,t)}],list_item_open:[(t,e)=>{e.current.itemSymbol=t.info||t.markup,e.current.itemSymbol||(e.current.itemSymbol=numberString(e.current.itemNumber,e.current.meta.list_symbol||"1")),e.current.log(`<li>
147
+ `,t),t.attrGet("type")!=="none"&&e.current.itemNumber++}],list_item_close:[(t,e)=>{e.current.log(`</li>
148
+ `,t)}]}}function getHtmlTableTokensHandlers(){return{...getHtmlInlineTokensHandlers(),...getHtmlBasicTokensHandlers(),...getHtmlListsTokensHandlers(),paragraph_open:[(t,e)=>{t.attrGet("not_first_para")&&e.current.log(`<br />
149
+ `,t)}],paragraph_close:[],table_open:[(t,e)=>{e.stash("getHtmlTableTokensHandlers.table_open"),e.current.meta.html_mode=!0,e.current.log(`<table>
150
+ `,t)}],table_close:[(t,e)=>{e.current.log(`</table>
151
+ `,t),e.unstash("getHtmlTableTokensHandlers.table_close")}],thead_open:[(t,e)=>{e.current.log(`<thead>
152
+ `,t)}],thead_close:[(t,e)=>{e.current.log(`</thead>
153
+ `,t)}],tr_open:[(t,e)=>{e.current.log(`<tr>
154
+ `,t)}],tr_close:[(t,e)=>{e.current.log(`</tr>
155
+ `,t)}],th_open:[(t,e)=>{e.current.log("<th>",t)}],th_close:[(t,e)=>{e.current.log(`</th>
156
+ `,t)}],tbody_open:[(t,e)=>{e.current.log(`<tbody>
157
+ `,t)}],tbody_close:[(t,e)=>{e.current.log(`</tbody>
158
+ `,t)}],td_open:[(t,e)=>{e.current.log("<td>",t)}],td_close:[(t,e)=>{e.current.log(`</td>
159
+ `,t)}]}}class TableBuilder{constructor(){this.currentType="body",this.rows=[]}appendRow(){this.rows.push({type:this.currentType,cells:[]})}appendCell(e,A){const n=this.rows[this.rows.length-1],r=A.map&&A.map.length>0?A.map[0]:0;n.cells.push({value:[],startPos:r,align:e})}appendText(e,A){const n=this.rows[this.rows.length-1];n.cells.length>0&&n.cells[n.cells.length-1].value.push([e,A])}render(e){let A="",n=[];const r=[];for(let o=0;o<this.rows.length;o++){const s=this.rows[o];for(let a=0;a<s.cells.length;a++){for(;r.length<=a;)r.push(1);n[a];const g=s.cells[a].value.reduce((c,I)=>c+I[0].length,0);r[a]<g+1&&(r[a]=g+1)}}for(let o=0;o<this.rows.length;o++){const s=this.rows[o];if(A==="header"&&A!==s.type){e("|");for(let a=0;a<n.length;a++){const l=n[a];e(" "),l.align==="right"?(e("-".repeat(r[a]-2)),e(": |")):(e("-".repeat(r[a]-1)),e(" |"))}e(`
160
+ `)}e("|");for(let a=0;a<s.cells.length;a++){const l=s.cells[a],g=l.value.reduce((c,I)=>c+I[0].length,0);l.align==="right"?g===0&&l.startPos?e(" ".repeat(r[a]-g),{map:[l.startPos+2]}):e(" ".repeat(r[a]-g)):e(" ".repeat(1));for(const c of l.value)e(c[0],c[1]);g<r[a]&&(l.align==="right"?e(" ".repeat(1)):g===0&&l.startPos?e(" ".repeat(r[a]-g),{map:[l.startPos+2]}):e(" ".repeat(r[a]-g))),e("|")}e(`
161
+ `),s.type==="header"&&(n=s.cells),A=s.type}}}function getMdTableTokensHandler(){const t=(e,A,n)=>{if(!A.current.meta.html_rollback)throw new Error("No html_rollback");const r=A.current.meta.html_rollback;n.rewind(r.sourcePos),A.rollback(r.ctxDepth,"rollbackMdTable, "+e.type),A.output.rollback(r.outputPos),A.stash("getMdTableTokensHandler.rollbackTable"),A.current.meta.html_mode=!0,A.current.log(`<table>
162
+ `,e),A.current.handlers=getHtmlTableTokensHandlers()};return{text:[(e,A)=>{A.current.metaObj.table_builder.appendText(e.content,e)}],paragraph_open:[],paragraph_close:[(e,A,n)=>{A.current.meta.table_cell_para_count=+A.current.meta.table_cell_para_count+1,A.current.meta.table_cell_para_count>1&&t(e,A,n)}],default:[t],table_open:[(e,A,n)=>{const r=A.stash("getMdTableTokensHandler.table_open");if(!A.current.meta.html_rollback){const o={sourcePos:n.pos,outputPos:A.output.chunkPos,ctxDepth:r};A.current.meta.html_rollback=o}A.current.metaObj.table_builder=new TableBuilder,A.current.handlers=getMdTableTokensHandler()}],table_close:[(e,A)=>{A.current.metaObj.table_builder.render(A.current.log),A.unstash("getMdTableTokensHandler.table_close")}],thead_open:[(e,A)=>{const n=A.current.metaObj.table_builder;n.currentType="header"}],thead_close:[(e,A)=>{const n=A.current.metaObj.table_builder;n.currentType="body"}],tr_open:[(e,A)=>{A.current.metaObj.table_builder.appendRow()}],tr_close:[(e,A)=>{}],th_open:[(e,A)=>{const n=e.attrGet("align")||"left";A.current.metaObj.table_builder.appendCell(n,e),A.current.meta.table_cell_para_count=0}],th_close:[(e,A)=>{}],tbody_open:[(e,A)=>{const n=A.current.metaObj.table_builder;n.currentType="body"}],tbody_close:[(e,A)=>{}],td_open:[(e,A)=>{const n=e.attrGet("align")||"left";A.current.metaObj.table_builder.appendCell(n,e),A.current.meta.table_cell_para_count=0}],td_close:[(e,A)=>{}]}}function getTableTokensHandlers(){return{table_open:getMdTableTokensHandler().table_open}}function writeIndented(t,e,A,n){const r=e.split(`
163
+ `),o={ul:2,ol:4,dl:2,tl:4};let s=0;const a=n&&n.map&&n.map.length>0?n.map[0]:0;for(let l=0;l<r.length;l++){const g=r[l];if(l===r.length-1&&g.length===0)continue;let c="";if(t.colPos===0&&(c+="> ".repeat(A.blockquoteCnt)),t.colPos===0&&g.length>0){c+=" ".repeat(A.footnoteCnt);const E=A.listPath.slice(0,A.listPath.length-1).map(f=>o[f]).reduce((f,Q)=>f+Q,0);switch(A.listType){case"tl":c+=" ".repeat(E),A.itemRow===0?(c+="- ",A.itemSymbol?c+="[x] ":c+="[ ] "):c+=" ";break;case"ul":c+=" ".repeat(E),A.itemRow===0?c+=A.itemSymbol+" ":c+=" ";break;case"ol":c+=" ".repeat(E),A.itemRow===0?c+=A.itemSymbol:c+=" ".repeat(4);break;case"dl":A.itemSymbol&&(A.itemRow===0?c+=`${A.itemSymbol}`:c+=" ".repeat(A.itemSymbol.length));break}}const I=structuredClone(n);a&&I&&(I.map=[a+s]),g.length>0&&A.blockquoteCnt>0&&t.colPos===A.blockquoteCnt*2-1&&(c+=" ");const d=l>=r.length-1,h=new RegExp(A.lineBreak+"$"),u=g.match(new RegExp(A.lineBreak+"$")),B=g.replace(h,"").replace(/[ \t\u00A0]+$/g,"");if(d?u?(t.log(B?c:c.trim()),t.log(B+(u?" ":""),I),s+=(B+(u?" ":"")).length):(t.log(g?c:c.trim()),t.log(g,I),s+=g.length):(t.log(B?c:c.trim()),t.log(B+(u?" ":""),I),s+=(B+(u?" ":"")).length),!d){A.itemRow++;const E=structuredClone(n);a&&E&&(E.map=[a+s]),t.log(`
164
+ `,E),s++}}}class ContextStash{constructor(e){this.ctxStash=[],this.output=new SmartOutput,this.currentCtx={lineBreak:"\r",meta:{},metaObj:{},blockquoteCnt:0,footnoteCnt:0,itemRow:0,listPath:[],itemNumber:0,itemSymbol:"",handlers:e,log:(A,n)=>this.output.log(A,n),debug:()=>{},level:0},this.stash("ContextStash.constructor()")}stash(e){this.currentCtx.debug(" ".repeat(this.ctxStash.length)+"stash: "+e),this.ctxStash.push(this.currentCtx);const A={log:this.currentCtx.log,debug:this.currentCtx.debug},n={...this.currentCtx.handlers},r={...this.currentCtx.metaObj};return this.currentCtx={...structuredClone({...this.currentCtx,log:void 0,debug:void 0,handlers:void 0}),metaObj:r,...A,handlers:n,level:this.currentCtx.level+1},this.ctxStash.length-1}unstash(e){const A=this.ctxStash.pop();if(this.currentCtx.debug(" ".repeat(this.ctxStash.length)+"unstash: "+e),!A)throw new Error("Unstash failed");this.currentCtx=A}rollback(e,A){if(!this.ctxStash[e])throw new RangeError("Invalid rollbackPos: "+e);this.currentCtx.debug("rollback "+A,e),this.ctxStash.splice(e),this.currentCtx=this.ctxStash[this.ctxStash.length-1]}get current(){return this.currentCtx}}function serializeInlineTokens(t,e,A){const n=e.append(A),r=e.pos;e.rewind(n);try{e.iterate(n,(o,s)=>{const a=t.current.handlers[o.type]||t.current.handlers.default;if(!a)throw new Error(`Unknown inline token: ${o.type} `+JSON.stringify(o)+`, available hadlers: ${Object.keys(t.current.handlers)}`);for(const l of a)if(l(o,t,e))break;if(e.pos+1<n)throw new RangeError("Rewinded before inline tokens")}),e.rewind(r)}finally{e.trim(n)}}class MarkdownSerializer{constructor(e={}){this.ctx=new ContextStash({...getInlineTokensHandlers(),...getTableTokensHandlers(),...getBasicTokensHandlers(),...getFootnoteTokensHandlers(),...getListsTokensHandlers()}),e.debug&&(this.ctx.current.debug=e.debug)}get endsWithEmptyLine(){return this.ctx.output.endsWith(`
165
+
166
+ `)}serialize(e){const A={},n=new TokenSource(e);return n.iterate(0,(r,o)=>{if(!this.ctx.current.meta.html_mode&&(r.level===0&&r.nesting!==NESTING_CLOSING&&this.ctx.output.colPos!==0&&this.ctx.current.log(`
167
+ `),!this.endsWithEmptyLine)){if(r.nesting!==NESTING_CLOSING&&r.level===0){const a=A[r.level];if((a?.type||"")&&a.attrGet("margin_after")&&r.attrGet("margin_before")){const g=a.type.endsWith("_list_close")&&r.type.endsWith("_list_open"),c=a.type==="bullet_list_close"&&r.type==="bullet_list_open",I=r.attrGet("first_level_type")==="none",d=a?.attrGet("first_level_type")==="none";(!I&&!d&&!c||!g)&&this.ctx.current.log(`
168
+ `)}}else if(r.nesting!==NESTING_CLOSING&&r.level===1&&r.type==="dt_open"){const l=A[r.level]?.type||"";["dt_close","dd_close"].includes(l)&&this.ctx.current.log(`
169
+ `)}}if(r.nesting!==NESTING_CLOSING&&r.level>0){const l=A[r.level]?.type||"";["paragraph_close"].includes(l)&&this.ctx.current.blockquoteCnt===r.level&&writeIndented(this.ctx.output,`
170
+ `,this.ctx.current,r)}const s=this.ctx.current.handlers[r.type]||this.ctx.current.handlers.default;if(r.type==="inline"){if(r.children){this.ctx.stash("serializeInlineTokens()"),this.ctx.current.log=(a,l)=>{writeIndented(this.ctx.output,a,this.ctx.current,l)};try{serializeInlineTokens(this.ctx,n,r.children),this.ctx.unstash("serializeInlineTokens()")}catch(a){if(this.ctx.current.debug(a.message),a.message==="Rewinded before inline tokens")return;throw a}}}else if(s){for(const a of s)if(a(r,this.ctx,n))break}else throw this.ctx.current.debug("current.handlers",Object.keys(this.ctx.current.handlers).sort()),new Error(`Unknown token: ${r.type} `+JSON.stringify(r));A[r.level]=r,r.nesting===NESTING_CLOSING&&(A[r.level+1]=new Token("","",r.nesting))}),this.ctx.output}}const blankMark={open:"",close:"",mixable:!0},blankNode$1={open:"",close:""};function generateInlineTokens(t){const e=[];let A=-1,n="";for(const[r,o]of t){{if(n.length>0){const s=new Token("text","",0);s.meta="generateInline1",s.map=[A],s.content=n,e.push(s)}n="",A=o}n+=r}if(n.length>0){const r=new Token("text","",0);r.meta="generateInline2",r.map=[A],r.content=n,e.push(r)}return e}const nullNode={isText:!1,attrs:{},text:"",marks:[]};class DocumentMarkdownInlineTokenizer{constructor(e,A,n,r){this.nodes=e,this.marks=A,this.options=n,this.schema=r}getMark(e){let A=this.marks[e];return A||blankMark}async renderInline(e,A,n){const r=[],o=[],s=[],a=async(g,c,I)=>{const d=A+c;let h=g?g.marks:[];"type"in g&&g.type.name===this.options.hardBreakNodeName&&(h=h.filter(p=>{if(I+1==e.childCount)return!1;let m=e.child(I+1);return p.isInSet(m.marks)&&(!m.isText||/\S/.test(m.text))}));const u=o.splice(0,o.length);if(g?.isText&&h.some(p=>{let m=this.getMark(p.type.name);return m&&m.expelEnclosingWhitespace&&!p.isInSet(r)})){let[p,m,y]=/^(\s*)(.*)$/m.exec(g.text);m&&(u.push([m,d]),y?g=this.schema.text(y,g.marks):g=nullNode,g||(h=r))}if(g&&g.isText&&h.some(p=>{let m=this.getMark(p.type.name);return m&&m.expelEnclosingWhitespace&&(I==e.childCount-1||!p.isInSet(e.child(I+1).marks))})){let[p,m,y]=/^(.*?)(\s*)$/m.exec(g.text);y&&(o.push([y,d]),m?g=this.schema.text(m,g.marks):g=nullNode,g||(h=r))}let B=h.length?h[h.length-1]:null,E=B&&this.getMark(B.type.name).escape===!1,f=h.length-(E?1:0);e:for(let p=0;p<f;p++){let m=h[p];if(!this.getMark(m.type.name).mixable)break;for(let y=0;y<r.length;y++){let w=r[y];if(!this.getMark(w.type.name).mixable)break;if(m.eq(w)){p>y?h=h.slice(0,y).concat(m).concat(h.slice(y,p)).concat(h.slice(p+1,f)):y>p&&(h=h.slice(0,p).concat(h.slice(p+1,y)).concat(m).concat(h.slice(y,f)));continue e}}}let Q=0;for(;Q<Math.min(r.length,f)&&h[Q].eq(r[Q]);)++Q;for(;Q<r.length;){const p=r.pop();await this.markString(p,!1,s)}for(s.push(...generateInlineTokens(u.splice(0,u.length)));r.length<f;){let p=h[r.length];r.push(p),await this.markString(p,!0,s)}if(E&&g.isText){if(await this.markString(B,!0,s),g.text){const p=new Token("text","",0);p.meta="noEscText",p.map=[d],p.content=g.text,s.push(p)}await this.markString(B,!1,s)}else{const p="type"in g&&this.nodes[g.type.name]?this.nodes[g.type.name](g,A):blankNode$1;let m="";if("type"in g&&g.type.spec.toDOM){const y=g.type.spec.toDOM(g);Array.isArray(y)&&y.length>0&&(m=y[0])}if(p.selfClose){if(typeof p.selfClose=="string"){const y=new Token(p.selfClose,m,0);y.meta="nodeSpec.selfClose",y.level=n,y.map=[d],s.push(y)}else if("type"in g){const y=await p.selfClose(g,d,I);y.meta="!nodeSpec.selfClose",y.level=n,y.map=[d],s.push(y)}}}};let l=0;for(let g=0;g<e.childCount;g++){const c=e.child(g);await a(c,l,g),l+=c.nodeSize}for(;r.length>0;){const g=r.pop();await this.markString(g,!1,s)}return s.push(...generateInlineTokens(o.splice(0,o.length))),s}async markString(e,A,n){let r=this.getMark(e.type.name),o=A?r.open:r.close;if(!o){console.warn("Unsupported mark type for markdown: "+e.type.name+", available types: "+Object.keys(this.marks).join(", ")+". Mark will be ignored.");return}typeof o=="string"||o(e);let s="";if(e.type.spec.toDOM){const a=e.type.spec.toDOM(e,!0);Array.isArray(a)&&a.length>0&&(s=a[0])}if(typeof o=="string"){const a=new Token(o,s,A?1:-1);a.meta="markString",n.push(a)}else{const a=await o(e);a&&(a.meta=a.meta||"markString()",n.push(a))}}}const blankNode={open:"",close:""};class DocumentMarkdownTokenizer{constructor(e,A,n,r={hardBreakNodeName:"hard_break"}){this.nodes=e,this.marks=A,this.schema=n,this.options=r,this.tokens=[],this.inlineTokenizer=new DocumentMarkdownInlineTokenizer(e,A,r,n)}async iterateNode(e,A,n=0,r=-1){const o=this.nodes[e.type.name]?this.nodes[e.type.name](e,A):blankNode;let s="";if(e.type.spec.toDOM){const l=e.type.spec.toDOM(e);Array.isArray(l)&&l.length>0&&(s=l[0])}if(o.selfClose){let l;if(typeof o.selfClose=="string"){const g=new Token(o.selfClose,s,0);g.level=r,g.map=[A],this.tokens.push(g),l=g}else{const g=await o.selfClose(e,A,n);g.level=r,g.map=[A],this.tokens.push(g),l=g}["before","both"].includes(o.margin||"")&&l.attrSet("margin_before","1"),["after","both"].includes(o.margin||"")&&l.attrSet("margin_after","1");return}let a;if(o.open){if(typeof o.open=="string"){const l=new Token(o.open,s,1);l.level=r,l.meta="nodeSpec.open",l.map=[A],this.tokens.push(l),a=l}else{const l=await o.open(e,A,n);l.level=r,l.meta="nodeSpec.open()",l.map=[A],this.tokens.push(l),a=l}["before","both"].includes(o.margin||"")&&a.attrSet("margin_before","1")}if(e.inlineContent){const l=new Token("inline","",0);l.level=r+1,l.map=[A],this.tokens.push(l),l.children=await this.inlineTokenizer.renderInline(e,A+1,r+1)}else if(e.childCount>0){let l=0;for(let g=0;g<e.childCount;g++){const c=e.child(g);await this.iterateNode(c,A+l+1,g,r+1),l+=c.nodeSize}}if(o.close){if(!a)throw new Error("No openToken");let l;if(typeof o.close=="string"){const g=new Token(o.close,s,-1);g.meta="nodeSpec.close",g.level=r,this.tokens.push(g),l=g}else{const g=await o.close(e,A,n,a);g.meta="nodeSpec.close()",g.level=r,this.tokens.push(g),l=g}["after","both"].includes(o.margin||"")&&l.attrSet("margin_after","1")}}async serialize(e,A={}){return await this.iterateNode(e,-1,0),this.tokens}}class MdStashContext{constructor(){this.ctxStash=[],this.currentCtx={meta:{}},this.stash()}stash(){return this.ctxStash.push(this.currentCtx),this.currentCtx={...structuredClone({...this.currentCtx})},this.ctxStash.length-1}unstash(){const e=this.ctxStash.pop();if(!e)throw new Error("Unstash failed");this.currentCtx=e}get current(){return this.currentCtx}}async function pmToMdConverter(t,e,A,n){const r=await extPmToMdConverter(t,e,A,n);return new TextEncoder().encode(r.content)}async function extPmToMdConverter(t,e,A,n){const r=new MdStashContext;let o;const s=new DocumentMarkdownTokenizer({paragraph(Q){return{open:async(p,m,y)=>{const w=new Token("paragraph_open","p",NESTING_OPENING);return o.resolve(m).parent?.type.name==="table_cell"&&y>0&&w.attrSet("not_first_para","1"),w},close:async(p,m,y,w)=>{const D=new Token("paragraph_close","p",NESTING_CLOSING);let _;return p.children.length===1&&p.children[0].type.name==="shortcode_inline"&&(_=p.children[0]),_?(_.attrs.nesting!==NESTING_CLOSING&&w.attrSet("margin_before","1"),_.attrs.nesting!==NESTING_OPENING&&D.attrSet("margin_after","1")):(w.attrSet("margin_before","1"),D.attrSet("margin_after","1")),D}}},hr(Q){return{selfClose:"hr",margin:"both"}},heading(Q){return{open:async p=>{if(!p.attrs.level)throw new Error("No heading level");return new Token("heading_open","h"+p.attrs.level,1)},close:"heading_close",margin:"both"}},blockquote(Q){return{open:"blockquote_open",close:"blockquote_close"}},math(){return{selfClose:async Q=>{const p=new Token("math","math",0);return p.content=Q.attrs.content,p.attrSet("lang",Q.attrs.lang),p.meta="noEscText",p}}},task_list(Q){return{open:async p=>{r.stash(),r.current.meta.list_type="tl",r.current.meta.list_type_symbol="";const m=new Token("task_list_open","ul",1);return m.attrSet("symbol","*"),m},close:async p=>(r.unstash(),new Token("task_list_close","ul",-1)),margin:"both"}},bullet_list(Q){return{open:async(p,m,y)=>{r.stash(),r.current.meta.list_type="ul",r.current.meta.list_type_symbol="*";const w=new Token("bullet_list_open","ul",1);w.attrSet("symbol","*");const D=o.nodeAt(m+1);D?.type.name==="list_item"&&w.attrSet("first_level_type",D.attrs.type);const _=o.resolve(m),k=_.parent;return _.node(_.depth-1),k?.type.name==="table_cell"&&y>0&&w.attrSet("not_first_para","1"),w},close:async(p,m)=>{r.unstash();const y=new Token("bullet_list_close","ul",-1),w=o.nodeAt(m+1);return w?.type.name==="list_item"&&y.attrSet("first_level_type",w.attrs.type),y},margin:"both"}},ordered_list(Q){return{open:async(p,m,y)=>{r.stash(),r.current.meta.list_type="ol",r.current.meta.list_type_symbol=p.attrs.type||"1";const w=new Token("ordered_list_open","ol",1);w.attrSet("symbol",p.attrs.type||"1"),w.attrSet("start",p.attrs.start);const D=o.nodeAt(m+1);return D?.type.name==="list_item"&&w.attrSet("first_level_type",D.attrs.type),o.resolve(m).parent?.type.name==="table_cell"&&y>0&&w.attrSet("not_first_para","1"),w},close:async(p,m)=>{r.unstash();const y=new Token("ordered_list_close","ol",-1),w=o.nodeAt(m+1);return w?.type.name==="list_item"&&y.attrSet("first_level_type",w.attrs.type),y},margin:"both"}},list_item(Q){return{open:async p=>{const m=new Token("list_item_open","li",1);return p.attrs.value&&m.attrSet("value",p.attrs.value),p.attrs.type&&m.attrSet("type",p.attrs.type),r.current.meta.list_type==="ul"&&(m.markup=r.current.meta.list_type_symbol||"-"),m},close:"list_item_close"}},task_item(Q){return{open:async p=>{const m=new Token("task_item_open","li",1);return m.attrSet("checked",p.attrs.checked?"checked":""),m},close:"task_item_close"}},table(Q){return{open:"table_open",close:"table_close",margin:"both"}},table_row(Q){return{open:"tr_open",close:"tr_close"}},table_cell(Q){return{open:"td_open",close:"td_close"}},table_header(Q){return{open:"th_open",close:"th_close"}},br(Q){return{selfClose:"hardbreak"}},softbreak(Q){return{selfClose:"softbreak"}},text(Q){return{selfClose:p=>{const m=new Token("text","",0);return m.content=p.text||"",Promise.resolve(m)}}},code_block(Q){return{selfClose:p=>{const m=new Token("code_block","code",0);return m.meta="noEscText",m.attrSet("lang",p.attrs.lang),m.content=p.textContent,Promise.resolve(m)},margin:"both"}},image(Q){return{selfClose:p=>{let m=p.attrs.src,y=p.attrs.alt;const w=new Token("image","img",0);return w.attrSet("src",m),w.attrSet("alt",y),w.attrSet("origUrl",p.attrs.origUrl),p.attrs.title&&w.attrSet("title",p.attrs.title),w.attrSet("mdTemplate",p.attrs.mdTemplate),Promise.resolve(w)}}},shortcode_inline(Q){return{selfClose:p=>{const m=new Token("shortcode_inline","shortcode_inline",0);return m.content=p.attrs.content,Promise.resolve(m)}}},node_bookmark(Q){return{selfClose:p=>{const m=new Token("bookmark","bookmark",NESTING_SELF_CLOSING);return m.content=p.attrs.content,m.attrSet("id",p.attrs.id),Promise.resolve(m)}}}},{em:{open:"em_open",close:"em_close",mixable:!0,expelEnclosingWhitespace:!0},underline:{open:"underline_open",close:"underline_close",mixable:!0,expelEnclosingWhitespace:!0},strong:{open:"strong_open",close:"strong_close",mixable:!0,expelEnclosingWhitespace:!0},strike:{open:"strike_open",close:"strike_close",mixable:!0,expelEnclosingWhitespace:!0},math:{open:"math_inline_open",close:"math_inline_close"},link:{open:async Q=>{const p=new Token("link_open","a",1);return p.attrSet("href",Q.attrs.href),p.attrSet("origUrl",Q.attrs.origUrl),p.attrSet("mdTemplate",Q.attrs.mdTemplate),p},close:"link_close",mixable:!0},code:{open:"code_open",close:"code_close",escape:!1}},A),a=[...n.hooks["pm2md.pre"]];let l=EditorState.create({doc:t});const g=Q=>{l=l.apply(Q)};if(a.length>0)for(const Q of a)await Q(l,p=>g(p));o=l.doc;const c=await s.serialize(o);if(e.debugTokens){const Q=new CustomEvent("md:tokens",{detail:{tokens:c}});n.dispatchEvent(Q)}const I={debug:e.serializerDebug},h=await new MarkdownSerializer(I).serialize(c),u=new CustomEvent("md:output",{detail:{output:h}});n.dispatchEvent(u);const B={},E=[];let f;if(e.sourceMap){const Q=new SmartOutput;nodeToTreeStringOutput(Q,t),Q.getSourceMap((p,m,y,w)=>{w&&(B[w.pos]={targetRow:p,targetCol:m})}),f=h.getSourceMap((p,m,y,w)=>{if(w?.map){const D=w.map[0],_=w.map[2];if(E.push({nodeIdx:D,targetPos:y,targetRow:p,targetCol:m,sourceCol:_}),B[D])return{sourceNo:0,sourceRowPos:B[D].targetRow,sourceColPos:B[D].targetCol}}}),f.file="target.md",f.sources=["debug.txt"],f.sourcesContent=[Q.toString()]}if(e.dispatchSourceMap){const Q=new CustomEvent("md:sourcemap",{detail:{sourceMap:f,debugMap:B,rawTextMap:E}});n.dispatchEvent(Q)}return{content:h.toString(),sourceMap:f,debugMap:B,rawTextMap:E}}const removeWhitespaces=t=>{const e=t.childNodes;for(let A=e.length-1;A>=0;A-=1){const n=e[A];n.nodeType===3&&n.nodeValue&&/^(\n\s\s|\n)$/.test(n.nodeValue)?t.removeChild(n):n.nodeType===1&&removeWhitespaces(n)}return t};function elementFromString(t){const e=`<html lang="en"><body>${t}</body></html>`,A=new globalThis.DOMParser().parseFromString(e,"text/html").body;return removeWhitespaces(A)}function maybeMerge(t,e){if(t.isText&&e.isText&&Mark$1.sameSet(t.marks,e.marks))return t.withText(t.text+e.text)}class MarkdownParseState{constructor(e,A){this.schema=e,this.tokenHandlers=A,this.stack=[{type:e.topNodeType,attrs:null,content:[],marks:Mark$1.none}]}top(){return this.stack[this.stack.length-1]}push(e){this.stack.length&&this.top().content.push(e)}addText(e){if(!e)return;let A=this.top(),n=A.content,r=n[n.length-1],o=this.schema.text(e,A.marks),s;r&&(s=maybeMerge(r,o))?n[n.length-1]=s:n.push(o)}openMark(e){let A=this.top();A.marks=e.addToSet(A.marks)}closeMark(e){let A=this.top();A.marks=e.removeFromSet(A.marks)}parseTokens(e){for(let A=0;A<e.length;A++){let n=e[A],r=this.tokenHandlers[n.type];if(!r)throw console.log(Object.keys(this.tokenHandlers)),new Error("Token type `"+n.type+"` not supported by Markdown parser");r(this,n,e,A)}}addNode(e,A,n){let r=this.top(),o=e.createAndFill(A,n,r?r.marks:[]);return o?(this.push(o),o):null}openNode(e,A){this.stack.push({type:e,attrs:A,content:[],marks:Mark$1.none})}closeNode(){let e=this.stack.pop();return this.addNode(e.type,e.attrs,e.content)}importNodes(e){for(const A of e)this.push(A)}}function attrs(t,e,A,n){return t.getAttrs?t.getAttrs(e,A,n):t.attrs instanceof Function?t.attrs(e):t.attrs}function noCloseToken(t,e){return t.noCloseToken||e=="code_block"||e=="fence"}function withoutTrailingNewline(t){return t[t.length-1]==`
171
+ `?t.slice(0,t.length-1):t}function noOp(){}function tokenHandlers(t,e){let A=Object.create(null);for(let n in e){let r=e[n];if(r.block){let o=t.nodes[r.block];noCloseToken(r,n)?A[n]=(s,a,l,g)=>{s.openNode(o,attrs(r,a,l,g)),s.addText(withoutTrailingNewline(a.content)),s.closeNode()}:(A[n+"_open"]=(s,a,l,g)=>s.openNode(o,attrs(r,a,l,g)),A[n+"_close"]=s=>s.closeNode())}else if(r.node){let o=t.nodes[r.node];A[n]=(s,a,l,g)=>s.addNode(o,attrs(r,a,l,g))}else if(r.mark){let o=t.marks[r.mark];noCloseToken(r,n)?A[n]=(s,a,l,g)=>{s.openMark(o.create(attrs(r,a,l,g))),s.addText(withoutTrailingNewline(a.content)),s.closeMark(o)}:(A[n+"_open"]=(s,a,l,g)=>s.openMark(o.create(attrs(r,a,l,g))),A[n+"_close"]=s=>s.closeMark(o))}else if(r.custom){const o=r.custom;A[n]=(s,a,l,g)=>{o(s,a,l,g)}}else if(r.ignore)noCloseToken(r,n)?A[n]=noOp:(A[n+"_open"]=noOp,A[n+"_close"]=noOp);else throw new RangeError("Unrecognized parsing spec "+JSON.stringify(r))}return A.text=(n,r)=>n.addText(r.content),A.inline=(n,r)=>n.parseTokens(r.children),A.softbreak=A.softbreak||(n=>n.addText(" ")),A}class MarkdownParser{constructor(e,A,n){this.schema=e,this.tokenizer=A,this.tokens=n,this.tokenHandlers=tokenHandlers(e,n)}parse(e,A={}){const n=new MarkdownParseState(this.schema,this.tokenHandlers),r=this.tokenizer.parse(e,A);n.parseTokens(r);let o;do o=n.closeNode();while(n.stack.length);return o||this.schema.topNodeType.createAndFill()}}function treeToTokens(t,e,A){const n=[];let r=0;const o=g=>{if(g)return A.substring(g.startIndex,g.endIndex)},s=(g,c)=>{const I=n[n.length-1];if(I?.type==="inline"){I.children||(I.children=[]),I.children.push(g),I.content=g.content;return}const d=new Token("inline","",NESTING_SELF_CLOSING);d.info=c,d.level=r,d.children=[g],d.content=d.children.map(h=>h.content||"").join(""),n.push(d)},a=(g,c,I={row:0,column:0})=>{const d=u=>{if(u)return c.substring(u.startIndex,u.endIndex)},h=(u,B)=>{const E=u.split(`
172
+ `);let f=0;for(const Q of E){if(f>0){const y=[I.row+B.startPosition?.row+f,I.row+B.endPosition?.row+f,0,0],w=new Token("softbreak","wbr",NESTING_SELF_CLOSING);w.map=y,w.content=`
173
+ `,s(w,"softbreak between text rows")}const p=[I.row+B.startPosition?.row+f,I.row+B.endPosition?.row+f,I.column+B.startPosition?.column,(+B.endPosition.row==+B.startPosition.row?I.column:0)+B.endPosition?.column],m=new Token("text","",NESTING_SELF_CLOSING);m.map=p,m.meta="noEscText",m.content=E.length>1?Q.replace(/^\s+/,""):Q,s(m,"text"),f++}};for(const u of g){const B=[I.row+u.startPosition?.row,I.row+u.endPosition?.row,I.column+u.startPosition?.column,(+u.endPosition.row==+u.startPosition.row?I.column:0)+u.endPosition?.column];if(u.type.length===1){const E=new Token("text","",NESTING_SELF_CLOSING);E.map=B,E.meta="noEscText",E.content=d(u)||"",s(E,"walkInline");continue}switch(u.type){case"block_continuation":case"emphasis_delimiter":case"code_span_delimiter":break;case"text":{const E=d(u)??"";h(E,u)}break;case"latex_block":{const E=u.children.find(Q=>Q?.type==="latex_span_delimiter"),f=u.children.filter(Q=>Q?.type!=="latex_span_delimiter").map(Q=>d(Q)).join("");if(d(E)==="$$"){const Q=new Token("fence","pre",NESTING_SELF_CLOSING);Q.level=r,Q.markup="$$",Q.meta="noEscText",Q.attrSet("lang","latex"),Q.content=f.trim(),n.push(Q)}else{const Q=new Token("math","",NESTING_SELF_CLOSING);Q.attrSet("lang","latex"),Q.map=B,Q.meta="noEscText",Q.content=f,s(Q,"latex_block")}}break;case"whitespace":{const E=d(u)||"";if(E===`
174
+ `){const f=new Token("softbreak","wbr",NESTING_SELF_CLOSING);f.map=B,f.content=E??"",s(f,`whitespace
175
+ `);break}if(E&&E.match(/^\s+$/)){if(E.endsWith(`
176
+ `)){const f=new Token("hardbreak","wbr",NESTING_SELF_CLOSING);f.map=B,f.meta="noEscText",f.content=E??"",s(f,"whitespace hardbreak")}else{const f=new Token("text","br",NESTING_SELF_CLOSING);f.map=B,f.meta="noEscText",f.content=E??"",s(f,"whitespace space")}break}if(E?.trim().length>0){h(E,u);break}}break;case"shortcut_link":{const E="link",Q=new Token(E+"_open","a",NESTING_OPENING),p=u.children.find(w=>w?.type==="link_destination");Q.attrSet("href",d(p)||"");const m=u.children.find(w=>w?.type==="link_title");m&&Q.attrSet("title",d(m)||""),s(Q,"shortcut_link"),u.children.filter(w=>w.type==="link_text").forEach(w=>{const D=new Token("text","",NESTING_SELF_CLOSING);D.map=B,D.meta="noEscText",D.content=d(w)??"",s(D,"link_text")});const y=new Token(E+"_close","a",NESTING_CLOSING);s(y,"/shortcut_link")}break;case"inline_link":{const E="link",Q=new Token(E+"_open","a",NESTING_OPENING),p=u.children.find(w=>w.type==="link_destination");Q.attrSet("href",p?.text||"");const m=u.children.find(w=>w.type==="link_title");m&&Q.attrSet("title",m.text||""),s(Q,"inline_link"),u.children.filter(w=>w.type==="link_text").forEach(w=>{const D=new Token("text","",NESTING_SELF_CLOSING);D.map=B,D.meta="noEscText",D.content=d(w)??"",s(D,"inline_link_txt")});const y=new Token(E+"_close","a",NESTING_CLOSING);s(y,"/inline_link")}break;case"image":{const E="image",Q=new Token(E,"img",NESTING_SELF_CLOSING),p=u.children.find(w=>w.type==="image_description");Q.attrSet("alt",p?.text||"");const m=u.children.find(w=>w.type==="link_destination");Q.attrSet("src",m?.text||"");const y=u.children.find(w=>w.type==="link_title");y&&Q.attrSet("title",y.text||""),s(Q,"image")}break;case"strong_emphasis":{const E=u.children.find(y=>y.type==="emphasis_delimiter"),f=E?.text==="_"?"underline":"strong",Q=E?.text==="_"?"u":"strong",p=new Token(f+"_open",Q,NESTING_OPENING);E?.text==="_"&&(p.markup="__"),s(p,"strongem"),a(u.children,c);const m=new Token(f+"_close",Q,NESTING_CLOSING);d(E)==="_"&&(m.markup="__"),s(m,"/strongem")}break;case"emphasis":{const E=u.children.find(w=>w.type==="emphasis_delimiter"),f=u.children.filter(w=>w.type!=="emphasis_delimiter"),Q=E?.text==="_"?"underline":"em",p=E?.text==="_"?"u":"em",m=new Token(Q+"_open",p,NESTING_OPENING);s(m,"em"),a(f.filter(w=>!!w),c);const y=new Token(Q+"_close",p,NESTING_CLOSING);s(y,"/em")}break;case"strikethrough":{const E="strike",f="strike",Q=new Token(E+"_open",f,NESTING_OPENING);s(Q,"s"),a(u.children.filter(m=>!!m),c);const p=new Token(E+"_close",f,NESTING_CLOSING);s(p,"/s")}break;case"code_span":{const E="code",f="code",Q=new Token(E+"_open",f,NESTING_OPENING);s(Q,"code"),a(u.children.filter(m=>!!m),c);const p=new Token(E+"_close",f,NESTING_CLOSING);s(p,"/code")}break;case"html_tag":{const E="html_block",Q=new Token(E,"",NESTING_SELF_CLOSING);Q.content=d(u)||"",s(Q,"html_block")}break;case"hard_line_break":{const E="hardbreak",Q=new Token(E,"br",NESTING_SELF_CLOSING);Q.map=B,Q.meta="noEscText",Q.content=d(u)??"",s(Q,"hard_line_break")}break;default:throw console.debug("inline_node",u),new Error(`Unhandled inline node type: ${u.type}`)}}},l=(g,c={tableRowType:"tbody",cellNo:0,cellAlign:[]})=>{if(g){if(g.type==="inline"){const I=o(g);if(!I)throw new Error("!inlineText");const d=e.parse(I);if(!d)throw new Error("!inlineTree");a(d?.rootNode.children,I,g.startPosition);return}if(!g.children||g.children.length===0){if(g.type==="text"||g.type.length===1){const I=new Token("text","",NESTING_SELF_CLOSING);I.map=[+g.startPosition?.row,+g.endPosition?.row,+g.startPosition?.column,+g.endPosition?.column],I.meta="noEscText",I.content=o(g)??"",s(I,"txt2");return}if(g.type==="whitespace"){if(r===0||(o(g)||"").match(/^\n+$/))return;const I=o(g)||"";if(I&&I.match(/^\s+$/)){const d=new Token("text","br",NESTING_SELF_CLOSING);d.map=[+g.startPosition?.row,+g.endPosition?.row,+g.startPosition?.column,+g.endPosition?.column],d.meta="noEscText",d.content=o(g)??"",s(d,"txt3");return}if(I.trim().length>0){const d=new Token("text","",NESTING_SELF_CLOSING);d.map=[+g.startPosition?.row,+g.endPosition?.row,+g.startPosition?.column,+g.endPosition?.column],d.meta="noEscText",d.content=I??"",s(d,"txt4");return}}}switch(g.type){case"block_continuation":break;case"document":case"section":g.children.filter(I=>!!I).forEach(I=>l(I,c));break;case"thematic_break":{const I=new Token("hr","hr",NESTING_SELF_CLOSING);I.level=r,I.map=[+g.startPosition?.row,+g.endPosition?.row,+g.startPosition?.column,+g.endPosition?.column],I.markup=o(g)||"",I.attrSet("margin_before","1"),I.attrSet("margin_after","1"),n.push(I)}break;case"setext_heading":{const I="heading",d=g.children.filter(f=>!!f).find(f=>f.type.startsWith("setext_")&&f.type.endsWith("_underline")),h=d?.type.substring(7,9)||"h1",u=new Token(I+"_open",h,NESTING_OPENING);u.level=r,u.markup=o(d)||"#",u.attrSet("margin_before","1"),n.push(u);const B=g.children.filter(f=>!!f).filter(f=>!f.type.startsWith("setext_"));r++,B.forEach(f=>l(f,c)),r--;const E=new Token(I+"_close",h,NESTING_CLOSING);E.level=r,E.markup=o(d)||"",E.attrSet("margin_after","1"),n.push(E)}break;case"atx_heading":{const I="heading",d=g.children.filter(f=>!!f).find(f=>f.type.startsWith("atx_")&&f.type.endsWith("_marker")),h=d?.type.substring(4,6)||"h1",u=new Token(I+"_open",h,NESTING_OPENING);u.level=r,u.markup=o(d)||"#",u.attrSet("margin_before","1"),n.push(u);const B=[...g.children.filter(f=>!!f)];B.length>0&&B[0].type.endsWith("_marker")&&B.splice(0,1),B.length>0&&B[0].type==="whitespace"&&B.splice(0,1),B.length>0&&B[B.length-1].type==="whitespace"&&B.splice(B.length-1,1),r++,B.forEach(f=>l(f,c)),r--;const E=new Token(I+"_close",h,NESTING_CLOSING);E.level=r,E.attrSet("margin_after","1"),n.push(E)}break;case"minus_metadata":{const I="frontmatter",d="frontmatter",h=new Token(I,d,NESTING_SELF_CLOSING);h.level=r,h.content=o(g)||"",n.push(h)}break;case"fenced_code_block":{const I="fence",h=g.children.filter(f=>!!f).find(f=>f.type==="info_string"),u=new Token(I,"pre",NESTING_SELF_CLOSING);u.meta="noEscText",u.level=r,u.markup="```",h&&u.attrSet("lang",o(h)||"");const E=[...g.children.filter(f=>!!f).filter(f=>f?.type==="code_fence_content")].map(f=>o(f)||"").join("");u.content=E,u.attrSet("margin_before","1"),u.attrSet("margin_after","1"),n.push(u)}break;case"block_quote":{const I="blockquote",d="blockquote",h=new Token(I+"_open",d,NESTING_OPENING);h.level=r,h.attrSet("margin_before","1"),n.push(h),r++,g.children?.filter(B=>!["block_quote_marker"].includes(B.type)).forEach(B=>l(B,c)),r--;const u=new Token(I+"_close",d,NESTING_CLOSING);u.level=r,u.attrSet("margin_after","1"),n.push(u)}break;case"indented_code_block":{const I="code_block",d="code_block",h=new Token(I,d,NESTING_SELF_CLOSING);h.level=r;let u=80;"indent"in g&&(u=g.indent.length);const B=g.text.split(`
177
+ `);for(const f of B){if(f.trim().length===0)continue;const Q=f.match(/^ +/);Q?u>Q[0].length&&(u=Q[0].length):u=0}const E=B.map(f=>f.substring(u)).join(`
178
+ `);h.attrSet("indent",""+u),h.content=E,h.attrSet("margin_before","1"),h.attrSet("margin_after","1"),n.push(h)}break;case"paragraph":{const I="paragraph",h=new Token(I+"_open","p",NESTING_OPENING);h.level=r,h.attrSet("margin_before","1"),n.push(h),r++,g.children?.forEach(B=>l(B,c)),r--;const u=new Token(I+"_close","p",NESTING_CLOSING);u.level=r,u.attrSet("margin_after","1"),n.push(u)}break;case"pipe_table_cell":{const I=c.tableRowType==="thead"?"th":"td",d=c.tableRowType==="thead"?"th":"td",h=new Token(I+"_open",d,NESTING_OPENING);h.attrSet("align",c.cellAlign[c.cellNo]||"left"),h.level=r,n.push(h),r++;{const B="paragraph",f=new Token(B+"_open","p",NESTING_OPENING);f.level=r,n.push(f);const Q=[...g.children];for(;Q.length>0&&Q[Q.length-1].type==="whitespace";)Q.splice(Q.length-1,1);if(Q.length>0)Q.forEach(m=>l(m,c));else{const m=[g.startPosition?.row,g.endPosition?.row,g.startPosition?.column,g.endPosition?.column],y=new Token("text","",NESTING_SELF_CLOSING);y.map=m,y.meta="noEscText",y.content=g.text?.replace(/\s+$/,"")??"",s(y,"txt5")}const p=new Token(B+"_close","p",NESTING_CLOSING);p.level=r,n.push(p)}r--;const u=new Token(I+"_close",d,NESTING_CLOSING);u.level=r,n.push(u),c.cellNo++}break;case"pipe_table_header":case"pipe_table_row":{const h=new Token("tr_open","tr",NESTING_OPENING);h.level=r,n.push(h),r++,g.children.filter(B=>!!B).filter(B=>B.type==="pipe_table_cell").forEach(B=>l(B,c)),r--;const u=new Token("tr_close","tr",NESTING_CLOSING);u.level=r,n.push(u)}break;case"pipe_table":{const I="table",d="table",h=new Token(I+"_open",d,NESTING_OPENING);h.level=r,h.attrSet("margin_before","1"),n.push(h),r++;const u=g.children.filter(p=>!!p).filter(p=>p.type==="pipe_table_delimiter_row"),B=[];if(u.length>0){const m=u[0].children.filter(y=>!!y).filter(y=>y.type==="pipe_table_delimiter_cell");for(let y=0;y<m.length;y++)m[y].children.filter(D=>!!D).find(D=>D.type==="pipe_table_align_right")?B.push("right"):B.push("left")}const E=g.children.filter(p=>!!p).filter(p=>p.type==="pipe_table_header");if(E.length>0){const p="thead",m="thead",y=new Token(p+"_open",m,NESTING_OPENING);y.level=r,n.push(y),r++,E.forEach(D=>l(D,{...c,tableRowType:"thead",cellNo:0,cellAlign:B})),r--;const w=new Token(p+"_close",m,NESTING_CLOSING);w.level=r,n.push(w)}const f=g.children?.filter(p=>p?.type==="pipe_table_row");f.length>0&&(r++,f.filter(p=>!!p).forEach(p=>l(p,{...c,tableRowType:"tbody",cellAlign:B})),r--),r--;const Q=new Token(I+"_close",d,NESTING_CLOSING);Q.level=r,Q.attrSet("margin_after","1"),n.push(Q)}break;case"list":{let I="bullet_list",d="ul",h="";const u=g.children.filter(f=>!!f).find(f=>f.type==="list_item");if(u){const f=u.children.filter(p=>!!p).find(p=>p.type.startsWith("task_list_marker")),Q=u.children.filter(p=>!!p).find(p=>p.type.startsWith("list_marker_dot"));f?(I="task_list",d="ul"):Q&&(I="ordered_list",d="ol",h=(o(Q)||"").trim().replace(".",""))}const B=new Token(I+"_open",d,NESTING_OPENING);B.level=r,B.markup=d==="ol"?".":"*",B.attrSet("symbol",d==="ol"?"1":"*"),h&&B.attrSet("start",h),B.attrSet("margin_before","1"),n.push(B),r++,g.children.filter(f=>!!f).forEach(f=>l(f,c)),r--;const E=new Token(I+"_close",d,NESTING_CLOSING);E.level=r,E.attrSet("margin_after","1"),n.push(E)}break;case"list_item":{const I=g.children.filter(Q=>!!Q).find(Q=>Q.type.startsWith("task_list_marker_")),d=g.children.filter(Q=>!!Q).find(Q=>Q.type.startsWith("list_marker_"));if(!d)break;let h=I?"task_item":"list_item";const u="li",B=new Token(h+"_open",u,NESTING_OPENING);B.level=r,B.markup=(o(d)||"").trim(),d.type==="list_marker_dot"&&(B.info="",B.markup=""),I&&(I.type,B.attrSet("checked",I.type==="task_list_marker_checked"?"checked":"")),n.push(B),r++,l(g.children.filter(Q=>!!Q).find(Q=>Q.type==="paragraph"),c);const E=g.children.filter(Q=>!!Q).filter(Q=>Q.type==="list");for(const Q of E)l(Q,c);r--;const f=new Token(h+"_close",u,NESTING_CLOSING);f.level=r,n.push(f)}break;case"html_block":{const I=new Token("html_block","",NESTING_SELF_CLOSING);I.level=r,I.content=o(g)??"",I.attrSet("margin_before","1"),I.attrSet("margin_after","1"),n.push(I)}break;case"text":{const I=new Token("text","",NESTING_SELF_CLOSING);I.level=r,I.content=o(g)??"",n.push(I)}break;default:throw console.warn(`Unhandled node type: ${g.type}, children: ${g.children.map(I=>I.type).join(", ")}`,{...g,children:void 0,_children:void 0,tree:void 0}),new Error(`Unhandled node type: ${g.type}`)}}};return l(t.rootNode),n}async function sitterTokenizer(t){const e=getLangTreeSitter("markdown"),A=e.files.find(l=>l.indexOf("_inline")===-1),n=e.files.find(l=>l.indexOf("_inline")>-1),r=await t(e.dir+"/"+A),o=await t(e.dir+"/"+n),s=await createParser(r,{assetLoad:t}),a=await createParser(o,{assetLoad:t});return{parse:l=>{const g=s.parse(l);if(!g)throw new Error("Tree is null");return treeToTokens(g,a,l)}}}function listIsTight(t,e){for(;++e<t.length;)if(t[e].type!="list_item_open")return t[e].hidden;return!1}async function mdToPmConverter(t,e,A){const n=new TextDecoder().decode(t);return mdToPmConverterText(n,e,A)}async function mdToPmConverterText(t,e,A){if(!e.assetLoad)throw new Error("No config.assetLoad");const n=await sitterTokenizer(e.assetLoad);return new MarkdownParser(A,n,{frontmatter:{node:"frontmatter"},blockquote:{block:"blockquote"},paragraph:{block:"paragraph"},task_item:{block:"task_item"},task_list:{block:"task_list"},list_item:{block:"list_item"},bullet_list:{block:"bullet_list",getAttrs:(o,s,a)=>({tight:listIsTight(s,a)})},ordered_list:{block:"ordered_list",getAttrs:(o,s,a)=>({start:+o.attrGet("start")||1,tight:listIsTight(s,a)})},dl:{block:"dl"},dt:{block:"dt"},dd:{block:"dd"},heading:{block:"heading",getAttrs:o=>({level:+o.tag.slice(1)})},code_block:{block:"code_block",getAttrs:o=>({lang:o.attrGet("lang")||void 0}),noCloseToken:!0},fence:{block:"code_block",getAttrs:o=>({lang:o.attrGet("lang")||void 0}),noCloseToken:!0},hr:{node:"hr"},image:{node:"image",getAttrs:o=>{const s=o.children?o.children[0]:void 0;return{src:o.attrGet("src"),title:o.attrGet("title")||null,alt:s?.content||null}}},hardbreak:{node:"br"},em:{mark:"em"},underline:{mark:"underline"},strong:{mark:"strong"},strike:{mark:"strike"},link:{mark:"link",getAttrs:o=>({href:o.attrGet("href"),title:o.attrGet("title")||null})},code:{mark:"code"},html_block:{custom:(o,s,a,l)=>{const c=DOMParser$1.fromSchema(A).parse(elementFromString(s.content));o.importNodes(c.children)}},footnote_ref:{block:"code_block"},table:{block:"table"},tr:{block:"table_row"},td:{block:"table_cell"},th:{block:"table_header"},thead:{ignore:!0}}).parse(t)}const addEmptyLines=(t,e)=>{const A=t.doc,n=t.tr,r=t.schema.nodes.br,o=t.schema.nodes.softbreak;function s(a,l,g=0,c=0){let I=0,d=!1;for(let h=0;h<a.length;h++){const u=a[h];if(["image","node_bookmark"].includes(u.type.name)&&h>0){const B=a[h-1];if(B.type!==o)if(B.type===r)n.setNodeMarkup(n.mapping.map(g+I-B.nodeSize),o);else{const E=o.createAndFill();E&&n.insert(n.mapping.map(g+I),E)}}if(u.type.name==="softbreak"){const B=a[h-1];a[h+1],B?.type.name==="softbreak"&&n.delete(n.mapping.map(g+I),n.mapping.map(g+I+u.nodeSize)),B?.textContent?.endsWith(" ")&&n.delete(n.mapping.map(g+I),n.mapping.map(g+I+u.nodeSize)),d||n.delete(n.mapping.map(g+I),n.mapping.map(g+I+u.nodeSize))}else d=!0;s(u.children,u,g+I+1,c+1),I+=u.nodeSize}}return s(A.children),e&&e(n),n.docChanged},fixIdLinks=(t,e)=>{let A=t.tr;const n=t.schema.marks.link;return t.doc.descendants((r,o)=>{r.marks.forEach(s=>{if(s.type===n&&s.attrs.href.startsWith("#")){const l=(r.text||r.textBetween(0,r.content.size)).toLowerCase().replace(/[^\w]+/g," ").trim().replaceAll(" ","-");l&&(A=A.removeMark(o,o+r.nodeSize,n).addMark(o,o+r.nodeSize,n.create({...s.attrs,href:"#"+l})))}})}),e&&e(A),A.docChanged},fixShortCodes=(t,e)=>{const A=t.doc;let n=t.tr;const r=t.schema.nodes.br,o=t.schema.nodes.softbreak;if(!r)throw new Error("No hardbreak type in schema");if(!o)throw new Error("No softbreak type in schema");function s(a,l=0,g=0){a.forEach((c,I,d)=>{if(c.type.name==="shortcode_inline"){if(d>1){const h=a.child(d-1);h.type===r&&(n=n.setNodeMarkup(l+I-h.nodeSize,o))}d<a.childCount-1&&a.child(d+1).type===r&&(n=n.setNodeMarkup(l+I+c.nodeSize,o))}s(c,l+I+1,g+1)})}return s(A),e&&e(n),n.steps.length>0},removeEmptyTags=(t,e)=>{const A=t.schema.nodes.paragraph,n=t.tr;return t.doc.descendants((r,o)=>{if(["paragraph"].includes(r.type.name)){const s=r.children.every(a=>a.isText&&a.textContent==="");(r.childCount===0||s)&&n.deleteRange(n.mapping.map(o),n.mapping.map(o+r.nodeSize))}else if(["heading"].includes(r.type.name)){const s=r.children.find(l=>l.type.name==="node_bookmark"),a=r.children.every(l=>l.isText&&l.textContent===""||l.type.name==="node_bookmark");s&&a?n.setNodeMarkup(n.mapping.map(o),A):(r.childCount===0||a)&&n.deleteRange(n.mapping.map(o),n.mapping.map(o+r.nodeSize))}}),e&&e(n),n.docChanged},removeSuggest=(t,e)=>{const A={},n=t.tr,r=t.doc,o="comment";r.descendants((s,a)=>{if(s.type.name===o&&s.attrs.id){const l=s.attrs.id;A[l]||(A[l]=[]),s.attrs.nesting===NESTING_OPENING$1&&(A[l][0]={node:s,pos:a}),s.attrs.nesting===NESTING_CLOSING$1&&(A[l][1]={node:s,pos:a})}});for(const s in A){const a=A[s][0],l=A[s][1];if(a&&l){const g=a.pos,c=l.pos+l.node.nodeSize;n.replace(n.mapping.map(g),n.mapping.map(c))}}return e&&e(n),n.docChanged},rewriteUrls=t=>async(e,A)=>{if(!t)return!1;const n=e.tr,r=e.schema.marks.link,o=e.schema.nodes.image,s=[],a=[];e.doc.descendants((l,g)=>{l.marks.forEach(c=>{c.type===r&&s.push([c,g,g+l.nodeSize])}),l.type===o&&a.push([l,g])});for(const[l,g,c]of s){const I=l.attrs.href,d={},h=await t(I,{type:"A",dest:"md",setMeta:(u,B)=>{d[u]=B}});if(h!==I||d.mdTemplate){const u=d.mdTemplate;n.removeMark(n.mapping.map(g),n.mapping.map(c),l);const B=e.schema.mark("link",{...l.attrs,href:h,origUrl:I,mdTemplate:u});n.addMark(n.mapping.map(g),n.mapping.map(c),B)}}for(const[l,g]of a){const c=l.attrs.src,I={},d=await t(c,{type:"IMG",dest:"md",setMeta:(h,u)=>{I[h]=u}});if(d!==c||I.mdTemplate){const h=I.mdTemplate;n.setNodeMarkup(n.mapping.map(g),null,{...l.attrs,src:d,origUrl:c,mdTemplate:h})}}return A&&A(n),n.docChanged},trimLines=(t,e)=>{const A=t.doc,n=t.schema,r=t.tr,o=t.schema.nodes.br,s=t.schema.nodes.softbreak,a=t.schema.nodes.paragraph;function l(g,c,I=0,d=0){let h=0;if(c.type.name==="code_block"&&c.textContent.trim())return;function u(E,f){let Q=I+f;for(let p=E-1;p>=0;p--){const m=g[p];if(m?.type.name!=="text")break;const y=m.text||"",w=y.replace(/[ \t\u00A0]+$/,"");if(w!==y){const D=Q-m.nodeSize;w.length>0?r.replaceRangeWith(r.mapping.map(D),r.mapping.map(Q),n.text(w)):r.replace(r.mapping.map(D),r.mapping.map(Q))}else break;Q-=m.nodeSize;break}}let B=!1;for(let E=0;E<g.length;E++){const f=g[E];if(f.isText){let Q=f.text||"";if(Q.match(/^([ \t\u00A0]+)/)&&!B&&a!==c.type){Q=Q.replace(/^[ \t\u00A0]+/,"");const p=I+h,m=p+f.nodeSize;Q?r.replaceRangeWith(r.mapping.map(p),r.mapping.map(m),n.text(Q)):r.replace(r.mapping.map(p),r.mapping.map(m))}Q&&(B=!0)}o===f.type&&(u(E,h),E+1<g.length&&(g[E+1].type===o||g[E+1].type===s)&&r.setNodeMarkup(r.mapping.map(I+h),s)),l(f.children,f,I+h+1,d+1),h+=f.nodeSize}u(g.length,h)}return l(A.children,A),e&&e(r),r.docChanged},insertToc=(t,e)=>{const A=t.doc;let n=t.tr;const r=t.schema.nodes.br,o=t.schema.nodes.softbreak;if(!r)throw new Error("No hardbreak type in schema");if(!o)throw new Error("No softbreak type in schema");return A.forEach((s,a,l)=>{if(s.type.name==="bullet_list"&&s.attrs.toc){const g=s.copy(Fragment.from(s.content));n.insert(0,g)}}),e&&e(n),n.steps.length>0},addEnterAfterImage=(t,e)=>{const A=t.tr,n=t.schema.nodes.image,r=t.schema.nodes.br,o=t.schema.nodes.softbreak;function s(a,l=0,g=0){a.forEach((c,I,d)=>{if(c.type!==n)return;const h=a.nodeAt(d+1);if(h?.type===r&&h?.type===o)return;const u=l+I+c.nodeSize;A.insert(A.mapping.map(u),Fragment.from([t.schema.node("softbreak"),t.schema.node("softbreak")])),s(c,l+I+1,g+1)})}return s(t.doc),e&&e(A),A.docChanged},fixParaEnding=(t,e)=>{const A=t.doc,n=t.tr,r=t.schema.nodes.br,o=t.schema.nodes.paragraph;function s(a,l,g=0,c=0){if(l.type===o){let d=l.content.size;for(let h=a.length-1;h>=0;h--){const u=a[h];if(u.type!==r)break;d-=u.nodeSize;const B=g+d,E=B+u.nodeSize;n.replace(n.mapping.map(B),n.mapping.map(E))}return}let I=0;for(let d=0;d<a.length;d++){const h=a[d];s(h.children,h,g+I+1,c+1),I+=h.nodeSize}}return s(A.children,A),e&&e(n),n.docChanged};function getDefaultsPreProcessFilters({urlRewriter:t}){return[insertToc,fixShortCodes,removeSuggest,removeEmptyTags,fixIdLinks,fixParaEnding,trimLines,addEnterAfterImage,addEmptyLines,rewriteUrls(t)]}class ExtensionMarkdown extends Extension{constructor(e={}){super(e),this.config=e,this.name="markdown"}getConverters(e,A){const n={"text/x-markdown":{fromDoc:r=>pmToMdConverter(r,{assetLoad:this.editor.config.assetLoad,...this.config,urlRewriter:this.urlToRewriter},A,e),toDoc:r=>mdToPmConverter(r,{assetLoad:this.editor.config.assetLoad,...this.config,urlRewriter:this.urlFromRewriter},A)}};return n["text/markdown"]=n["text/x-markdown"],n}toMarkdown(e){return extPmToMdConverter(e,{sourceMap:!0},this.editor.schema,this.editor)}async fromMarkdown(e){const n=(await mdToPmConverterText(e,{assetLoad:this.editor.config.assetLoad,...this.config},this.editor.schema)).content;if(n.content.length===1){const r=n.content[0];if(r.type.name==="paragraph")return new Slice(r.content,0,0)}return new Slice(n,0,0)}created(){this.editor.hooks["pm2md.pre"]||(this.editor.schema.topNodeType.name==="doc"?this.editor.hooks["pm2md.pre"]=getDefaultsPreProcessFilters({urlRewriter:this.config.urlRewriter}):this.editor.hooks["pm2md.pre"]=[])}}const SVG="http://www.w3.org/2000/svg",XLINK="http://www.w3.org/1999/xlink",prefix="kb-icon";function hashPath(t){const e=Array.isArray(t)?t.map(n=>typeof n=="string"?n:n.d+(n.fill||"")).join(""):t;let A=0;for(let n=0;n<e.length;n++)A=(A<<5)-A+e.charCodeAt(n)|0;return A.toString(16)}function getIcon(t,e){let A=(t.nodeType==9?t:t.ownerDocument)||document,n=A.createElement("div");if(n.className=prefix,e.path){let{path:r,width:o,height:s}=e,a="pm-icon-"+hashPath(r);A.getElementById(a)||buildSVG(t,a,e);let l=n.appendChild(A.createElementNS(SVG,"svg"));l.style.width=o/s+"em",l.appendChild(A.createElementNS(SVG,"use")).setAttributeNS(XLINK,"href",/([^#]*)/.exec(A.location.toString())[1]+"#"+a)}else if(e.dom)n.appendChild(e.dom.cloneNode(!0));else{let{text:r,css:o}=e;n.appendChild(A.createElement("span")).textContent=r||"",o&&(n.firstChild.style.cssText=o)}return n}function buildSVG(t,e,A){let[n,r]=t.nodeType==9?[t,t.body]:[t.ownerDocument||document,t],o=n.getElementById(prefix+"-collection");o||(o=n.createElementNS(SVG,"svg"),o.id=prefix+"-collection",o.style.display="none",r.insertBefore(o,r.firstChild));let s=n.createElementNS(SVG,"symbol");s.id=e,s.setAttribute("viewBox","0 0 "+A.width+" "+A.height);const a=Array.isArray(A.path)?A.path:[A.path];for(const l of a){let g=s.appendChild(n.createElementNS(SVG,"path"));typeof l=="string"?g.setAttribute("d",l):(g.setAttribute("d",l.d),l.fill&&g.setAttribute("fill",l.fill))}o.appendChild(s)}const icons={selectParentNode:{width:24,height:24,path:"M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2z"},undo:{width:24,height:24,path:"M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"},redo:{width:24,height:24,path:"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z"},strong:{width:24,height:24,path:"M15.6 10.79c.97-.67 1.65-1.77 1.65-2.79 0-2.26-1.75-4-4-4H7v14h7.04c2.09 0 3.71-1.7 3.71-3.79 0-1.52-.86-2.82-2.15-3.42zM10 6.5h3c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-3v-3zm3.5 9H10v-3h3.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5z"},em:{width:24,height:24,path:"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"},underline:{width:24,height:24,path:"M12 17c3.31 0 6-2.69 6-6V3h-2.5v8c0 1.93-1.57 3.5-3.5 3.5S8.5 12.93 8.5 11V3H6v8c0 3.31 2.69 6 6 6zm-7 2v2h14v-2H5z"},code:{width:24,height:24,path:"M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"},link:{width:24,height:24,path:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"},bulletList:{width:24,height:24,path:"M4 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5S3.17 7.5 4 7.5 5.5 6.83 5.5 6 4.83 4.5 4 4.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zM7 19h14v-2H7v2zm0-6h14v-2H7v2zm0-8v2h14V5H7z"},orderedList:{width:24,height:24,path:"M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z"},taskList:{width:24,height:24,path:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"},blockquote:{width:24,height:24,path:"M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z"},type:{width:24,height:24,path:"M5 4v3h5.5v12h3V7H19V4H5z"},table:{width:24,height:24,path:"M3 3v18h18V3H3zm8 16H5v-6h6v6zm0-8H5V5h6v6zm8 8h-6v-6h6v6zm0-8h-6V5h6v6z"},image:{width:24,height:24,path:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"},horizontalRule:{width:24,height:24,path:"M4 11h16v2H4z"},heading:{width:24,height:24,path:"M6 4v16h2v-7h8v7h2V4h-2v7H8V4H6z"},strike:{width:24,height:24,path:"M10 19h4v-3h-4v3zM5 4v3h5v3h4V7h5V4H5zM3 14h18v-2H3v2z"},highlight:{width:24,height:24,path:["M17.75 7L14 3.25l-10 10V17h3.75l10-10zm2.96-2.96a.996.996 0 0 0 0-1.41L18.37.29a.996.996 0 0 0-1.41 0L15 2.25 18.75 6l1.96-1.96z",{d:"M2 20h20v4H2z",fill:"#FFEB3B"}]},outdent:{width:24,height:24,path:"M3 21h18v-2H3v2zM7 8v8l-4-4 4-4zm4 9h10v-2H11v2zM3 3v2h18V3H3zm8 6h10V7H11v2zm0 4h10v-2H11v2z"},superscript:{width:24,height:24,path:"M22 7h-2v1h3v1h-4V7c0-.55.45-1 1-1h2V5h-3V4h3c.55 0 1 .45 1 1v1c0 .55-.45 1-1 1zM5.88 20h2.66l3.4-5.42h.12l3.4 5.42h2.66l-4.65-7.27L17.81 6h-2.68l-3.07 4.99h-.12L8.87 6H6.19l4.32 6.73L5.88 20z"},subscript:{width:24,height:24,path:"M22 18h-2v1h3v1h-4v-2c0-.55.45-1 1-1h2v-1h-3v-1h3c.55 0 1 .45 1 1v1c0 .55-.45 1-1 1zM5.88 18h2.66l3.4-5.42h.12l3.4 5.42h2.66l-4.65-7.27L17.81 4h-2.68l-3.07 4.99h-.12L8.87 4H6.19l4.32 6.73L5.88 18z"},alignLeft:{width:24,height:24,path:"M15 15H3v2h12v-2zm0-8H3v2h12V7zM3 13h18v-2H3v2zm0 8h18v-2H3v2zM3 3v2h18V3H3z"},alignCenter:{width:24,height:24,path:"M7 15v2h10v-2H7zm-4 6h18v-2H3v2zm0-8h18v-2H3v2zm4-6v2h10V7H7zM3 3v2h18V3H3z"},alignRight:{width:24,height:24,path:"M3 21h18v-2H3v2zm6-4h12v-2H9v2zm-6-4h18v-2H3v2zm6-4h12V7H9v2zM3 3v2h18V3H3z"},alignJustify:{width:24,height:24,path:"M3 21h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18v-2H3v2zm0-4h18V7H3v2zm0-6v2h18V3H3z"},folderOpen:{width:24,height:24,path:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z"}};class MenuItem{constructor(e){this.spec=e,this.CSS_PREFIX="kb-menu__button"}render(e){let A=this.spec,n=A.render?A.render(e):null;if(!n){if(n=document.createElement("button"),n.setAttribute("type","button"),n.classList.add(this.CSS_PREFIX),A.icon){const o=getIcon(e.root,A.icon);n.appendChild(o),n.classList.add(this.CSS_PREFIX+"--icon-only")}if(A.label){const o=document.createElement("span");o.appendChild(document.createTextNode(translate(e,A.label))),n.appendChild(o),A.icon&&n.classList.remove(this.CSS_PREFIX+"--icon-only")}if(!A.icon&&!A.label)throw new RangeError("MenuItem without icon or label property")}if(A.title){const o=typeof A.title=="function"?A.title(e.state):A.title;n.setAttribute("title",translate(e,o)),n.setAttribute("aria-label",translate(e,o))}return A.class&&n.classList.add(A.class),A.css&&(n.style.cssText+=A.css),n.addEventListener("mousedown",o=>{o.preventDefault(),n.classList.contains(this.CSS_PREFIX+"--disabled")||A.run(e.state,e.dispatch)}),{dom:n,update:o=>{if(A.select){let a=A.select(o);if(n.style.display=a?"":"none",!a)return!1}let s=!0;if(A.enable&&(s=A.enable(o)||!1,setClass(n,this.CSS_PREFIX+"--disabled",!s),n.setAttribute("aria-disabled",(!s).toString())),A.active){let a=s&&A.active(o)||!1;setClass(n,this.CSS_PREFIX+"--active",a),n.setAttribute("aria-pressed",a.toString())}return!0}}}}function translate(t,e){return t._props.translate?t._props.translate(e):e}let lastMenuEvent={time:0,node:null};function markMenuEvent(t){lastMenuEvent.time=Date.now(),lastMenuEvent.node=t.target}function isMenuEvent(t){return Date.now()-100<lastMenuEvent.time&&lastMenuEvent.node&&t.contains(lastMenuEvent.node)}class Dropdown{constructor(e,A={}){this.options=A,this.CSS_PREFIX="kb-dropdown",this.options=A||{},this.content=Array.isArray(e)?e:[e]}render(e){let A=renderDropdownItems(this.content,e),n=e.dom.ownerDocument.defaultView,r=document.createElement("button");if(r.setAttribute("type","button"),r.classList.add(this.CSS_PREFIX+"__label"),this.options.class&&r.classList.add(this.options.class),this.options.css&&r.setAttribute("style",this.options.css),this.options.icon){const d=getIcon(e.root,this.options.icon);r.appendChild(d)}const o=translate(e,this.options.label||"");if(o){const d=document.createElement("span");d.classList.add(this.CSS_PREFIX+"__label-text"),d.textContent=o,r.appendChild(d)}const s=this.options.title?translate(e,this.options.title):o;s&&(r.setAttribute("title",s),r.setAttribute("aria-label",s)),r.setAttribute("aria-haspopup","true"),r.setAttribute("aria-expanded","false");let a=document.createElement("div");a.classList.add(this.CSS_PREFIX),a.appendChild(r);let l=null,g=null,c=()=>{l&&l.close()&&(l=null,n?.removeEventListener("mousedown",g))};r.addEventListener("mousedown",d=>{d.preventDefault(),markMenuEvent(d),l?(c(),a.classList.remove("kb-dropdown--open")):(l=this.expand(a,A.dom),a.classList.add("kb-dropdown--open"),n?.addEventListener("mousedown",g=()=>{isMenuEvent(a)||c()}))});function I(d){let h=A.update(d);return a.style.display=h?"":"none",h}return{dom:a,update:I}}expand(e,A){const n=document.createElement("div");n.classList.add("kb-dropdown__menu"),n.setAttribute("role","menu"),this.options.class&&n.classList.add(this.options.class),A.forEach(s=>n.appendChild(s));let r=!1;function o(){return r?!1:(r=!0,e.removeChild(n),!0)}return e.appendChild(n),{close:o,node:n}}}function renderDropdownItems(t,e){let A=[],n=[];for(let r=0;r<t.length;r++){let{dom:o,update:s}=t[r].render(e);const a=document.createElement("div");a.classList.add("kb-dropdown__item"),a.appendChild(o),A.push(a),n.push(s)}return{dom:A,update:combineUpdates(n,A)}}function combineUpdates(t,e){return A=>{let n=!1;for(let r=0;r<t.length;r++){let o=t[r](A);e[r].style.display=o?"":"none",o&&(n=!0)}return n}}function setClass(t,e,A){A?t.classList.add(e):t.classList.remove(e)}const CSS_PREFIX$2="kb-prompt";function openPrompt(t){let e=document.body.appendChild(document.createElement("div"));e.className=CSS_PREFIX$2+"-backdrop";let A=document.body.appendChild(document.createElement("div"));A.className=CSS_PREFIX$2;let n=()=>{e.parentNode&&e.parentNode.removeChild(e),A.parentNode&&A.parentNode.removeChild(A)};e.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),n()});let r=[];for(let d in t.fields)r.push(t.fields[d].render());let o=document.createElement("button");o.type="submit",o.className=CSS_PREFIX$2+"--submit",o.textContent="OK";let s=document.createElement("button");s.type="button",s.className=CSS_PREFIX$2+"--cancel",s.textContent="Cancel",s.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),n()});let a=A.appendChild(document.createElement("form"));t.title&&(a.appendChild(document.createElement("h5")).textContent=t.title),r.forEach(d=>{a.appendChild(document.createElement("div")).appendChild(d)});let l=a.appendChild(document.createElement("div"));l.className=CSS_PREFIX$2+"__buttons",l.appendChild(o),l.appendChild(document.createTextNode(" ")),l.appendChild(s);let g=A.getBoundingClientRect();A.style.top=(globalThis.innerHeight-g.height)/2+"px",A.style.left=(globalThis.innerWidth-g.width)/2+"px";let c=()=>{let d=getValues(t.fields,r);d&&(n(),t.callback(d))};a.addEventListener("submit",d=>{d.preventDefault(),c()}),a.addEventListener("keydown",d=>{d.keyCode==27?(d.preventDefault(),n()):d.keyCode==13&&!(d.ctrlKey||d.metaKey||d.shiftKey)?(d.preventDefault(),c()):d.keyCode==9&&globalThis.setTimeout(()=>{A.contains(document.activeElement)||n()},500)});let I=a.elements[0];I&&I.focus()}function getValues(t,e){let A=Object.create(null),n=0;for(let r in t){let o=t[r],s=e[n++],a=o.read(s),l=o.validate(a);if(l)return reportInvalid(s,l),null;A[r]=o.clean(a)}return A}function reportInvalid(t,e){let A=t.parentNode,n=A.appendChild(document.createElement("div"));n.style.left=t.offsetLeft+t.offsetWidth+2+"px",n.style.top=t.offsetTop-5+"px",n.className="kb-invalid",n.textContent=e,setTimeout(()=>A.removeChild(n),1500)}class Field{constructor(e){this.options=e}read(e){return e.value}validateType(e){return null}validate(e){return!e&&this.options.required?"Required field":this.validateType(e)||(this.options.validate?this.options.validate(e):null)}clean(e){return this.options.clean?this.options.clean(e):e}}class TextField extends Field{render(){let e=document.createElement("input");return e.type="text",e.placeholder=this.options.label,e.value=this.options.value||"",e.autocomplete="off",e}}class FileField extends Field{constructor(){super(...arguments),this.dataUrl=""}render(){const e=document.createElement("div");e.className=CSS_PREFIX$2+"__file-field";const A=document.createElement("input");A.type="file",A.accept=this.options.accept||"image/*",A.className=CSS_PREFIX$2+"__file-input";const n=document.createElement("label");n.className=CSS_PREFIX$2+"__file-label",n.textContent=this.options.label;const r=document.createElement("span");return r.className=CSS_PREFIX$2+"__file-name",r.textContent="No file selected",this.options.value&&(this.dataUrl=this.options.value,r.textContent="Current image"),A.addEventListener("change",()=>{const o=A.files?.[0];if(o){r.textContent=o.name;const s=new FileReader;s.onload=a=>{this.dataUrl=a.target?.result,e._dataUrl=this.dataUrl},s.readAsDataURL(o)}}),e.appendChild(n),e.appendChild(A),e.appendChild(r),e._dataUrl=this.dataUrl,e}read(e){return e._dataUrl||""}validateType(e){return this.options.required&&!e?"Please select a file":null}}function canInsert(t,e){let A=t.selection.$from;for(let n=A.depth;n>=0;n--){let r=A.index(n);if(A.node(n).canReplaceWith(r,r,e))return!0}return!1}function cmdItem(t,e){let A={label:e.title,run:t};for(let n in e)A[n]=e[n];return!e.enable&&!e.select&&(A[e.enable?"enable":"select"]=n=>t(n)),new MenuItem(A)}function markActive(t,e){let{from:A,$from:n,to:r,empty:o}=t.selection;return o?!!e.isInSet(t.storedMarks||n.marks()):t.doc.rangeHasMark(A,r,e)}function buildMenu(t,e){function A(E,f){let Q={active(p){return markActive(p,E)}};for(let p in f)Q[p]=f[p];return cmdItem(t.commandFactories.toggleMark(E),Q)}function n(E,f){let Q={run(p,m){return t.commandFactories.wrapIn(E,f.attrs).apply({editor:t},[p,m])},select(p){return t.commandFactories.wrapIn(E,f.attrs).apply({editor:t},[p])}};for(let p in f)Q[p]=f[p];return new MenuItem(Q)}function r(E,f){let Q=t.commandFactories.setBlockType(E,f.attrs),p={run:Q,enable(m){return Q.apply({editor:t},[m])},active(m){let{$from:y,to:w,node:D}=m.selection;return D?D.hasMarkup(E,f.attrs):w<=y.end()&&y.parent.hasMarkup(E,f.attrs)}};for(let m in f)p[m]=f[m];return new MenuItem(p)}const o=[];o.push(new MenuItem({title:"Load document",icon:icons.folderOpen,run(){const E=document.createElement("input");return E.type="file",E.accept=".odt,application/vnd.oasis.opendocument.text,.md,text/markdown,text/x-markdown",E.onchange=async f=>{const Q=f.target.files?.[0];if(Q)try{const p=await Q.arrayBuffer();let m=Q.type;if(!m||m===""){const y=Q.name.split(".").pop()?.toLowerCase();y==="odt"?m="application/vnd.oasis.opendocument.text":y==="md"&&(m="text/x-markdown")}m?await t.loadDocument(m,new Uint8Array(p)):console.error("Could not determine file type for:",Q.name)}catch(p){console.error("Failed to load document:",p)}},E.click(),!0},enable:()=>!0}));const s=[];s.push(new MenuItem({title:"Undo last change",run:(E,f)=>{const Q=t.commandFactories.undo?.();return Q?Q.apply({editor:t},[E,f]):!1},enable:E=>{const f=t.commandFactories.undo?.();return f?f.apply({editor:t},[E]):!1},icon:icons.undo})),s.push(new MenuItem({title:"Redo last undone change",run:(E,f)=>{const Q=t.commandFactories.redo?.();return Q?Q.apply({editor:t},[E,f]):!1},enable:E=>{const f=t.commandFactories.redo?.();return f?f.apply({editor:t},[E]):!1},icon:icons.redo}));const a=[],l=[];if(e.nodes.paragraph&&l.push(r(e.nodes.paragraph,{title:"Change to paragraph",label:"Plain"})),e.nodes.code_block&&l.push(r(e.nodes.code_block,{title:"Change to code block",label:"Code"})),l.length>0&&a.push(new Dropdown(l,{label:"Type",icon:icons.type})),e.nodes.heading){const E=[];for(let f=1;f<=6;f++)E.push(r(e.nodes.heading,{title:"Change to heading "+f,label:"Heading "+f,attrs:{level:f}}));a.push(new Dropdown(E,{label:"Heading",icon:icons.heading}))}const g=[];e.nodes.bullet_list&&g.push(cmdItem(t.commandFactories.toggleBulletList(),{title:"Wrap in bullet list",label:"Bullet List",icon:icons.bulletList})),e.nodes.ordered_list&&g.push(cmdItem(t.commandFactories.toggleOrderedList(),{title:"Wrap in ordered list",label:"Ordered List",icon:icons.orderedList})),e.nodes.task_list&&g.push(cmdItem(t.commandFactories.toggleTaskList(),{title:"Wrap in task list",label:"Task List",icon:icons.taskList})),g.length>0&&a.push(new Dropdown(g,{label:"Lists",icon:icons.bulletList})),a.push(new MenuItem({title:"Lift out of enclosing block",run:()=>t.chain().lift().run(),select:()=>t.can().lift().run(),icon:icons.outdent})),e.nodes.blockquote&&a.push(n(e.nodes.blockquote,{title:"Wrap in block quote",icon:icons.blockquote}));const c=[];if(e.marks.strong&&c.push(new MenuItem({title:"Toggle bold",run:()=>t.chain().toggleStrong().run(),enable:E=>t.can().toggleStrong().run(),icon:icons.strong})),e.marks.em&&c.push(new MenuItem({title:"Toggle italic",run:()=>t.chain().toggleItalic().run(),enable:E=>t.can().toggleItalic().run(),icon:icons.em})),e.marks.strike&&c.push(A(e.marks.strike,{title:"Toggle strikethrough",icon:icons.strike})),e.marks.code&&c.push(A(e.marks.code,{title:"Toggle code font",icon:icons.code})),e.marks.underline&&c.push(new MenuItem({title:"Toggle underline",run:()=>t.chain().toggleUnderline().run(),enable:E=>t.can().toggleUnderline().run(),icon:icons.underline})),e.marks.highlight&&c.push(A(e.marks.highlight,{title:"Toggle highlight",icon:icons.highlight})),e.marks.link){const E=e.marks.link;c.push(new MenuItem({title:"Add or remove link",icon:icons.link,active(f){return markActive(f,E)},enable(f){return!f.selection.empty},run(f,Q){return markActive(f,E)?(t.commandFactories.toggleMark(E).apply({editor:t},[f,Q]),!0):(openPrompt({title:"Create a link",fields:{href:new TextField({label:"Link target",required:!0}),title:new TextField({label:"Title"})},callback(p){t.commandFactories.toggleMark(E,p).apply({editor:t},[t.view.state,t.view.dispatch]),t.view.focus()}}),!0)}}))}const I=[];e.marks.superscript&&I.push(A(e.marks.superscript,{title:"Toggle superscript",icon:icons.superscript})),e.marks.subscript&&I.push(A(e.marks.subscript,{title:"Toggle subscript",icon:icons.subscript}));const d=[];e.nodes.paragraph?.spec?.attrs?.textAlign!==void 0&&(d.push(new MenuItem({title:"Align left",icon:icons.alignLeft,run:()=>t.chain().setTextAlignLeft().run(),enable:()=>t.can().setTextAlignLeft().run()})),d.push(new MenuItem({title:"Align center",icon:icons.alignCenter,run:()=>t.chain().setTextAlignCenter().run(),enable:()=>t.can().setTextAlignCenter().run()})),d.push(new MenuItem({title:"Align right",icon:icons.alignRight,run:()=>t.chain().setTextAlignRight().run(),enable:()=>t.can().setTextAlignRight().run()})),d.push(new MenuItem({title:"Justify",icon:icons.alignJustify,run:()=>t.chain().setTextAlignJustify().run(),enable:()=>t.can().setTextAlignJustify().run()})));const h=[];if(e.nodes.image){const E=e.nodes.image;h.push(new MenuItem({title:"Insert image",icon:icons.image,enable:f=>canInsert(f,E),run(f,Q){let{from:p,to:m}=f.selection,y=null;return f.selection instanceof NodeSelection&&f.selection.node.type==E&&(y=f.selection.node.attrs),openPrompt({title:"Insert image",fields:{src:new FileField({label:"Choose image",required:!0,value:y&&y.src}),title:new TextField({label:"Title",value:y&&y.title}),alt:new TextField({label:"Description",value:y?y.alt:f.doc.textBetween(p,m," ")})},callback(w){t.view.dispatch(t.view.state.tr.replaceSelectionWith(E.createAndFill(w))),t.view.focus()}}),!0}}))}if(e.nodes.hr&&h.push(new MenuItem({title:"Insert horizontal rule",icon:icons.horizontalRule,run:()=>t.chain().setHorizontalRule().run(),enable:E=>t.can().setHorizontalRule().run()})),e.nodes.table){const E=(Q,p)=>new MenuItem({label:Q,enable:()=>t.can()[p]().run(),run:()=>t.chain()[p]().run()}),f=[E("Insert table","insertTable"),E("Insert column before","addColumnBefore"),E("Insert column after","addColumnAfter"),E("Delete column","deleteColumn"),E("Insert row before","addRowBefore"),E("Insert row after","addRowAfter"),E("Delete row","deleteRow"),E("Delete table","deleteTable"),E("Merge cells","mergeCells"),E("Split cell","splitCell"),E("Toggle header column","toggleHeaderColumn"),E("Toggle header row","toggleHeaderRow"),E("Toggle header cells","toggleHeaderCell")];h.push(new Dropdown(f,{label:"Table",icon:icons.table}))}const u=[];return u.push(new MenuItem({title:"Select parent node",run:()=>t.chain().selectParentNode().run(),select:()=>t.can().selectParentNode().run(),icon:icons.selectParentNode})),[o,s,a,c,I,d,h,u].filter(E=>E.length>0)}const CSS_PREFIX$1="kb-custom-menu",STORAGE_KEY="kb-custom-menu-order",OVERFLOW_BUTTON_WIDTH=48,DRAG_START_DELAY=2e3;class CustomMenuView{constructor(e,A,n){this.editorView=e,this.editor=A,this.content=n,this.pinnedDropdownMenu=null,this.tools=[],this.closeOverflowHandler=null,this.closePinnedDropdownHandler=null,this.keydownHandler=null,this.submenuStack=[],this.pinnedDropdownStack=[],this.resizeObserver=null,this.draggedItem=null,this.dragStartTimer=null,this.isDragging=!1,this.isDraggingFromOverflow=!1,this.dragPlaceholder=null,this.dragGhost=null,this.dragSourceWrapper=null,this.currentOverflowTools=[],this.defaultOrder=[],this.focusedToolbarIndex=-1,this.root=e.root,this.wrapper=document.createElement("div"),this.wrapper.classList.add(CSS_PREFIX$1+"__wrapper"),this.toolbar=document.createElement("div"),this.toolbar.classList.add(CSS_PREFIX$1),this.toolbar.setAttribute("role","toolbar"),this.editorContainer=document.createElement("div"),this.editorContainer.classList.add(CSS_PREFIX$1+"__editor-container"),this.editorContainer.style.height="50vh",this.resizeHandle=document.createElement("div"),this.resizeHandle.classList.add(CSS_PREFIX$1+"__resize-handle"),this.resizeHandle.innerHTML='<div class="'+CSS_PREFIX$1+'__resize-handle-bar"></div>',this.wrapper.appendChild(this.toolbar),e.dom.parentNode&&e.dom.parentNode.replaceChild(this.wrapper,e.dom),this.editorContainer.appendChild(e.dom),this.editorContainer.appendChild(this.resizeHandle),this.wrapper.appendChild(this.editorContainer),this.overflowMenu=document.createElement("div"),this.overflowMenu.classList.add(CSS_PREFIX$1+"__overflow-menu"),this.overflowMenu.style.display="none",this.wrapper.insertBefore(this.overflowMenu,this.editorContainer),this.initializeTools(),this.loadOrderState(),this.setupResize(),this.render(),typeof ResizeObserver<"u"&&(this.resizeObserver=new ResizeObserver(()=>{this.render()}),this.resizeObserver.observe(this.toolbar)),this.setupKeyboardNavigation()}closeAllMenus(e){if(this.overflowMenu.style.display!=="none"){this.overflowMenu.style.display="none",this.submenuStack=[];const A=this.toolbar.querySelector("."+CSS_PREFIX$1+"__overflow-toggle");A&&A.setAttribute("aria-expanded","false")}this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[]),e&&e.focus()}getToolbarButtons(){const e=[];this.toolbar.querySelectorAll("."+CSS_PREFIX$1+"__item").forEach(r=>{const o=r.querySelector("button");o&&e.push(o)});const n=this.toolbar.querySelector("."+CSS_PREFIX$1+"__overflow-toggle");return n&&e.push(n),e}setupKeyboardNavigation(){this.keydownHandler=e=>{const A=document.activeElement,n=this.toolbar.contains(A),r=this.overflowMenu.contains(A),o=this.pinnedDropdownMenu?.contains(A);if(e.key==="Escape"){if(o||this.pinnedDropdownMenu){e.preventDefault();const s=this.toolbar.querySelector('[data-last-focused="true"]');this.closeAllMenus(s||void 0);return}if(r||this.overflowMenu.style.display!=="none"){e.preventDefault();const s=this.toolbar.querySelector("."+CSS_PREFIX$1+"__overflow-toggle");this.closeAllMenus(s||void 0);return}}if(n&&!r&&!o){const s=this.getToolbarButtons(),a=s.indexOf(A);if(e.key==="ArrowRight"){e.preventDefault();const l=(a+1)%s.length;s[l]?.focus()}else if(e.key==="ArrowLeft"){e.preventDefault();const l=(a-1+s.length)%s.length;s[l]?.focus()}else e.key==="Home"?(e.preventDefault(),s[0]?.focus()):e.key==="End"&&(e.preventDefault(),s[s.length-1]?.focus())}if(r){const s=Array.from(this.overflowMenu.querySelectorAll('button, [role="menuitem"], .'+CSS_PREFIX$1+"__overflow-item")),a=s.indexOf(A);if(e.key==="ArrowDown"){e.preventDefault();const l=(a+1)%s.length;s[l]?.focus()}else if(e.key==="ArrowUp"){e.preventDefault();const l=(a-1+s.length)%s.length;s[l]?.focus()}}},document.addEventListener("keydown",this.keydownHandler)}initializeTools(){let e=0;this.content.forEach((A,n)=>{A.forEach(r=>{const{dom:o,update:s}=r.render(this.editorView);let a;const l=r;l.options&&l.options.label?a=l.options.label:a=this.extractLabel(o);const g=this.generateStableId(a,o);this.tools.push({id:g,label:a,element:r,order:e++,groupIndex:n})})}),this.defaultOrder=this.tools.map(A=>A.id)}generateStableId(e,A){const n=A.getAttribute("aria-label"),r=A.getAttribute("data-id");if(r)return`tool-${r}`;const o=n||e,s=o.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");return s?`tool-${s}`:`tool-${this.simpleHash(o)}`}simpleHash(e){let A=0;for(let n=0;n<e.length;n++){const r=e.charCodeAt(n);A=(A<<5)-A+r,A=A&A}return Math.abs(A).toString(36)}extractLabel(e){const A=e.querySelector("span")?.textContent?.trim();if(A)return A;const n=e.querySelector(".kb-dropdown__label")?.textContent?.trim();if(n)return n;const r=e.getAttribute("aria-label");if(r)return r;const o=e.getAttribute("title");if(o)return o;const s=e.querySelector("svg title")?.textContent?.trim();return s||"Unknown Tool"}loadOrderState(){try{const e=localStorage.getItem(STORAGE_KEY);if(e){const A=JSON.parse(e);this.tools.forEach(n=>{const r=A.indexOf(n.id);r!==-1?n.order=r:n.order=A.length+n.order}),this.tools.sort((n,r)=>n.order-r.order)}}catch(e){console.error("Failed to load order state:",e)}}saveOrderState(){try{const e=this.tools.map(A=>A.id);localStorage.setItem(STORAGE_KEY,JSON.stringify(e))}catch(e){console.error("Failed to save order state:",e)}}hasCustomOrder(){const e=this.tools.map(A=>A.id);return e.length!==this.defaultOrder.length?!0:e.some((A,n)=>A!==this.defaultOrder[n])}resetToDefault(){try{localStorage.removeItem(STORAGE_KEY)}catch(e){console.error("Failed to clear order state:",e)}this.tools.forEach(e=>{const A=this.defaultOrder.indexOf(e.id);A!==-1&&(e.order=A)}),this.tools.sort((e,A)=>e.order-A.order),this.closeAllMenus(),this.render()}createResetButton(e){const A=document.createElement("button");A.type="button",A.classList.add(CSS_PREFIX$1+"__reset-button"),e?(A.classList.add(CSS_PREFIX$1+"__reset-button--icon-only"),A.setAttribute("role","button")):A.setAttribute("role","menuitem"),A.setAttribute("tabindex","0"),A.setAttribute("aria-label","Reset toolbar to default order"),A.title="Reset toolbar to default order";const n=`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
179
+ <path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/>
180
+ <path d="M3 3v5h5"/>
181
+ </svg>`;return e?A.innerHTML=n:A.innerHTML=`${n}<span>Reset to Default</span>`,A.addEventListener("click",r=>{r.preventDefault(),r.stopPropagation(),this.resetToDefault()}),A.addEventListener("keydown",r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),r.stopPropagation(),this.resetToDefault())}),A}showSubmenu(e){const A=e.element;if(!A.content)return;const n=A.content.map((r,o)=>{const{dom:s}=r.render(this.editorView);let a;const l=r;return l.options&&l.options.label?a=l.options.label:a=this.extractLabel(s),{id:`${e.id}-sub-${o}`,label:a,element:r,isPinned:!1}});this.submenuStack.push({title:e.label,tools:n}),this.renderOverflowMenu()}goBack(){this.submenuStack.pop(),this.renderOverflowMenu()}showPinnedDropdown(e,A){if(this.overflowMenu.style.display!=="none"){this.overflowMenu.style.display="none",this.submenuStack=[];const o=this.toolbar.querySelector("."+CSS_PREFIX$1+"__overflow-toggle");o&&o.setAttribute("aria-expanded","false")}this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null),this.toolbar.querySelectorAll("[data-last-focused]").forEach(o=>{o.removeAttribute("data-last-focused")}),A.setAttribute("data-last-focused","true");const n=e.element;if(!n.content)return;const r=n.content.map((o,s)=>{const{dom:a}=o.render(this.editorView);let l;const g=o;return g.options&&g.options.label?l=g.options.label:l=this.extractLabel(a),{id:`${e.id}-sub-${s}`,label:l,element:o,isPinned:!1}});this.pinnedDropdownStack=[{title:e.label,tools:r,rootTool:e}],this.renderPinnedDropdown(A)}pinnedDropdownGoBack(){if(this.pinnedDropdownStack.pop(),this.pinnedDropdownStack.length===0){this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null);return}const e=this.toolbar.querySelector(`[data-tool-id="${this.pinnedDropdownStack[0].rootTool.id}"]`);e&&this.renderPinnedDropdown(e)}pinnedDropdownShowSubmenu(e,A){const n=e.element;if(!n.content)return;const r=n.content.map((o,s)=>{const{dom:a}=o.render(this.editorView);let l;const g=o;return g.options&&g.options.label?l=g.options.label:l=this.extractLabel(a),{id:`${e.id}-sub-${s}`,label:l,element:o,isPinned:!1}});this.pinnedDropdownStack.push({title:e.label,tools:r,rootTool:this.pinnedDropdownStack[0].rootTool}),this.renderPinnedDropdown(A)}renderPinnedDropdown(e){this.pinnedDropdownMenu&&this.pinnedDropdownMenu.remove();const A=this.pinnedDropdownStack[this.pinnedDropdownStack.length-1],n=this.pinnedDropdownStack.length>1;this.pinnedDropdownMenu=document.createElement("div"),this.pinnedDropdownMenu.classList.add(CSS_PREFIX$1+"__pinned-dropdown"),this.pinnedDropdownMenu.setAttribute("role","menu"),this.pinnedDropdownMenu.setAttribute("aria-label",A.title);const r=e.getBoundingClientRect();this.pinnedDropdownMenu.style.position="absolute",this.pinnedDropdownMenu.style.top=`${r.bottom+4}px`,this.pinnedDropdownMenu.style.left=`${r.left}px`;const o=document.createElement("div");if(o.classList.add(CSS_PREFIX$1+"__overflow-content"),n){const a=document.createElement("div");a.classList.add(CSS_PREFIX$1+"__overflow-submenu-header");const l=document.createElement("button");l.type="button",l.classList.add(CSS_PREFIX$1+"__overflow-back-button"),l.setAttribute("aria-label","Go back to "+A.title),l.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 19l-7-7 7-7"/></svg>',l.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),this.pinnedDropdownGoBack()});const g=document.createElement("span");g.classList.add(CSS_PREFIX$1+"__overflow-submenu-title"),g.textContent=A.title,a.appendChild(l),a.appendChild(g),o.appendChild(a)}A.tools.forEach(a=>{const l=a.element.content!==void 0,g=document.createElement("div");if(g.classList.add(CSS_PREFIX$1+"__overflow-item"),g.setAttribute("data-tool-id",a.id),g.setAttribute("role","menuitem"),g.setAttribute("tabindex","0"),l){const c=document.createElement("span");c.classList.add(CSS_PREFIX$1+"__overflow-item-label"),c.textContent=a.label,g.appendChild(c);const I=document.createElement("span");I.classList.add(CSS_PREFIX$1+"__overflow-item-chevron"),I.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 5l7 7-7 7"/></svg>',g.appendChild(I),g.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),this.pinnedDropdownShowSubmenu(a,e)})}else{const{dom:c}=a.element.render(this.editorView);c.querySelectorAll("span").forEach(h=>{const u=h.closest(".kb-icon")!==null,B=h.parentElement===c;h.textContent&&h.textContent.trim()&&!u&&B&&!h.querySelector("svg")&&!h.classList.contains("kb-icon")&&(h.style.display="none")});const d=document.createElement("span");d.classList.add(CSS_PREFIX$1+"__overflow-item-label"),d.textContent=a.label,g.appendChild(c),g.appendChild(d),g.addEventListener("mousedown",h=>{if(h.target!==c){h.preventDefault();const u=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});c.dispatchEvent(u)}this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[])})}o.appendChild(g)}),this.pinnedDropdownMenu.appendChild(o),document.body.appendChild(this.pinnedDropdownMenu);const s=this.editorView.dom.ownerDocument||document;setTimeout(()=>{this.closePinnedDropdownHandler&&s.removeEventListener("click",this.closePinnedDropdownHandler),this.closePinnedDropdownHandler=a=>{const l=a.target;this.pinnedDropdownMenu&&!this.pinnedDropdownMenu.contains(l)&&!e.contains(l)&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[],this.closePinnedDropdownHandler&&s.removeEventListener("click",this.closePinnedDropdownHandler))},s.addEventListener("click",this.closePinnedDropdownHandler)},0)}renderOverflowMenu(){this.overflowMenu.innerHTML="",this.overflowMenu.setAttribute("role","menu"),this.overflowMenu.setAttribute("aria-label","More tools");const e=this.submenuStack.length>0,A=e?this.submenuStack[this.submenuStack.length-1]:null,n=document.createElement("div");if(n.classList.add(CSS_PREFIX$1+"__overflow-content"),e||n.classList.add(CSS_PREFIX$1+"__overflow-content--grid"),e&&A){const r=document.createElement("div");r.classList.add(CSS_PREFIX$1+"__overflow-submenu-header");const o=document.createElement("button");o.type="button",o.classList.add(CSS_PREFIX$1+"__overflow-back-button"),o.setAttribute("aria-label","Go back to previous menu"),o.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M15 19l-7-7 7-7"/></svg>',o.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),this.goBack()});const s=document.createElement("span");s.classList.add(CSS_PREFIX$1+"__overflow-submenu-title"),s.textContent=A.title,r.appendChild(o),r.appendChild(s),n.appendChild(r),A.tools.forEach(a=>{const l=a.element.content!==void 0,g=document.createElement("div");if(g.classList.add(CSS_PREFIX$1+"__overflow-item"),g.setAttribute("role","menuitem"),g.setAttribute("tabindex","0"),l){g.setAttribute("aria-haspopup","true");const c=document.createElement("span");c.classList.add(CSS_PREFIX$1+"__overflow-item-label"),c.textContent=a.label,g.appendChild(c);const I=document.createElement("span");I.classList.add(CSS_PREFIX$1+"__overflow-item-chevron"),I.setAttribute("aria-hidden","true"),I.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 5l7 7-7 7"/></svg>',g.appendChild(I);const d=h=>{h.preventDefault(),h.stopPropagation(),this.showSubmenu(a)};g.addEventListener("click",d),g.addEventListener("keydown",h=>{(h.key==="Enter"||h.key===" ")&&d(h)})}else{const{dom:c,update:I}=a.element.render(this.editorView),d=c.querySelector("span");d&&(d.style.display="none");const h=document.createElement("span");h.classList.add(CSS_PREFIX$1+"__overflow-item-label"),h.textContent=a.label,g.appendChild(c),g.appendChild(h),g.addEventListener("mousedown",u=>{if(u.target!==c){u.preventDefault();const B=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});c.dispatchEvent(B)}}),g.addEventListener("keydown",u=>{if(u.key==="Enter"||u.key===" "){u.preventDefault();const B=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});c.dispatchEvent(B)}})}n.appendChild(g)})}else this.currentOverflowTools.forEach(o=>{if(!o.label||o.label.trim()===""||o.label==="Unknown Tool")return;const s=o.element.content!==void 0,a=document.createElement("div");if(a.classList.add(CSS_PREFIX$1+"__overflow-item"),a.classList.add(CSS_PREFIX$1+"__overflow-item--grid"),a.setAttribute("title",o.label),a.setAttribute("role","menuitem"),a.setAttribute("tabindex","0"),a.setAttribute("aria-label",o.label),s){a.classList.add(CSS_PREFIX$1+"__overflow-item--dropdown"),a.setAttribute("aria-haspopup","true");const l=document.createElement("button");l.type="button",l.classList.add("kb-menu__button"),l.setAttribute("tabindex","-1"),l.setAttribute("aria-hidden","true");const g=o.element;if(g.options?.icon){const I=getIcon(this.root,g.options.icon);l.appendChild(I)}a.appendChild(l);const c=document.createElement("span");c.classList.add(CSS_PREFIX$1+"__overflow-item-indicator"),c.setAttribute("aria-hidden","true"),a.appendChild(c),a.addEventListener("click",I=>{I.preventDefault(),I.stopPropagation(),this.showSubmenu(o)}),a.addEventListener("keydown",I=>{(I.key==="Enter"||I.key===" ")&&(I.preventDefault(),I.stopPropagation(),this.showSubmenu(o))})}else{const{dom:l,update:g}=o.element.render(this.editorView);l.querySelectorAll("span").forEach(I=>{!(I.closest(".kb-icon")!==null)&&!I.querySelector("svg")&&(I.style.display="none")}),l.style.pointerEvents="none",a.appendChild(l),a.dataset.hasButton="true",a._buttonDom=l,a.addEventListener("keydown",I=>{(I.key==="Enter"||I.key===" ")&&(I.preventDefault(),this.closeAllMenus(),requestAnimationFrame(()=>{const d=o.element;d.spec&&typeof d.spec.run=="function"&&d.spec.run(this.editorView.state,this.editorView.dispatch)}))})}!e&&!s&&this.setupOverflowDragHandlers(a,o),n.appendChild(a)});if(this.overflowMenu.appendChild(n),!e&&this.hasCustomOrder()){const r=document.createElement("div");r.classList.add(CSS_PREFIX$1+"__overflow-footer");const o=this.createResetButton(!1);r.appendChild(o),this.overflowMenu.appendChild(r)}}render(){if(this.isDragging)return;this.toolbar.innerHTML="",this.overflowMenu.innerHTML="";const A=(this.toolbar.offsetWidth||this.wrapper.offsetWidth)-OVERFLOW_BUTTON_WIDTH-16,n=[];this.tools.forEach(I=>{const d=document.createElement("span");if(d.classList.add(CSS_PREFIX$1+"__item"),d.setAttribute("data-tool-id",I.id),d.setAttribute("draggable","false"),I.element.content!==void 0){const{dom:B}=I.element.render(this.editorView),E=B.querySelector(".kb-dropdown__content");E&&(E.style.display="none"),d.appendChild(B)}else{const{dom:B}=I.element.render(this.editorView);d.appendChild(B)}this.toolbar.appendChild(d);const u=d.getBoundingClientRect().width;n.push({tool:I,wrapper:d,width:u})});const r=4,o=9;let s=0,a;const l=[],g=[];for(const I of n){let d=0;l.length>0&&(d+=r,a!==void 0&&I.tool.groupIndex!==a&&(d+=o+r)),s+d+I.width<=A?(l.push(I),s+=d+I.width,a=I.tool.groupIndex):g.push(I)}this.toolbar.innerHTML="";let c;if(l.forEach(({tool:I,wrapper:d})=>{if(c!==void 0&&I.groupIndex!==c){const u=document.createElement("div");u.classList.add(CSS_PREFIX$1+"__separator"),this.toolbar.appendChild(u)}if(c=I.groupIndex,I.element.content!==void 0){const u=d.querySelector("button"),B=d.querySelector(".kb-dropdown__label"),E=Q=>{if(this.isDragging){Q.preventDefault(),Q.stopPropagation(),Q.stopImmediatePropagation();return}Q.preventDefault(),Q.stopPropagation(),Q.stopImmediatePropagation(),this.showPinnedDropdown(I,d)},f=Q=>{Q.stopImmediatePropagation(),this.isDragging&&Q.stopPropagation()};u&&(u.addEventListener("click",E,{capture:!0}),u.addEventListener("mousedown",f,{capture:!0})),B&&(B.addEventListener("click",E,{capture:!0}),B.addEventListener("mousedown",f,{capture:!0}))}this.setupDragHandlers(d,I),this.toolbar.appendChild(d)}),this.currentOverflowTools=g.map(I=>I.tool),this.currentOverflowTools.length>0){const I=document.createElement("div");I.classList.add(CSS_PREFIX$1+"__separator"),this.toolbar.appendChild(I)}if(this.currentOverflowTools.length>0){const I=document.createElement("button");I.type="button",I.className=CSS_PREFIX$1+"__overflow-toggle",I.setAttribute("aria-haspopup","menu"),I.setAttribute("aria-expanded","false"),I.setAttribute("aria-label","More tools"),I.title="More tools",I.innerHTML=`
182
+ <svg viewBox="0 0 24 24" aria-hidden="true">
183
+ <circle cx="5" cy="12" r="2"/>
184
+ <circle cx="12" cy="12" r="2"/>
185
+ <circle cx="19" cy="12" r="2"/>
186
+ </svg>
187
+ `,I.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null,this.pinnedDropdownStack=[]);const h=this.overflowMenu.style.display!=="none";this.overflowMenu.style.display=h?"none":"block",I.setAttribute("aria-expanded",String(!h));const u=this.editorView.dom.ownerDocument||document;h?(this.closeOverflowHandler&&u.removeEventListener("click",this.closeOverflowHandler),this.submenuStack=[]):(this.submenuStack=[],this.renderOverflowMenu(),setTimeout(()=>{this.closeOverflowHandler&&u.removeEventListener("click",this.closeOverflowHandler),this.closeOverflowHandler=B=>{const E=B.target;this.editorView.dom.contains(E)||!this.overflowMenu.contains(E)&&!this.toolbar.contains(E)&&(this.overflowMenu.style.display="none",I.setAttribute("aria-expanded","false"),this.submenuStack=[],this.closeOverflowHandler&&u.removeEventListener("click",this.closeOverflowHandler))},u.addEventListener("click",this.closeOverflowHandler)},0))}),this.toolbar.appendChild(I)}else if(this.hasCustomOrder()){const I=document.createElement("div");I.classList.add(CSS_PREFIX$1+"__separator"),this.toolbar.appendChild(I);const d=this.createResetButton(!0);this.toolbar.appendChild(d)}this.renderOverflowMenu()}setupDragHandlers(e,A){let n=0,r=0;const o=s=>{if(s.button!==0)return;n=s.clientX,r=s.clientY,this.dragStartTimer=setTimeout(()=>{this.startDrag(e,A,s)},DRAG_START_DELAY);const a=()=>{this.dragStartTimer&&(clearTimeout(this.dragStartTimer),this.dragStartTimer=null),document.removeEventListener("mouseup",a),document.removeEventListener("mousemove",l)},l=g=>{const c=Math.abs(g.clientX-n),I=Math.abs(g.clientY-r);(c>5||I>5)&&this.dragStartTimer&&(clearTimeout(this.dragStartTimer),this.dragStartTimer=null)};document.addEventListener("mouseup",a),document.addEventListener("mousemove",l)};e.addEventListener("mousedown",o,{capture:!0})}setupOverflowDragHandlers(e,A){let n=0,r=0,o=!1;const s=a=>{if(a.button!==0)return;n=a.clientX,r=a.clientY,o=!1,a.preventDefault(),this.dragStartTimer=setTimeout(()=>{o=!0,this.startOverflowDrag(e,A,a)},DRAG_START_DELAY);const l=()=>{this.dragStartTimer&&(clearTimeout(this.dragStartTimer),this.dragStartTimer=null),o||(this.closeAllMenus(),requestAnimationFrame(()=>{const c=A.element;c.spec&&typeof c.spec.run=="function"&&c.spec.run(this.editorView.state,this.editorView.dispatch)})),document.removeEventListener("mouseup",l),document.removeEventListener("mousemove",g)},g=c=>{const I=Math.abs(c.clientX-n),d=Math.abs(c.clientY-r);(I>5||d>5)&&this.dragStartTimer&&(clearTimeout(this.dragStartTimer),this.dragStartTimer=null)};document.addEventListener("mouseup",l),document.addEventListener("mousemove",g)};e.addEventListener("mousedown",s,{capture:!0})}startOverflowDrag(e,A,n){this.isDragging=!0,this.isDraggingFromOverflow=!0,this.draggedItem=A,this.dragSourceWrapper=e,e.classList.add(CSS_PREFIX$1+"__overflow-item--dragging"),this.wrapper.classList.add(CSS_PREFIX$1+"__wrapper--dragging"),this.closeOverflowMenu();const r=e.getBoundingClientRect();this.dragGhost=e.cloneNode(!0),this.dragGhost.classList.add(CSS_PREFIX$1+"__drag-ghost"),this.dragGhost.style.position="fixed",this.dragGhost.style.left=`${r.left}px`,this.dragGhost.style.top=`${r.top}px`,this.dragGhost.style.width=`${r.width}px`,this.dragGhost.style.height=`${r.height}px`,this.dragGhost.style.pointerEvents="none",this.dragGhost.style.zIndex="10000",document.body.appendChild(this.dragGhost),this.dragPlaceholder=document.createElement("span"),this.dragPlaceholder.classList.add(CSS_PREFIX$1+"__drop-placeholder");const o=a=>{if(!this.isDragging||!this.dragGhost)return;const l=this.dragGhost.getBoundingClientRect();this.dragGhost.style.left=`${a.clientX-l.width/2}px`,this.dragGhost.style.top=`${a.clientY-l.height/2}px`;const g=this.toolbar.getBoundingClientRect(),c=a.clientY>=g.top&&a.clientY<=g.bottom&&a.clientX>=g.left&&a.clientX<=g.right,I=Array.from(this.toolbar.querySelectorAll("."+CSS_PREFIX$1+"__item"));let d=null;if(c)for(let h=0;h<I.length;h++){const u=I[h],B=u.getBoundingClientRect(),E=B.left+B.width/2;a.clientX<E&&d===null&&(d=u)}if(this.dragPlaceholder&&this.dragPlaceholder.parentNode&&this.dragPlaceholder.remove(),c&&this.dragPlaceholder)if(d)d.parentNode?.insertBefore(this.dragPlaceholder,d);else{const h=this.toolbar.querySelector("."+CSS_PREFIX$1+"__separator");if(h)h.parentNode?.insertBefore(this.dragPlaceholder,h);else{const u=this.toolbar.querySelector("."+CSS_PREFIX$1+"__overflow-toggle");u?u.parentNode?.insertBefore(this.dragPlaceholder,u):this.toolbar.appendChild(this.dragPlaceholder)}}},s=a=>{if(this.isDragging){if(this.dragPlaceholder&&this.dragPlaceholder.parentNode){let l=0;for(let c=0;c<this.toolbar.children.length;c++){const I=this.toolbar.children[c];if(I===this.dragPlaceholder)break;I.classList.contains(CSS_PREFIX$1+"__item")&&l++}const g=this.tools.indexOf(A);g!==-1&&(this.tools.splice(g,1),this.tools.splice(l,0,A),this.tools.forEach((c,I)=>{c.order=I}),this.saveOrderState())}this.cleanupOverflowDrag(),document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",s),setTimeout(()=>{this.render()},0)}};document.addEventListener("mousemove",o),document.addEventListener("mouseup",s)}closeOverflowMenu(){this.overflowMenu&&(this.overflowMenu.style.display="none");const e=this.toolbar.querySelector("."+CSS_PREFIX$1+"__overflow-toggle");e&&e.setAttribute("aria-expanded","false"),this.submenuStack=[];const A=this.editorView.dom.ownerDocument||document;this.closeOverflowHandler&&(A.removeEventListener("click",this.closeOverflowHandler),this.closeOverflowHandler=null)}cleanupOverflowDrag(){this.isDragging=!1,this.isDraggingFromOverflow=!1,this.draggedItem=null,this.dragSourceWrapper&&(this.dragSourceWrapper.classList.remove(CSS_PREFIX$1+"__overflow-item--dragging"),this.dragSourceWrapper=null),this.wrapper.classList.remove(CSS_PREFIX$1+"__wrapper--dragging"),this.dragGhost&&(this.dragGhost.remove(),this.dragGhost=null);const e=document.querySelector("."+CSS_PREFIX$1+"__drag-ghost");e&&e.remove(),this.dragPlaceholder&&(this.dragPlaceholder.remove(),this.dragPlaceholder=null),this.dragStartTimer&&(clearTimeout(this.dragStartTimer),this.dragStartTimer=null)}startDrag(e,A,n){this.isDragging=!0,this.draggedItem=A,e.classList.add(CSS_PREFIX$1+"__item--dragging"),this.wrapper.classList.add(CSS_PREFIX$1+"__wrapper--dragging");const r=e.getBoundingClientRect();this.dragGhost=e.cloneNode(!0),this.dragGhost.classList.add(CSS_PREFIX$1+"__drag-ghost"),this.dragGhost.style.position="fixed",this.dragGhost.style.left=`${r.left}px`,this.dragGhost.style.top=`${r.top}px`,this.dragGhost.style.width=`${r.width}px`,this.dragGhost.style.height=`${r.height}px`,this.dragGhost.style.pointerEvents="none",this.dragGhost.style.zIndex="10000",document.body.appendChild(this.dragGhost),this.dragPlaceholder=document.createElement("span"),this.dragPlaceholder.classList.add(CSS_PREFIX$1+"__drop-placeholder");const o=a=>{if(!this.isDragging||!this.dragGhost)return;const l=this.dragGhost.getBoundingClientRect();this.dragGhost.style.left=`${a.clientX-l.width/2}px`,this.dragGhost.style.top=`${a.clientY-l.height/2}px`;const g=Array.from(this.toolbar.querySelectorAll("."+CSS_PREFIX$1+"__item"));let c=null;for(let I=0;I<g.length;I++){const d=g[I];if(d===e)continue;const h=d.getBoundingClientRect(),u=h.left+h.width/2;a.clientX<u&&c===null&&(c=d)}if(this.dragPlaceholder&&this.dragPlaceholder.parentNode&&this.dragPlaceholder.remove(),c&&this.dragPlaceholder)c.parentNode?.insertBefore(this.dragPlaceholder,c);else if(this.dragPlaceholder){const I=this.toolbar.querySelector("."+CSS_PREFIX$1+"__separator");if(I)I.parentNode?.insertBefore(this.dragPlaceholder,I);else{const d=this.toolbar.querySelector("."+CSS_PREFIX$1+"__overflow-toggle");d?d.parentNode?.insertBefore(this.dragPlaceholder,d):this.toolbar.appendChild(this.dragPlaceholder)}}},s=a=>{if(this.isDragging){if(this.dragPlaceholder&&this.dragPlaceholder.parentNode){const l=Array.from(this.toolbar.querySelectorAll("."+CSS_PREFIX$1+"__item"));Array.from(this.toolbar.children).indexOf(this.dragPlaceholder),l.indexOf(e);let g=0;for(let I=0;I<this.toolbar.children.length;I++){const d=this.toolbar.children[I];if(d===this.dragPlaceholder)break;d.classList.contains(CSS_PREFIX$1+"__item")&&g++}const c=this.tools.indexOf(A);if(c!==-1&&g!==c){this.tools.splice(c,1);const I=g>c?g-1:g;this.tools.splice(I,0,A),this.tools.forEach((d,h)=>{d.order=h}),this.saveOrderState()}}this.cleanupDrag(e),document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",s),setTimeout(()=>{this.render()},0)}};document.addEventListener("mousemove",o),document.addEventListener("mouseup",s)}cleanupDrag(e){this.isDragging=!1,this.draggedItem=null,e.classList.remove(CSS_PREFIX$1+"__item--dragging"),this.wrapper.classList.remove(CSS_PREFIX$1+"__wrapper--dragging"),this.dragGhost&&(this.dragGhost.remove(),this.dragGhost=null);const A=document.querySelector("."+CSS_PREFIX$1+"__drag-ghost");A&&A.remove(),this.dragPlaceholder&&(this.dragPlaceholder.remove(),this.dragPlaceholder=null),this.dragStartTimer&&(clearTimeout(this.dragStartTimer),this.dragStartTimer=null)}setupResize(){let e=!1,A=0,n=0;const r=a=>{e=!0,A=a.clientY,n=this.editorContainer.offsetHeight,this.wrapper.classList.add(CSS_PREFIX$1+"__wrapper--resizing"),a.preventDefault(),document.addEventListener("mousemove",o),document.addEventListener("mouseup",s)},o=a=>{if(!e)return;const l=a.clientY-A,g=n+l,c=200,I=window.innerHeight-100;g>=c&&g<=I&&(this.editorContainer.style.height=g+"px")},s=()=>{e&&(e=!1,this.wrapper.classList.remove(CSS_PREFIX$1+"__wrapper--resizing"),document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",s))};this.resizeHandle.addEventListener("mousedown",r)}update(e,A){this.tools.forEach(n=>{n.element.render(this.editorView)})}destroy(){const e=this.editorView.dom.ownerDocument||document;this.closeOverflowHandler&&(e.removeEventListener("click",this.closeOverflowHandler),this.closeOverflowHandler=null),this.closePinnedDropdownHandler&&(e.removeEventListener("click",this.closePinnedDropdownHandler),this.closePinnedDropdownHandler=null),this.keydownHandler&&(document.removeEventListener("keydown",this.keydownHandler),this.keydownHandler=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.pinnedDropdownMenu&&(this.pinnedDropdownMenu.remove(),this.pinnedDropdownMenu=null),this.dragGhost&&(this.dragGhost.remove(),this.dragGhost=null),this.dragPlaceholder&&(this.dragPlaceholder.remove(),this.dragPlaceholder=null),this.dragStartTimer&&(clearTimeout(this.dragStartTimer),this.dragStartTimer=null),this.wrapper.parentNode&&this.wrapper.parentNode.replaceChild(this.editorView.dom,this.wrapper)}}class CustomMenuPlugin extends Plugin{constructor(e,A){super({key:new PluginKey("custom-menu"),view(n){return new CustomMenuView(n,e,A.content)}})}}class ExtensionCustomMenu extends Extension{constructor(){super(...arguments),this.name="customMenu"}getProseMirrorPlugins(){if(!this.editor.config.element)return[];const e=buildMenu(this.editor,this.editor.schema);return[new CustomMenuPlugin(this.editor,{content:e})]}}function inchesToMm(t){return t?t.endsWith("pt")?parseFloat(t.substring(0,t.length-2))*.3528:t.endsWith("in")?parseFloat(t.substring(0,t.length-2))*25.4:t.endsWith("em")?parseFloat(t.substring(0,t.length-2))/.125*25.4:0:0}function getInlineNodesHandlers(){return{$text:(t,e)=>{if(t.current.marks.length>0){const n=e.match(/^([ \t\u00A0]*)(.*)([ \t\u00A0]*)$/);n[1]&&t.current.content.push(t.schema.text(n[1]));const r=t.createText(n[2]);r&&t.current.content.push(r),n[3]&&t.current.content.push(t.schema.text(n[3]));return}const A=t.createText(e);A&&t.current.content.push(A)},s:(t,e)=>{const A=e["@c"]||1,n=" ".repeat(A),r=t.createText(n);r&&t.current.content.push(r)},tab:(t,e)=>{const A=t.createText(" ");A&&t.current.content.push(A)},rect:(t,e)=>{e["@rel-width"]==="100%"&&(t.openNode(),t.closeNode("hr"))},"line-break":(t,e)=>{t.openNode(),t.closeNode("br")},"soft-page-break":(t,e)=>{t.openNode(),t.closeNode("softbreak")},bookmark:(t,e)=>{t.openNode(),t.closeNode("node_bookmark",{id:e["@name"]})},"bookmark-start":(t,e)=>{},"bookmark-end":(t,e)=>{},"change-start":(t,e)=>{t.openNode(),t.closeNode("comment",{id:e["@change-id"],nesting:NESTING_OPENING$1})},"change-end":(t,e)=>{t.openNode(),t.closeNode("comment",{id:e["@change-id"],nesting:NESTING_CLOSING$1})}}}function getBasicNodesHandlers(){return{body:(t,e)=>{t.handle("text",e.text)},text:(t,e)=>{iterateChildren(e.$value,A=>t.handle(A.tag,A.value))},p:(t,e)=>{const A={},n=t.getElementStyle(e),r=n.styles.find(a=>a.startsWith("Heading_20_"));r&&(A.level=parseInt(r.substring(11)));let o="paragraph";n.styles.find(a=>a.startsWith("Heading_20_"))&&(o="heading"),t.openNode();const s=t.styleToMarks(n);s.length>0&&(t.current.marks=[...t.current.marks,...s]),iterateChildren(e.$value,a=>{t.handle(a.tag,a.value)}),t.closeNode(o,A)},"table-of-content":(t,e)=>{const A=[];let n=-1;for(const r of e["index-body"].p){const o=t.getElementStyle(r);let s=0;if("paragraph-properties"in o&&(s=inchesToMm(o["paragraph-properties"]["@margin-left"])),n<s)A.length>0&&t.openNode(),t.openNode(),A.push(s);else for(let a=A.length-1;a>=0&&A[a]>s;a--)t.closeNode("bullet_list",{odtMarginLeft:s}),a>0&&t.closeNode("list_item"),A.pop();t.openNode(),t.handle("p",r),t.closeNode("list_item"),n=s}for(let r=A.length-1;r>=0;r--){const o=A.pop();r>0?(t.closeNode("bullet_list",{odtMarginLeft:o}),t.closeNode("list_item")):t.closeNode("bullet_list",{odtMarginLeft:o,toc:!0})}},span:(t,e)=>{const A=t.getElementStyle(e),n=t.styleToMarks(A);n.length>0&&(t.stash(),t.current.marks=[...t.current.marks,...n]),iterateChildren(e.$value,r=>{t.handle(r.tag,r.value)}),n.length>0&&t.unstash()},a:(t,e)=>{const A={href:e["@href"]},r=[t.schema.mark("link",A)];r.length>0&&(t.stash(),t.current.marks=[...t.current.marks,...r]),iterateChildren(e.$value,o=>{t.handle(o.tag,o.value)}),r.length>0&&t.unstash()}}}function processListStyle(t,e){const A=t.listTracker,n={};let r=resolveListStyle(t.stylesTree,t.automaticStyles,"");for(let s=A.listStack.length-1;s>=0;s--){const a=A.listStack[s];r["@name"]||(r=resolveListStyle(t.stylesTree,t.automaticStyles,a.styleName))}let o="bullet_list";if(r){const s=r["list-level-style-number"].find(l=>parseInt(String(l["@level"]))===e);if(s){n.type=s["@num-format"]||"1",s["@start-value"]&&(n.start=String(s["@start-value"])),o="ordered_list";const l=s["list-level-properties"]["list-level-label-alignment"]["@margin-left"];l&&(n.odtMarginLeft=inchesToMm(l))}const a=r["list-level-style-bullet"].find(l=>parseInt(String(l["@level"]))===e);if(a){const l=a["list-level-properties"]["list-level-label-alignment"]["@margin-left"];l&&(n.odtMarginLeft=inchesToMm(l))}}return{attrs:n,nodeTypeName:o}}function getListNodesHandlers(){return{list:(t,e)=>{const A=t.listTracker;A.pushList(e["@xml:id"],e["@style-name"]);const{nodeTypeName:n,attrs:r}=processListStyle(t,A.getCurrentList().level);t.current.meta.list_type=n,e["@xml:id"]&&(r.id=e["@xml:id"]),e["@continue-list"]&&(r.continue=e["@continue-list"]),e["@continue-numbering"]&&(r.continue="_last"),t.openNode();const o=e["list-item"].map(s=>({"list-item":s}));iterateChildren(o,s=>{t.handle(s.tag,s.value)}),t.current.content.length===0?t.dropNode():t.closeNode(n,r),A.listStack.pop()},"list-item":(t,e)=>{t.openNode(),iterateChildren(e.$value,n=>t.handle(n.tag,n.value));const A={};A.markup="* ",t.closeNode("list_item",A)}}}function getTableNodesHandlers(){return{table:(t,e)=>{t.openNode();for(const A of e["table-row"])t.handle("table-row",A);t.closeNode("table")},"table-row":(t,e)=>{t.openNode();for(const A of e["table-cell"])t.handle("table-cell",A);t.closeNode("table_row")},"table-cell":(t,e)=>{t.openNode(),iterateChildren(e.$value,A=>t.handle(A.tag,A.value)),t.closeNode("table_cell")}}}class ListNumbering{constructor(e){this.id=e,this.levels={},this.forceStart={};for(let A=0;A<20;A++)this.levels[A]=1}clearAbove(e){for(let A=e+1;A<20;A++)this.levels[A]=1}clone(e){const A=new ListNumbering(e);return A.levels=structuredClone(A.levels),A.forceStart=structuredClone(A.forceStart),A}}class ListTracker{constructor(){this.listStack=[]}pushList(e,A=""){const n={id:e,styleName:A,level:this.listStack.length+1};return this.listStack.push(n),n}getCurrentList(){return this.listStack[this.listStack.length-1]}}const COURIER_FONTS=["Courier New","Courier","Roboto Mono"];function resolveListStyle(t,e,A){let n;return n=t.styles["list-style"].find(r=>r["@name"]===A),n||(n={"@name":A,"list-level-style-number":[],"list-level-style-bullet":[]}),n}function resolveStyle(t,e,A){let n;if(n||(n=t.styles.style.find(r=>r["@name"]===A)),n||(n=e.style.find(r=>r["@name"]===A)),n||(n={"@name":A,styles:[]}),n.styles=[A],n["@parent-style-name"]){const r=resolveStyle(t,e,n["@parent-style-name"]);if(r){const o=[...n.styles,...r.styles];for(const s of Object.keys(n))typeof n[s]>"u"&&delete n[s];n={...r,...n,styles:o}}}return n}function tagEnum(t){if(typeof t=="string")return{tag:t,value:t};if(typeof t=="object"){const e=Object.entries(t);if(e.length===1)return{tag:e[0][0],value:e[0][1]}}throw new Error("Incorrect enum: "+JSON.stringify(t))}function iterateChildren(t,e){for(const A of t){if(A==="Unknown")continue;const n=tagEnum(A);e(n)}}class OdtStashContext{constructor(e,A,n,r){this.schema=e,this.stylesTree=n,this.automaticStyles=r,this.ctxStash=[],this.listTracker=new ListTracker,this.currentCtx={handlers:A,content:[],marks:[],meta:{}},this.stash()}stash(){this.ctxStash.push(this.currentCtx);const e={},A={...this.currentCtx.handlers},n=this.currentCtx.content,r=this.currentCtx.marks;return this.currentCtx={...structuredClone({...this.currentCtx,content:void 0,marks:void 0,handlers:void 0}),...e,content:n,marks:r,handlers:A},this.ctxStash.length-1}unstash(){const e=this.ctxStash.pop();if(!e)throw new Error("Unstash failed");this.currentCtx=e}openNode(){this.stash(),this.current.content=[]}dropNode(){this.unstash()}closeNode(e,A={},n=Mark$1.none){const r=this.createNode(e,A,n);return this.unstash(),r&&this.current.content.push(r),r}createNode(e,A={},n=Mark$1.none){const r=this.schema.nodes[e];if(!r)throw new Error("Invalid node type: "+e);const o=r.createAndFill(A,this.current.content,n);if(!o)throw new Error("Error creating node: "+e);return o}createText(e){if(!e)return;const A=uniqMarks(this.current.marks);return this.schema.text(e,A)}styleToMarks(e){const A=[],n=e&&e["text-properties"]||{};if(COURIER_FONTS.indexOf(n["@font-name"]||"")>-1){const r=this.schema.mark("code");A.push(r)}if(n["@font-style"]==="italic"){const r=this.schema.mark("em");A.push(r)}if(n["@font-weight"]==="bold"){const r=this.schema.mark("strong");A.push(r)}return A}handle(e,A){if(!this.current.handlers[e])throw new Error("No handler for node: "+e);if(typeof this.current.handlers[e]!="function")throw new Error("Invalid handler for node: "+e);this.current.handlers[e](this,A)}getElementStyle(e){return typeof e=="object"&&e["@style-name"]?resolveStyle(this.stylesTree,this.automaticStyles,e["@style-name"]):{styles:[]}}get current(){return this.currentCtx}}class OdtParser{constructor(e,A={}){this.schema=e,this.config=A}parse(e){const A=e.contentTree,n=e.stylesTree,r={...getInlineNodesHandlers(),...getBasicNodesHandlers(),...getListNodesHandlers(),...getTableNodesHandlers(),g:()=>{const s=o.createText("INSTEAD OF EMBEDDED DIAGRAM ABOVE USE EMBEDDED DIAGRAM FROM DRIVE AND PUT LINK TO IT IN THE DESCRIPTION. See: https://github.com/mieweb/wikiGDrive/issues/353");s&&o.current.content.push(s)},frame:(s,a)=>{if(a.object&&a.object["@href"]){const l=a.object["@href"].replace(/^\.\//,"")+"/content.xml";if(e[l]){const g=new TextDecoder().decode(e[l]);s.openNode(),s.closeNode("math",{lang:"mathml",content:g});return}}if(a.image&&a.image["@href"]){const l=a.desc?.$value||"",g=a.image["@href"];s.openNode(),s.closeNode("image",{src:g,alt:l})}},annotation:()=>{},note:(s,a)=>{const l=a["note-citation"],g=a["note-body"];if(!(!l||!g)){s.handle("text",{$value:[{$text:l.$value}]});for(const c of g.p)iterateChildren(c.$value,I=>s.handle(I.tag,I.value)),s.closeNode("paragraph"),s.openNode()}}},o=new OdtStashContext(this.schema,r,n,A["automatic-styles"]);return o.openNode(),o.handle("body",A.body),o.closeNode("doc")}}function uniqMarks(t){const e=[];for(const A of t)["strong","italic","underline","subscript","superscript","code"].includes(A.type.name)&&e.find(n=>n.type===A.type)||e.push(A);return e}const convertCodeParagraphsToCodeBlocks=(t,e)=>{const A=t.doc,n=t.schema;let r=t.tr;const o=n.marks.code;return A.descendants((s,a)=>{if(s.type.name==="paragraph"){let l="",g=0;const c=[];for(let I=0;I<s.childCount;I++){const d=s.child(I),h=d.marks.some(B=>B.type===o),u=d.textContent.match(/^[ \t\u00A0]+$/);if(d.type.name==="node_bookmark"){c.push(d),g+=d.nodeSize;continue}if(d.type.name==="br"){l+=`
188
+ `,g+=d.nodeSize;continue}if(h||u){l+=d.text||d.textBetween(0,d.content.size),g+=d.nodeSize;continue}break}if(g>0){const I=r.mapping.map(a),d=r.mapping.map(a+1+g);if(l.trim()){const h=n.text(l),u=n.nodes.code_block.createAndFill(null,[h]);u&&r.replaceRangeWith(I,d,u)}else r.replace(I,d);for(const h of c)r.insert(I,h)}g>0&&(g+2,s.nodeSize)}}),e&&e(r),r.docChanged},ANY_LIST$1=["ordered_list","bullet_list"],fixContinuedLists=(t,e)=>{const A=t.doc;let n=t.tr;const r=new Map;let o="";function s(c){let I=null;o&&r.has(o)&&(I=r.get(o));const d=c.attrs.continue;return d&&(I=r.get(d)),I||(I=new ListNumbering(o)),r.set(o,I),{listNumbering:I}}let a=!0,l=0;function g(c,I=0,d=0){if(c.type.name==="list_item"){const h=r.get("_current"),u=c.content.firstChild;u&&h&&(u.type.name==="paragraph"&&u.content.childCount>0?(h.forceStart[l]&&(delete h.forceStart[l],n=n.setNodeMarkup(n.mapping.map(I-1),c.type,{...c.attrs,value:h.levels[l]})),h.levels[l]++):(n=n.setNodeMarkup(n.mapping.map(I-1),c.type,{...c.attrs,type:"none"}),h.forceStart[l]=!0))}if(!ANY_LIST$1.includes(c.type.name))c.forEach((h,u)=>{g(h,I+u+1,d+1)});else{l++,l===1&&(o=c.attrs.id,a=!0);const{listNumbering:h}=s(c);r.set("_current",h),a||(h.levels[l]=1),c.attrs.start&&(h.levels[l]=c.attrs.start),c.type.name==="ordered_list"&&1<h.levels[l]&&(n=n.setNodeMarkup(n.mapping.map(I-1),c.type,{...c.attrs,start:h.levels[l],continue:void 0})),c.forEach((u,B)=>{g(u,I+B+1,d+1)}),l===1&&r.set("_last",h),l--,a=!1}}return g(A),e&&e(n),n.steps.length>0},convertMathMl=(t,e)=>{const A=t.doc,n=t.schema,r=n.nodes.math,o=n.nodes.code_block;if(!r||!o)return!1;let s=!1;const a=t.tr;return A.forEach((l,g,c)=>{if(l.childCount!==1)return;const I=g,d=l.child(0);if(d.type!==r||d.attrs.content.length===0)return;const h=o.create({lang:d.attrs.lang},n.text(d.attrs.content));a.replaceWith(a.mapping.map(I),a.mapping.map(I+l.nodeSize),h),s=!0}),s?(e&&e(a),a.docChanged):!1},CODEBLOCK_START="",CODEBLOCK_END="",mergeCodeBlocks=(t,e)=>{const A=t.schema;let n=t.tr;const r=A.nodes.code_block,o=A.nodes.paragraph;t.doc.descendants((l,g)=>{[CODEBLOCK_START,CODEBLOCK_END].includes(l.textContent.trim())&&(n=n.deleteRange(n.mapping.map(g),n.mapping.map(g+l.nodeSize)))});const s=t.doc;let a=0;for(let l=0;l<s.childCount;l++){const g=s.nodeAt(a);if(!g)continue;if(g.type!==r){a+=g.nodeSize;continue}let c=[],I=0;{I+=g.nodeSize;const h=g.text||g.textBetween(0,g.content.size);c.push(h.endsWith(`
189
+ `)?h:h+`
190
+ `)}let d=a+g.nodeSize;for(;;){const h=t.doc.nodeAt(d);if(!h)break;if(d+=h.nodeSize,h.type===o&&h.childCount===0){c.push(`
191
+ `),I+=h.nodeSize;continue}if(h.type===r&&g.attrs.lang===h.attrs.lang&&g.attrs.lang!=="mathml"){const u=h.text||h.textBetween(0,h.content.size);c.push(u.endsWith(`
192
+ `)?u:u+`
193
+ `),I+=h.nodeSize;continue}break}if(c.length>1){const h=n.mapping.map(a),u=n.mapping.map(a+I);let B=c.join("").replace(/\n+$/gm,`
194
+ `);const E=B.split(`
195
+ `);let f=0;for(f=0;f<E.length&&!E[f].trim();f++);E.splice(0,f),B=E.join(`
196
+ `);const Q=A.text(B),p=A.nodes.code_block.createAndFill({lang:g.attrs.lang},[Q]);p&&(n=n.replaceRangeWith(h,u,p))}a+=I}return e&&e(n),n.docChanged},ANY_LIST=["ordered_list","bullet_list"],fixListsLevels=(t,e)=>{const A=t.doc,n=t.schema,r=n.nodes.bullet_list,o=n.nodes.list_item,s=n.nodes.paragraph,a=t.tr;let l=0,g=[],c=[],I=0;function d(h,u=0,B=0){let E=0;for(let f=0;f<h.length;f++){const Q=h[f];if(!ANY_LIST.includes(Q.type.name))d(Q.children,u+E+1,B+1);else{const p=Q.attrs.odtMarginLeft||0;if(l===0&&(c=[],I=0,g.length>=l))for(let m=0;m<g.length;m++)I<g.length&&p>g[I]&&(c[l+I]=g[I],I++);if(c[l+I]=p,l++,d(Q.children,u+E,B+1),l--,l===0&&!Q.attrs.toc){g=c;for(let m=0;m<I;m++){const y=r.create({type:"none"},o.create(null,Fragment.from([s.create(),Q])));a.replaceWith(a.mapping.map(u+E),a.mapping.map(u+E+Q.nodeSize),y)}}}E+=Q.nodeSize}}return d(A.children),e&&e(a),a.docChanged};function getDefaultsPostProcessFilters({doc:t,filesMap:e}){return[convertCodeParagraphsToCodeBlocks,fixListsLevels,fixContinuedLists,convertMathMl,mergeCodeBlocks]}async function urlRewrite(t,e,A,n){const r=[];A.doc.descendants((a,l)=>{a.type.name==="image"&&r.push({node:a,pos:l})});const o=[];A.doc.descendants((a,l)=>{a.marks.find(g=>g.type.name==="link")&&o.push({node:a,pos:l})});const s=A.tr;for(const{node:a,pos:l}of o){const g=a.marks.find(I=>I.type.name==="link");if(!g)continue;let c=g.attrs.href||"";if(c=await t(c,{type:"A",dest:"kerebron"}),c!==g.attrs.href){const I=a.marks.map(u=>u.type.name==="link"?A.schema.marks.link.create({...u.attrs,href:c}):u),d=A.schema.nodes[a.type.name];let h;d.isText?h=A.schema.text(a.text||"",I):h=d.create(a.attrs,a.content,I),s.replaceWith(s.mapping.map(l),s.mapping.map(l+a.nodeSize),h)}}for(const{node:a,pos:l}of r){let g=a.attrs.src||"";if(g=await t(g,{type:"IMG",dest:"kerebron",filesMap:e}),g!==a.attrs.src){const I=A.schema.nodes[a.type.name].create({...a.attrs,src:g},a.content,a.marks);s.replaceWith(s.mapping.map(l),s.mapping.map(l+a.nodeSize),I)}}return n(s),s.docChanged}async function init(t){const e=await Promise.resolve().then(()=>require("./odt_parser.internal-C8Sm3VVG.cjs")),A=await WebAssembly.instantiate(t,{"./odt_parser.internal.js":e});return e.__wbg_set_wasm(A.instance.exports),A.instance.exports.__wbindgen_start(),e.init_debug(),A.instance,e}let odtWasm;class ExtensionOdt extends Extension{constructor(e={}){super(e),this.config=e,this.name="odt"}getConverters(e,A){const n={fromDoc:async r=>{throw new Error("Not implemented")},toDoc:async r=>{const o=e.config.assetLoad;if(!o)throw new Error("No assetLoad");if(!odtWasm){const I=this.config.debug?await o("odt-wasm/odt-parser-debug.wasm"):await o("odt-wasm/odt-parser.wasm");odtWasm=await init(I)}const{doc:s,filesMap:a}=n.odtToJson(r,odtWasm),l=getDefaultsPostProcessFilters({doc:s,filesMap:a}).concat(this.config.postProcessCommands||[]);let g=EditorState.create({doc:s});const c=I=>{g=g.apply(I)};if(this.urlFromRewriter&&await urlRewrite(this.urlFromRewriter,a,g,c),l.length>0)for(const I of l)I(g,d=>c(d));if(this.config.debug){const I=new CustomEvent("odt:pmdoc:filtered",{detail:{doc:g.doc}});this.editor.dispatchEvent(I)}return g.doc},odtToJson:(r,o)=>{const s=o.unzip(r),a={};for(const d of s.keys())a[d]=Uint8Array.from(s.get(d));const l=o.parse_styles(s.get("styles.xml")),g=o.parse_content(s.get("content.xml"));if(this.config.debug){const d=new CustomEvent("odt:parsed",{detail:{stylesTree:l,contentTree:g,filesMap:a}});this.editor.dispatchEvent(d)}const c=new OdtParser(e.schema,this.config);c.filesMap=a;const I=c.parse({...a,contentTree:g,stylesTree:l});if(this.config.debug){const d=new CustomEvent("odt:pmdoc",{detail:{doc:I}});this.editor.dispatchEvent(d)}return{doc:I,stylesTree:l,contentTree:g,filesMap:a}}};return{"application/vnd.oasis.opendocument.text":n}}}function createCell(t,e){return t.createAndFill()}function getTableNodeTypes(t){if(t.cached.tableNodeTypes)return t.cached.tableNodeTypes;const e={};return Object.keys(t.nodes).forEach(A=>{const n=t.nodes[A];n.spec.tableRole&&(e[n.spec.tableRole]=n)}),t.cached.tableNodeTypes=e,e}function createTable(t,e,A,n,r){const o=getTableNodeTypes(t),s=[],a=[];for(let I=0;I<A;I+=1){const d=createCell(o.cell);if(d&&a.push(d),n){const h=createCell(o.header_cell);h&&s.push(h)}}const l=[];for(let I=0;I<e;I+=1)l.push(o.row.createChecked(null,n&&I===0?s:a));const g={},c=t.spec.nodes.get("table");for(const[I,d]of Object.entries(c.attrs||{}))typeof d.default<"u"&&(g[I]=d.default);return o.table.createChecked(g,l)}let readFromCache,addToCache;if(typeof WeakMap<"u"){const t=new WeakMap;readFromCache=e=>t.get(e),addToCache=(e,A)=>(t.set(e,A),A)}else{const t=[];let A=0;readFromCache=n=>{for(let r=0;r<t.length;r+=2)if(t[r]==n)return t[r+1]},addToCache=(n,r)=>(A==10&&(A=0),t[A++]=n,t[A++]=r)}class TableMap{constructor(e,A,n,r){this.width=e,this.height=A,this.map=n,this.problems=r}findCell(e){for(let A=0;A<this.map.length;A++){const n=this.map[A];if(n!=e)continue;const r=A%this.width,o=A/this.width|0;let s=r+1,a=o+1;for(let l=1;s<this.width&&this.map[A+l]==n;l++)s++;for(let l=1;a<this.height&&this.map[A+this.width*l]==n;l++)a++;return{left:r,top:o,right:s,bottom:a}}throw new RangeError(`No cell with offset ${e} found`)}colCount(e){for(let A=0;A<this.map.length;A++)if(this.map[A]==e)return A%this.width;throw new RangeError(`No cell with offset ${e} found`)}nextCell(e,A,n){const{left:r,right:o,top:s,bottom:a}=this.findCell(e);return A=="horiz"?(n<0?r==0:o==this.width)?null:this.map[s*this.width+(n<0?r-1:o)]:(n<0?s==0:a==this.height)?null:this.map[r+this.width*(n<0?s-1:a)]}rectBetween(e,A){const{left:n,right:r,top:o,bottom:s}=this.findCell(e),{left:a,right:l,top:g,bottom:c}=this.findCell(A);return{left:Math.min(n,a),top:Math.min(o,g),right:Math.max(r,l),bottom:Math.max(s,c)}}cellsInRect(e){const A=[],n={};for(let r=e.top;r<e.bottom;r++)for(let o=e.left;o<e.right;o++){const s=r*this.width+o,a=this.map[s];n[a]||(n[a]=!0,!(o==e.left&&o&&this.map[s-1]==a||r==e.top&&r&&this.map[s-this.width]==a)&&A.push(a))}return A}positionAt(e,A,n){for(let r=0,o=0;;r++){const s=o+n.child(r).nodeSize;if(r==e){let a=A+e*this.width;const l=(e+1)*this.width;for(;a<l&&this.map[a]<o;)a++;return a==l?s-1:this.map[a]}o=s}}static get(e){return readFromCache(e)||addToCache(e,computeMap(e))}}function computeMap(t){if(t.type.spec.tableRole!="table")throw new RangeError("Not a table node: "+t.type.name);const e=findWidth(t),A=t.childCount,n=[];let r=0,o=null;const s=[];for(let g=0,c=e*A;g<c;g++)n[g]=0;for(let g=0,c=0;g<A;g++){const I=t.child(g);c++;for(let u=0;;u++){for(;r<n.length&&n[r]!=0;)r++;if(u==I.childCount)break;const B=I.child(u),{colspan:E,rowspan:f,colwidth:Q}=B.attrs;for(let p=0;p<f;p++){if(p+g>=A){(o||(o=[])).push({type:"overlong_rowspan",pos:c,n:f-p});break}const m=r+p*e;for(let y=0;y<E;y++){n[m+y]==0?n[m+y]=c:(o||(o=[])).push({type:"collision",row:g,pos:c,n:E-y});const w=Q&&Q[y];if(w){const D=(m+y)%e*2,_=s[D];_==null||_!=w&&s[D+1]==1?(s[D]=w,s[D+1]=1):_==w&&s[D+1]++}}}r+=E,c+=B.nodeSize}const d=(g+1)*e;let h=0;for(;r<d;)n[r++]==0&&h++;h&&(o||(o=[])).push({type:"missing",row:g,n:h}),c++}(e===0||A===0)&&(o||(o=[])).push({type:"zero_sized"});const a=new TableMap(e,A,n,o);let l=!1;for(let g=0;!l&&g<s.length;g+=2)s[g]!=null&&s[g+1]<A&&(l=!0);return l&&findBadColWidths(a,s,t),a}function findWidth(t){let e=-1,A=!1;for(let n=0;n<t.childCount;n++){const r=t.child(n);let o=0;if(A)for(let s=0;s<n;s++){const a=t.child(s);for(let l=0;l<a.childCount;l++){const g=a.child(l);s+g.attrs.rowspan>n&&(o+=g.attrs.colspan)}}for(let s=0;s<r.childCount;s++){const a=r.child(s);o+=a.attrs.colspan,a.attrs.rowspan>1&&(A=!0)}e==-1?e=o:e!=o&&(e=Math.max(e,o))}return e}function findBadColWidths(t,e,A){t.problems||(t.problems=[]);const n={};for(let r=0;r<t.map.length;r++){const o=t.map[r];if(n[o])continue;n[o]=!0;const s=A.nodeAt(o);if(!s)throw new RangeError(`No cell with offset ${o} found`);let a=null;const l=s.attrs;for(let g=0;g<l.colspan;g++){const c=(r+g)%t.width,I=e[c*2];I!=null&&(!l.colwidth||l.colwidth[g]!=I)&&((a||(a=freshColWidth(l)))[g]=I)}a&&t.problems.unshift({type:"colwidth mismatch",pos:o,colwidth:a})}}function freshColWidth(t){if(t.colwidth)return t.colwidth.slice();const e=[];for(let A=0;A<t.colspan;A++)e.push(0);return e}function tableNodeTypes(t){let e=t.cached.tableNodeTypes;if(!e){e=t.cached.tableNodeTypes={};for(const A in t.nodes){const n=t.nodes[A],r=n.spec.tableRole;r&&(e[r]=n)}}return e}const tableEditingKey=new PluginKey("selectingCells");function cellAround(t){for(let e=t.depth-1;e>0;e--)if(t.node(e).type.spec.tableRole=="row")return t.node(0).resolve(t.before(e+1));return null}function cellWrapping(t){for(let e=t.depth;e>0;e--){const A=t.node(e).type.spec.tableRole;if(A==="cell"||A==="header_cell")return t.node(e)}return null}function isInTable(t){const e=t.selection.$head;for(let A=e.depth;A>0;A--)if(e.node(A).type.spec.tableRole=="row")return!0;return!1}function selectionCell(t){const e=t.selection;if("$anchorCell"in e&&e.$anchorCell)return e.$anchorCell.pos>e.$headCell.pos?e.$anchorCell:e.$headCell;if("node"in e&&e.node&&e.node.type.spec.tableRole=="cell")return e.$anchor;const A=cellAround(e.$head)||cellNear(e.$head);if(A)return A;throw new RangeError(`No cell found around position ${e.head}`)}function cellNear(t){for(let e=t.nodeAfter,A=t.pos;e;e=e.firstChild,A++){const n=e.type.spec.tableRole;if(n=="cell"||n=="header_cell")return t.doc.resolve(A)}for(let e=t.nodeBefore,A=t.pos;e;e=e.lastChild,A--){const n=e.type.spec.tableRole;if(n=="cell"||n=="header_cell")return t.doc.resolve(A-e.nodeSize)}}function pointsAtCell(t){return t.parent.type.spec.tableRole=="row"&&!!t.nodeAfter}function moveCellForward(t){return t.node(0).resolve(t.pos+t.nodeAfter.nodeSize)}function inSameTable(t,e){return t.depth==e.depth&&t.pos>=e.start(-1)&&t.pos<=e.end(-1)}function nextCell(t,e,A){const n=t.node(-1),r=TableMap.get(n),o=t.start(-1),s=r.nextCell(t.pos-o,e,A);return s==null?null:t.node(0).resolve(o+s)}function removeColSpan(t,e,A=1){const n={...t,colspan:t.colspan-A};return n.colwidth&&(n.colwidth=n.colwidth.slice(),n.colwidth.splice(e,A),n.colwidth.some(r=>r>0)||(n.colwidth=null)),n}function addColSpan(t,e,A=1){const n={...t,colspan:t.colspan+A};if(n.colwidth){n.colwidth=n.colwidth.slice();for(let r=0;r<A;r++)n.colwidth.splice(e,0,0)}return n}function columnIsHeader(t,e,A){const n=tableNodeTypes(e.type.schema).header_cell;for(let r=0;r<t.height;r++)if(e.nodeAt(t.map[A+r*t.width]).type!=n)return!1;return!0}class CellSelection extends Selection{constructor(e,A=e){const n=e.node(-1),r=TableMap.get(n),o=e.start(-1),s=r.rectBetween(e.pos-o,A.pos-o),a=e.node(0),l=r.cellsInRect(s).filter(c=>c!=A.pos-o);l.unshift(A.pos-o);const g=l.map(c=>{const I=n.nodeAt(c);if(!I)throw RangeError(`No cell with offset ${c} found`);const d=o+c+1;return new SelectionRange(a.resolve(d),a.resolve(d+I.content.size))});super(g[0].$from,g[0].$to,g),this.$anchorCell=e,this.$headCell=A}map(e,A){const n=e.resolve(A.map(this.$anchorCell.pos)),r=e.resolve(A.map(this.$headCell.pos));if(pointsAtCell(n)&&pointsAtCell(r)&&inSameTable(n,r)){const o=this.$anchorCell.node(-1)!=n.node(-1);return o&&this.isRowSelection()?CellSelection.rowSelection(n,r):o&&this.isColSelection()?CellSelection.colSelection(n,r):new CellSelection(n,r)}return TextSelection.between(n,r)}content(){const e=this.$anchorCell.node(-1),A=TableMap.get(e),n=this.$anchorCell.start(-1),r=A.rectBetween(this.$anchorCell.pos-n,this.$headCell.pos-n),o={},s=[];for(let l=r.top;l<r.bottom;l++){const g=[];for(let c=l*A.width+r.left,I=r.left;I<r.right;I++,c++){const d=A.map[c];if(o[d])continue;o[d]=!0;const h=A.findCell(d);let u=e.nodeAt(d);if(!u)throw RangeError(`No cell with offset ${d} found`);const B=r.left-h.left,E=h.right-r.right;if(B>0||E>0){let f=u.attrs;if(B>0&&(f=removeColSpan(f,0,B)),E>0&&(f=removeColSpan(f,f.colspan-E,E)),h.left<r.left){if(u=u.type.createAndFill(f),!u)throw RangeError(`Could not create cell with attrs ${JSON.stringify(f)}`)}else u=u.type.create(f,u.content)}if(h.top<r.top||h.bottom>r.bottom){const f={...u.attrs,rowspan:Math.min(h.bottom,r.bottom)-Math.max(h.top,r.top)};h.top<r.top?u=u.type.createAndFill(f):u=u.type.create(f,u.content)}g.push(u)}s.push(e.child(l).copy(Fragment.from(g)))}const a=this.isColSelection()&&this.isRowSelection()?e:s;return new Slice(Fragment.from(a),1,1)}replace(e,A=Slice.empty){const n=e.steps.length,r=this.ranges;for(let s=0;s<r.length;s++){const{$from:a,$to:l}=r[s],g=e.mapping.slice(n);e.replace(g.map(a.pos),g.map(l.pos),s?Slice.empty:A)}const o=Selection.findFrom(e.doc.resolve(e.mapping.slice(n).map(this.to)),-1);o&&e.setSelection(o)}replaceWith(e,A){this.replace(e,new Slice(Fragment.from(A),0,0))}forEachCell(e){const A=this.$anchorCell.node(-1),n=TableMap.get(A),r=this.$anchorCell.start(-1),o=n.cellsInRect(n.rectBetween(this.$anchorCell.pos-r,this.$headCell.pos-r));for(let s=0;s<o.length;s++)e(A.nodeAt(o[s]),r+o[s])}isColSelection(){const e=this.$anchorCell.index(-1),A=this.$headCell.index(-1);if(Math.min(e,A)>0)return!1;const n=e+this.$anchorCell.nodeAfter.attrs.rowspan,r=A+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(n,r)==this.$headCell.node(-1).childCount}static colSelection(e,A=e){const n=e.node(-1),r=TableMap.get(n),o=e.start(-1),s=r.findCell(e.pos-o),a=r.findCell(A.pos-o),l=e.node(0);return s.top<=a.top?(s.top>0&&(e=l.resolve(o+r.map[s.left])),a.bottom<r.height&&(A=l.resolve(o+r.map[r.width*(r.height-1)+a.right-1]))):(a.top>0&&(A=l.resolve(o+r.map[a.left])),s.bottom<r.height&&(e=l.resolve(o+r.map[r.width*(r.height-1)+s.right-1]))),new CellSelection(e,A)}isRowSelection(){const e=this.$anchorCell.node(-1),A=TableMap.get(e),n=this.$anchorCell.start(-1),r=A.colCount(this.$anchorCell.pos-n),o=A.colCount(this.$headCell.pos-n);if(Math.min(r,o)>0)return!1;const s=r+this.$anchorCell.nodeAfter.attrs.colspan,a=o+this.$headCell.nodeAfter.attrs.colspan;return Math.max(s,a)==A.width}eq(e){return e instanceof CellSelection&&e.$anchorCell.pos==this.$anchorCell.pos&&e.$headCell.pos==this.$headCell.pos}static rowSelection(e,A=e){const n=e.node(-1),r=TableMap.get(n),o=e.start(-1),s=r.findCell(e.pos-o),a=r.findCell(A.pos-o),l=e.node(0);return s.left<=a.left?(s.left>0&&(e=l.resolve(o+r.map[s.top*r.width])),a.right<r.width&&(A=l.resolve(o+r.map[r.width*(a.top+1)-1]))):(a.left>0&&(A=l.resolve(o+r.map[a.top*r.width])),s.right<r.width&&(e=l.resolve(o+r.map[r.width*(s.top+1)-1]))),new CellSelection(e,A)}toJSON(){return{type:"cell",anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(e,A){return new CellSelection(e.resolve(A.anchor),e.resolve(A.head))}static create(e,A,n=A){return new CellSelection(e.resolve(A),e.resolve(n))}getBookmark(){return new CellBookmark(this.$anchorCell.pos,this.$headCell.pos)}}CellSelection.prototype.visible=!1;Selection.jsonID("cell",CellSelection);class CellBookmark{constructor(e,A){this.anchor=e,this.head=A}map(e){return new CellBookmark(e.map(this.anchor),e.map(this.head))}resolve(e){const A=e.resolve(this.anchor),n=e.resolve(this.head);return A.parent.type.spec.tableRole=="row"&&n.parent.type.spec.tableRole=="row"&&A.index()<A.parent.childCount&&n.index()<n.parent.childCount&&inSameTable(A,n)?new CellSelection(A,n):Selection.near(n,1)}}function drawCellSelection(t){if(!(t.selection instanceof CellSelection))return null;const e=[];return t.selection.forEachCell((A,n)=>{e.push(Decoration.node(n,n+A.nodeSize,{class:"selectedCell"}))}),DecorationSet.create(t.doc,e)}function isCellBoundarySelection({$from:t,$to:e}){if(t.pos==e.pos||t.pos<e.pos-6)return!1;let A=t.pos,n=e.pos,r=t.depth;for(;r>=0&&!(t.after(r+1)<t.end(r));r--,A++);for(let o=e.depth;o>=0&&!(e.before(o+1)>e.start(o));o--,n--);return A==n&&/row|table/.test(t.node(r).type.spec.tableRole)}function isTextSelectionAcrossCells({$from:t,$to:e}){let A,n;for(let r=t.depth;r>0;r--){const o=t.node(r);if(o.type.spec.tableRole==="cell"||o.type.spec.tableRole==="header_cell"){A=o;break}}for(let r=e.depth;r>0;r--){const o=e.node(r);if(o.type.spec.tableRole==="cell"||o.type.spec.tableRole==="header_cell"){n=o;break}}return A!==n&&e.parentOffset===0}function normalizeSelection(t,e,A){const n=(e||t).selection,r=(e||t).doc;let o,s;if(n instanceof NodeSelection&&(s=n.node.type.spec.tableRole)){if(s=="cell"||s=="header_cell")o=CellSelection.create(r,n.from);else if(s=="row"){const a=r.resolve(n.from+1);o=CellSelection.rowSelection(a,a)}else if(!A){const a=TableMap.get(n.node),l=n.from+1,g=l+a.map[a.width*a.height-1];o=CellSelection.create(r,l+1,g)}}else n instanceof TextSelection&&isCellBoundarySelection(n)?o=TextSelection.create(r,n.from):n instanceof TextSelection&&isTextSelectionAcrossCells(n)&&(o=TextSelection.create(r,n.$from.start(),n.$from.end()));return o&&(e||(e=t.tr)).setSelection(o),e}class TableView{constructor(e,A){this.node=e,this.defaultCellMinWidth=A,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.table.style.setProperty("--default-cell-min-width",`${A}px`),this.colgroup=this.table.appendChild(document.createElement("colgroup")),updateColumnsOnResize(e,this.colgroup,this.table,A),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(e){return e.type!=this.node.type?!1:(this.node=e,updateColumnsOnResize(e,this.colgroup,this.table,this.defaultCellMinWidth),!0)}ignoreMutation(e){return e.type=="attributes"&&(e.target==this.table||this.colgroup.contains(e.target))}}function updateColumnsOnResize(t,e,A,n,r,o){let s=0,a=!0,l=e.firstChild;const g=t.firstChild;if(g){for(let c=0,I=0;c<g.childCount;c++){const{colspan:d,colwidth:h}=g.child(c).attrs;for(let u=0;u<d;u++,I++){const B=r==I?o:h&&h[u],E=B?B+"px":"";if(s+=B||n,B||(a=!1),l)l.style.width!=E&&(l.style.width=E),l=l.nextSibling;else{const f=document.createElement("col");f.style.width=E,e.appendChild(f)}}}for(;l;){const c=l.nextSibling;l.parentNode?.removeChild(l),l=c}a?(A.style.width=s+"px",A.style.minWidth=""):(A.style.width="",A.style.minWidth=s+"px")}}const columnResizingPluginKey=new PluginKey("tableColumnResizing");function columnResizing({handleWidth:t=5,cellMinWidth:e=25,defaultCellMinWidth:A=100,View:n=TableView,lastColumnResizable:r=!0}={}){const o=new Plugin({key:columnResizingPluginKey,state:{init(s,a){const l=o.spec?.props?.nodeViews,g=tableNodeTypes(a.schema).table.name;return n&&l&&(l[g]=(c,I)=>new n(c,A,I)),new ResizeState(-1,!1)},apply(s,a){return a.apply(s)}},props:{attributes:s=>{const a=columnResizingPluginKey.getState(s);return a&&a.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(s,a)=>{handleMouseMove(s,a,t,r)},mouseleave:s=>{handleMouseLeave(s)},mousedown:(s,a)=>{handleMouseDown$1(s,a,e,A)}},decorations:s=>{const a=columnResizingPluginKey.getState(s);if(a&&a.activeHandle>-1)return handleDecorations(s,a.activeHandle)},nodeViews:{}}});return o}class ResizeState{constructor(e,A){this.activeHandle=e,this.dragging=A}apply(e){const A=e.getMeta(columnResizingPluginKey);if(A&&A.setHandle!=null)return new ResizeState(A.setHandle,!1);if(A&&A.setDragging!==void 0)return new ResizeState(this.activeHandle,A.setDragging);if(this.activeHandle>-1&&e.docChanged){let n=e.mapping.map(this.activeHandle,-1);return pointsAtCell(e.doc.resolve(n))||(n=-1),new ResizeState(n,this.dragging)}return this}}function handleMouseMove(t,e,A,n){if(!t.editable)return;const r=columnResizingPluginKey.getState(t.state);if(r&&!r.dragging){const o=domCellAround(e.target);let s=-1;if(o){const{left:a,right:l}=o.getBoundingClientRect();e.clientX-a<=A?s=edgeCell(t,e,"left",A):l-e.clientX<=A&&(s=edgeCell(t,e,"right",A))}if(s!=r.activeHandle){if(!n&&s!==-1){const a=t.state.doc.resolve(s),l=a.node(-1),g=TableMap.get(l),c=a.start(-1);if(g.colCount(a.pos-c)+a.nodeAfter.attrs.colspan-1==g.width-1)return}updateHandle(t,s)}}}function handleMouseLeave(t){if(!t.editable)return;const e=columnResizingPluginKey.getState(t.state);e&&e.activeHandle>-1&&!e.dragging&&updateHandle(t,-1)}function handleMouseDown$1(t,e,A,n){if(!t.editable)return!1;const r=t.dom.ownerDocument.defaultView||globalThis,o=columnResizingPluginKey.getState(t.state);if(!o||o.activeHandle==-1||o.dragging)return!1;const s=t.state.doc.nodeAt(o.activeHandle),a=currentColWidth(t,o.activeHandle,s.attrs);t.dispatch(t.state.tr.setMeta(columnResizingPluginKey,{setDragging:{startX:e.clientX,startWidth:a}}));function l(c){r.removeEventListener("mouseup",l),r.removeEventListener("mousemove",g);const I=columnResizingPluginKey.getState(t.state);I?.dragging&&(updateColumnWidth(t,I.activeHandle,draggedWidth(I.dragging,c,A)),t.dispatch(t.state.tr.setMeta(columnResizingPluginKey,{setDragging:null})))}function g(c){if(!c.which)return l(c);const I=columnResizingPluginKey.getState(t.state);if(I&&I.dragging){const d=draggedWidth(I.dragging,c,A);displayColumnWidth(t,I.activeHandle,d,n)}}return displayColumnWidth(t,o.activeHandle,a,n),r.addEventListener("mouseup",l),r.addEventListener("mousemove",g),e.preventDefault(),!0}function currentColWidth(t,e,{colspan:A,colwidth:n}){const r=n&&n[n.length-1];if(r)return r;const o=t.domAtPos(e);let a=o.node.childNodes[o.offset].offsetWidth,l=A;if(n)for(let g=0;g<A;g++)n[g]&&(a-=n[g],l--);return a/l}function domCellAround(t){for(;t&&t.nodeName!="TD"&&t.nodeName!="TH";)t=t.classList&&t.classList.contains("ProseMirror")?null:t.parentNode;return t}function edgeCell(t,e,A,n){const r=A=="right"?-n:n,o=t.posAtCoords({left:e.clientX+r,top:e.clientY});if(!o)return-1;const{pos:s}=o,a=cellAround(t.state.doc.resolve(s));if(!a)return-1;if(A=="right")return a.pos;const l=TableMap.get(a.node(-1)),g=a.start(-1),c=l.map.indexOf(a.pos-g);return c%l.width==0?-1:g+l.map[c-1]}function draggedWidth(t,e,A){const n=e.clientX-t.startX;return Math.max(A,t.startWidth+n)}function updateHandle(t,e){t.dispatch(t.state.tr.setMeta(columnResizingPluginKey,{setHandle:e}))}function updateColumnWidth(t,e,A){const n=t.state.doc.resolve(e),r=n.node(-1),o=TableMap.get(r),s=n.start(-1),a=o.colCount(n.pos-s)+n.nodeAfter.attrs.colspan-1,l=t.state.tr;for(let g=0;g<o.height;g++){const c=g*o.width+a;if(g&&o.map[c]==o.map[c-o.width])continue;const I=o.map[c],d=r.nodeAt(I).attrs,h=d.colspan==1?0:a-o.colCount(I);if(d.colwidth&&d.colwidth[h]==A)continue;const u=d.colwidth?d.colwidth.slice():zeroes(d.colspan);u[h]=A,l.setNodeMarkup(s+I,null,{...d,colwidth:u})}l.docChanged&&t.dispatch(l)}function displayColumnWidth(t,e,A,n){const r=t.state.doc.resolve(e),o=r.node(-1),s=r.start(-1),a=TableMap.get(o).colCount(r.pos-s)+r.nodeAfter.attrs.colspan-1;let l=t.domAtPos(r.start(-1)).node;for(;l&&l.nodeName!="TABLE";)l=l.parentNode;l&&updateColumnsOnResize(o,l.firstChild,l,n,a,A)}function zeroes(t){return Array(t).fill(0)}function handleDecorations(t,e){const A=[],n=t.doc.resolve(e),r=n.node(-1);if(!r)return DecorationSet.empty;const o=TableMap.get(r),s=n.start(-1),a=o.colCount(n.pos-s)+n.nodeAfter.attrs.colspan-1;for(let l=0;l<o.height;l++){const g=a+l*o.width;if((a==o.width-1||o.map[g]!=o.map[g+1])&&(l==0||o.map[g]!=o.map[g-o.width])){const c=o.map[g],I=s+c+r.nodeAt(c).nodeSize-1,d=document.createElement("div");d.className="column-resize-handle",columnResizingPluginKey.getState(t)?.dragging&&A.push(Decoration.node(s+c,s+c+r.nodeAt(c).nodeSize,{class:"column-resize-dragging"})),A.push(Decoration.widget(I,d))}}return DecorationSet.create(t.doc,A)}const fixTablesKey=new PluginKey("fix-tables");function changedDescendants(t,e,A,n){const r=t.childCount,o=e.childCount;e:for(let s=0,a=0;s<o;s++){const l=e.child(s);for(let g=a,c=Math.min(r,s+3);g<c;g++)if(t.child(g)==l){a=g+1,A+=l.nodeSize;continue e}n(l,A),a<r&&t.child(a).sameMarkup(l)?changedDescendants(t.child(a),l,A+1,n):l.nodesBetween(0,l.content.size,n,A+1),A+=l.nodeSize}}function fixTables(t,e){let A;const n=(r,o)=>{r.type.spec.tableRole=="table"&&(A=fixTable(t,r,o,A))};return e?e.doc!=t.doc&&changedDescendants(e.doc,t.doc,0,n):t.doc.descendants(n),A}function fixTable(t,e,A,n){const r=TableMap.get(e);if(!r.problems)return n;n||(n=t.tr);const o=[];for(let l=0;l<r.height;l++)o.push(0);for(let l=0;l<r.problems.length;l++){const g=r.problems[l];if(g.type=="collision"){const c=e.nodeAt(g.pos);if(!c)continue;const I=c.attrs;for(let d=0;d<I.rowspan;d++)o[g.row+d]+=g.n;n.setNodeMarkup(n.mapping.map(A+1+g.pos),null,removeColSpan(I,I.colspan-g.n,g.n))}else if(g.type=="missing")o[g.row]+=g.n;else if(g.type=="overlong_rowspan"){const c=e.nodeAt(g.pos);if(!c)continue;n.setNodeMarkup(n.mapping.map(A+1+g.pos),null,{...c.attrs,rowspan:c.attrs.rowspan-g.n})}else if(g.type=="colwidth mismatch"){const c=e.nodeAt(g.pos);if(!c)continue;n.setNodeMarkup(n.mapping.map(A+1+g.pos),null,{...c.attrs,colwidth:g.colwidth})}else if(g.type=="zero_sized"){const c=n.mapping.map(A);n.delete(c,c+e.nodeSize)}}let s,a;for(let l=0;l<o.length;l++)o[l]&&(s==null&&(s=l),a=l);for(let l=0,g=A+1;l<r.height;l++){const c=e.child(l),I=g+c.nodeSize,d=o[l];if(d>0){let h="cell";c.firstChild&&(h=c.firstChild.type.spec.tableRole);const u=[];for(let E=0;E<d;E++){const f=tableNodeTypes(t.schema)[h].createAndFill();f&&u.push(f)}const B=(l==0||s==l-1)&&a==l?g+1:I-1;n.insert(n.mapping.map(B),u)}g=I}return n.setMeta(fixTablesKey,{fixTables:!0})}function selectedRect(t){const e=t.selection,A=selectionCell(t),n=A.node(-1),r=A.start(-1),o=TableMap.get(n);return{...e instanceof CellSelection?o.rectBetween(e.$anchorCell.pos-r,e.$headCell.pos-r):o.findCell(A.pos-r),tableStart:r,map:o,table:n}}function addColumn(t,{map:e,tableStart:A,table:n},r){let o=r>0?-1:0;columnIsHeader(e,n,r+o)&&(o=r==0||r==e.width?null:0);for(let s=0;s<e.height;s++){const a=s*e.width+r;if(r>0&&r<e.width&&e.map[a-1]==e.map[a]){const l=e.map[a],g=n.nodeAt(l);t.setNodeMarkup(t.mapping.map(A+l),null,addColSpan(g.attrs,r-e.colCount(l))),s+=g.attrs.rowspan-1}else{const l=o==null?tableNodeTypes(n.type.schema).cell:n.nodeAt(e.map[a+o]).type,g=e.positionAt(s,r,n);t.insert(t.mapping.map(A+g),l.createAndFill())}}return t}function addColumnBefore(t,e){if(!isInTable(t))return!1;if(e){const A=selectedRect(t);e(addColumn(t.tr,A,A.left))}return!0}function addColumnAfter(t,e){if(!isInTable(t))return!1;if(e){const A=selectedRect(t);e(addColumn(t.tr,A,A.right))}return!0}function removeColumn(t,{map:e,table:A,tableStart:n},r){const o=t.mapping.maps.length;for(let s=0;s<e.height;){const a=s*e.width+r,l=e.map[a],g=A.nodeAt(l),c=g.attrs;if(r>0&&e.map[a-1]==l||r<e.width-1&&e.map[a+1]==l)t.setNodeMarkup(t.mapping.slice(o).map(n+l),null,removeColSpan(c,r-e.colCount(l)));else{const I=t.mapping.slice(o).map(n+l);t.delete(I,I+g.nodeSize)}s+=c.rowspan}}function deleteColumn(t,e){if(!isInTable(t))return!1;if(e){const A=selectedRect(t),n=t.tr;if(A.left==0&&A.right==A.map.width)return!1;for(let r=A.right-1;removeColumn(n,A,r),r!=A.left;r--){const o=A.tableStart?n.doc.nodeAt(A.tableStart-1):n.doc;if(!o)throw RangeError("No table found");A.table=o,A.map=TableMap.get(o)}e(n)}return!0}function rowIsHeader(t,e,A){const n=tableNodeTypes(e.type.schema).header_cell;for(let r=0;r<t.width;r++)if(e.nodeAt(t.map[r+A*t.width])?.type!=n)return!1;return!0}function addRow(t,{map:e,tableStart:A,table:n},r){let o=A;for(let l=0;l<r;l++)o+=n.child(l).nodeSize;const s=[];let a=r>0?-1:0;rowIsHeader(e,n,r+a)&&(a=r==0||r==e.height?null:0);for(let l=0,g=e.width*r;l<e.width;l++,g++)if(r>0&&r<e.height&&e.map[g]==e.map[g-e.width]){const c=e.map[g],I=n.nodeAt(c).attrs;t.setNodeMarkup(A+c,null,{...I,rowspan:I.rowspan+1}),l+=I.colspan-1}else{const I=(a==null?tableNodeTypes(n.type.schema).cell:n.nodeAt(e.map[g+a*e.width])?.type)?.createAndFill();I&&s.push(I)}return t.insert(o,tableNodeTypes(n.type.schema).row.create(null,s)),t}function addRowBefore(t,e){if(!isInTable(t))return!1;if(e){const A=selectedRect(t);e(addRow(t.tr,A,A.top))}return!0}function addRowAfter(t,e){if(!isInTable(t))return!1;if(e){const A=selectedRect(t);e(addRow(t.tr,A,A.bottom))}return!0}function removeRow(t,{map:e,table:A,tableStart:n},r){let o=0;for(let g=0;g<r;g++)o+=A.child(g).nodeSize;const s=o+A.child(r).nodeSize,a=t.mapping.maps.length;t.delete(o+n,s+n);const l=new Set;for(let g=0,c=r*e.width;g<e.width;g++,c++){const I=e.map[c];if(!l.has(I)){if(l.add(I),r>0&&I==e.map[c-e.width]){const d=A.nodeAt(I).attrs;t.setNodeMarkup(t.mapping.slice(a).map(I+n),null,{...d,rowspan:d.rowspan-1}),g+=d.colspan-1}else if(r<e.height&&I==e.map[c+e.width]){const d=A.nodeAt(I),h=d.attrs,u=d.type.create({...h,rowspan:d.attrs.rowspan-1},d.content),B=e.positionAt(r+1,g,A);t.insert(t.mapping.slice(a).map(n+B),u),g+=h.colspan-1}}}}function deleteRow(t,e){if(!isInTable(t))return!1;if(e){const A=selectedRect(t),n=t.tr;if(A.top==0&&A.bottom==A.map.height)return!1;for(let r=A.bottom-1;removeRow(n,A,r),r!=A.top;r--){const o=A.tableStart?n.doc.nodeAt(A.tableStart-1):n.doc;if(!o)throw RangeError("No table found");A.table=o,A.map=TableMap.get(A.table)}e(n)}return!0}function isEmpty(t){const e=t.content;return e.childCount==1&&e.child(0).isTextblock&&e.child(0).childCount==0}function cellsOverlapRectangle({width:t,height:e,map:A},n){let r=n.top*t+n.left,o=r,s=(n.bottom-1)*t+n.left,a=r+(n.right-n.left-1);for(let l=n.top;l<n.bottom;l++){if(n.left>0&&A[o]==A[o-1]||n.right<t&&A[a]==A[a+1])return!0;o+=t,a+=t}for(let l=n.left;l<n.right;l++){if(n.top>0&&A[r]==A[r-t]||n.bottom<e&&A[s]==A[s+t])return!0;r++,s++}return!1}function mergeCells(t,e){const A=t.selection;if(!(A instanceof CellSelection)||A.$anchorCell.pos==A.$headCell.pos)return!1;const n=selectedRect(t),{map:r}=n;if(cellsOverlapRectangle(r,n))return!1;if(e){const o=t.tr,s={};let a=Fragment.empty,l,g;for(let c=n.top;c<n.bottom;c++)for(let I=n.left;I<n.right;I++){const d=r.map[c*r.width+I],h=n.table.nodeAt(d);if(!(s[d]||!h))if(s[d]=!0,l==null)l=d,g=h;else{isEmpty(h)||(a=a.append(h.content));const u=o.mapping.map(d+n.tableStart);o.delete(u,u+h.nodeSize)}}if(l==null||g==null)return!0;if(o.setNodeMarkup(l+n.tableStart,null,{...addColSpan(g.attrs,g.attrs.colspan,n.right-n.left-g.attrs.colspan),rowspan:n.bottom-n.top}),a.size){const c=l+1+g.content.size,I=isEmpty(g)?l+1:c;o.replaceWith(I+n.tableStart,c+n.tableStart,a)}o.setSelection(new CellSelection(o.doc.resolve(l+n.tableStart))),e(o)}return!0}function splitCell(t,e){const A=tableNodeTypes(t.schema);return splitCellWithType(({node:n})=>A[n.type.spec.tableRole])(t,e)}const splitCellWithType=t=>(e,A)=>{const n=e.selection;let r,o;if(n instanceof CellSelection){if(n.$anchorCell.pos!=n.$headCell.pos)return!1;r=n.$anchorCell.nodeAfter,o=n.$anchorCell.pos}else{if(r=cellWrapping(n.$from),!r)return!1;o=cellAround(n.$from)?.pos}if(r==null||o==null||r.attrs.colspan==1&&r.attrs.rowspan==1)return!1;if(A){let s=r.attrs;const a=[],l=s.colwidth;s.rowspan>1&&(s={...s,rowspan:1}),s.colspan>1&&(s={...s,colspan:1});const g=selectedRect(e),c=e.tr;for(let d=0;d<g.right-g.left;d++)a.push(l?{...s,colwidth:l&&l[d]?[l[d]]:null}:s);let I;for(let d=g.top;d<g.bottom;d++){let h=g.map.positionAt(d,g.left,g.table);d==g.top&&(h+=r.nodeSize);for(let u=g.left,B=0;u<g.right;u++,B++)u==g.left&&d==g.top||c.insert(I=c.mapping.map(h+g.tableStart,1),t({node:r,row:d,col:u}).createAndFill(a[B]))}c.setNodeMarkup(o,t({node:r,row:g.top,col:g.left}),a[0]),n instanceof CellSelection&&c.setSelection(new CellSelection(c.doc.resolve(n.$anchorCell.pos),I?c.doc.resolve(I):void 0)),A(c)}return!0},setCellAttr=(t,e)=>function(A,n){if(!isInTable(A))return!1;const r=selectionCell(A);if(r.nodeAfter.attrs[t]===e)return!1;if(n){const o=A.tr;A.selection instanceof CellSelection?A.selection.forEachCell((s,a)=>{s.attrs[t]!==e&&o.setNodeMarkup(a,null,{...s.attrs,[t]:e})}):o.setNodeMarkup(r.pos,null,{...r.nodeAfter.attrs,[t]:e}),n(o)}return!0};function deprecated_toggleHeader(t){return function(e,A){if(!isInTable(e))return!1;if(A){const n=tableNodeTypes(e.schema),r=selectedRect(e),o=e.tr,s=r.map.cellsInRect(t=="column"?{left:r.left,top:0,right:r.right,bottom:r.map.height}:t=="row"?{left:0,top:r.top,right:r.map.width,bottom:r.bottom}:r),a=s.map(l=>r.table.nodeAt(l));for(let l=0;l<s.length;l++)a[l].type==n.header_cell&&o.setNodeMarkup(r.tableStart+s[l],n.cell,a[l].attrs);if(o.steps.length==0)for(let l=0;l<s.length;l++)o.setNodeMarkup(r.tableStart+s[l],n.header_cell,a[l].attrs);A(o)}return!0}}function isHeaderEnabledByType(t,e,A){const n=e.map.cellsInRect({left:0,top:0,right:t=="row"?e.map.width:1,bottom:t=="column"?e.map.height:1});for(let r=0;r<n.length;r++){const o=e.table.nodeAt(n[r]);if(o&&o.type!==A.header_cell)return!1}return!0}const toggleHeader=(t,e)=>(e=e||{useDeprecatedLogic:!1},e.useDeprecatedLogic?deprecated_toggleHeader(t):function(A,n){if(!isInTable(A))return!1;if(n){const r=tableNodeTypes(A.schema),o=selectedRect(A),s=A.tr,a=isHeaderEnabledByType("row",o,r),l=isHeaderEnabledByType("column",o,r),c=(t==="column"?a:t==="row"?l:!1)?1:0,I=t=="column"?{left:0,top:c,right:1,bottom:o.map.height}:t=="row"?{left:c,top:0,right:o.map.width,bottom:1}:o,d=t=="column"?l?r.cell:r.header_cell:t=="row"?a?r.cell:r.header_cell:r.cell;o.map.cellsInRect(I).forEach(h=>{const u=h+o.tableStart,B=s.doc.nodeAt(u);B&&s.setNodeMarkup(u,d,B.attrs)}),n(s)}return!0}),toggleHeaderRow=toggleHeader("row",{useDeprecatedLogic:!0}),toggleHeaderColumn=toggleHeader("column",{useDeprecatedLogic:!0}),toggleHeaderCell=toggleHeader("cell",{useDeprecatedLogic:!0});function findNextCell(t,e){if(e<0){const A=t.nodeBefore;if(A)return t.pos-A.nodeSize;for(let n=t.index(-1)-1,r=t.before();n>=0;n--){const o=t.node(-1).child(n),s=o.lastChild;if(s)return r-1-s.nodeSize;r-=o.nodeSize}}else{if(t.index()<t.parent.childCount-1)return t.pos+t.nodeAfter.nodeSize;const A=t.node(-1);for(let n=t.indexAfter(-1),r=t.after();n<A.childCount;n++){const o=A.child(n);if(o.childCount)return r+1;r+=o.nodeSize}}return null}const goToNextCell=t=>function(e,A){if(!isInTable(e))return!1;const n=findNextCell(selectionCell(e),t);if(n==null)return!1;if(A){const r=e.doc.resolve(n);A(e.tr.setSelection(TextSelection.between(r,moveCellForward(r))).scrollIntoView())}return!0};function deleteTable(t,e){const A=t.selection.$anchor;for(let n=A.depth;n>0;n--)if(A.node(n).type.spec.tableRole=="table")return e&&e(t.tr.delete(A.before(n),A.after(n)).scrollIntoView()),!0;return!1}function deleteCellSelection(t,e){const A=t.selection;if(!(A instanceof CellSelection))return!1;if(e){const n=t.tr,r=tableNodeTypes(t.schema).cell.createAndFill().content;A.forEachCell((o,s)=>{o.content.eq(r)||n.replace(n.mapping.map(s+1),n.mapping.map(s+o.nodeSize-1),new Slice(r,0,0))}),n.docChanged&&e(n)}return!0}function pastedCells(t){if(!t.size)return null;let{content:e,openStart:A,openEnd:n}=t;for(;e.childCount==1&&(A>0&&n>0||e.child(0).type.spec.tableRole=="table");)A--,n--,e=e.child(0).content;const r=e.child(0),o=r.type.spec.tableRole,s=r.type.schema,a=[];if(o=="row")for(let l=0;l<e.childCount;l++){let g=e.child(l).content;const c=l?0:Math.max(0,A-1),I=l<e.childCount-1?0:Math.max(0,n-1);(c||I)&&(g=fitSlice(tableNodeTypes(s).row,new Slice(g,c,I)).content),a.push(g)}else if(o=="cell"||o=="header_cell")a.push(A||n?fitSlice(tableNodeTypes(s).row,new Slice(e,A,n)).content:e);else return null;return ensureRectangular(s,a)}function ensureRectangular(t,e){const A=[];for(let r=0;r<e.length;r++){const o=e[r];for(let s=o.childCount-1;s>=0;s--){const{rowspan:a,colspan:l}=o.child(s).attrs;for(let g=r;g<r+a;g++)A[g]=(A[g]||0)+l}}let n=0;for(let r=0;r<A.length;r++)n=Math.max(n,A[r]);for(let r=0;r<A.length;r++)if(r>=e.length&&e.push(Fragment.empty),A[r]<n){const o=tableNodeTypes(t).cell.createAndFill(),s=[];for(let a=A[r];a<n;a++)s.push(o);e[r]=e[r].append(Fragment.from(s))}return{height:e.length,width:n,rows:e}}function fitSlice(t,e){const A=t.createAndFill();return new Transform(A).replace(0,A.content.size,e).doc}function clipCells({width:t,height:e,rows:A},n,r){if(t!=n){const o=[],s=[];for(let a=0;a<A.length;a++){const l=A[a],g=[];for(let c=o[a]||0,I=0;c<n;I++){let d=l.child(I%l.childCount);c+d.attrs.colspan>n&&(d=d.type.createChecked(removeColSpan(d.attrs,d.attrs.colspan,c+d.attrs.colspan-n),d.content)),g.push(d),c+=d.attrs.colspan;for(let h=1;h<d.attrs.rowspan;h++)o[a+h]=(o[a+h]||0)+d.attrs.colspan}s.push(Fragment.from(g))}A=s,t=n}if(e!=r){const o=[];for(let s=0,a=0;s<r;s++,a++){const l=[],g=A[a%e];for(let c=0;c<g.childCount;c++){let I=g.child(c);s+I.attrs.rowspan>r&&(I=I.type.create({...I.attrs,rowspan:Math.max(1,r-I.attrs.rowspan)},I.content)),l.push(I)}o.push(Fragment.from(l))}A=o,e=r}return{width:t,height:e,rows:A}}function growTable(t,e,A,n,r,o,s){const a=t.doc.type.schema,l=tableNodeTypes(a);let g,c;if(r>e.width)for(let I=0,d=0;I<e.height;I++){const h=A.child(I);d+=h.nodeSize;const u=[];let B;h.lastChild==null||h.lastChild.type==l.cell?B=g||(g=l.cell.createAndFill()):B=c||(c=l.header_cell.createAndFill());for(let E=e.width;E<r;E++)u.push(B);t.insert(t.mapping.slice(s).map(d-1+n),u)}if(o>e.height){const I=[];for(let u=0,B=(e.height-1)*e.width;u<Math.max(e.width,r);u++){const E=u>=e.width?!1:A.nodeAt(e.map[B+u]).type==l.header_cell;I.push(E?c||(c=l.header_cell.createAndFill()):g||(g=l.cell.createAndFill()))}const d=l.row.create(null,Fragment.from(I)),h=[];for(let u=e.height;u<o;u++)h.push(d);t.insert(t.mapping.slice(s).map(n+A.nodeSize-2),h)}return!!(g||c)}function isolateHorizontal(t,e,A,n,r,o,s,a){if(s==0||s==e.height)return!1;let l=!1;for(let g=r;g<o;g++){const c=s*e.width+g,I=e.map[c];if(e.map[c-e.width]==I){l=!0;const d=A.nodeAt(I),{top:h,left:u}=e.findCell(I);t.setNodeMarkup(t.mapping.slice(a).map(I+n),null,{...d.attrs,rowspan:s-h}),t.insert(t.mapping.slice(a).map(e.positionAt(s,u,A)),d.type.createAndFill({...d.attrs,rowspan:h+d.attrs.rowspan-s})),g+=d.attrs.colspan-1}}return l}function isolateVertical(t,e,A,n,r,o,s,a){if(s==0||s==e.width)return!1;let l=!1;for(let g=r;g<o;g++){const c=g*e.width+s,I=e.map[c];if(e.map[c-1]==I){l=!0;const d=A.nodeAt(I),h=e.colCount(I),u=t.mapping.slice(a).map(I+n);t.setNodeMarkup(u,null,removeColSpan(d.attrs,s-h,d.attrs.colspan-(s-h))),t.insert(u+d.nodeSize,d.type.createAndFill(removeColSpan(d.attrs,0,s-h))),g+=d.attrs.rowspan-1}}return l}function insertCells(t,e,A,n,r){let o=A?t.doc.nodeAt(A-1):t.doc;if(!o)throw new Error("No table found");let s=TableMap.get(o);const{top:a,left:l}=n,g=l+r.width,c=a+r.height,I=t.tr;let d=0;function h(){if(o=A?I.doc.nodeAt(A-1):I.doc,!o)throw new Error("No table found");s=TableMap.get(o),d=I.mapping.maps.length}growTable(I,s,o,A,g,c,d)&&h(),isolateHorizontal(I,s,o,A,l,g,a,d)&&h(),isolateHorizontal(I,s,o,A,l,g,c,d)&&h(),isolateVertical(I,s,o,A,a,c,l,d)&&h(),isolateVertical(I,s,o,A,a,c,g,d)&&h();for(let u=a;u<c;u++){const B=s.positionAt(u,l,o),E=s.positionAt(u,g,o);I.replace(I.mapping.slice(d).map(B+A),I.mapping.slice(d).map(E+A),new Slice(r.rows[u-a],0,0))}h(),I.setSelection(new CellSelection(I.doc.resolve(A+s.positionAt(a,l,o)),I.doc.resolve(A+s.positionAt(c-1,g-1,o)))),e(I)}const handleKeyDown=keydownHandler({ArrowLeft:arrow("horiz",-1),ArrowRight:arrow("horiz",1),"Shift-ArrowLeft":shiftArrow("horiz",-1),"Shift-ArrowRight":shiftArrow("horiz",1),"Shift-ArrowUp":shiftArrow("vert",-1),"Shift-ArrowDown":shiftArrow("vert",1),Backspace:deleteCellSelection,"Mod-Backspace":deleteCellSelection,Delete:deleteCellSelection,"Mod-Delete":deleteCellSelection});function maybeSetSelection(t,e,A){return A.eq(t.selection)?!1:(e&&e(t.tr.setSelection(A).scrollIntoView()),!0)}function arrow(t,e){return(A,n,r)=>{if(!r)return!1;const o=A.selection;return o instanceof CellSelection?maybeSetSelection(A,n,Selection.near(o.$headCell,e)):atEndOfCell(r,t,e)==null?!1:maybeSetSelection(A,n,Selection.near(A.doc.resolve(o.head+e),e))}}function shiftArrow(t,e){return(A,n,r)=>{if(!r)return!1;const o=A.selection;let s;if(o instanceof CellSelection)s=o;else{const l=atEndOfCell(r,t,e);if(l==null)return!1;s=new CellSelection(A.doc.resolve(l))}const a=nextCell(s.$headCell,t,e);return a?maybeSetSelection(A,n,new CellSelection(s.$anchorCell,a)):!1}}function handleTripleClick(t,e){const A=t.state.doc,n=cellAround(A.resolve(e));return n?(t.dispatch(t.state.tr.setSelection(new CellSelection(n))),!0):!1}function handlePaste(t,e,A){if(!isInTable(t.state))return!1;let n=pastedCells(A);const r=t.state.selection;if(r instanceof CellSelection){n||(n={width:1,height:1,rows:[Fragment.from(fitSlice(tableNodeTypes(t.state.schema).cell,A))]});const o=r.$anchorCell.node(-1),s=r.$anchorCell.start(-1),a=TableMap.get(o).rectBetween(r.$anchorCell.pos-s,r.$headCell.pos-s);return n=clipCells(n,a.right-a.left,a.bottom-a.top),insertCells(t.state,t.dispatch,s,a,n),!0}else if(n){const o=selectionCell(t.state),s=o.start(-1);return insertCells(t.state,t.dispatch,s,TableMap.get(o.node(-1)).findCell(o.pos-s),n),!0}else return!1}function handleMouseDown(t,e){if(e.ctrlKey||e.metaKey)return;const A=domInCell(t,e.target);let n;if(e.shiftKey&&t.state.selection instanceof CellSelection)r(t.state.selection.$anchorCell,e),e.preventDefault();else if(e.shiftKey&&A&&(n=cellAround(t.state.selection.$anchor))!=null&&cellUnderMouse(t,e)?.pos!=n.pos)r(n,e),e.preventDefault();else if(!A)return;function r(a,l){let g=cellUnderMouse(t,l);const c=tableEditingKey.getState(t.state)==null;if(!g||!inSameTable(a,g))if(c)g=a;else return;const I=new CellSelection(a,g);if(c||!t.state.selection.eq(I)){const d=t.state.tr.setSelection(I);c&&d.setMeta(tableEditingKey,a.pos),t.dispatch(d)}}function o(){t.root.removeEventListener("mouseup",o),t.root.removeEventListener("dragstart",o),t.root.removeEventListener("mousemove",s),tableEditingKey.getState(t.state)!=null&&t.dispatch(t.state.tr.setMeta(tableEditingKey,-1))}function s(a){const l=a,g=tableEditingKey.getState(t.state);let c;if(g!=null)c=t.state.doc.resolve(g);else if(domInCell(t,l.target)!=A&&(c=cellUnderMouse(t,e),!c))return o();c&&r(c,l)}t.root.addEventListener("mouseup",o),t.root.addEventListener("dragstart",o),t.root.addEventListener("mousemove",s)}function atEndOfCell(t,e,A){if(!(t.state.selection instanceof TextSelection))return null;const{$head:n}=t.state.selection;for(let r=n.depth-1;r>=0;r--){const o=n.node(r);if((A<0?n.index(r):n.indexAfter(r))!=(A<0?0:o.childCount))return null;if(o.type.spec.tableRole=="cell"||o.type.spec.tableRole=="header_cell"){const a=n.before(r),l=e=="vert"?A>0?"down":"up":A>0?"right":"left";return t.endOfTextblock(l)?a:null}}return null}function domInCell(t,e){for(;e&&e!=t.dom;e=e.parentNode)if(e.nodeName=="TD"||e.nodeName=="TH")return e;return null}function cellUnderMouse(t,e){const A=t.posAtCoords({left:e.clientX,top:e.clientY});return A&&A?cellAround(t.state.doc.resolve(A.pos)):null}function tableEditing({allowTableNodeSelection:t=!1}={}){return new Plugin({key:tableEditingKey,state:{init(){return null},apply(e,A){const n=e.getMeta(tableEditingKey);if(n!=null)return n==-1?null:n;if(A==null||!e.docChanged)return A;const{deleted:r,pos:o}=e.mapping.mapResult(A);return r?null:o}},props:{decorations:drawCellSelection,handleDOMEvents:{mousedown:handleMouseDown},createSelectionBetween(e){return tableEditingKey.getState(e.state)!=null?e.state.selection:null},handleTripleClick,handleKeyDown,handlePaste},appendTransaction(e,A,n){return normalizeSelection(n,fixTables(n,A),t)}})}class NodeTable extends Node$2{constructor(){super(...arguments),this.name="table",this.requires=["doc"],this.attributes={class:{default:"table",fromDom(e){return e.hasAttribute("class")?e.getAttribute("class"):void 0}}}}getNodeSpec(){return{content:"table_row+",tableRole:"table",isolating:!0,group:"block",parseDOM:[{tag:"table",getAttrs:e=>setHtmlAttributes(this,e)}],toDOM:e=>["table",getHtmlAttributes(this,e),["tbody",0]]}}getCommandFactories(e,A){return{addColumnAfter:()=>(r,o)=>addColumnAfter(r,o),addColumnBefore:()=>(r,o)=>addColumnBefore(r,o),addRowAfter:()=>(r,o)=>addRowAfter(r,o),addRowBefore:()=>(r,o)=>addRowBefore(r,o),deleteColumn:()=>(r,o)=>deleteColumn(r,o),deleteRow:()=>(r,o)=>deleteRow(r,o),deleteTable:()=>(r,o)=>deleteTable(r,o),goToNextCell:r=>goToNextCell(r),mergeCells:()=>(r,o)=>mergeCells(r,o),setCellAttr:(...r)=>setCellAttr(...r),splitCell:()=>(r,o)=>splitCell(r,o),toggleHeader:(...r)=>toggleHeader(...r),toggleHeaderCell:()=>(r,o)=>toggleHeaderCell(r,o),toggleHeaderRow:()=>(r,o)=>toggleHeaderRow(r,o),toggleHeaderColumn:()=>(r,o)=>toggleHeaderColumn(r,o),insertTable:({rows:r=3,cols:o=3,withHeaderRow:s=!0}={})=>(a,l)=>{const g=a.tr,c=createTable(e.schema,r,o,s);if(l){const I=g.selection.from+1;g.replaceSelectionWith(c).scrollIntoView().setSelection(TextSelection.near(g.doc.resolve(I)))}return!0},setCellSelection:r=>(o,s)=>{if(s){const a=CellSelection.create(o.doc,r.anchorCell,r.headCell);o.tr.setSelection(a)}return!0}}}getKeyboardShortcuts(){return{}}getProseMirrorPlugins(){return[columnResizing(),tableEditing()]}}class NodeTableRow extends Node$2{constructor(){super(...arguments),this.name="table_row",this.requires=["table"]}getNodeSpec(){return{content:"(table_cell | table_header)*",tableRole:"row",parseDOM:[{tag:"tr"}],toDOM(){return["tr",0]}}}getCommandFactories(e,A){return{}}getKeyboardShortcuts(){return{}}}function getCellAttrs$1(t){if(typeof t=="string")return{};const e=t.getAttribute("data-colwidth"),A=e&&/^\d+(,\d+)*$/.test(e)?e.split(",").map(r=>Number(r)):null,n=Number(t.getAttribute("colspan")||1);return{colspan:n,rowspan:Number(t.getAttribute("rowspan")||1),colwidth:A&&A.length==n?A:null}}function setCellAttrs$1(t){return{colspan:t.attrs.colspan!=1?t.attrs.colspan:void 0,rowspan:t.attrs.rowspan!=1?t.attrs.rowspan:void 0,"data-colwidth":t.attrs.colwidth?.join(",")}}class NodeTableHeader extends Node$2{constructor(){super(...arguments),this.name="table_header",this.requires=["table"]}getNodeSpec(){return{content:"block+",attrs:{colspan:{default:1},rowspan:{default:1},colwidth:{default:void 0}},tableRole:"header_cell",isolating:!0,parseDOM:[{tag:"th",getAttrs:e=>getCellAttrs$1(e)}],toDOM:e=>["th",setCellAttrs$1(e),0]}}}function getCellAttrs(t){if(typeof t=="string")return{};const e=t.getAttribute("data-colwidth"),A=e&&/^\d+(,\d+)*$/.test(e)?e.split(",").map(r=>Number(r)):null,n=Number(t.getAttribute("colspan")||1);return{colspan:n,rowspan:Number(t.getAttribute("rowspan")||1),colwidth:A&&A.length==n?A:null}}function setCellAttrs(t){return{colspan:t.attrs.colspan!=1?t.attrs.colspan:void 0,rowspan:t.attrs.rowspan!=1?t.attrs.rowspan:void 0,"data-colwidth":t.attrs.colwidth?.join(",")}}class NodeTableCell extends Node$2{constructor(){super(...arguments),this.name="table_cell",this.requires=["table_row"]}getNodeSpec(){return{content:"block+",attrs:{colspan:{default:1},rowspan:{default:1},colwidth:{default:void 0}},tableRole:"cell",isolating:!0,parseDOM:[{tag:"td",getAttrs:e=>getCellAttrs(e)}],toDOM(e){return["td",setCellAttrs(e),0]}}}getCommandFactories(e,A){return{}}getKeyboardShortcuts(){return{}}}class ExtensionTables extends Extension{constructor(){super(...arguments),this.name="extension-tables",this.requires=[new NodeTable,new NodeTableHeader,new NodeTableRow,new NodeTableCell]}}function escapeForRegEx(t){return t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}function createDefaultMatcher(t={}){const e=t.char||"@",A=t.allowToIncludeChar||!1,n=t.allowedPrefixes||[" "],r=t.startOfLine||!1;return o=>{const s=t.allowSpaces&&!A,a=escapeForRegEx(e),l=new RegExp(`\\s${a}$`),g=r?"^":"",c=A?"":a,I=s?new RegExp(`${g}${a}.*?(?=\\s${c}|$)`,"gm"):new RegExp(`${g}(?:^)?${a}[^\\s${c}]*`,"gm"),d=o.nodeBefore?.isText&&o.nodeBefore.text;if(!d)return null;const h=o.pos-d.length,u=Array.from(d.matchAll(I)).pop();if(!u||u.input===void 0||u.index===void 0)return null;const B=u.input.slice(Math.max(0,u.index-1),u.index),E=new RegExp(`^[${n?.join("")}\0]?$`).test(B);if(n!==null&&!E)return null;const f=h+u.index;let Q=f+u[0].length;return s&&l.test(d.slice(Q-1,Q+1))&&(u[0]+=" ",Q+=1),f<o.pos&&Q>=o.pos?{range:{from:f,to:Q},query:u[0],text:u[0]}:null}}const CSS_PREFIX="kb-autocomplete";class DefaultRenderer extends EventTarget{constructor(e){super(),this.editor=e,this.items=[],this.pos=-1,this.command=()=>{}}onStart(e){this.command=e.command,this.wrapper&&this.wrapper.parentElement?.removeChild(this.wrapper);const A="root"in this.editor.view?this.editor.view.root:document||document;this.wrapper=document.createElement("ul"),this.wrapper.classList.add(CSS_PREFIX+"__wrapper"),A.appendChild(this.wrapper),this.items.splice(0,this.items.length,...e.items),this.recreateList(e)}onUpdate(e){this.command=e.command,this.items.splice(0,this.items.length,...e.items),this.recreateList(e)}onExit(){this.wrapper&&(this.wrapper.parentNode?.removeChild(this.wrapper),this.wrapper=void 0),this.dispatchEvent(new Event("close")),this.pos=-1}onKeyDown(e){return!this.wrapper||this.items.length===0?!1:e.event.key==="Escape"&&this.wrapper?(this.wrapper.parentNode?.removeChild(this.wrapper),this.wrapper=void 0,!0):e.event.key==="ArrowUp"?(this.pos>-1&&(this.pos=this.pos-1,this.recreateList()),!0):e.event.key==="ArrowDown"?(this.pos<this.items.length-1&&(this.pos++,this.recreateList()),!0):e.event.key==="Enter"&&this.pos>-1&&this.pos<this.items.length?(this.command(this.items[this.pos]),this.items.splice(0,this.items.length),this.onExit(),!0):!1}createListItem(e,A){const n=document.createElement("li");return A===this.pos&&n.classList.add("active"),n.innerText=""+e,n.style.cursor="pointer",n.addEventListener("click",()=>{this.command(e)}),n}recreateList(e){if(!this.wrapper)return;this.wrapper.innerHTML="";for(let n=0;n<this.items.length;n++){const r=this.items[n];this.wrapper.appendChild(this.createListItem(r,n))}this.items.length===0?this.wrapper.style.display="none":this.wrapper.style.display="";const A=e?.clientRect?.();if(A?.height){const n=A.left,r=A.bottom;this.wrapper.style.left=n+"px",this.wrapper.style.top=r+"px"}}}const AutocompletePluginKey=new PluginKey("autocomplete");class AutocompletePlugin extends Plugin{constructor(e,A){let n;const r=e.renderer||new DefaultRenderer(A);super({key:AutocompletePluginKey,view(){return{update:async(o,s)=>{const a=this.key?.getState(s),l=this.key?.getState(o.state),g=a.active&&l.active&&a.range.from!==l.range.from,c=!a.active&&l.active,I=a.active&&!l.active,d=!c&&!I&&a.query!==l.query,h=c||g&&d,u=d||g;let B=I||g&&d;if(!h&&!u&&!B)return;const E=B&&!h?a:l,f=o.dom.querySelector(`[data-decoration-id="${E.decorationId}"]`);if(n={range:E.range,query:E.query,text:E.text,items:[],command:Q=>e.onSelect?e.onSelect(Q,E.range):()=>{},decorationNode:f,clientRect:f?()=>{const{decorationId:Q}=this.key?.getState(A.state);return o.dom.querySelector(`[data-decoration-id="${Q}"]`)?.getBoundingClientRect()||null}:null},h&&r?.onBeforeStart?.(n),u&&r?.onBeforeUpdate?.(n),(u||h)&&e.getItems){try{const Q={state:E,range:E.range,isActive:!0};n.items=await e.getItems(E.query,Q)}catch(Q){if(Q.isLSP)n.items=[],console.error("LSP error config.getItems()",Q.message,e.getItems);else throw Q}n.items.length===0&&(B=!0)}B&&r?.onExit?.(n),u&&r?.onUpdate?.(n),h&&r?.onStart?.(n)},destroy:()=>{n&&r?.onExit?.(n)}}},state:{init(){return{manual:!1,active:!1,range:{from:0,to:0},query:null,text:null,composing:!1}},apply(o,s,a,l){const{composing:c}=A.view,{selection:I}=o,{empty:d,from:h}=I,u={...s},B=o.getMeta(AutocompletePluginKey);if(!B&&!o.isGeneric)return u;if(B?.type==="deactivate")return console.info("Deactivate autocomplete"),u.active=!1,u;if(B?.type==="activate")return console.info("Trigger manual autocomplete"),u.range={from:I.from,to:I.to},u.active=!0,u.manual=!0,u.query=null,u;u.composing=c;const E=I.$anchor.parent;if(!["code_block"].includes(E?.type.name)&&(d||A.view.composing)){(h<s.range.from||h>s.range.to)&&!c&&!s.composing&&(u.active=!1);const f=e.matchers||[createDefaultMatcher()];let Q;for(const m of f)if(Q=m(I.$from),Q)break;const p=`id_${Math.floor(Math.random()*4294967295)}`;Q&&(!e.allow||e.allow({state:l,range:Q.range,isActive:s.active}))?(console.info("Trigger matcher autocomplete",Q),u.active=!0,u.decorationId=s.decorationId?s.decorationId:p,u.range=Q.range,u.query=Q.query,u.text=Q.text):u.active=!1}else u.active=!1;return u.manual=!1,u.active||(u.decorationId=null,u.range={from:0,to:0},u.query=null,u.text=null),u}},props:{handleKeyDown(o,s){const{active:a,range:l}=this.getState(o.state);if(s.key===" "&&s.ctrlKey){const g=o.state.tr.setMeta(AutocompletePluginKey,{type:"activate"});return console.info("Manual autocomplete key"),o.dispatch(g),!0}return a&&r?.onKeyDown?.({view:o,event:s,range:l})||!1},decorations(o){const{active:s,range:a,decorationId:l}=this.getState(o);if(!s)return null;const g=document.createElement("span");return g.className=e.decorationClass||"kb-autocomplete--decor",g.setAttribute("data-decoration-id",l),DecorationSet.create(o.doc,[Decoration.widget(a.from,g)])}}}),r.addEventListener("close",()=>{const o=A.state.tr.setMeta(AutocompletePluginKey,{type:"deactivate"});console.info("Manual autocomplete deactivate"),A.view.dispatch(o)})}}class ExtensionAutocomplete extends Extension{constructor(e){super(e),this.config=e,this.name="autocomplete"}getProseMirrorPlugins(){return[new AutocompletePlugin(this.config,this.editor)]}}class AdvancedEditorKit{constructor(e){this.menu=e}name="advanced-editor";getExtensions(){return[new ExtensionBasicEditor,new ExtensionMarkdown,new ExtensionOdt,new ExtensionTables,new ExtensionDevToolkit,new ExtensionCustomMenu(this.menu),new ExtensionCodeJar,new ExtensionAutocomplete]}}const createAssetLoad=t=>async e=>{const n=t.toString()+"/"+e,r=await fetch(n);if(r.status>=400)throw new Error(`Error fetching ${r.status}`);return new Uint8Array(await r.arrayBuffer())};var GOOD_LEAF_SIZE=200,RopeSequence=function t(){};RopeSequence.prototype.append=function t(e){return e.length?(e=RopeSequence.from(e),!this.length&&e||e.length<GOOD_LEAF_SIZE&&this.leafAppend(e)||this.length<GOOD_LEAF_SIZE&&e.leafPrepend(this)||this.appendInner(e)):this};RopeSequence.prototype.prepend=function t(e){return e.length?RopeSequence.from(e).append(this):this};RopeSequence.prototype.appendInner=function t(e){return new Append(this,e)};RopeSequence.prototype.slice=function t(e,A){return e===void 0&&(e=0),A===void 0&&(A=this.length),e>=A?RopeSequence.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,A))};RopeSequence.prototype.get=function t(e){if(!(e<0||e>=this.length))return this.getInner(e)};RopeSequence.prototype.forEach=function t(e,A,n){A===void 0&&(A=0),n===void 0&&(n=this.length),A<=n?this.forEachInner(e,A,n,0):this.forEachInvertedInner(e,A,n,0)};RopeSequence.prototype.map=function t(e,A,n){A===void 0&&(A=0),n===void 0&&(n=this.length);var r=[];return this.forEach(function(o,s){return r.push(e(o,s))},A,n),r};RopeSequence.from=function t(e){return e instanceof RopeSequence?e:e&&e.length?new Leaf(e):RopeSequence.empty};var Leaf=(function(t){function e(n){t.call(this),this.values=n}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var A={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(r,o){return r==0&&o==this.length?this:new e(this.values.slice(r,o))},e.prototype.getInner=function(r){return this.values[r]},e.prototype.forEachInner=function(r,o,s,a){for(var l=o;l<s;l++)if(r(this.values[l],a+l)===!1)return!1},e.prototype.forEachInvertedInner=function(r,o,s,a){for(var l=o-1;l>=s;l--)if(r(this.values[l],a+l)===!1)return!1},e.prototype.leafAppend=function(r){if(this.length+r.length<=GOOD_LEAF_SIZE)return new e(this.values.concat(r.flatten()))},e.prototype.leafPrepend=function(r){if(this.length+r.length<=GOOD_LEAF_SIZE)return new e(r.flatten().concat(this.values))},A.length.get=function(){return this.values.length},A.depth.get=function(){return 0},Object.defineProperties(e.prototype,A),e})(RopeSequence);RopeSequence.empty=new Leaf([]);var Append=(function(t){function e(A,n){t.call(this),this.left=A,this.right=n,this.length=A.length+n.length,this.depth=Math.max(A.depth,n.depth)+1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(n){return n<this.left.length?this.left.get(n):this.right.get(n-this.left.length)},e.prototype.forEachInner=function(n,r,o,s){var a=this.left.length;if(r<a&&this.left.forEachInner(n,r,Math.min(o,a),s)===!1||o>a&&this.right.forEachInner(n,Math.max(r-a,0),Math.min(this.length,o)-a,s+a)===!1)return!1},e.prototype.forEachInvertedInner=function(n,r,o,s){var a=this.left.length;if(r>a&&this.right.forEachInvertedInner(n,r-a,Math.max(o,a)-a,s+a)===!1||o<a&&this.left.forEachInvertedInner(n,Math.min(r,a),o,s)===!1)return!1},e.prototype.sliceInner=function(n,r){if(n==0&&r==this.length)return this;var o=this.left.length;return r<=o?this.left.slice(n,r):n>=o?this.right.slice(n-o,r-o):this.left.slice(n,o).append(this.right.slice(0,r-o))},e.prototype.leafAppend=function(n){var r=this.right.leafAppend(n);if(r)return new e(this.left,r)},e.prototype.leafPrepend=function(n){var r=this.left.leafPrepend(n);if(r)return new e(r,this.right)},e.prototype.appendInner=function(n){return this.left.depth>=Math.max(this.right.depth,n.depth)+1?new e(this.left,new e(this.right,n)):new e(this,n)},e})(RopeSequence);const max_empty_items=500;class Branch{constructor(e,A){this.items=e,this.eventCount=A}popEvent(e,A){if(this.eventCount==0)return null;let n=this.items.length;for(;;n--)if(this.items.get(n-1).selection){--n;break}let r,o;A&&(r=this.remapping(n,this.items.length),o=r.maps.length);let s=e.tr,a,l,g=[],c=[];return this.items.forEach((I,d)=>{if(!I.step){r||(r=this.remapping(n,d+1),o=r.maps.length),o--,c.push(I);return}if(r){c.push(new Item(I.map));let h=I.step.map(r.slice(o)),u;h&&s.maybeStep(h).doc&&(u=s.mapping.maps[s.mapping.maps.length-1],g.push(new Item(u,void 0,void 0,g.length+c.length))),o--,u&&r.appendMap(u,o)}else s.maybeStep(I.step);if(I.selection)return a=r?I.selection.map(r.slice(o)):I.selection,l=new Branch(this.items.slice(0,n).append(c.reverse().concat(g)),this.eventCount-1),!1},this.items.length,0),{remaining:l,transform:s,selection:a}}addTransform(e,A,n,r){let o=[],s=this.eventCount,a=this.items,l=!r&&a.length?a.get(a.length-1):null;for(let c=0;c<e.steps.length;c++){let I=e.steps[c].invert(e.docs[c]),d=new Item(e.mapping.maps[c],I,A),h;(h=l&&l.merge(d))&&(d=h,c?o.pop():a=a.slice(0,a.length-1)),o.push(d),A&&(s++,A=void 0),r||(l=d)}let g=s-n.depth;return g>DEPTH_OVERFLOW&&(a=cutOffEvents(a,g),s-=g),new Branch(a.append(o),s)}remapping(e,A){let n=new Mapping;return this.items.forEach((r,o)=>{let s=r.mirrorOffset!=null&&o-r.mirrorOffset>=e?n.maps.length-r.mirrorOffset:void 0;n.appendMap(r.map,s)},e,A),n}addMaps(e){return this.eventCount==0?this:new Branch(this.items.append(e.map(A=>new Item(A))),this.eventCount)}rebased(e,A){if(!this.eventCount)return this;let n=[],r=Math.max(0,this.items.length-A),o=e.mapping,s=e.steps.length,a=this.eventCount;this.items.forEach(d=>{d.selection&&a--},r);let l=A;this.items.forEach(d=>{let h=o.getMirror(--l);if(h==null)return;s=Math.min(s,h);let u=o.maps[h];if(d.step){let B=e.steps[h].invert(e.docs[h]),E=d.selection&&d.selection.map(o.slice(l+1,h));E&&a++,n.push(new Item(u,B,E))}else n.push(new Item(u))},r);let g=[];for(let d=A;d<s;d++)g.push(new Item(o.maps[d]));let c=this.items.slice(0,r).append(g).append(n),I=new Branch(c,a);return I.emptyItemCount()>max_empty_items&&(I=I.compress(this.items.length-n.length)),I}emptyItemCount(){let e=0;return this.items.forEach(A=>{A.step||e++}),e}compress(e=this.items.length){let A=this.remapping(0,e),n=A.maps.length,r=[],o=0;return this.items.forEach((s,a)=>{if(a>=e)r.push(s),s.selection&&o++;else if(s.step){let l=s.step.map(A.slice(n)),g=l&&l.getMap();if(n--,g&&A.appendMap(g,n),l){let c=s.selection&&s.selection.map(A.slice(n));c&&o++;let I=new Item(g.invert(),l,c),d,h=r.length-1;(d=r.length&&r[h].merge(I))?r[h]=d:r.push(I)}}else s.map&&n--},this.items.length,0),new Branch(RopeSequence.from(r.reverse()),o)}}Branch.empty=new Branch(RopeSequence.empty,0);function cutOffEvents(t,e){let A;return t.forEach((n,r)=>{if(n.selection&&e--==0)return A=r,!1}),t.slice(A)}class Item{constructor(e,A,n,r){this.map=e,this.step=A,this.selection=n,this.mirrorOffset=r}merge(e){if(this.step&&e.step&&!e.selection){let A=e.step.merge(this.step);if(A)return new Item(A.getMap().invert(),A,this.selection)}}}class HistoryState{constructor(e,A,n,r,o){this.done=e,this.undone=A,this.prevRanges=n,this.prevTime=r,this.prevComposition=o}}const DEPTH_OVERFLOW=20;function applyTransaction(t,e,A,n){let r=A.getMeta(historyKey),o;if(r)return r.historyState;A.getMeta(closeHistoryKey)&&(t=new HistoryState(t.done,t.undone,null,0,-1));let s=A.getMeta("appendedTransaction");if(A.steps.length==0)return t;if(s&&s.getMeta(historyKey))return s.getMeta(historyKey).redo?new HistoryState(t.done.addTransform(A,void 0,n,mustPreserveItems(e)),t.undone,rangesFor(A.mapping.maps),t.prevTime,t.prevComposition):new HistoryState(t.done,t.undone.addTransform(A,void 0,n,mustPreserveItems(e)),null,t.prevTime,t.prevComposition);if(A.getMeta("addToHistory")!==!1&&!(s&&s.getMeta("addToHistory")===!1)){let a=A.getMeta("composition"),l=t.prevTime==0||!s&&t.prevComposition!=a&&(t.prevTime<(A.time||0)-n.newGroupDelay||!isAdjacentTo(A,t.prevRanges)),g=s?mapRanges(t.prevRanges,A.mapping):rangesFor(A.mapping.maps);return new HistoryState(t.done.addTransform(A,l?e.selection.getBookmark():void 0,n,mustPreserveItems(e)),Branch.empty,g,A.time,a??t.prevComposition)}else return(o=A.getMeta("rebased"))?new HistoryState(t.done.rebased(A,o),t.undone.rebased(A,o),mapRanges(t.prevRanges,A.mapping),t.prevTime,t.prevComposition):new HistoryState(t.done.addMaps(A.mapping.maps),t.undone.addMaps(A.mapping.maps),mapRanges(t.prevRanges,A.mapping),t.prevTime,t.prevComposition)}function isAdjacentTo(t,e){if(!e)return!1;if(!t.docChanged)return!0;let A=!1;return t.mapping.maps[0].forEach((n,r)=>{for(let o=0;o<e.length;o+=2)n<=e[o+1]&&r>=e[o]&&(A=!0)}),A}function rangesFor(t){let e=[];for(let A=t.length-1;A>=0&&e.length==0;A--)t[A].forEach((n,r,o,s)=>e.push(o,s));return e}function mapRanges(t,e){if(!t)return null;let A=[];for(let n=0;n<t.length;n+=2){let r=e.map(t[n],1),o=e.map(t[n+1],-1);r<=o&&A.push(r,o)}return A}function histTransaction(t,e,A){let n=mustPreserveItems(e),r=historyKey.get(e).spec.config,o=(A?t.undone:t.done).popEvent(e,n);if(!o)return null;let s=o.selection.resolve(o.transform.doc),a=(A?t.done:t.undone).addTransform(o.transform,e.selection.getBookmark(),r,n),l=new HistoryState(A?a:o.remaining,A?o.remaining:a,null,0,-1);return o.transform.setSelection(s).setMeta(historyKey,{redo:A,historyState:l})}let cachedPreserveItems=!1,cachedPreserveItemsPlugins=null;function mustPreserveItems(t){let e=t.plugins;if(cachedPreserveItemsPlugins!=e){cachedPreserveItems=!1,cachedPreserveItemsPlugins=e;for(let A=0;A<e.length;A++)if(e[A].spec.historyPreserveItems){cachedPreserveItems=!0;break}}return cachedPreserveItems}const historyKey=new PluginKey("history"),closeHistoryKey=new PluginKey("closeHistory");function history$1(t={}){return t={depth:t.depth||100,newGroupDelay:t.newGroupDelay||500},new Plugin({key:historyKey,state:{init(){return new HistoryState(Branch.empty,Branch.empty,null,0,-1)},apply(e,A,n){return applyTransaction(A,n,e,t)}},config:t,props:{handleDOMEvents:{beforeinput(e,A){let n=A.inputType,r=n=="historyUndo"?undo:n=="historyRedo"?redo:null;return r?(A.preventDefault(),r(e.state,e.dispatch)):!1}}}})}function buildCommand(t,e){return(A,n)=>{let r=historyKey.getState(A);if(!r||(t?r.undone:r.done).eventCount==0)return!1;if(n){let o=histTransaction(r,A,t);o&&n(e?o.scrollIntoView():o)}return!0}}const undo=buildCommand(!1,!0),redo=buildCommand(!0,!0);class ExtensionHistory extends Extension{name="history";options={depth:100,newGroupDelay:500};getCommandFactories(e){return{undo:()=>undo,redo:()=>redo}}getKeyboardShortcuts(){const e=typeof navigator<"u"?/Mac|iP(hone|[oa]d)/.test(navigator?.platform):!1,A={"Mod-z":"undo","Mod-y":"redo"};return e||(A["Mod-y"]="redo"),A}getProseMirrorPlugins(){return[history$1(this.options)]}}const __viteBrowserExternal=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));exports.AdvancedEditorKit=AdvancedEditorKit;exports.CoreEditor=CoreEditor;exports.ExtensionHistory=ExtensionHistory;exports.createAssetLoad=createAssetLoad;
2
197
  //# sourceMappingURL=kerebron3.cjs.map