qidian-vue-ui 1.1.58 → 1.1.59

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 (1240) hide show
  1. package/dist/_virtual/_commonjsHelpers.mjs +7 -0
  2. package/dist/_virtual/_commonjsHelpers.mjs.map +1 -0
  3. package/dist/_virtual/_plugin-vue_export-helper.mjs +11 -0
  4. package/dist/_virtual/_plugin-vue_export-helper.mjs.map +1 -0
  5. package/dist/_virtual/dayjs.min.mjs +8 -0
  6. package/dist/_virtual/dayjs.min.mjs.map +1 -0
  7. package/dist/_virtual/dayjs.min2.mjs +5 -0
  8. package/dist/_virtual/dayjs.min2.mjs.map +1 -0
  9. package/dist/components/auto-tooltip/index.css +20 -0
  10. package/dist/components/auto-tooltip/index.d.ts +2 -0
  11. package/dist/components/auto-tooltip/index.vue.d.ts +25 -0
  12. package/dist/components/auto-tooltip/index.vue.mjs +9 -0
  13. package/dist/components/auto-tooltip/index.vue.mjs.map +1 -0
  14. package/dist/components/auto-tooltip/index.vue2.mjs +82 -0
  15. package/dist/components/auto-tooltip/index.vue2.mjs.map +1 -0
  16. package/dist/components/auto-tooltip/types.d.ts +9 -0
  17. package/dist/components/avatar/index.css +9 -0
  18. package/dist/components/avatar/index.d.ts +2 -0
  19. package/dist/components/avatar/index.vue.d.ts +18 -0
  20. package/dist/components/avatar/index.vue.mjs +9 -0
  21. package/dist/components/avatar/index.vue.mjs.map +1 -0
  22. package/dist/components/avatar/index.vue2.mjs +126 -0
  23. package/dist/components/avatar/index.vue2.mjs.map +1 -0
  24. package/dist/components/avatar/props.d.ts +7 -0
  25. package/dist/components/avatar/props.mjs +12 -0
  26. package/dist/components/avatar/props.mjs.map +1 -0
  27. package/dist/components/avatar/types.d.ts +9 -0
  28. package/dist/components/card/index.css +6 -0
  29. package/dist/components/card/index.d.ts +2 -0
  30. package/dist/components/card/index.vue.d.ts +16 -0
  31. package/dist/components/card/index.vue.mjs +9 -0
  32. package/dist/components/card/index.vue.mjs.map +1 -0
  33. package/dist/components/card/index.vue2.mjs +91 -0
  34. package/dist/components/card/index.vue2.mjs.map +1 -0
  35. package/dist/components/card/props.d.ts +4 -0
  36. package/dist/components/card/props.mjs +8 -0
  37. package/dist/components/card/props.mjs.map +1 -0
  38. package/dist/components/card/types.d.ts +5 -0
  39. package/dist/components/config-provider/config.d.ts +8 -0
  40. package/dist/components/config-provider/config.mjs +15 -0
  41. package/dist/components/config-provider/config.mjs.map +1 -0
  42. package/dist/components/config-provider/index.d.ts +238 -0
  43. package/dist/components/config-provider/index.mjs +98 -0
  44. package/dist/components/config-provider/index.mjs.map +1 -0
  45. package/dist/components/config-provider/types.d.ts +89 -0
  46. package/dist/components/config-provider/useConfig.d.ts +269 -0
  47. package/dist/components/config-provider/useConfig.mjs +26 -0
  48. package/dist/components/config-provider/useConfig.mjs.map +1 -0
  49. package/dist/components/config-renderer/compute.d.ts +8 -0
  50. package/dist/components/config-renderer/compute.mjs +68 -0
  51. package/dist/components/config-renderer/compute.mjs.map +1 -0
  52. package/dist/components/config-renderer/index.d.ts +4 -0
  53. package/dist/components/config-renderer/index.vue.d.ts +7 -0
  54. package/dist/components/config-renderer/index.vue.mjs +126 -0
  55. package/dist/components/config-renderer/index.vue.mjs.map +1 -0
  56. package/dist/components/config-renderer/index.vue2.mjs +5 -0
  57. package/dist/components/config-renderer/index.vue2.mjs.map +1 -0
  58. package/dist/components/config-renderer/types.d.ts +39 -0
  59. package/dist/components/config-renderer/utils.d.ts +15 -0
  60. package/dist/components/config-renderer/utils.mjs +49 -0
  61. package/dist/components/config-renderer/utils.mjs.map +1 -0
  62. package/dist/components/crud/define.d.ts +6 -0
  63. package/dist/components/crud/define.mjs +11 -0
  64. package/dist/components/crud/define.mjs.map +1 -0
  65. package/dist/components/crud/index.d.ts +4 -0
  66. package/dist/components/crud/list/index.css +37 -0
  67. package/dist/components/crud/list/index.d.ts +2 -0
  68. package/dist/components/crud/list/index.vue.d.ts +29 -0
  69. package/dist/components/crud/list/index.vue.mjs +9 -0
  70. package/dist/components/crud/list/index.vue.mjs.map +1 -0
  71. package/dist/components/crud/list/index.vue2.mjs +176 -0
  72. package/dist/components/crud/list/index.vue2.mjs.map +1 -0
  73. package/dist/components/crud/list/props.d.ts +5 -0
  74. package/dist/components/crud/list/props.mjs +9 -0
  75. package/dist/components/crud/list/props.mjs.map +1 -0
  76. package/dist/components/crud/list/types.d.ts +9 -0
  77. package/dist/components/crud/search/index.css +16 -0
  78. package/dist/components/crud/search/index.d.ts +2 -0
  79. package/dist/components/crud/search/index.vue.d.ts +44 -0
  80. package/dist/components/crud/search/index.vue.mjs +9 -0
  81. package/dist/components/crud/search/index.vue.mjs.map +1 -0
  82. package/dist/components/crud/search/index.vue2.mjs +205 -0
  83. package/dist/components/crud/search/index.vue2.mjs.map +1 -0
  84. package/dist/components/crud/search/props.d.ts +36 -0
  85. package/dist/components/crud/search/props.mjs +21 -0
  86. package/dist/components/crud/search/props.mjs.map +1 -0
  87. package/dist/components/crud/search/types.d.ts +5 -0
  88. package/dist/components/crud/table/index.css +43 -0
  89. package/dist/components/crud/table/index.d.ts +2 -0
  90. package/dist/components/crud/table/index.vue.d.ts +35 -0
  91. package/dist/components/crud/table/index.vue.mjs +9 -0
  92. package/dist/components/crud/table/index.vue.mjs.map +1 -0
  93. package/dist/components/crud/table/index.vue2.mjs +1036 -0
  94. package/dist/components/crud/table/index.vue2.mjs.map +1 -0
  95. package/dist/components/crud/table/props.d.ts +39 -0
  96. package/dist/components/crud/table/props.mjs +16 -0
  97. package/dist/components/crud/table/props.mjs.map +1 -0
  98. package/dist/components/crud/table/types.d.ts +65 -0
  99. package/dist/components/dialog/form.vue.d.ts +22 -0
  100. package/dist/components/dialog/form.vue.mjs +180 -0
  101. package/dist/components/dialog/form.vue.mjs.map +1 -0
  102. package/dist/components/dialog/form.vue2.mjs +5 -0
  103. package/dist/components/dialog/form.vue2.mjs.map +1 -0
  104. package/dist/components/dialog/index.css +3 -0
  105. package/dist/components/dialog/index.d.ts +3 -0
  106. package/dist/components/dialog/index.vue.d.ts +35 -0
  107. package/dist/components/dialog/index.vue.mjs +114 -0
  108. package/dist/components/dialog/index.vue.mjs.map +1 -0
  109. package/dist/components/dialog/index.vue3.mjs +7 -0
  110. package/dist/components/dialog/index.vue3.mjs.map +1 -0
  111. package/dist/components/dialog/props.d.ts +42 -0
  112. package/dist/components/dialog/props.mjs +25 -0
  113. package/dist/components/dialog/props.mjs.map +1 -0
  114. package/dist/components/dialog/types.d.ts +18 -0
  115. package/dist/components/dict/checkbox-group/index.css +3 -0
  116. package/dist/components/dict/checkbox-group/index.d.ts +2 -0
  117. package/dist/components/dict/checkbox-group/index.vue.d.ts +15 -0
  118. package/dist/components/dict/checkbox-group/index.vue.mjs +9 -0
  119. package/dist/components/dict/checkbox-group/index.vue.mjs.map +1 -0
  120. package/dist/components/dict/checkbox-group/index.vue2.mjs +82 -0
  121. package/dist/components/dict/checkbox-group/index.vue2.mjs.map +1 -0
  122. package/dist/components/dict/checkbox-group/props.d.ts +9 -0
  123. package/dist/components/dict/checkbox-group/props.mjs +13 -0
  124. package/dist/components/dict/checkbox-group/props.mjs.map +1 -0
  125. package/dist/components/dict/checkbox-group/types.d.ts +6 -0
  126. package/dist/components/dict/index.d.ts +4 -0
  127. package/dist/components/dict/radio-group/index.css +3 -0
  128. package/dist/components/dict/radio-group/index.d.ts +2 -0
  129. package/dist/components/dict/radio-group/index.vue.d.ts +13 -0
  130. package/dist/components/dict/radio-group/index.vue.mjs +9 -0
  131. package/dist/components/dict/radio-group/index.vue.mjs.map +1 -0
  132. package/dist/components/dict/radio-group/index.vue2.mjs +58 -0
  133. package/dist/components/dict/radio-group/index.vue2.mjs.map +1 -0
  134. package/dist/components/dict/radio-group/props.d.ts +7 -0
  135. package/dist/components/dict/radio-group/props.mjs +11 -0
  136. package/dist/components/dict/radio-group/props.mjs.map +1 -0
  137. package/dist/components/dict/radio-group/types.d.ts +4 -0
  138. package/dist/components/dict/select/index.d.ts +2 -0
  139. package/dist/components/dict/select/index.vue.d.ts +31 -0
  140. package/dist/components/dict/select/index.vue.mjs +165 -0
  141. package/dist/components/dict/select/index.vue.mjs.map +1 -0
  142. package/dist/components/dict/select/index.vue2.mjs +5 -0
  143. package/dist/components/dict/select/index.vue2.mjs.map +1 -0
  144. package/dist/components/dict/select/props.d.ts +11 -0
  145. package/dist/components/dict/select/props.mjs +15 -0
  146. package/dist/components/dict/select/props.mjs.map +1 -0
  147. package/dist/components/dict/select/types.d.ts +7 -0
  148. package/dist/components/dict/tag/index.css +5 -0
  149. package/dist/components/dict/tag/index.d.ts +2 -0
  150. package/dist/components/dict/tag/index.vue.d.ts +40 -0
  151. package/dist/components/dict/tag/index.vue.mjs +9 -0
  152. package/dist/components/dict/tag/index.vue.mjs.map +1 -0
  153. package/dist/components/dict/tag/index.vue2.mjs +97 -0
  154. package/dist/components/dict/tag/index.vue2.mjs.map +1 -0
  155. package/dist/components/dict/tag/props.d.ts +5 -0
  156. package/dist/components/dict/tag/props.mjs +10 -0
  157. package/dist/components/dict/tag/props.mjs.map +1 -0
  158. package/dist/components/dict/tag/types.d.ts +9 -0
  159. package/dist/components/form/config.d.ts +3 -0
  160. package/dist/components/form/config.mjs +5 -0
  161. package/dist/components/form/config.mjs.map +1 -0
  162. package/dist/components/form/index.css +32 -0
  163. package/dist/components/form/index.d.ts +5 -0
  164. package/dist/components/form/index.vue.d.ts +39 -0
  165. package/dist/components/form/index.vue.mjs +9 -0
  166. package/dist/components/form/index.vue.mjs.map +1 -0
  167. package/dist/components/form/index.vue2.mjs +193 -0
  168. package/dist/components/form/index.vue2.mjs.map +1 -0
  169. package/dist/components/form/item.css +6 -0
  170. package/dist/components/form/item.vue.d.ts +25 -0
  171. package/dist/components/form/item.vue.mjs +9 -0
  172. package/dist/components/form/item.vue.mjs.map +1 -0
  173. package/dist/components/form/item.vue2.mjs +118 -0
  174. package/dist/components/form/item.vue2.mjs.map +1 -0
  175. package/dist/components/form/props.d.ts +45 -0
  176. package/dist/components/form/props.mjs +43 -0
  177. package/dist/components/form/props.mjs.map +1 -0
  178. package/dist/components/form/types.d.ts +27 -0
  179. package/dist/components/grid/config.d.ts +15 -0
  180. package/dist/components/grid/config.mjs +27 -0
  181. package/dist/components/grid/config.mjs.map +1 -0
  182. package/dist/components/grid/index.css +4 -0
  183. package/dist/components/grid/index.d.ts +4 -0
  184. package/dist/components/grid/index.vue.d.ts +19 -0
  185. package/dist/components/grid/index.vue.mjs +9 -0
  186. package/dist/components/grid/index.vue.mjs.map +1 -0
  187. package/dist/components/grid/index.vue2.mjs +59 -0
  188. package/dist/components/grid/index.vue2.mjs.map +1 -0
  189. package/dist/components/grid/item.css +3 -0
  190. package/dist/components/grid/item.vue.d.ts +18 -0
  191. package/dist/components/grid/item.vue.mjs +9 -0
  192. package/dist/components/grid/item.vue.mjs.map +1 -0
  193. package/dist/components/grid/item.vue2.mjs +74 -0
  194. package/dist/components/grid/item.vue2.mjs.map +1 -0
  195. package/dist/components/grid/types.d.ts +12 -0
  196. package/dist/components/image/index.d.ts +2 -0
  197. package/dist/components/image/index.vue.d.ts +20 -0
  198. package/dist/components/image/index.vue.mjs +132 -0
  199. package/dist/components/image/index.vue.mjs.map +1 -0
  200. package/dist/components/image/index.vue2.mjs +5 -0
  201. package/dist/components/image/index.vue2.mjs.map +1 -0
  202. package/dist/components/image/props.d.ts +4 -0
  203. package/dist/components/image/props.mjs +8 -0
  204. package/dist/components/image/props.mjs.map +1 -0
  205. package/dist/components/image/types.d.ts +6 -0
  206. package/dist/components/index.d.ts +20 -0
  207. package/dist/components/md-editor/config.d.ts +1 -0
  208. package/dist/components/md-editor/index.css +322 -0
  209. package/dist/components/md-editor/index.d.ts +2 -0
  210. package/dist/components/md-editor/index.vue.d.ts +35 -0
  211. package/dist/components/md-editor/index.vue.mjs +11 -0
  212. package/dist/components/md-editor/index.vue.mjs.map +1 -0
  213. package/dist/components/md-editor/index.vue2.mjs +180 -0
  214. package/dist/components/md-editor/index.vue2.mjs.map +1 -0
  215. package/dist/components/md-editor/index2.css +46 -0
  216. package/dist/components/md-editor/props.d.ts +19 -0
  217. package/dist/components/md-editor/props.mjs +50 -0
  218. package/dist/components/md-editor/props.mjs.map +1 -0
  219. package/dist/components/md-editor/types.d.ts +65 -0
  220. package/dist/components/office/index.d.ts +1 -0
  221. package/dist/components/office/pdf/config.d.ts +6 -0
  222. package/dist/components/office/pdf/config.mjs +9 -0
  223. package/dist/components/office/pdf/config.mjs.map +1 -0
  224. package/dist/components/office/pdf/hooks/useZoom.d.ts +21 -0
  225. package/dist/components/office/pdf/hooks/useZoom.mjs +200 -0
  226. package/dist/components/office/pdf/hooks/useZoom.mjs.map +1 -0
  227. package/dist/components/office/pdf/index.css +4870 -0
  228. package/dist/components/office/pdf/index.d.ts +2 -0
  229. package/dist/components/office/pdf/index.vue.d.ts +10 -0
  230. package/dist/components/office/pdf/index.vue.mjs +11 -0
  231. package/dist/components/office/pdf/index.vue.mjs.map +1 -0
  232. package/dist/components/office/pdf/index.vue2.mjs +323 -0
  233. package/dist/components/office/pdf/index.vue2.mjs.map +1 -0
  234. package/dist/components/office/pdf/index2.css +82 -0
  235. package/dist/components/office/pdf/types.d.ts +17 -0
  236. package/dist/components/org/index.d.ts +1 -0
  237. package/dist/components/org/select/index.css +13 -0
  238. package/dist/components/org/select/index.d.ts +2 -0
  239. package/dist/components/org/select/index.vue.d.ts +28 -0
  240. package/dist/components/org/select/index.vue.mjs +270 -0
  241. package/dist/components/org/select/index.vue.mjs.map +1 -0
  242. package/dist/components/org/select/index.vue3.mjs +7 -0
  243. package/dist/components/org/select/index.vue3.mjs.map +1 -0
  244. package/dist/components/org/select/props.d.ts +22 -0
  245. package/dist/components/org/select/props.mjs +19 -0
  246. package/dist/components/org/select/props.mjs.map +1 -0
  247. package/dist/components/org/select/types.d.ts +22 -0
  248. package/dist/components/read-write/index.css +26 -0
  249. package/dist/components/read-write/index.d.ts +2 -0
  250. package/dist/components/read-write/index.vue.d.ts +20 -0
  251. package/dist/components/read-write/index.vue.mjs +9 -0
  252. package/dist/components/read-write/index.vue.mjs.map +1 -0
  253. package/dist/components/read-write/index.vue2.mjs +320 -0
  254. package/dist/components/read-write/index.vue2.mjs.map +1 -0
  255. package/dist/components/read-write/props.d.ts +10 -0
  256. package/dist/components/read-write/props.mjs +14 -0
  257. package/dist/components/read-write/props.mjs.map +1 -0
  258. package/dist/components/read-write/types.d.ts +12 -0
  259. package/dist/components/service/index.d.ts +2 -0
  260. package/dist/components/service/list/index.css +13 -0
  261. package/dist/components/service/list/index.d.ts +2 -0
  262. package/dist/components/service/list/index.vue.d.ts +26 -0
  263. package/dist/components/service/list/index.vue.mjs +9 -0
  264. package/dist/components/service/list/index.vue.mjs.map +1 -0
  265. package/dist/components/service/list/index.vue2.mjs +254 -0
  266. package/dist/components/service/list/index.vue2.mjs.map +1 -0
  267. package/dist/components/service/list/props.d.ts +4 -0
  268. package/dist/components/service/list/props.mjs +8 -0
  269. package/dist/components/service/list/props.mjs.map +1 -0
  270. package/dist/components/service/list/types.d.ts +15 -0
  271. package/dist/components/service/table/index.css +11 -0
  272. package/dist/components/service/table/index.d.ts +2 -0
  273. package/dist/components/service/table/index.vue.d.ts +29 -0
  274. package/dist/components/service/table/index.vue.mjs +9 -0
  275. package/dist/components/service/table/index.vue.mjs.map +1 -0
  276. package/dist/components/service/table/index.vue2.mjs +711 -0
  277. package/dist/components/service/table/index.vue2.mjs.map +1 -0
  278. package/dist/components/service/table/props.d.ts +35 -0
  279. package/dist/components/service/table/props.mjs +40 -0
  280. package/dist/components/service/table/props.mjs.map +1 -0
  281. package/dist/components/service/table/types.d.ts +18 -0
  282. package/dist/components/service-dialog-table-select/define.d.ts +4 -0
  283. package/dist/components/service-dialog-table-select/define.mjs +7 -0
  284. package/dist/components/service-dialog-table-select/define.mjs.map +1 -0
  285. package/dist/components/service-dialog-table-select/index.css +28 -0
  286. package/dist/components/service-dialog-table-select/index.d.ts +3 -0
  287. package/dist/components/service-dialog-table-select/index.vue.d.ts +63 -0
  288. package/dist/components/service-dialog-table-select/index.vue.mjs +9 -0
  289. package/dist/components/service-dialog-table-select/index.vue.mjs.map +1 -0
  290. package/dist/components/service-dialog-table-select/index.vue2.mjs +658 -0
  291. package/dist/components/service-dialog-table-select/index.vue2.mjs.map +1 -0
  292. package/dist/components/service-dialog-table-select/props.d.ts +58 -0
  293. package/dist/components/service-dialog-table-select/props.mjs +35 -0
  294. package/dist/components/service-dialog-table-select/props.mjs.map +1 -0
  295. package/dist/components/service-dialog-table-select/types.d.ts +22 -0
  296. package/dist/components/service-popup-table-select/define.d.ts +4 -0
  297. package/dist/components/service-popup-table-select/define.mjs +7 -0
  298. package/dist/components/service-popup-table-select/define.mjs.map +1 -0
  299. package/dist/components/service-popup-table-select/index.css +3 -0
  300. package/dist/components/service-popup-table-select/index.d.ts +3 -0
  301. package/dist/components/service-popup-table-select/index.vue.d.ts +63 -0
  302. package/dist/components/service-popup-table-select/index.vue.mjs +11 -0
  303. package/dist/components/service-popup-table-select/index.vue.mjs.map +1 -0
  304. package/dist/components/service-popup-table-select/index.vue2.mjs +645 -0
  305. package/dist/components/service-popup-table-select/index.vue2.mjs.map +1 -0
  306. package/dist/components/service-popup-table-select/index2.css +19 -0
  307. package/dist/components/service-popup-table-select/props.d.ts +36 -0
  308. package/dist/components/service-popup-table-select/props.mjs +25 -0
  309. package/dist/components/service-popup-table-select/props.mjs.map +1 -0
  310. package/dist/components/service-popup-table-select/types.d.ts +13 -0
  311. package/dist/components/service-select/index.css +6 -0
  312. package/dist/components/service-select/index.d.ts +2 -0
  313. package/dist/components/service-select/index.vue.d.ts +30 -0
  314. package/dist/components/service-select/index.vue.mjs +9 -0
  315. package/dist/components/service-select/index.vue.mjs.map +1 -0
  316. package/dist/components/service-select/index.vue2.mjs +408 -0
  317. package/dist/components/service-select/index.vue2.mjs.map +1 -0
  318. package/dist/components/service-select/props.d.ts +19 -0
  319. package/dist/components/service-select/props.mjs +24 -0
  320. package/dist/components/service-select/props.mjs.map +1 -0
  321. package/dist/components/service-select/types.d.ts +15 -0
  322. package/dist/components/upload/config.d.ts +4 -0
  323. package/dist/components/upload/config.mjs +37 -0
  324. package/dist/components/upload/config.mjs.map +1 -0
  325. package/dist/components/upload/index.css +70 -0
  326. package/dist/components/upload/index.d.ts +3 -0
  327. package/dist/components/upload/index.vue.d.ts +21 -0
  328. package/dist/components/upload/index.vue.mjs +9 -0
  329. package/dist/components/upload/index.vue.mjs.map +1 -0
  330. package/dist/components/upload/index.vue2.mjs +555 -0
  331. package/dist/components/upload/index.vue2.mjs.map +1 -0
  332. package/dist/components/upload/props.d.ts +28 -0
  333. package/dist/components/upload/props.mjs +33 -0
  334. package/dist/components/upload/props.mjs.map +1 -0
  335. package/dist/components/upload/types.d.ts +45 -0
  336. package/dist/directive/hasPermi.d.ts +12 -0
  337. package/dist/directive/hasPermi.mjs +30 -0
  338. package/dist/directive/hasPermi.mjs.map +1 -0
  339. package/dist/directive/hasRole.d.ts +12 -0
  340. package/dist/directive/hasRole.mjs +30 -0
  341. package/dist/directive/hasRole.mjs.map +1 -0
  342. package/dist/directive/index.d.ts +2 -0
  343. package/dist/hooks/index.d.ts +6 -0
  344. package/dist/hooks/useAgentChat/index.d.ts +15 -0
  345. package/dist/hooks/useAgentChat/index.mjs +202 -0
  346. package/dist/hooks/useAgentChat/index.mjs.map +1 -0
  347. package/dist/hooks/useAgentChat/types.d.ts +46 -0
  348. package/dist/hooks/useDict/index.d.ts +18 -0
  349. package/dist/hooks/useDict/index.mjs +137 -0
  350. package/dist/hooks/useDict/index.mjs.map +1 -0
  351. package/dist/hooks/useDict/types.d.ts +13 -0
  352. package/dist/hooks/useDisabled.d.ts +5 -0
  353. package/dist/hooks/useDisabled.mjs +18 -0
  354. package/dist/hooks/useDisabled.mjs.map +1 -0
  355. package/dist/hooks/useModal.d.ts +36 -0
  356. package/dist/hooks/useModal.mjs +201 -0
  357. package/dist/hooks/useModal.mjs.map +1 -0
  358. package/dist/hooks/useReadonly.d.ts +5 -0
  359. package/dist/hooks/useReadonly.mjs +18 -0
  360. package/dist/hooks/useReadonly.mjs.map +1 -0
  361. package/dist/hooks/useUserAvatar/index.d.ts +5 -0
  362. package/dist/hooks/useUserAvatar/index.mjs +38 -0
  363. package/dist/hooks/useUserAvatar/index.mjs.map +1 -0
  364. package/dist/hooks/useUserAvatar/types.d.ts +3 -0
  365. package/dist/index.d.ts +5 -0
  366. package/dist/index.mjs +113 -0
  367. package/dist/index.mjs.map +1 -0
  368. package/dist/locales/en-US.d.ts +323 -0
  369. package/dist/locales/en-US.mjs +78 -0
  370. package/dist/locales/en-US.mjs.map +1 -0
  371. package/dist/locales/zh-CN.d.ts +323 -0
  372. package/dist/locales/zh-CN.mjs +75 -0
  373. package/dist/locales/zh-CN.mjs.map +1 -0
  374. package/dist/locales/zh-TW.d.ts +323 -0
  375. package/dist/locales/zh-TW.mjs +75 -0
  376. package/dist/locales/zh-TW.mjs.map +1 -0
  377. package/dist/node_modules/.pnpm/@codemirror_autocomplete@6.20.0/node_modules/@codemirror/autocomplete/dist/index.mjs +1602 -0
  378. package/dist/node_modules/.pnpm/@codemirror_autocomplete@6.20.0/node_modules/@codemirror/autocomplete/dist/index.mjs.map +1 -0
  379. package/dist/node_modules/.pnpm/@codemirror_commands@6.10.1/node_modules/@codemirror/commands/dist/index.mjs +1162 -0
  380. package/dist/node_modules/.pnpm/@codemirror_commands@6.10.1/node_modules/@codemirror/commands/dist/index.mjs.map +1 -0
  381. package/dist/node_modules/.pnpm/@codemirror_lang-angular@0.1.4/node_modules/@codemirror/lang-angular/dist/index.mjs +119 -0
  382. package/dist/node_modules/.pnpm/@codemirror_lang-angular@0.1.4/node_modules/@codemirror/lang-angular/dist/index.mjs.map +1 -0
  383. package/dist/node_modules/.pnpm/@codemirror_lang-cpp@6.0.3/node_modules/@codemirror/lang-cpp/dist/index.mjs +37 -0
  384. package/dist/node_modules/.pnpm/@codemirror_lang-cpp@6.0.3/node_modules/@codemirror/lang-cpp/dist/index.mjs.map +1 -0
  385. package/dist/node_modules/.pnpm/@codemirror_lang-css@6.3.1/node_modules/@codemirror/lang-css/dist/index.mjs +868 -0
  386. package/dist/node_modules/.pnpm/@codemirror_lang-css@6.3.1/node_modules/@codemirror/lang-css/dist/index.mjs.map +1 -0
  387. package/dist/node_modules/.pnpm/@codemirror_lang-go@6.0.1/node_modules/@codemirror/lang-go/dist/index.mjs +227 -0
  388. package/dist/node_modules/.pnpm/@codemirror_lang-go@6.0.1/node_modules/@codemirror/lang-go/dist/index.mjs.map +1 -0
  389. package/dist/node_modules/.pnpm/@codemirror_lang-html@6.4.11/node_modules/@codemirror/lang-html/dist/index.mjs +741 -0
  390. package/dist/node_modules/.pnpm/@codemirror_lang-html@6.4.11/node_modules/@codemirror/lang-html/dist/index.mjs.map +1 -0
  391. package/dist/node_modules/.pnpm/@codemirror_lang-java@6.0.2/node_modules/@codemirror/lang-java/dist/index.mjs +39 -0
  392. package/dist/node_modules/.pnpm/@codemirror_lang-java@6.0.2/node_modules/@codemirror/lang-java/dist/index.mjs.map +1 -0
  393. package/dist/node_modules/.pnpm/@codemirror_lang-javascript@6.2.4/node_modules/@codemirror/lang-javascript/dist/index.mjs +443 -0
  394. package/dist/node_modules/.pnpm/@codemirror_lang-javascript@6.2.4/node_modules/@codemirror/lang-javascript/dist/index.mjs.map +1 -0
  395. package/dist/node_modules/.pnpm/@codemirror_lang-jinja@6.0.0/node_modules/@codemirror/lang-jinja/dist/index.mjs +294 -0
  396. package/dist/node_modules/.pnpm/@codemirror_lang-jinja@6.0.0/node_modules/@codemirror/lang-jinja/dist/index.mjs.map +1 -0
  397. package/dist/node_modules/.pnpm/@codemirror_lang-json@6.0.2/node_modules/@codemirror/lang-json/dist/index.mjs +53 -0
  398. package/dist/node_modules/.pnpm/@codemirror_lang-json@6.0.2/node_modules/@codemirror/lang-json/dist/index.mjs.map +1 -0
  399. package/dist/node_modules/.pnpm/@codemirror_lang-less@6.0.2/node_modules/@codemirror/lang-less/dist/index.mjs +153 -0
  400. package/dist/node_modules/.pnpm/@codemirror_lang-less@6.0.2/node_modules/@codemirror/lang-less/dist/index.mjs.map +1 -0
  401. package/dist/node_modules/.pnpm/@codemirror_lang-liquid@6.3.1/node_modules/@codemirror/lang-liquid/dist/index.mjs +308 -0
  402. package/dist/node_modules/.pnpm/@codemirror_lang-liquid@6.3.1/node_modules/@codemirror/lang-liquid/dist/index.mjs.map +1 -0
  403. package/dist/node_modules/.pnpm/@codemirror_lang-markdown@6.5.0/node_modules/@codemirror/lang-markdown/dist/index.mjs +435 -0
  404. package/dist/node_modules/.pnpm/@codemirror_lang-markdown@6.5.0/node_modules/@codemirror/lang-markdown/dist/index.mjs.map +1 -0
  405. package/dist/node_modules/.pnpm/@codemirror_lang-php@6.0.2/node_modules/@codemirror/lang-php/dist/index.mjs +66 -0
  406. package/dist/node_modules/.pnpm/@codemirror_lang-php@6.0.2/node_modules/@codemirror/lang-php/dist/index.mjs.map +1 -0
  407. package/dist/node_modules/.pnpm/@codemirror_lang-python@6.2.1/node_modules/@codemirror/lang-python/dist/index.mjs +429 -0
  408. package/dist/node_modules/.pnpm/@codemirror_lang-python@6.2.1/node_modules/@codemirror/lang-python/dist/index.mjs.map +1 -0
  409. package/dist/node_modules/.pnpm/@codemirror_lang-rust@6.0.2/node_modules/@codemirror/lang-rust/dist/index.mjs +35 -0
  410. package/dist/node_modules/.pnpm/@codemirror_lang-rust@6.0.2/node_modules/@codemirror/lang-rust/dist/index.mjs.map +1 -0
  411. package/dist/node_modules/.pnpm/@codemirror_lang-sass@6.0.2/node_modules/@codemirror/lang-sass/dist/index.mjs +45 -0
  412. package/dist/node_modules/.pnpm/@codemirror_lang-sass@6.0.2/node_modules/@codemirror/lang-sass/dist/index.mjs.map +1 -0
  413. package/dist/node_modules/.pnpm/@codemirror_lang-sql@6.10.0/node_modules/@codemirror/lang-sql/dist/index.mjs +707 -0
  414. package/dist/node_modules/.pnpm/@codemirror_lang-sql@6.10.0/node_modules/@codemirror/lang-sql/dist/index.mjs.map +1 -0
  415. package/dist/node_modules/.pnpm/@codemirror_lang-vue@0.1.3/node_modules/@codemirror/lang-vue/dist/index.mjs +84 -0
  416. package/dist/node_modules/.pnpm/@codemirror_lang-vue@0.1.3/node_modules/@codemirror/lang-vue/dist/index.mjs.map +1 -0
  417. package/dist/node_modules/.pnpm/@codemirror_lang-wast@6.0.2/node_modules/@codemirror/lang-wast/dist/index.mjs +63 -0
  418. package/dist/node_modules/.pnpm/@codemirror_lang-wast@6.0.2/node_modules/@codemirror/lang-wast/dist/index.mjs.map +1 -0
  419. package/dist/node_modules/.pnpm/@codemirror_lang-xml@6.1.0/node_modules/@codemirror/lang-xml/dist/index.mjs +281 -0
  420. package/dist/node_modules/.pnpm/@codemirror_lang-xml@6.1.0/node_modules/@codemirror/lang-xml/dist/index.mjs.map +1 -0
  421. package/dist/node_modules/.pnpm/@codemirror_lang-yaml@6.1.2/node_modules/@codemirror/lang-yaml/dist/index.mjs +81 -0
  422. package/dist/node_modules/.pnpm/@codemirror_lang-yaml@6.1.2/node_modules/@codemirror/lang-yaml/dist/index.mjs.map +1 -0
  423. package/dist/node_modules/.pnpm/@codemirror_language-data@6.5.2/node_modules/@codemirror/language-data/dist/index.mjs +1030 -0
  424. package/dist/node_modules/.pnpm/@codemirror_language-data@6.5.2/node_modules/@codemirror/language-data/dist/index.mjs.map +1 -0
  425. package/dist/node_modules/.pnpm/@codemirror_language@6.12.1/node_modules/@codemirror/language/dist/index.mjs +1642 -0
  426. package/dist/node_modules/.pnpm/@codemirror_language@6.12.1/node_modules/@codemirror/language/dist/index.mjs.map +1 -0
  427. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/apl.mjs +141 -0
  428. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/apl.mjs.map +1 -0
  429. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/asciiarmor.mjs +57 -0
  430. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/asciiarmor.mjs.map +1 -0
  431. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/asn1.mjs +145 -0
  432. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/asn1.mjs.map +1 -0
  433. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/asterisk.mjs +346 -0
  434. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/asterisk.mjs.map +1 -0
  435. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/brainfuck.mjs +54 -0
  436. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/brainfuck.mjs.map +1 -0
  437. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/clike.mjs +800 -0
  438. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/clike.mjs.map +1 -0
  439. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/clojure.mjs +850 -0
  440. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/clojure.mjs.map +1 -0
  441. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/cmake.mjs +72 -0
  442. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/cmake.mjs.map +1 -0
  443. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/cobol.mjs +121 -0
  444. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/cobol.mjs.map +1 -0
  445. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/coffeescript.mjs +309 -0
  446. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/coffeescript.mjs.map +1 -0
  447. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/commonlisp.mjs +131 -0
  448. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/commonlisp.mjs.map +1 -0
  449. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/crystal.mjs +399 -0
  450. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/crystal.mjs.map +1 -0
  451. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/css.mjs +1773 -0
  452. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/css.mjs.map +1 -0
  453. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/cypher.mjs +122 -0
  454. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/cypher.mjs.map +1 -0
  455. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/d.mjs +180 -0
  456. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/d.mjs.map +1 -0
  457. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/diff.mjs +26 -0
  458. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/diff.mjs.map +1 -0
  459. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/dockerfile.mjs +202 -0
  460. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/dockerfile.mjs.map +1 -0
  461. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/dtd.mjs +115 -0
  462. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/dtd.mjs.map +1 -0
  463. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/dylan.mjs +315 -0
  464. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/dylan.mjs.map +1 -0
  465. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/ebnf.mjs +141 -0
  466. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/ebnf.mjs.map +1 -0
  467. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/ecl.mjs +179 -0
  468. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/ecl.mjs.map +1 -0
  469. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/eiffel.mjs +135 -0
  470. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/eiffel.mjs.map +1 -0
  471. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/elm.mjs +177 -0
  472. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/elm.mjs.map +1 -0
  473. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/erlang.mjs +675 -0
  474. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/erlang.mjs.map +1 -0
  475. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/factor.mjs +66 -0
  476. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/factor.mjs.map +1 -0
  477. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/fcl.mjs +142 -0
  478. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/fcl.mjs.map +1 -0
  479. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/forth.mjs +117 -0
  480. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/forth.mjs.map +1 -0
  481. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/fortran.mjs +468 -0
  482. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/fortran.mjs.map +1 -0
  483. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/gas.mjs +294 -0
  484. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/gas.mjs.map +1 -0
  485. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/gherkin.mjs +116 -0
  486. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/gherkin.mjs.map +1 -0
  487. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/groovy.mjs +224 -0
  488. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/groovy.mjs.map +1 -0
  489. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/haskell.mjs +460 -0
  490. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/haskell.mjs.map +1 -0
  491. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/haxe.mjs +515 -0
  492. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/haxe.mjs.map +1 -0
  493. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/http.mjs +80 -0
  494. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/http.mjs.map +1 -0
  495. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/idl.mjs +986 -0
  496. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/idl.mjs.map +1 -0
  497. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/javascript.mjs +993 -0
  498. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/javascript.mjs.map +1 -0
  499. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/julia.mjs +408 -0
  500. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/julia.mjs.map +1 -0
  501. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/livescript.mjs +297 -0
  502. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/livescript.mjs.map +1 -0
  503. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/lua.mjs +257 -0
  504. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/lua.mjs.map +1 -0
  505. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/mathematica.mjs +111 -0
  506. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/mathematica.mjs.map +1 -0
  507. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/mbox.mjs +118 -0
  508. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/mbox.mjs.map +1 -0
  509. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/mirc.mjs +108 -0
  510. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/mirc.mjs.map +1 -0
  511. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/mllike.mjs +335 -0
  512. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/mllike.mjs.map +1 -0
  513. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/modelica.mjs +148 -0
  514. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/modelica.mjs.map +1 -0
  515. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/mscgen.mjs +136 -0
  516. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/mscgen.mjs.map +1 -0
  517. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/mumps.mjs +94 -0
  518. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/mumps.mjs.map +1 -0
  519. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/nginx.mjs +142 -0
  520. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/nginx.mjs.map +1 -0
  521. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/nsis.mjs +63 -0
  522. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/nsis.mjs.map +1 -0
  523. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/ntriples.mjs +154 -0
  524. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/ntriples.mjs.map +1 -0
  525. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/octave.mjs +201 -0
  526. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/octave.mjs.map +1 -0
  527. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/oz.mjs +232 -0
  528. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/oz.mjs.map +1 -0
  529. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/pascal.mjs +106 -0
  530. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/pascal.mjs.map +1 -0
  531. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/perl.mjs +1106 -0
  532. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/perl.mjs.map +1 -0
  533. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/pig.mjs +102 -0
  534. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/pig.mjs.map +1 -0
  535. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/powershell.mjs +329 -0
  536. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/powershell.mjs.map +1 -0
  537. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/properties.mjs +59 -0
  538. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/properties.mjs.map +1 -0
  539. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/protobuf.mjs +78 -0
  540. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/protobuf.mjs.map +1 -0
  541. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/pug.mjs +406 -0
  542. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/pug.mjs.map +1 -0
  543. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/puppet.mjs +138 -0
  544. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/puppet.mjs.map +1 -0
  545. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/python.mjs +427 -0
  546. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/python.mjs.map +1 -0
  547. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/q.mjs +132 -0
  548. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/q.mjs.map +1 -0
  549. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/r.mjs +171 -0
  550. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/r.mjs.map +1 -0
  551. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/rpm.mjs +110 -0
  552. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/rpm.mjs.map +1 -0
  553. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/ruby.mjs +331 -0
  554. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/ruby.mjs.map +1 -0
  555. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/sas.mjs +208 -0
  556. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/sas.mjs.map +1 -0
  557. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/scheme.mjs +223 -0
  558. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/scheme.mjs.map +1 -0
  559. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/shell.mjs +223 -0
  560. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/shell.mjs.map +1 -0
  561. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/sieve.mjs +136 -0
  562. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/sieve.mjs.map +1 -0
  563. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/simple-mode.mjs +131 -0
  564. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/simple-mode.mjs.map +1 -0
  565. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/smalltalk.mjs +122 -0
  566. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/smalltalk.mjs.map +1 -0
  567. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/solr.mjs +70 -0
  568. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/solr.mjs.map +1 -0
  569. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/sparql.mjs +250 -0
  570. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/sparql.mjs.map +1 -0
  571. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/spreadsheet.mjs +88 -0
  572. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/spreadsheet.mjs.map +1 -0
  573. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/sql.mjs +343 -0
  574. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/sql.mjs.map +1 -0
  575. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/stex.mjs +231 -0
  576. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/stex.mjs.map +1 -0
  577. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/stylus.mjs +566 -0
  578. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/stylus.mjs.map +1 -0
  579. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/swift.mjs +292 -0
  580. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/swift.mjs.map +1 -0
  581. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/tcl.mjs +115 -0
  582. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/tcl.mjs.map +1 -0
  583. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/textile.mjs +415 -0
  584. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/textile.mjs.map +1 -0
  585. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/tiddlywiki.mjs +219 -0
  586. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/tiddlywiki.mjs.map +1 -0
  587. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/tiki.mjs +269 -0
  588. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/tiki.mjs.map +1 -0
  589. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/toml.mjs +77 -0
  590. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/toml.mjs.map +1 -0
  591. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/troff.mjs +62 -0
  592. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/troff.mjs.map +1 -0
  593. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/ttcn-cfg.mjs +134 -0
  594. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/ttcn-cfg.mjs.map +1 -0
  595. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/ttcn.mjs +193 -0
  596. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/ttcn.mjs.map +1 -0
  597. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/turtle.mjs +125 -0
  598. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/turtle.mjs.map +1 -0
  599. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/vb.mjs +197 -0
  600. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/vb.mjs.map +1 -0
  601. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/vbscript.mjs +479 -0
  602. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/vbscript.mjs.map +1 -0
  603. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/velocity.mjs +150 -0
  604. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/velocity.mjs.map +1 -0
  605. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/verilog.mjs +430 -0
  606. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/verilog.mjs.map +1 -0
  607. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/vhdl.mjs +159 -0
  608. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/vhdl.mjs.map +1 -0
  609. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/webidl.mjs +205 -0
  610. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/webidl.mjs.map +1 -0
  611. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/xquery.mjs +526 -0
  612. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/xquery.mjs.map +1 -0
  613. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/yacas.mjs +131 -0
  614. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/yacas.mjs.map +1 -0
  615. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/z80.mjs +93 -0
  616. package/dist/node_modules/.pnpm/@codemirror_legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/z80.mjs.map +1 -0
  617. package/dist/node_modules/.pnpm/@codemirror_search@6.5.11/node_modules/@codemirror/search/dist/index.mjs +1045 -0
  618. package/dist/node_modules/.pnpm/@codemirror_search@6.5.11/node_modules/@codemirror/search/dist/index.mjs.map +1 -0
  619. package/dist/node_modules/.pnpm/@codemirror_state@6.5.3/node_modules/@codemirror/state/dist/index.mjs +3382 -0
  620. package/dist/node_modules/.pnpm/@codemirror_state@6.5.3/node_modules/@codemirror/state/dist/index.mjs.map +1 -0
  621. package/dist/node_modules/.pnpm/@codemirror_view@6.39.6/node_modules/@codemirror/view/dist/index.mjs +9048 -0
  622. package/dist/node_modules/.pnpm/@codemirror_view@6.39.6/node_modules/@codemirror/view/dist/index.mjs.map +1 -0
  623. package/dist/node_modules/.pnpm/@lezer_common@1.5.0/node_modules/@lezer/common/dist/index.mjs +2061 -0
  624. package/dist/node_modules/.pnpm/@lezer_common@1.5.0/node_modules/@lezer/common/dist/index.mjs.map +1 -0
  625. package/dist/node_modules/.pnpm/@lezer_cpp@1.1.4/node_modules/@lezer/cpp/dist/index.mjs +127 -0
  626. package/dist/node_modules/.pnpm/@lezer_cpp@1.1.4/node_modules/@lezer/cpp/dist/index.mjs.map +1 -0
  627. package/dist/node_modules/.pnpm/@lezer_css@1.3.0/node_modules/@lezer/css/dist/index.mjs +158 -0
  628. package/dist/node_modules/.pnpm/@lezer_css@1.3.0/node_modules/@lezer/css/dist/index.mjs.map +1 -0
  629. package/dist/node_modules/.pnpm/@lezer_go@1.0.1/node_modules/@lezer/go/dist/index.mjs +94 -0
  630. package/dist/node_modules/.pnpm/@lezer_go@1.0.1/node_modules/@lezer/go/dist/index.mjs.map +1 -0
  631. package/dist/node_modules/.pnpm/@lezer_highlight@1.2.3/node_modules/@lezer/highlight/dist/index.mjs +719 -0
  632. package/dist/node_modules/.pnpm/@lezer_highlight@1.2.3/node_modules/@lezer/highlight/dist/index.mjs.map +1 -0
  633. package/dist/node_modules/.pnpm/@lezer_html@1.3.13/node_modules/@lezer/html/dist/index.mjs +311 -0
  634. package/dist/node_modules/.pnpm/@lezer_html@1.3.13/node_modules/@lezer/html/dist/index.mjs.map +1 -0
  635. package/dist/node_modules/.pnpm/@lezer_java@1.1.3/node_modules/@lezer/java/dist/index.mjs +65 -0
  636. package/dist/node_modules/.pnpm/@lezer_java@1.1.3/node_modules/@lezer/java/dist/index.mjs.map +1 -0
  637. package/dist/node_modules/.pnpm/@lezer_javascript@1.5.4/node_modules/@lezer/javascript/dist/index.mjs +195 -0
  638. package/dist/node_modules/.pnpm/@lezer_javascript@1.5.4/node_modules/@lezer/javascript/dist/index.mjs.map +1 -0
  639. package/dist/node_modules/.pnpm/@lezer_json@1.0.3/node_modules/@lezer/json/dist/index.mjs +36 -0
  640. package/dist/node_modules/.pnpm/@lezer_json@1.0.3/node_modules/@lezer/json/dist/index.mjs.map +1 -0
  641. package/dist/node_modules/.pnpm/@lezer_lr@1.4.5/node_modules/@lezer/lr/dist/index.mjs +1768 -0
  642. package/dist/node_modules/.pnpm/@lezer_lr@1.4.5/node_modules/@lezer/lr/dist/index.mjs.map +1 -0
  643. package/dist/node_modules/.pnpm/@lezer_markdown@1.6.2/node_modules/@lezer/markdown/dist/index.mjs +2077 -0
  644. package/dist/node_modules/.pnpm/@lezer_markdown@1.6.2/node_modules/@lezer/markdown/dist/index.mjs.map +1 -0
  645. package/dist/node_modules/.pnpm/@lezer_php@1.0.5/node_modules/@lezer/php/dist/index.mjs +272 -0
  646. package/dist/node_modules/.pnpm/@lezer_php@1.0.5/node_modules/@lezer/php/dist/index.mjs.map +1 -0
  647. package/dist/node_modules/.pnpm/@lezer_python@1.1.18/node_modules/@lezer/python/dist/index.mjs +269 -0
  648. package/dist/node_modules/.pnpm/@lezer_python@1.1.18/node_modules/@lezer/python/dist/index.mjs.map +1 -0
  649. package/dist/node_modules/.pnpm/@lezer_rust@1.0.2/node_modules/@lezer/rust/dist/index.mjs +150 -0
  650. package/dist/node_modules/.pnpm/@lezer_rust@1.0.2/node_modules/@lezer/rust/dist/index.mjs.map +1 -0
  651. package/dist/node_modules/.pnpm/@lezer_sass@1.1.0/node_modules/@lezer/sass/dist/index.mjs +289 -0
  652. package/dist/node_modules/.pnpm/@lezer_sass@1.1.0/node_modules/@lezer/sass/dist/index.mjs.map +1 -0
  653. package/dist/node_modules/.pnpm/@lezer_xml@1.0.6/node_modules/@lezer/xml/dist/index.mjs +113 -0
  654. package/dist/node_modules/.pnpm/@lezer_xml@1.0.6/node_modules/@lezer/xml/dist/index.mjs.map +1 -0
  655. package/dist/node_modules/.pnpm/@lezer_yaml@1.0.3/node_modules/@lezer/yaml/dist/index.mjs +335 -0
  656. package/dist/node_modules/.pnpm/@lezer_yaml@1.0.3/node_modules/@lezer/yaml/dist/index.mjs.map +1 -0
  657. package/dist/node_modules/.pnpm/@marijn_find-cluster-break@1.0.2/node_modules/@marijn/find-cluster-break/src/index.mjs +76 -0
  658. package/dist/node_modules/.pnpm/@marijn_find-cluster-break@1.0.2/node_modules/@marijn/find-cluster-break/src/index.mjs.map +1 -0
  659. package/dist/node_modules/.pnpm/@microsoft_fetch-event-source@2.0.1/node_modules/@microsoft/fetch-event-source/lib/esm/fetch.mjs +90 -0
  660. package/dist/node_modules/.pnpm/@microsoft_fetch-event-source@2.0.1/node_modules/@microsoft/fetch-event-source/lib/esm/fetch.mjs.map +1 -0
  661. package/dist/node_modules/.pnpm/@microsoft_fetch-event-source@2.0.1/node_modules/@microsoft/fetch-event-source/lib/esm/parse.mjs +110 -0
  662. package/dist/node_modules/.pnpm/@microsoft_fetch-event-source@2.0.1/node_modules/@microsoft/fetch-event-source/lib/esm/parse.mjs.map +1 -0
  663. package/dist/node_modules/.pnpm/@vavt_copy2clipboard@1.0.3/node_modules/@vavt/copy2clipboard/index.mjs +26 -0
  664. package/dist/node_modules/.pnpm/@vavt_copy2clipboard@1.0.3/node_modules/@vavt/copy2clipboard/index.mjs.map +1 -0
  665. package/dist/node_modules/.pnpm/@vavt_util@2.1.1/node_modules/@vavt/util/lib/es/index.mjs +128 -0
  666. package/dist/node_modules/.pnpm/@vavt_util@2.1.1/node_modules/@vavt/util/lib/es/index.mjs.map +1 -0
  667. package/dist/node_modules/.pnpm/@vueuse_core@14.0.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.mjs +62 -0
  668. package/dist/node_modules/.pnpm/@vueuse_core@14.0.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.mjs.map +1 -0
  669. package/dist/node_modules/.pnpm/@vueuse_shared@14.0.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/shared/dist/index.mjs +67 -0
  670. package/dist/node_modules/.pnpm/@vueuse_shared@14.0.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/shared/dist/index.mjs.map +1 -0
  671. package/dist/node_modules/.pnpm/crelt@1.0.6/node_modules/crelt/index.mjs +31 -0
  672. package/dist/node_modules/.pnpm/crelt@1.0.6/node_modules/crelt/index.mjs.map +1 -0
  673. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/dayjs.min.mjs +287 -0
  674. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/dayjs.min.mjs.map +1 -0
  675. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/decode.mjs +380 -0
  676. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/decode.mjs.map +1 -0
  677. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/decode_codepoint.mjs +57 -0
  678. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/decode_codepoint.mjs.map +1 -0
  679. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/generated/decode-data-html.mjs +8 -0
  680. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/generated/decode-data-html.mjs.map +1 -0
  681. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/generated/decode-data-xml.mjs +8 -0
  682. package/dist/node_modules/.pnpm/entities@4.5.0/node_modules/entities/lib/esm/generated/decode-data-xml.mjs.map +1 -0
  683. package/dist/node_modules/.pnpm/linkify-it@5.0.0/node_modules/linkify-it/index.mjs +355 -0
  684. package/dist/node_modules/.pnpm/linkify-it@5.0.0/node_modules/linkify-it/index.mjs.map +1 -0
  685. package/dist/node_modules/.pnpm/linkify-it@5.0.0/node_modules/linkify-it/lib/re.mjs +48 -0
  686. package/dist/node_modules/.pnpm/linkify-it@5.0.0/node_modules/linkify-it/lib/re.mjs.map +1 -0
  687. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_DataView.mjs +7 -0
  688. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_DataView.mjs.map +1 -0
  689. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Hash.mjs +22 -0
  690. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Hash.mjs.map +1 -0
  691. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_ListCache.mjs +22 -0
  692. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_ListCache.mjs.map +1 -0
  693. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Map.mjs +7 -0
  694. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Map.mjs.map +1 -0
  695. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_MapCache.mjs +22 -0
  696. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_MapCache.mjs.map +1 -0
  697. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Promise.mjs +7 -0
  698. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Promise.mjs.map +1 -0
  699. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Set.mjs +7 -0
  700. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Set.mjs.map +1 -0
  701. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Stack.mjs +19 -0
  702. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Stack.mjs.map +1 -0
  703. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Symbol.mjs +6 -0
  704. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Symbol.mjs.map +1 -0
  705. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Uint8Array.mjs +6 -0
  706. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Uint8Array.mjs.map +1 -0
  707. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_WeakMap.mjs +7 -0
  708. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_WeakMap.mjs.map +1 -0
  709. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_apply.mjs +17 -0
  710. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_apply.mjs.map +1 -0
  711. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayEach.mjs +13 -0
  712. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayEach.mjs.map +1 -0
  713. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayFilter.mjs +14 -0
  714. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayFilter.mjs.map +1 -0
  715. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayLikeKeys.mjs +25 -0
  716. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayLikeKeys.mjs.map +1 -0
  717. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayMap.mjs +11 -0
  718. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayMap.mjs.map +1 -0
  719. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayPush.mjs +11 -0
  720. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayPush.mjs.map +1 -0
  721. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignMergeValue.mjs +11 -0
  722. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignMergeValue.mjs.map +1 -0
  723. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignValue.mjs +14 -0
  724. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assignValue.mjs.map +1 -0
  725. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assocIndexOf.mjs +14 -0
  726. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assocIndexOf.mjs.map +1 -0
  727. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignValue.mjs +17 -0
  728. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseAssignValue.mjs.map +1 -0
  729. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseClone.mjs +75 -0
  730. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseClone.mjs.map +1 -0
  731. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseCreate.mjs +22 -0
  732. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseCreate.mjs.map +1 -0
  733. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseFor.mjs +6 -0
  734. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseFor.mjs.map +1 -0
  735. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGet.mjs +14 -0
  736. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGet.mjs.map +1 -0
  737. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetAllKeys.mjs +10 -0
  738. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetAllKeys.mjs.map +1 -0
  739. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.mjs +15 -0
  740. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.mjs.map +1 -0
  741. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsArguments.mjs +10 -0
  742. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsArguments.mjs.map +1 -0
  743. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsMap.mjs +10 -0
  744. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsMap.mjs.map +1 -0
  745. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsNative.mjs +23 -0
  746. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsNative.mjs.map +1 -0
  747. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsSet.mjs +10 -0
  748. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsSet.mjs.map +1 -0
  749. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsTypedArray.mjs +15 -0
  750. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsTypedArray.mjs.map +1 -0
  751. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeys.mjs +20 -0
  752. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeys.mjs.map +1 -0
  753. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeysIn.mjs +21 -0
  754. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseKeysIn.mjs.map +1 -0
  755. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMerge.mjs +28 -0
  756. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMerge.mjs.map +1 -0
  757. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMergeDeep.mjs +62 -0
  758. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseMergeDeep.mjs.map +1 -0
  759. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseRest.mjs +10 -0
  760. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseRest.mjs.map +1 -0
  761. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSet.mjs +32 -0
  762. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSet.mjs.map +1 -0
  763. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSetToString.mjs +15 -0
  764. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSetToString.mjs.map +1 -0
  765. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTimes.mjs +11 -0
  766. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTimes.mjs.map +1 -0
  767. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseToString.mjs +22 -0
  768. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseToString.mjs.map +1 -0
  769. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseUnary.mjs +9 -0
  770. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseUnary.mjs.map +1 -0
  771. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_castPath.mjs +14 -0
  772. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_castPath.mjs.map +1 -0
  773. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneArrayBuffer.mjs +10 -0
  774. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneArrayBuffer.mjs.map +1 -0
  775. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneBuffer.mjs +17 -0
  776. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneBuffer.mjs.map +1 -0
  777. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneDataView.mjs +9 -0
  778. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneDataView.mjs.map +1 -0
  779. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneRegExp.mjs +10 -0
  780. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneRegExp.mjs.map +1 -0
  781. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneSymbol.mjs +9 -0
  782. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneSymbol.mjs.map +1 -0
  783. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneTypedArray.mjs +9 -0
  784. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_cloneTypedArray.mjs.map +1 -0
  785. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyArray.mjs +12 -0
  786. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyArray.mjs.map +1 -0
  787. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyObject.mjs +24 -0
  788. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_copyObject.mjs.map +1 -0
  789. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_coreJsData.mjs +6 -0
  790. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_coreJsData.mjs.map +1 -0
  791. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createAssigner.mjs +24 -0
  792. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createAssigner.mjs.map +1 -0
  793. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createBaseFor.mjs +16 -0
  794. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createBaseFor.mjs.map +1 -0
  795. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_defineProperty.mjs +13 -0
  796. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_defineProperty.mjs.map +1 -0
  797. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.mjs +5 -0
  798. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.mjs.map +1 -0
  799. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getAllKeys.mjs +10 -0
  800. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getAllKeys.mjs.map +1 -0
  801. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getMapData.mjs +9 -0
  802. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getMapData.mjs.map +1 -0
  803. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getNative.mjs +10 -0
  804. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getNative.mjs.map +1 -0
  805. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getPrototype.mjs +6 -0
  806. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getPrototype.mjs.map +1 -0
  807. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getRawTag.mjs +26 -0
  808. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getRawTag.mjs.map +1 -0
  809. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getSymbols.mjs +18 -0
  810. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getSymbols.mjs.map +1 -0
  811. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getTag.mjs +35 -0
  812. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getTag.mjs.map +1 -0
  813. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getValue.mjs +7 -0
  814. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getValue.mjs.map +1 -0
  815. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashClear.mjs +9 -0
  816. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashClear.mjs.map +1 -0
  817. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashDelete.mjs +9 -0
  818. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashDelete.mjs.map +1 -0
  819. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashGet.mjs +16 -0
  820. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashGet.mjs.map +1 -0
  821. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashHas.mjs +11 -0
  822. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashHas.mjs.map +1 -0
  823. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashSet.mjs +12 -0
  824. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashSet.mjs.map +1 -0
  825. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneArray.mjs +14 -0
  826. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneArray.mjs.map +1 -0
  827. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneByTag.mjs +44 -0
  828. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneByTag.mjs.map +1 -0
  829. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneObject.mjs +10 -0
  830. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_initCloneObject.mjs.map +1 -0
  831. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIndex.mjs +11 -0
  832. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIndex.mjs.map +1 -0
  833. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIterateeCall.mjs +18 -0
  834. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIterateeCall.mjs.map +1 -0
  835. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKey.mjs +17 -0
  836. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKey.mjs.map +1 -0
  837. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKeyable.mjs +8 -0
  838. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKeyable.mjs.map +1 -0
  839. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isMasked.mjs +12 -0
  840. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isMasked.mjs.map +1 -0
  841. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isPrototype.mjs +9 -0
  842. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isPrototype.mjs.map +1 -0
  843. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheClear.mjs +8 -0
  844. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheClear.mjs.map +1 -0
  845. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheDelete.mjs +21 -0
  846. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheDelete.mjs.map +1 -0
  847. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheGet.mjs +9 -0
  848. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheGet.mjs.map +1 -0
  849. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheHas.mjs +8 -0
  850. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheHas.mjs.map +1 -0
  851. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheSet.mjs +15 -0
  852. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheSet.mjs.map +1 -0
  853. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheClear.mjs +15 -0
  854. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheClear.mjs.map +1 -0
  855. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheDelete.mjs +10 -0
  856. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheDelete.mjs.map +1 -0
  857. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheGet.mjs +8 -0
  858. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheGet.mjs.map +1 -0
  859. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheHas.mjs +8 -0
  860. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheHas.mjs.map +1 -0
  861. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheSet.mjs +11 -0
  862. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheSet.mjs.map +1 -0
  863. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_memoizeCapped.mjs +16 -0
  864. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_memoizeCapped.mjs.map +1 -0
  865. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeCreate.mjs +6 -0
  866. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeCreate.mjs.map +1 -0
  867. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeys.mjs +6 -0
  868. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeys.mjs.map +1 -0
  869. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeysIn.mjs +13 -0
  870. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeKeysIn.mjs.map +1 -0
  871. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nodeUtil.mjs +19 -0
  872. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nodeUtil.mjs.map +1 -0
  873. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_objectToString.mjs +9 -0
  874. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_objectToString.mjs.map +1 -0
  875. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overArg.mjs +9 -0
  876. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overArg.mjs.map +1 -0
  877. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overRest.mjs +22 -0
  878. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_overRest.mjs.map +1 -0
  879. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_root.mjs +7 -0
  880. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_root.mjs.map +1 -0
  881. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_safeGet.mjs +13 -0
  882. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_safeGet.mjs.map +1 -0
  883. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToString.mjs +7 -0
  884. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_setToString.mjs.map +1 -0
  885. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_shortOut.mjs +21 -0
  886. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_shortOut.mjs.map +1 -0
  887. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackClear.mjs +9 -0
  888. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackClear.mjs.map +1 -0
  889. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackDelete.mjs +9 -0
  890. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackDelete.mjs.map +1 -0
  891. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackGet.mjs +7 -0
  892. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackGet.mjs.map +1 -0
  893. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackHas.mjs +7 -0
  894. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackHas.mjs.map +1 -0
  895. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackSet.mjs +23 -0
  896. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stackSet.mjs.map +1 -0
  897. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stringToPath.mjs +17 -0
  898. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stringToPath.mjs.map +1 -0
  899. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toKey.mjs +12 -0
  900. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toKey.mjs.map +1 -0
  901. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toSource.mjs +19 -0
  902. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toSource.mjs.map +1 -0
  903. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/cloneDeep.mjs +9 -0
  904. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/cloneDeep.mjs.map +1 -0
  905. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/constant.mjs +9 -0
  906. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/constant.mjs.map +1 -0
  907. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/eq.mjs +7 -0
  908. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/eq.mjs.map +1 -0
  909. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/get.mjs +9 -0
  910. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/get.mjs.map +1 -0
  911. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/identity.mjs +7 -0
  912. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/identity.mjs.map +1 -0
  913. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArguments.mjs +14 -0
  914. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArguments.mjs.map +1 -0
  915. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.mjs +5 -0
  916. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.mjs.map +1 -0
  917. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLike.mjs +9 -0
  918. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLike.mjs.map +1 -0
  919. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLikeObject.mjs +9 -0
  920. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArrayLikeObject.mjs.map +1 -0
  921. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isBoolean.mjs +10 -0
  922. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isBoolean.mjs.map +1 -0
  923. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isBuffer.mjs +12 -0
  924. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isBuffer.mjs.map +1 -0
  925. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isFunction.mjs +14 -0
  926. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isFunction.mjs.map +1 -0
  927. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isLength.mjs +8 -0
  928. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isLength.mjs.map +1 -0
  929. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isMap.mjs +9 -0
  930. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isMap.mjs.map +1 -0
  931. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isNumber.mjs +10 -0
  932. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isNumber.mjs.map +1 -0
  933. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.mjs +8 -0
  934. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.mjs.map +1 -0
  935. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.mjs +7 -0
  936. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.mjs.map +1 -0
  937. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isPlainObject.mjs +23 -0
  938. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isPlainObject.mjs.map +1 -0
  939. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSet.mjs +9 -0
  940. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSet.mjs.map +1 -0
  941. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.mjs +10 -0
  942. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.mjs.map +1 -0
  943. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isTypedArray.mjs +9 -0
  944. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isTypedArray.mjs.map +1 -0
  945. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keys.mjs +10 -0
  946. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keys.mjs.map +1 -0
  947. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keysIn.mjs +10 -0
  948. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/keysIn.mjs.map +1 -0
  949. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/memoize.mjs +23 -0
  950. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/memoize.mjs.map +1 -0
  951. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.mjs +9 -0
  952. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.mjs.map +1 -0
  953. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/set.mjs +8 -0
  954. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/set.mjs.map +1 -0
  955. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubArray.mjs +7 -0
  956. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubArray.mjs.map +1 -0
  957. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubFalse.mjs +7 -0
  958. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/stubFalse.mjs.map +1 -0
  959. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toPlainObject.mjs +9 -0
  960. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toPlainObject.mjs.map +1 -0
  961. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toString.mjs +8 -0
  962. package/dist/node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toString.mjs.map +1 -0
  963. package/dist/node_modules/.pnpm/lru-cache@11.2.4/node_modules/lru-cache/dist/esm/index.mjs +1424 -0
  964. package/dist/node_modules/.pnpm/lru-cache@11.2.4/node_modules/lru-cache/dist/esm/index.mjs.map +1 -0
  965. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/Icon.mjs +42 -0
  966. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/Icon.mjs.map +1 -0
  967. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/createLucideIcon.mjs +22 -0
  968. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/createLucideIcon.mjs.map +1 -0
  969. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/defaultAttributes.mjs +21 -0
  970. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/defaultAttributes.mjs.map +1 -0
  971. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/bold.mjs +17 -0
  972. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/bold.mjs.map +1 -0
  973. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/chart-area.mjs +21 -0
  974. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/chart-area.mjs.map +1 -0
  975. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/code-xml.mjs +16 -0
  976. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/code-xml.mjs.map +1 -0
  977. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/code.mjs +15 -0
  978. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/code.mjs.map +1 -0
  979. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/expand.mjs +21 -0
  980. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/expand.mjs.map +1 -0
  981. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/eye.mjs +21 -0
  982. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/eye.mjs.map +1 -0
  983. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/forward.mjs +15 -0
  984. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/forward.mjs.map +1 -0
  985. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/heading.mjs +16 -0
  986. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/heading.mjs.map +1 -0
  987. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/image.mjs +16 -0
  988. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/image.mjs.map +1 -0
  989. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/italic.mjs +16 -0
  990. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/italic.mjs.map +1 -0
  991. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/link.mjs +15 -0
  992. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/link.mjs.map +1 -0
  993. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/list-ordered.mjs +19 -0
  994. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/list-ordered.mjs.map +1 -0
  995. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/list-todo.mjs +18 -0
  996. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/list-todo.mjs.map +1 -0
  997. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/list-tree.mjs +18 -0
  998. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/list-tree.mjs.map +1 -0
  999. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/list.mjs +19 -0
  1000. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/list.mjs.map +1 -0
  1001. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/maximize-2.mjs +17 -0
  1002. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/maximize-2.mjs.map +1 -0
  1003. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/minimize-2.mjs +17 -0
  1004. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/minimize-2.mjs.map +1 -0
  1005. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/quote.mjs +27 -0
  1006. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/quote.mjs.map +1 -0
  1007. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/reply.mjs +15 -0
  1008. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/reply.mjs.map +1 -0
  1009. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/save.mjs +22 -0
  1010. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/save.mjs.map +1 -0
  1011. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/shrink.mjs +17 -0
  1012. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/shrink.mjs.map +1 -0
  1013. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/square-code.mjs +16 -0
  1014. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/square-code.mjs.map +1 -0
  1015. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/square-sigma.mjs +15 -0
  1016. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/square-sigma.mjs.map +1 -0
  1017. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/strikethrough.mjs +16 -0
  1018. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/strikethrough.mjs.map +1 -0
  1019. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/subscript.mjs +22 -0
  1020. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/subscript.mjs.map +1 -0
  1021. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/superscript.mjs +22 -0
  1022. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/superscript.mjs.map +1 -0
  1023. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/table.mjs +17 -0
  1024. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/table.mjs.map +1 -0
  1025. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/trash-2.mjs +18 -0
  1026. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/trash-2.mjs.map +1 -0
  1027. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/underline.mjs +15 -0
  1028. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/underline.mjs.map +1 -0
  1029. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/upload.mjs +16 -0
  1030. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/upload.mjs.map +1 -0
  1031. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/view.mjs +23 -0
  1032. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/view.mjs.map +1 -0
  1033. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/x.mjs +15 -0
  1034. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/x.mjs.map +1 -0
  1035. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/shared/src/utils.mjs +27 -0
  1036. package/dist/node_modules/.pnpm/lucide-vue-next@0.543.0_vue@3.5.26_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/shared/src/utils.mjs.map +1 -0
  1037. package/dist/node_modules/.pnpm/markdown-it-image-figures@2.1.1_markdown-it@14.1.0/node_modules/markdown-it-image-figures/dist/markdown-it-images-figures.mjs +64 -0
  1038. package/dist/node_modules/.pnpm/markdown-it-image-figures@2.1.1_markdown-it@14.1.0/node_modules/markdown-it-image-figures/dist/markdown-it-images-figures.mjs.map +1 -0
  1039. package/dist/node_modules/.pnpm/markdown-it-sub@2.0.0/node_modules/markdown-it-sub/index.mjs +50 -0
  1040. package/dist/node_modules/.pnpm/markdown-it-sub@2.0.0/node_modules/markdown-it-sub/index.mjs.map +1 -0
  1041. package/dist/node_modules/.pnpm/markdown-it-sup@2.0.0/node_modules/markdown-it-sup/index.mjs +50 -0
  1042. package/dist/node_modules/.pnpm/markdown-it-sup@2.0.0/node_modules/markdown-it-sup/index.mjs.map +1 -0
  1043. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/common/html_blocks.mjs +68 -0
  1044. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/common/html_blocks.mjs.map +1 -0
  1045. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/common/html_re.mjs +19 -0
  1046. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/common/html_re.mjs.map +1 -0
  1047. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/common/utils.mjs +227 -0
  1048. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/common/utils.mjs.map +1 -0
  1049. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/index.mjs +9 -0
  1050. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/index.mjs.map +1 -0
  1051. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/parse_link_destination.mjs +78 -0
  1052. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/parse_link_destination.mjs.map +1 -0
  1053. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/parse_link_label.mjs +37 -0
  1054. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/parse_link_label.mjs.map +1 -0
  1055. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/parse_link_title.mjs +56 -0
  1056. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/helpers/parse_link_title.mjs.map +1 -0
  1057. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/index.mjs +174 -0
  1058. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/index.mjs.map +1 -0
  1059. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/parser_block.mjs +88 -0
  1060. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/parser_block.mjs.map +1 -0
  1061. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/parser_core.mjs +37 -0
  1062. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/parser_core.mjs.map +1 -0
  1063. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/parser_inline.mjs +124 -0
  1064. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/parser_inline.mjs.map +1 -0
  1065. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/presets/commonmark.mjs +79 -0
  1066. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/presets/commonmark.mjs.map +1 -0
  1067. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/presets/default.mjs +41 -0
  1068. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/presets/default.mjs.map +1 -0
  1069. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/presets/zero.mjs +60 -0
  1070. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/presets/zero.mjs.map +1 -0
  1071. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/renderer.mjs +166 -0
  1072. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/renderer.mjs.map +1 -0
  1073. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/ruler.mjs +144 -0
  1074. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/ruler.mjs.map +1 -0
  1075. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/blockquote.mjs +128 -0
  1076. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/blockquote.mjs.map +1 -0
  1077. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/code.mjs +28 -0
  1078. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/code.mjs.map +1 -0
  1079. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/fence.mjs +71 -0
  1080. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/fence.mjs.map +1 -0
  1081. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/heading.mjs +44 -0
  1082. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/heading.mjs.map +1 -0
  1083. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/hr.mjs +37 -0
  1084. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/hr.mjs.map +1 -0
  1085. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/html_block.mjs +63 -0
  1086. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/html_block.mjs.map +1 -0
  1087. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/lheading.mjs +64 -0
  1088. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/lheading.mjs.map +1 -0
  1089. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/list.mjs +227 -0
  1090. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/list.mjs.map +1 -0
  1091. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/paragraph.mjs +39 -0
  1092. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/paragraph.mjs.map +1 -0
  1093. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/reference.mjs +178 -0
  1094. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/reference.mjs.map +1 -0
  1095. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/state_block.mjs +160 -0
  1096. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/state_block.mjs.map +1 -0
  1097. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/table.mjs +193 -0
  1098. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_block/table.mjs.map +1 -0
  1099. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/block.mjs +16 -0
  1100. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/block.mjs.map +1 -0
  1101. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/inline.mjs +13 -0
  1102. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/inline.mjs.map +1 -0
  1103. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/linkify.mjs +100 -0
  1104. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/linkify.mjs.map +1 -0
  1105. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/normalize.mjs +12 -0
  1106. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/normalize.mjs.map +1 -0
  1107. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/replacements.mjs +64 -0
  1108. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/replacements.mjs.map +1 -0
  1109. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +153 -0
  1110. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/smartquotes.mjs.map +1 -0
  1111. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/state_core.mjs +13 -0
  1112. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/state_core.mjs.map +1 -0
  1113. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/text_join.mjs +32 -0
  1114. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_core/text_join.mjs.map +1 -0
  1115. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/autolink.mjs +60 -0
  1116. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/autolink.mjs.map +1 -0
  1117. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/backticks.mjs +47 -0
  1118. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/backticks.mjs.map +1 -0
  1119. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +66 -0
  1120. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs.map +1 -0
  1121. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +89 -0
  1122. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/emphasis.mjs.map +1 -0
  1123. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/entity.mjs +45 -0
  1124. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/entity.mjs.map +1 -0
  1125. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/escape.mjs +54 -0
  1126. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/escape.mjs.map +1 -0
  1127. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/fragments_join.mjs +26 -0
  1128. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/fragments_join.mjs.map +1 -0
  1129. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +41 -0
  1130. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/html_inline.mjs.map +1 -0
  1131. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/image.mjs +116 -0
  1132. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/image.mjs.map +1 -0
  1133. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/link.mjs +111 -0
  1134. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/link.mjs.map +1 -0
  1135. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/linkify.mjs +39 -0
  1136. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/linkify.mjs.map +1 -0
  1137. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/newline.mjs +34 -0
  1138. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/newline.mjs.map +1 -0
  1139. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +75 -0
  1140. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/state_inline.mjs.map +1 -0
  1141. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +98 -0
  1142. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs.map +1 -0
  1143. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/text.mjs +48 -0
  1144. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/rules_inline/text.mjs.map +1 -0
  1145. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/token.mjs +63 -0
  1146. package/dist/node_modules/.pnpm/markdown-it@14.1.0/node_modules/markdown-it/lib/token.mjs.map +1 -0
  1147. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/MdEditor.mjs +3092 -0
  1148. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/MdEditor.mjs.map +1 -0
  1149. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/ModalToolbar.mjs +154 -0
  1150. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/ModalToolbar.mjs.map +1 -0
  1151. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/NormalToolbar.mjs +85 -0
  1152. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/NormalToolbar.mjs.map +1 -0
  1153. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/config.mjs +294 -0
  1154. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/config.mjs.map +1 -0
  1155. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/dom.mjs +160 -0
  1156. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/dom.mjs.map +1 -0
  1157. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/event-bus.mjs +57 -0
  1158. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/event-bus.mjs.map +1 -0
  1159. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/index.mjs +189 -0
  1160. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/index.mjs.map +1 -0
  1161. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/index2.mjs +290 -0
  1162. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/index2.mjs.map +1 -0
  1163. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/index3.mjs +2052 -0
  1164. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/index3.mjs.map +1 -0
  1165. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/index4.mjs +474 -0
  1166. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/index4.mjs.map +1 -0
  1167. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/index5.mjs +39 -0
  1168. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/index5.mjs.map +1 -0
  1169. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/vue-tsx.mjs +12 -0
  1170. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/chunks/vue-tsx.mjs.map +1 -0
  1171. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/index.mjs +638 -0
  1172. package/dist/node_modules/.pnpm/md-editor-v3@6.2.1_vue@3.5.26_typescript@5.9.3_/node_modules/md-editor-v3/lib/es/index.mjs.map +1 -0
  1173. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/index.mjs +11 -0
  1174. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/index.mjs.map +1 -0
  1175. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/decode.mjs +84 -0
  1176. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/decode.mjs.map +1 -0
  1177. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/encode.mjs +65 -0
  1178. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/encode.mjs.map +1 -0
  1179. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/format.mjs +20 -0
  1180. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/format.mjs.map +1 -0
  1181. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/parse.mjs +183 -0
  1182. package/dist/node_modules/.pnpm/mdurl@2.0.0/node_modules/mdurl/lib/parse.mjs.map +1 -0
  1183. package/dist/node_modules/.pnpm/medium-zoom@1.1.0/node_modules/medium-zoom/dist/medium-zoom.esm.mjs +463 -0
  1184. package/dist/node_modules/.pnpm/medium-zoom@1.1.0/node_modules/medium-zoom/dist/medium-zoom.esm.mjs.map +1 -0
  1185. package/dist/node_modules/.pnpm/pdfjs-dist@5.4.394/node_modules/pdfjs-dist/build/pdf.mjs +25810 -0
  1186. package/dist/node_modules/.pnpm/pdfjs-dist@5.4.394/node_modules/pdfjs-dist/build/pdf.mjs.map +1 -0
  1187. package/dist/node_modules/.pnpm/pdfjs-dist@5.4.394/node_modules/pdfjs-dist/build/pdf.sandbox.mjs +5 -0
  1188. package/dist/node_modules/.pnpm/pdfjs-dist@5.4.394/node_modules/pdfjs-dist/build/pdf.sandbox.mjs.map +1 -0
  1189. package/dist/node_modules/.pnpm/pdfjs-dist@5.4.394/node_modules/pdfjs-dist/build/pdf.worker.mjs +5 -0
  1190. package/dist/node_modules/.pnpm/pdfjs-dist@5.4.394/node_modules/pdfjs-dist/build/pdf.worker.mjs.map +1 -0
  1191. package/dist/node_modules/.pnpm/pdfjs-dist@5.4.394/node_modules/pdfjs-dist/web/pdf_viewer.mjs +8940 -0
  1192. package/dist/node_modules/.pnpm/pdfjs-dist@5.4.394/node_modules/pdfjs-dist/web/pdf_viewer.mjs.map +1 -0
  1193. package/dist/node_modules/.pnpm/punycode.js@2.3.1/node_modules/punycode.js/punycode.es6.mjs +241 -0
  1194. package/dist/node_modules/.pnpm/punycode.js@2.3.1/node_modules/punycode.js/punycode.es6.mjs.map +1 -0
  1195. package/dist/node_modules/.pnpm/style-mod@4.1.3/node_modules/style-mod/src/style-mod.mjs +133 -0
  1196. package/dist/node_modules/.pnpm/style-mod@4.1.3/node_modules/style-mod/src/style-mod.mjs.map +1 -0
  1197. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/_chunks/dep-0f6107c9.mjs +316 -0
  1198. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/_chunks/dep-0f6107c9.mjs.map +1 -0
  1199. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/_chunks/dep-4d4f98d8.mjs +330 -0
  1200. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/_chunks/dep-4d4f98d8.mjs.map +1 -0
  1201. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/_chunks/dep-8c6ad426.mjs +10 -0
  1202. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/_chunks/dep-8c6ad426.mjs.map +1 -0
  1203. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/_chunks/dep-c68053ef.mjs +17 -0
  1204. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/_chunks/dep-c68053ef.mjs.map +1 -0
  1205. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/form/consts/index.mjs +11 -0
  1206. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/form/consts/index.mjs.map +1 -0
  1207. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/locale/en_US.mjs +287 -0
  1208. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/locale/en_US.mjs.map +1 -0
  1209. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/locale/zh_TW.mjs +328 -0
  1210. package/dist/node_modules/.pnpm/tdesign-vue-next@1.17.1_vue@3.5.26_typescript@5.9.3_/node_modules/tdesign-vue-next/es/locale/zh_TW.mjs.map +1 -0
  1211. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/Cc/regex.mjs +5 -0
  1212. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/Cc/regex.mjs.map +1 -0
  1213. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/Cf/regex.mjs +5 -0
  1214. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/Cf/regex.mjs.map +1 -0
  1215. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/P/regex.mjs +5 -0
  1216. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/P/regex.mjs.map +1 -0
  1217. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/S/regex.mjs +5 -0
  1218. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/S/regex.mjs.map +1 -0
  1219. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/Z/regex.mjs +5 -0
  1220. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/categories/Z/regex.mjs.map +1 -0
  1221. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/index.mjs +15 -0
  1222. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/index.mjs.map +1 -0
  1223. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/properties/Any/regex.mjs +5 -0
  1224. package/dist/node_modules/.pnpm/uc.micro@2.1.0/node_modules/uc.micro/properties/Any/regex.mjs.map +1 -0
  1225. package/dist/node_modules/.pnpm/w3c-keyname@2.2.8/node_modules/w3c-keyname/index.mjs +106 -0
  1226. package/dist/node_modules/.pnpm/w3c-keyname@2.2.8/node_modules/w3c-keyname/index.mjs.map +1 -0
  1227. package/dist/styles/index.css +123 -0
  1228. package/dist/utils/auth.d.ts +6 -0
  1229. package/dist/utils/auth.mjs +67 -0
  1230. package/dist/utils/auth.mjs.map +1 -0
  1231. package/dist/utils/autoImportResolver.d.ts +2 -0
  1232. package/dist/utils/index.d.ts +2 -0
  1233. package/dist/utils/time.d.ts +2 -0
  1234. package/dist/utils/time.mjs +30 -0
  1235. package/dist/utils/time.mjs.map +1 -0
  1236. package/dist/vue/qidian-vite-auto-import-resolver.cjs.js +49 -0
  1237. package/dist/vue/qidian-vite-auto-import-resolver.cjs.js.map +1 -0
  1238. package/dist/vue/qidian-vite-auto-import-resolver.es.js +48 -0
  1239. package/dist/vue/qidian-vite-auto-import-resolver.es.js.map +1 -0
  1240. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf_viewer.mjs","sources":["../../../../../../../../../node_modules/.pnpm/pdfjs-dist@5.4.394/node_modules/pdfjs-dist/web/pdf_viewer.mjs"],"sourcesContent":["/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2024 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n/**\n * pdfjsVersion = 5.4.394\n * pdfjsBuild = 2cc809ade\n */\n/******/ // The require scope\n/******/ var __webpack_require__ = {};\n/******/ \n/************************************************************************/\n/******/ /* webpack/runtime/define property getters */\n/******/ (() => {\n/******/ \t// define getter functions for harmony exports\n/******/ \t__webpack_require__.d = (exports, definition) => {\n/******/ \t\tfor(var key in definition) {\n/******/ \t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t};\n/******/ })();\n/******/ \n/******/ /* webpack/runtime/hasOwnProperty shorthand */\n/******/ (() => {\n/******/ \t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ })();\n/******/ \n/************************************************************************/\nvar __webpack_exports__ = {};\n\n;// ./web/pdfjs.js\nconst {\n AbortException,\n AnnotationEditorLayer,\n AnnotationEditorParamsType,\n AnnotationEditorType,\n AnnotationEditorUIManager,\n AnnotationLayer,\n AnnotationMode,\n AnnotationType,\n applyOpacity,\n build,\n ColorPicker,\n createValidAbsoluteUrl,\n CSSConstants,\n DOMSVGFactory,\n DrawLayer,\n FeatureTest,\n fetchData,\n findContrastColor,\n getDocument,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n getRGB,\n getUuid,\n getXfaPageViewport,\n GlobalWorkerOptions,\n ImageKind,\n InvalidPDFException,\n isDataScheme,\n isPdfFile,\n isValidExplicitDest,\n MathClamp,\n noContextMenu,\n normalizeUnicode,\n OPS,\n OutputScale,\n PasswordResponses,\n PDFDataRangeTransport,\n PDFDateString,\n PDFWorker,\n PermissionFlag,\n PixelsPerInch,\n RenderingCancelledException,\n renderRichText,\n ResponseException,\n setLayerDimensions,\n shadow,\n SignatureExtractor,\n stopEvent,\n SupportedImageMimeTypes,\n TextLayer,\n TouchManager,\n updateUrlHash,\n Util,\n VerbosityLevel,\n version,\n XfaLayer\n} = globalThis.pdfjsLib;\n\n;// ./web/ui_utils.js\n\nconst DEFAULT_SCALE_VALUE = \"auto\";\nconst DEFAULT_SCALE = 1.0;\nconst DEFAULT_SCALE_DELTA = 1.1;\nconst MIN_SCALE = 0.1;\nconst MAX_SCALE = 10.0;\nconst UNKNOWN_SCALE = 0;\nconst MAX_AUTO_SCALE = 1.25;\nconst SCROLLBAR_PADDING = 40;\nconst VERTICAL_PADDING = 5;\nconst RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nconst SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1,\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4\n};\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_PERMISSIONS: 2\n};\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2,\n PAGE: 3\n};\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nconst CursorTool = {\n SELECT: 0,\n HAND: 1,\n ZOOM: 2\n};\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\nfunction scrollIntoView(element, spot, scrollMatches = false) {\n let parent = element.offsetParent;\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains(\"markedContent\") || getComputedStyle(parent).overflow === \"hidden\")) {\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n if (!parent) {\n return;\n }\n }\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n if (spot.left !== undefined) {\n if (scrollMatches) {\n const elementWidth = element.getBoundingClientRect().width;\n const padding = MathClamp((parent.clientWidth - elementWidth) / 2, 20, 400);\n offsetX += spot.left - padding;\n } else {\n offsetX += spot.left;\n }\n parent.scrollLeft = offsetX;\n }\n }\n parent.scrollTop = offsetY;\n}\nfunction watchScroll(viewAreaElement, callback, abortSignal = undefined) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n state.lastY = currentY;\n callback(state);\n });\n };\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, {\n useCapture: true,\n signal: abortSignal\n });\n abortSignal?.addEventListener(\"abort\", () => window.cancelAnimationFrame(rAF), {\n once: true\n });\n return state;\n}\nfunction parseQueryString(query) {\n const params = new Map();\n for (const [key, value] of new URLSearchParams(query)) {\n params.set(key.toLowerCase(), value);\n }\n return params;\n}\nconst InvisibleCharsRegExp = /[\\x00-\\x1F]/g;\nfunction removeNullCharacters(str, replaceInvisible = false) {\n if (!InvisibleCharsRegExp.test(str)) {\n return str;\n }\n if (replaceInvisible) {\n return str.replaceAll(InvisibleCharsRegExp, m => m === \"\\x00\" ? \"\" : \" \");\n }\n return str.replaceAll(\"\\x00\", \"\");\n}\nfunction binarySearchFirstItem(items, condition, start = 0) {\n let minIndex = start;\n let maxIndex = items.length - 1;\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n if (condition(items[minIndex])) {\n return minIndex;\n }\n while (minIndex < maxIndex) {\n const currentIndex = minIndex + maxIndex >> 1;\n const currentItem = items[currentIndex];\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n return minIndex;\n}\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n const xinv = 1 / x;\n const limit = 8;\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n const x_ = x > 1 ? xinv : x;\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n while (true) {\n const p = a + c,\n q = b + d;\n if (q > limit) {\n break;\n }\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n let result;\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n return result;\n}\nfunction floorToDivide(x, div) {\n return x - x % div;\n}\nfunction getPageSizeInches({\n view,\n userUnit,\n rotate\n}) {\n const [x1, y1, x2, y2] = view;\n const changeOrientation = rotate % 180 !== 0;\n const width = (x2 - x1) / 72 * userUnit;\n const height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n index = i;\n }\n return index;\n}\nfunction getVisibleElements({\n scrollEl,\n views,\n sortByVisibility = false,\n horizontal = false,\n rtl = false\n}) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n function isElementNextAfterViewHorizontally(view) {\n const element = view.div;\n const elementLeft = element.offsetLeft + element.clientLeft;\n const elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n const visible = [],\n ids = new Set(),\n numViews = views.length;\n let firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop);\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n let lastEdge = horizontal ? right : -1;\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n const minY = Math.max(0, top - currentHeight);\n const minX = Math.max(0, left - currentWidth);\n const hiddenHeight = minY + Math.max(0, viewBottom - bottom);\n const hiddenWidth = minX + Math.max(0, viewRight - right);\n const fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n const percent = fractionHeight * fractionWidth * 100 | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n visibleArea: percent === 100 ? null : {\n minX,\n minY,\n maxX: Math.min(viewRight, right) - currentWidth,\n maxY: Math.min(viewBottom, bottom) - currentHeight\n },\n view,\n percent,\n widthPercent: fractionWidth * 100 | 0\n });\n ids.add(view.id);\n }\n const first = visible[0],\n last = visible.at(-1);\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n return a.id - b.id;\n });\n }\n return {\n first,\n last,\n views: visible,\n ids\n };\n}\nfunction normalizeWheelEventDirection(evt) {\n let delta = Math.hypot(evt.deltaX, evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n return delta;\n}\nfunction normalizeWheelEventDelta(evt) {\n const deltaMode = evt.deltaMode;\n let delta = normalizeWheelEventDirection(evt);\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n if (deltaMode === WheelEvent.DOM_DELTA_PIXEL) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (deltaMode === WheelEvent.DOM_DELTA_LINE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n return delta;\n}\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\nconst animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nconst docStyle = document.documentElement.style;\nclass ProgressBar {\n #classList = null;\n #disableAutoFetchTimeout = null;\n #percent = 0;\n #style = null;\n #visible = true;\n constructor(bar) {\n this.#classList = bar.classList;\n this.#style = bar.style;\n }\n get percent() {\n return this.#percent;\n }\n set percent(val) {\n this.#percent = MathClamp(val, 0, 100);\n if (isNaN(val)) {\n this.#classList.add(\"indeterminate\");\n return;\n }\n this.#classList.remove(\"indeterminate\");\n this.#style.setProperty(\"--progressBar-percent\", `${this.#percent}%`);\n }\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n if (scrollbarWidth > 0) {\n this.#style.setProperty(\"--progressBar-end-offset\", `${scrollbarWidth}px`);\n }\n }\n setDisableAutoFetch(delay = 5000) {\n if (this.#percent === 100 || isNaN(this.#percent)) {\n return;\n }\n if (this.#disableAutoFetchTimeout) {\n clearTimeout(this.#disableAutoFetchTimeout);\n }\n this.show();\n this.#disableAutoFetchTimeout = setTimeout(() => {\n this.#disableAutoFetchTimeout = null;\n this.hide();\n }, delay);\n }\n hide() {\n if (!this.#visible) {\n return;\n }\n this.#visible = false;\n this.#classList.add(\"hidden\");\n }\n show() {\n if (this.#visible) {\n return;\n }\n this.#visible = true;\n this.#classList.remove(\"hidden\");\n }\n}\nfunction getActiveOrFocusedElement() {\n let curRoot = document;\n let curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n while (curActiveOrFocused?.shadowRoot) {\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n return curActiveOrFocused;\n}\nfunction apiPageLayoutToViewerModes(layout) {\n let scrollMode = ScrollMode.VERTICAL,\n spreadMode = SpreadMode.NONE;\n switch (layout) {\n case \"SinglePage\":\n scrollMode = ScrollMode.PAGE;\n break;\n case \"OneColumn\":\n break;\n case \"TwoPageLeft\":\n scrollMode = ScrollMode.PAGE;\n case \"TwoColumnLeft\":\n spreadMode = SpreadMode.ODD;\n break;\n case \"TwoPageRight\":\n scrollMode = ScrollMode.PAGE;\n case \"TwoColumnRight\":\n spreadMode = SpreadMode.EVEN;\n break;\n }\n return {\n scrollMode,\n spreadMode\n };\n}\nfunction apiPageModeToSidebarView(mode) {\n switch (mode) {\n case \"UseNone\":\n return SidebarView.NONE;\n case \"UseThumbs\":\n return SidebarView.THUMBS;\n case \"UseOutlines\":\n return SidebarView.OUTLINE;\n case \"UseAttachments\":\n return SidebarView.ATTACHMENTS;\n case \"UseOC\":\n return SidebarView.LAYERS;\n }\n return SidebarView.NONE;\n}\nfunction toggleCheckedBtn(button, toggle, view = null) {\n button.classList.toggle(\"toggled\", toggle);\n button.setAttribute(\"aria-checked\", toggle);\n view?.classList.toggle(\"hidden\", !toggle);\n}\nfunction toggleExpandedBtn(button, toggle, view = null) {\n button.classList.toggle(\"toggled\", toggle);\n button.setAttribute(\"aria-expanded\", toggle);\n view?.classList.toggle(\"hidden\", !toggle);\n}\nconst calcRound = function () {\n const e = document.createElement(\"div\");\n e.style.width = \"round(down, calc(1.6666666666666665 * 792px), 1px)\";\n return e.style.width === \"calc(1320px)\" ? Math.fround : x => x;\n}();\n\n;// ./web/pdf_find_utils.js\nconst CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n return CharacterType.ALPHA_LETTER;\n }\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n return CharacterType.ALPHA_LETTER;\n}\nlet NormalizeWithNFKC;\nfunction getNormalizeWithNFKC() {\n NormalizeWithNFKC ||= ` ¨ª¯²-µ¸-º¼-¾IJ-ijĿ-ŀʼnſDŽ-njDZ-dzʰ-ʸ˘-˝ˠ-ˤʹͺ;΄-΅·ϐ-ϖϰ-ϲϴ-ϵϹևٵ-ٸक़-य़ড়-ঢ়য়ਲ਼ਸ਼ਖ਼-ਜ਼ਫ਼ଡ଼-ଢ଼ำຳໜ-ໝ༌གྷཌྷདྷབྷཛྷཀྵჼᴬ-ᴮᴰ-ᴺᴼ-ᵍᵏ-ᵪᵸᶛ-ᶿẚ-ẛάέήίόύώΆ᾽-῁ΈΉ῍-῏ΐΊ῝-῟ΰΎ῭-`ΌΏ´-῾ - ‑‗․-… ″-‴‶-‷‼‾⁇-⁉⁗ ⁰-ⁱ⁴-₎ₐ-ₜ₨℀-℃℅-ℇ℉-ℓℕ-№ℙ-ℝ℠-™ℤΩℨK-ℭℯ-ℱℳ-ℹ℻-⅀ⅅ-ⅉ⅐-ⅿ↉∬-∭∯-∰〈-〉①-⓪⨌⩴-⩶⫝̸ⱼ-ⱽⵯ⺟⻳⼀-⿕ 〶〸-〺゛-゜ゟヿㄱ-ㆎ㆒-㆟㈀-㈞㈠-㉇㉐-㉾㊀-㏿ꚜ-ꚝꝰꟲ-ꟴꟸ-ꟹꭜ-ꭟꭩ豈-嗀塚晴凞-羽蘒諸逸-都飯-舘並-龎ff-stﬓ-ﬗיִײַ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-﷼︐-︙︰-﹄﹇-﹒﹔-﹦﹨-﹫ﹰ-ﹲﹴﹶ-ﻼ!-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ¢-₩`;\n return NormalizeWithNFKC;\n}\n\n;// ./web/pdf_find_controller.js\n\n\nconst FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nconst FIND_TIMEOUT = 250;\nconst MATCH_SCROLL_OFFSET_TOP = -50;\nconst CHARACTERS_TO_NORMALIZE = {\n \"\\u2010\": \"-\",\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\u00BC\": \"1/4\",\n \"\\u00BD\": \"1/2\",\n \"\\u00BE\": \"3/4\"\n};\nconst DIACRITICS_EXCEPTION = new Set([0x3099, 0x309a, 0x094d, 0x09cd, 0x0a4d, 0x0acd, 0x0b4d, 0x0bcd, 0x0c4d, 0x0ccd, 0x0d3b, 0x0d3c, 0x0d4d, 0x0dca, 0x0e3a, 0x0eba, 0x0f84, 0x1039, 0x103a, 0x1714, 0x1734, 0x17d2, 0x1a60, 0x1b44, 0x1baa, 0x1bab, 0x1bf2, 0x1bf3, 0x2d7f, 0xa806, 0xa82c, 0xa8c4, 0xa953, 0xa9c0, 0xaaf6, 0xabed, 0x0c56, 0x0f71, 0x0f72, 0x0f7a, 0x0f7b, 0x0f7c, 0x0f7d, 0x0f80, 0x0f74]);\nlet DIACRITICS_EXCEPTION_STR;\nconst DIACRITICS_REG_EXP = /\\p{M}+/gu;\nconst SPECIAL_CHARS_REG_EXP = /([.*+?^${}()|[\\]\\\\])|(\\p{P})|(\\s+)|(\\p{M})|(\\p{L})/gu;\nconst NOT_DIACRITIC_FROM_END_REG_EXP = /([^\\p{M}])\\p{M}*$/u;\nconst NOT_DIACRITIC_FROM_START_REG_EXP = /^\\p{M}*([^\\p{M}])/u;\nconst SYLLABLES_REG_EXP = /[\\uAC00-\\uD7AF\\uFA6C\\uFACF-\\uFAD1\\uFAD5-\\uFAD7]+/g;\nconst SYLLABLES_LENGTHS = new Map();\nconst FIRST_CHAR_SYLLABLES_REG_EXP = \"[\\\\u1100-\\\\u1112\\\\ud7a4-\\\\ud7af\\\\ud84a\\\\ud84c\\\\ud850\\\\ud854\\\\ud857\\\\ud85f]\";\nconst NFKC_CHARS_TO_NORMALIZE = new Map();\nlet noSyllablesRegExp = null;\nlet withSyllablesRegExp = null;\nfunction normalize(text, options = {}) {\n const syllablePositions = [];\n let m;\n while ((m = SYLLABLES_REG_EXP.exec(text)) !== null) {\n let {\n index\n } = m;\n for (const char of m[0]) {\n let len = SYLLABLES_LENGTHS.get(char);\n if (!len) {\n len = char.normalize(\"NFD\").length;\n SYLLABLES_LENGTHS.set(char, len);\n }\n syllablePositions.push([len, index++]);\n }\n }\n const hasSyllables = syllablePositions.length > 0;\n const ignoreDashEOL = options.ignoreDashEOL ?? false;\n let normalizationRegex;\n if (!hasSyllables && noSyllablesRegExp) {\n normalizationRegex = noSyllablesRegExp;\n } else if (hasSyllables && withSyllablesRegExp) {\n normalizationRegex = withSyllablesRegExp;\n } else {\n const replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n const toNormalizeWithNFKC = getNormalizeWithNFKC();\n const CJK = \"(?:\\\\p{Ideographic}|[\\u3040-\\u30FF])\";\n const HKDiacritics = \"(?:\\u3099|\\u309A)\";\n const BrokenWord = `\\\\p{Ll}-\\\\n(?=\\\\p{Ll})|\\\\p{Lu}-\\\\n(?=\\\\p{L})`;\n const regexps = [`[${replace}]`, `[${toNormalizeWithNFKC}]`, `${HKDiacritics}\\\\n`, \"\\\\p{M}+(?:-\\\\n)?\", `${BrokenWord}`, \"\\\\S-\\\\n\", `${CJK}\\\\n`, \"\\\\n\", hasSyllables ? FIRST_CHAR_SYLLABLES_REG_EXP : \"\\\\u0000\"];\n normalizationRegex = new RegExp(regexps.map(r => `(${r})`).join(\"|\"), \"gum\");\n if (hasSyllables) {\n withSyllablesRegExp = normalizationRegex;\n } else {\n noSyllablesRegExp = normalizationRegex;\n }\n }\n const rawDiacriticsPositions = [];\n while ((m = DIACRITICS_REG_EXP.exec(text)) !== null) {\n rawDiacriticsPositions.push([m[0].length, m.index]);\n }\n let normalized = text.normalize(\"NFD\");\n const positions = [0, 0];\n let rawDiacriticsIndex = 0;\n let syllableIndex = 0;\n let shift = 0;\n let shiftOrigin = 0;\n let eol = 0;\n let hasDiacritics = false;\n normalized = normalized.replace(normalizationRegex, (match, p1, p2, p3, p4, p5, p6, p7, p8, p9, i) => {\n i -= shiftOrigin;\n if (p1) {\n const replacement = CHARACTERS_TO_NORMALIZE[p1];\n const jj = replacement.length;\n for (let j = 1; j < jj; j++) {\n positions.push(i - shift + j, shift - j);\n }\n shift -= jj - 1;\n return replacement;\n }\n if (p2) {\n let replacement = NFKC_CHARS_TO_NORMALIZE.get(p2);\n if (!replacement) {\n replacement = p2.normalize(\"NFKC\");\n NFKC_CHARS_TO_NORMALIZE.set(p2, replacement);\n }\n const jj = replacement.length;\n for (let j = 1; j < jj; j++) {\n positions.push(i - shift + j, shift - j);\n }\n shift -= jj - 1;\n return replacement;\n }\n if (p3) {\n hasDiacritics = true;\n if (i + eol === rawDiacriticsPositions[rawDiacriticsIndex]?.[1]) {\n ++rawDiacriticsIndex;\n } else {\n positions.push(i - 1 - shift + 1, shift - 1);\n shift -= 1;\n shiftOrigin += 1;\n }\n positions.push(i - shift + 1, shift);\n shiftOrigin += 1;\n eol += 1;\n return p3.charAt(0);\n }\n if (p4) {\n const hasTrailingDashEOL = p4.endsWith(\"\\n\");\n const len = hasTrailingDashEOL ? p4.length - 2 : p4.length;\n hasDiacritics = true;\n let jj = len;\n if (i + eol === rawDiacriticsPositions[rawDiacriticsIndex]?.[1]) {\n jj -= rawDiacriticsPositions[rawDiacriticsIndex][0];\n ++rawDiacriticsIndex;\n }\n for (let j = 1; j <= jj; j++) {\n positions.push(i - 1 - shift + j, shift - j);\n }\n shift -= jj;\n shiftOrigin += jj;\n if (hasTrailingDashEOL) {\n i += len - 1;\n positions.push(i - shift + 1, 1 + shift);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p4.slice(0, len);\n }\n return p4;\n }\n if (p5) {\n if (ignoreDashEOL) {\n shiftOrigin += 1;\n eol += 1;\n return p5.slice(0, -1);\n }\n const len = p5.length - 2;\n positions.push(i - shift + len, 1 + shift);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p5.slice(0, -2);\n }\n if (p6) {\n shiftOrigin += 1;\n eol += 1;\n return p6.slice(0, -1);\n }\n if (p7) {\n const len = p7.length - 1;\n positions.push(i - shift + len, shift);\n shiftOrigin += 1;\n eol += 1;\n return p7.slice(0, -1);\n }\n if (p8) {\n positions.push(i - shift + 1, shift - 1);\n shift -= 1;\n shiftOrigin += 1;\n eol += 1;\n return \" \";\n }\n if (i + eol === syllablePositions[syllableIndex]?.[1]) {\n const newCharLen = syllablePositions[syllableIndex][0] - 1;\n ++syllableIndex;\n for (let j = 1; j <= newCharLen; j++) {\n positions.push(i - (shift - j), shift - j);\n }\n shift -= newCharLen;\n shiftOrigin += newCharLen;\n }\n return p9;\n });\n positions.push(normalized.length, shift);\n const starts = new Uint32Array(positions.length >> 1);\n const shifts = new Int32Array(positions.length >> 1);\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n starts[i >> 1] = positions[i];\n shifts[i >> 1] = positions[i + 1];\n }\n return [normalized, [starts, shifts], hasDiacritics];\n}\nfunction getOriginalIndex(diffs, pos, len) {\n if (!diffs) {\n return [pos, len];\n }\n const [starts, shifts] = diffs;\n const start = pos;\n const end = pos + len - 1;\n let i = binarySearchFirstItem(starts, x => x >= start);\n if (starts[i] > start) {\n --i;\n }\n let j = binarySearchFirstItem(starts, x => x >= end, i);\n if (starts[j] > end) {\n --j;\n }\n const oldStart = start + shifts[i];\n const oldEnd = end + shifts[j];\n const oldLen = oldEnd + 1 - oldStart;\n return [oldStart, oldLen];\n}\nclass PDFFindController {\n #state = null;\n #updateMatchesCountOnProgress = true;\n #visitedPagesCount = 0;\n constructor({\n linkService,\n eventBus,\n updateMatchesCountOnProgress = true\n }) {\n this._linkService = linkService;\n this._eventBus = eventBus;\n this.#updateMatchesCountOnProgress = updateMatchesCountOnProgress;\n this.onIsPageVisible = null;\n this.#reset();\n eventBus._on(\"find\", this.#onFind.bind(this));\n eventBus._on(\"findbarclose\", this.#onFindBarClose.bind(this));\n }\n get highlightMatches() {\n return this._highlightMatches;\n }\n get pageMatches() {\n return this._pageMatches;\n }\n get pageMatchesLength() {\n return this._pageMatchesLength;\n }\n get selected() {\n return this._selected;\n }\n get state() {\n return this.#state;\n }\n setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this.#reset();\n }\n if (!pdfDocument) {\n return;\n }\n this._pdfDocument = pdfDocument;\n this._firstPageCapability.resolve();\n }\n #onFind(state) {\n if (!state) {\n return;\n }\n const pdfDocument = this._pdfDocument;\n const {\n type\n } = state;\n if (this.#state === null || this.#shouldDirtyMatch(state)) {\n this._dirtyMatch = true;\n }\n this.#state = state;\n if (type !== \"highlightallchange\") {\n this.#updateUIState(FindState.PENDING);\n }\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n this.#extractText();\n const findbarClosed = !this._highlightMatches;\n const pendingTimeout = !!this._findTimeout;\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n if (!type) {\n this._findTimeout = setTimeout(() => {\n this.#nextMatch();\n this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (this._dirtyMatch) {\n this.#nextMatch();\n } else if (type === \"again\") {\n this.#nextMatch();\n if (findbarClosed && this.#state.highlightAll) {\n this.#updateAllPages();\n }\n } else if (type === \"highlightallchange\") {\n if (pendingTimeout) {\n this.#nextMatch();\n } else {\n this._highlightMatches = true;\n }\n this.#updateAllPages();\n } else {\n this.#nextMatch();\n }\n });\n }\n scrollMatchIntoView({\n element = null,\n selectedLeft = 0,\n pageIndex = -1,\n matchIndex = -1\n }) {\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n this._scrollMatches = false;\n const spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: selectedLeft\n };\n scrollIntoView(element, spot, true);\n }\n #reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this.#visitedPagesCount = 0;\n this.#state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._pageDiffs = [];\n this._hasDiacritics = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = new Set();\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = Promise.withResolvers();\n }\n get #query() {\n const {\n query\n } = this.#state;\n if (typeof query === \"string\") {\n if (query !== this._rawQuery) {\n this._rawQuery = query;\n [this._normalizedQuery] = normalize(query);\n }\n return this._normalizedQuery;\n }\n return (query || []).filter(q => !!q).map(q => normalize(q)[0]);\n }\n #shouldDirtyMatch(state) {\n const newQuery = state.query,\n prevQuery = this.#state.query;\n const newType = typeof newQuery,\n prevType = typeof prevQuery;\n if (newType !== prevType) {\n return true;\n }\n if (newType === \"string\") {\n if (newQuery !== prevQuery) {\n return true;\n }\n } else if (JSON.stringify(newQuery) !== JSON.stringify(prevQuery)) {\n return true;\n }\n switch (state.type) {\n case \"again\":\n const pageNumber = this._selected.pageIdx + 1;\n const linkService = this._linkService;\n return pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !(this.onIsPageVisible?.(pageNumber) ?? true);\n case \"highlightallchange\":\n return false;\n }\n return true;\n }\n #isEntireWord(content, startIdx, length) {\n let match = content.slice(0, startIdx).match(NOT_DIACRITIC_FROM_END_REG_EXP);\n if (match) {\n const first = content.charCodeAt(startIdx);\n const limit = match[1].charCodeAt(0);\n if (getCharacterType(first) === getCharacterType(limit)) {\n return false;\n }\n }\n match = content.slice(startIdx + length).match(NOT_DIACRITIC_FROM_START_REG_EXP);\n if (match) {\n const last = content.charCodeAt(startIdx + length - 1);\n const limit = match[1].charCodeAt(0);\n if (getCharacterType(last) === getCharacterType(limit)) {\n return false;\n }\n }\n return true;\n }\n #convertToRegExpString(query, hasDiacritics) {\n const {\n matchDiacritics\n } = this.#state;\n let isUnicode = false;\n query = query.replaceAll(SPECIAL_CHARS_REG_EXP, (match, p1, p2, p3, p4, p5) => {\n if (p1) {\n return `[ ]*\\\\${p1}[ ]*`;\n }\n if (p2) {\n return `[ ]*${p2}[ ]*`;\n }\n if (p3) {\n return \"[ ]+\";\n }\n if (matchDiacritics) {\n return p4 || p5;\n }\n if (p4) {\n return DIACRITICS_EXCEPTION.has(p4.charCodeAt(0)) ? p4 : \"\";\n }\n if (hasDiacritics) {\n isUnicode = true;\n return `${p5}\\\\p{M}*`;\n }\n return p5;\n });\n const trailingSpaces = \"[ ]*\";\n if (query.endsWith(trailingSpaces)) {\n query = query.slice(0, query.length - trailingSpaces.length);\n }\n if (matchDiacritics) {\n if (hasDiacritics) {\n DIACRITICS_EXCEPTION_STR ||= String.fromCharCode(...DIACRITICS_EXCEPTION);\n isUnicode = true;\n query = `${query}(?=[${DIACRITICS_EXCEPTION_STR}]|[^\\\\p{M}]|$)`;\n }\n }\n return [isUnicode, query];\n }\n #calculateMatch(pageIndex) {\n if (!this.#state) {\n return;\n }\n const query = this.#query;\n if (query.length === 0) {\n return;\n }\n const pageContent = this._pageContents[pageIndex];\n const matcherResult = this.match(query, pageContent, pageIndex);\n const matches = this._pageMatches[pageIndex] = [];\n const matchesLength = this._pageMatchesLength[pageIndex] = [];\n const diffs = this._pageDiffs[pageIndex];\n matcherResult?.forEach(({\n index,\n length\n }) => {\n const [matchPos, matchLen] = getOriginalIndex(diffs, index, length);\n if (matchLen) {\n matches.push(matchPos);\n matchesLength.push(matchLen);\n }\n });\n if (this.#state.highlightAll) {\n this.#updatePage(pageIndex);\n }\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n this.#nextPageMatch();\n }\n const pageMatchesCount = matches.length;\n this._matchesCountTotal += pageMatchesCount;\n if (this.#updateMatchesCountOnProgress) {\n if (pageMatchesCount > 0) {\n this.#updateUIResultsCount();\n }\n } else if (++this.#visitedPagesCount === this._linkService.pagesCount) {\n this.#updateUIResultsCount();\n }\n }\n match(query, pageContent, pageIndex) {\n const hasDiacritics = this._hasDiacritics[pageIndex];\n let isUnicode = false;\n if (typeof query === \"string\") {\n [isUnicode, query] = this.#convertToRegExpString(query, hasDiacritics);\n } else {\n query = query.sort().reverse().map(q => {\n const [isUnicodePart, queryPart] = this.#convertToRegExpString(q, hasDiacritics);\n isUnicode ||= isUnicodePart;\n return `(${queryPart})`;\n }).join(\"|\");\n }\n if (!query) {\n return undefined;\n }\n const {\n caseSensitive,\n entireWord\n } = this.#state;\n const flags = `g${isUnicode ? \"u\" : \"\"}${caseSensitive ? \"\" : \"i\"}`;\n query = new RegExp(query, flags);\n const matches = [];\n let match;\n while ((match = query.exec(pageContent)) !== null) {\n if (entireWord && !this.#isEntireWord(pageContent, match.index, match[0].length)) {\n continue;\n }\n matches.push({\n index: match.index,\n length: match[0].length\n });\n }\n return matches;\n }\n #extractText() {\n if (this._extractTextPromises.length > 0) {\n return;\n }\n let deferred = Promise.resolve();\n const textOptions = {\n disableNormalization: true\n };\n const pdfDoc = this._pdfDocument;\n for (let i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n const {\n promise,\n resolve\n } = Promise.withResolvers();\n this._extractTextPromises[i] = promise;\n deferred = deferred.then(async () => {\n if (pdfDoc !== this._pdfDocument) {\n resolve();\n return;\n }\n await pdfDoc.getPage(i + 1).then(pdfPage => pdfPage.getTextContent(textOptions)).then(textContent => {\n const strBuf = [];\n for (const textItem of textContent.items) {\n strBuf.push(textItem.str);\n if (textItem.hasEOL) {\n strBuf.push(\"\\n\");\n }\n }\n [this._pageContents[i], this._pageDiffs[i], this._hasDiacritics[i]] = normalize(strBuf.join(\"\"));\n resolve();\n }, reason => {\n console.error(`Unable to get text content for page ${i + 1}`, reason);\n this._pageContents[i] = \"\";\n this._pageDiffs[i] = null;\n this._hasDiacritics[i] = false;\n resolve();\n });\n });\n }\n }\n #updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n #updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n #nextMatch() {\n const previous = this.#state.findPrevious;\n const currentPageIndex = this._linkService.page - 1;\n const numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this.#visitedPagesCount = 0;\n this._matchesCountTotal = 0;\n this.#updateAllPages();\n for (let i = 0; i < numPages; i++) {\n if (this._pendingFindMatches.has(i)) {\n continue;\n }\n this._pendingFindMatches.add(i);\n this._extractTextPromises[i].then(() => {\n this._pendingFindMatches.delete(i);\n this.#calculateMatch(i);\n });\n }\n }\n const query = this.#query;\n if (query.length === 0) {\n this.#updateUIState(FindState.FOUND);\n return;\n }\n if (this._resumePageIdx) {\n return;\n }\n const offset = this._offset;\n this._pagesToSearch = numPages;\n if (offset.matchIdx !== null) {\n const numPageMatches = this._pageMatches[offset.pageIdx].length;\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n this.#updateMatch(true);\n return;\n }\n this.#advanceOffsetPage(previous);\n }\n this.#nextPageMatch();\n }\n #matchesReady(matches) {\n const offset = this._offset;\n const numMatches = matches.length;\n const previous = this.#state.findPrevious;\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n this.#updateMatch(true);\n return true;\n }\n this.#advanceOffsetPage(previous);\n if (offset.wrapped) {\n offset.matchIdx = null;\n if (this._pagesToSearch < 0) {\n this.#updateMatch(false);\n return true;\n }\n }\n return false;\n }\n #nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n let matches = null;\n do {\n const pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this.#matchesReady(matches));\n }\n #advanceOffsetPage(previous) {\n const offset = this._offset;\n const numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n #updateMatch(found = false) {\n let state = FindState.NOT_FOUND;\n const wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n if (found) {\n const previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this.#updatePage(previousPage);\n }\n }\n this.#updateUIState(state, this.#state.findPrevious);\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n this.#updatePage(this._selected.pageIdx);\n }\n }\n #onFindBarClose(evt) {\n const pdfDocument = this._pdfDocument;\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n if (this._resumePageIdx) {\n this._resumePageIdx = null;\n this._dirtyMatch = true;\n }\n this.#updateUIState(FindState.FOUND);\n this._highlightMatches = false;\n this.#updateAllPages();\n });\n }\n #requestMatchesCount() {\n const {\n pageIdx,\n matchIdx\n } = this._selected;\n let current = 0,\n total = this._matchesCountTotal;\n if (matchIdx !== -1) {\n for (let i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i]?.length || 0;\n }\n current += matchIdx + 1;\n }\n if (current < 1 || current > total) {\n current = total = 0;\n }\n return {\n current,\n total\n };\n }\n #updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this.#requestMatchesCount()\n });\n }\n #updateUIState(state, previous = false) {\n if (!this.#updateMatchesCountOnProgress && (this.#visitedPagesCount !== this._linkService.pagesCount || state === FindState.PENDING)) {\n return;\n }\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state,\n previous,\n entireWord: this.#state?.entireWord ?? null,\n matchesCount: this.#requestMatchesCount(),\n rawQuery: this.#state?.query ?? null\n });\n }\n}\n\n;// ./web/pdf_link_service.js\n\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nconst LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nclass PDFLinkService {\n externalLinkEnabled = true;\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n ignoreDestinationZoom = false\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n }\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n }\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n get page() {\n return this.pdfDocument ? this.pdfViewer.currentPageNumber : 1;\n }\n set page(value) {\n if (this.pdfDocument) {\n this.pdfViewer.currentPageNumber = value;\n }\n }\n get rotation() {\n return this.pdfDocument ? this.pdfViewer.pagesRotation : 0;\n }\n set rotation(value) {\n if (this.pdfDocument) {\n this.pdfViewer.pagesRotation = value;\n }\n }\n get isInPresentationMode() {\n return this.pdfDocument ? this.pdfViewer.isInPresentationMode : false;\n }\n async goToDestination(dest) {\n if (!this.pdfDocument) {\n return;\n }\n let namedDest, explicitDest, pageNumber;\n if (typeof dest === \"string\") {\n namedDest = dest;\n explicitDest = await this.pdfDocument.getDestination(dest);\n } else {\n namedDest = null;\n explicitDest = await dest;\n }\n if (!Array.isArray(explicitDest)) {\n console.error(`goToDestination: \"${explicitDest}\" is not a valid destination array, for dest=\"${dest}\".`);\n return;\n }\n const [destRef] = explicitDest;\n if (destRef && typeof destRef === \"object\") {\n pageNumber = this.pdfDocument.cachedPageNumber(destRef);\n if (!pageNumber) {\n try {\n pageNumber = (await this.pdfDocument.getPageIndex(destRef)) + 1;\n } catch {\n console.error(`goToDestination: \"${destRef}\" is not a valid page reference, for dest=\"${dest}\".`);\n return;\n }\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n }\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(`goToDestination: \"${pageNumber}\" is not a valid page number, for dest=\"${dest}\".`);\n return;\n }\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({\n namedDest,\n explicitDest,\n pageNumber\n });\n }\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom\n });\n const ac = new AbortController();\n this.eventBus._on(\"textlayerrendered\", evt => {\n if (evt.pageNumber === pageNumber) {\n evt.source.textLayer.div.focus();\n ac.abort();\n }\n }, {\n signal: ac.signal\n });\n }\n goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n const pageNumber = typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`PDFLinkService.goToPage: \"${val}\" is not a valid page.`);\n return;\n }\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n this.pdfViewer.scrollPageIntoView({\n pageNumber\n });\n }\n goToXY(pageNumber, x, y, options = {}) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: [null, {\n name: \"XYZ\"\n }, x, y],\n ignoreDestinationZoom: true,\n ...options\n });\n }\n addLinkAttributes(link, url, newWindow = false) {\n if (!url || typeof url !== \"string\") {\n throw new Error('A valid \"url\" parameter must provided.');\n }\n const target = newWindow ? LinkTarget.BLANK : this.externalLinkTarget,\n rel = this.externalLinkRel;\n if (this.externalLinkEnabled) {\n link.href = link.title = url;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${url}`;\n link.onclick = () => false;\n }\n let targetStr = \"\";\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n }\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n }\n return this.getAnchorUrl(\"\");\n }\n getAnchorUrl(anchor) {\n return this.baseUrl ? this.baseUrl + anchor : anchor;\n }\n setHash(hash) {\n if (!this.pdfDocument) {\n return;\n }\n let pageNumber, dest;\n if (hash.includes(\"=\")) {\n const params = parseQueryString(hash);\n if (params.has(\"search\")) {\n const query = params.get(\"search\").replaceAll('\"', \"\"),\n phrase = params.get(\"phrase\") === \"true\";\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: phrase ? query : query.match(/\\S+/g)\n });\n }\n if (params.has(\"page\")) {\n pageNumber = params.get(\"page\") | 0 || 1;\n }\n if (params.has(\"zoom\")) {\n const zoomArgs = params.get(\"zoom\").split(\",\");\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(`PDFLinkService.setHash: \"${zoomArg}\" is not a valid zoom value.`);\n }\n }\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n if (params.has(\"pagemode\")) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.get(\"pagemode\")\n });\n }\n if (params.has(\"nameddest\")) {\n this.goToDestination(params.get(\"nameddest\"));\n }\n return;\n }\n dest = unescape(hash);\n try {\n dest = JSON.parse(dest);\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch {}\n if (typeof dest === \"string\" || isValidExplicitDest(dest)) {\n this.goToDestination(dest);\n return;\n }\n console.error(`PDFLinkService.setHash: \"${unescape(hash)}\" is not a valid destination.`);\n }\n executeNamedAction(action) {\n if (!this.pdfDocument) {\n return;\n }\n switch (action) {\n case \"GoBack\":\n this.pdfHistory?.back();\n break;\n case \"GoForward\":\n this.pdfHistory?.forward();\n break;\n case \"NextPage\":\n this.pdfViewer.nextPage();\n break;\n case \"PrevPage\":\n this.pdfViewer.previousPage();\n break;\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n case \"FirstPage\":\n this.page = 1;\n break;\n default:\n break;\n }\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action\n });\n }\n async executeSetOCGState(action) {\n if (!this.pdfDocument) {\n return;\n }\n const pdfDocument = this.pdfDocument,\n optionalContentConfig = await this.pdfViewer.optionalContentConfigPromise;\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n optionalContentConfig.setOCGState(action);\n this.pdfViewer.optionalContentConfigPromise = Promise.resolve(optionalContentConfig);\n }\n}\nclass SimpleLinkService extends PDFLinkService {\n setDocument(pdfDocument, baseUrl = null) {}\n}\n\n;// ./web/annotation_layer_builder.js\n\n\nclass AnnotationLayerBuilder {\n #annotations = null;\n #commentManager = null;\n #externalHide = false;\n #onAppend = null;\n #eventAbortController = null;\n #linksInjected = false;\n constructor({\n pdfPage,\n linkService,\n downloadManager,\n annotationStorage = null,\n imageResourcesPath = \"\",\n renderForms = true,\n enableComment = false,\n commentManager = null,\n enableScripting = false,\n hasJSActionsPromise = null,\n fieldObjectsPromise = null,\n annotationCanvasMap = null,\n accessibilityManager = null,\n annotationEditorUIManager = null,\n onAppend = null\n }) {\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderForms = renderForms;\n this.annotationStorage = annotationStorage;\n this.enableComment = enableComment;\n this.#commentManager = commentManager;\n this.enableScripting = enableScripting;\n this._hasJSActionsPromise = hasJSActionsPromise || Promise.resolve(false);\n this._fieldObjectsPromise = fieldObjectsPromise || Promise.resolve(null);\n this._annotationCanvasMap = annotationCanvasMap;\n this._accessibilityManager = accessibilityManager;\n this._annotationEditorUIManager = annotationEditorUIManager;\n this.#onAppend = onAppend;\n this.annotationLayer = null;\n this.div = null;\n this._cancelled = false;\n this._eventBus = linkService.eventBus;\n }\n async render({\n viewport,\n intent = \"display\",\n structTreeLayer = null\n }) {\n if (this.div) {\n if (this._cancelled || !this.annotationLayer) {\n return;\n }\n this.annotationLayer.update({\n viewport: viewport.clone({\n dontFlip: true\n })\n });\n return;\n }\n const [annotations, hasJSActions, fieldObjects] = await Promise.all([this.pdfPage.getAnnotations({\n intent\n }), this._hasJSActionsPromise, this._fieldObjectsPromise]);\n if (this._cancelled) {\n return;\n }\n const div = this.div = document.createElement(\"div\");\n div.className = \"annotationLayer\";\n this.#onAppend?.(div);\n this.#initAnnotationLayer(viewport, structTreeLayer);\n if (annotations.length === 0) {\n this.#annotations = annotations;\n setLayerDimensions(this.div, viewport);\n return;\n }\n await this.annotationLayer.render({\n annotations,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.renderForms,\n downloadManager: this.downloadManager,\n enableComment: this.enableComment,\n enableScripting: this.enableScripting,\n hasJSActions,\n fieldObjects\n });\n this.#annotations = annotations;\n if (this.linkService.isInPresentationMode) {\n this.#updatePresentationModeState(PresentationModeState.FULLSCREEN);\n }\n if (!this.#eventAbortController) {\n this.#eventAbortController = new AbortController();\n this._eventBus?._on(\"presentationmodechanged\", evt => {\n this.#updatePresentationModeState(evt.state);\n }, {\n signal: this.#eventAbortController.signal\n });\n }\n }\n #initAnnotationLayer(viewport, structTreeLayer) {\n this.annotationLayer = new AnnotationLayer({\n div: this.div,\n accessibilityManager: this._accessibilityManager,\n annotationCanvasMap: this._annotationCanvasMap,\n annotationEditorUIManager: this._annotationEditorUIManager,\n annotationStorage: this.annotationStorage,\n page: this.pdfPage,\n viewport: viewport.clone({\n dontFlip: true\n }),\n structTreeLayer,\n commentManager: this.#commentManager,\n linkService: this.linkService\n });\n }\n cancel() {\n this._cancelled = true;\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n }\n hide(internal = false) {\n this.#externalHide = !internal;\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n hasEditableAnnotations() {\n return !!this.annotationLayer?.hasEditableAnnotations();\n }\n async injectLinkAnnotations(inferredLinks) {\n if (this.#annotations === null) {\n throw new Error(\"`render` method must be called before `injectLinkAnnotations`.\");\n }\n if (this._cancelled || this.#linksInjected) {\n return;\n }\n this.#linksInjected = true;\n const newLinks = this.#annotations.length ? this.#checkInferredLinks(inferredLinks) : inferredLinks;\n if (!newLinks.length) {\n return;\n }\n await this.annotationLayer.addLinkAnnotations(newLinks);\n if (!this.#externalHide) {\n this.div.hidden = false;\n }\n }\n #updatePresentationModeState(state) {\n if (!this.div) {\n return;\n }\n let disableFormElements = false;\n switch (state) {\n case PresentationModeState.FULLSCREEN:\n disableFormElements = true;\n break;\n case PresentationModeState.NORMAL:\n break;\n default:\n return;\n }\n for (const section of this.div.childNodes) {\n if (section.hasAttribute(\"data-internal-link\")) {\n continue;\n }\n section.inert = disableFormElements;\n }\n }\n #checkInferredLinks(inferredLinks) {\n function annotationRects(annot) {\n if (!annot.quadPoints) {\n return [annot.rect];\n }\n const rects = [];\n for (let i = 2, ii = annot.quadPoints.length; i < ii; i += 8) {\n const trX = annot.quadPoints[i];\n const trY = annot.quadPoints[i + 1];\n const blX = annot.quadPoints[i + 2];\n const blY = annot.quadPoints[i + 3];\n rects.push([blX, blY, trX, trY]);\n }\n return rects;\n }\n function intersectAnnotations(annot1, annot2) {\n const intersections = [];\n const annot1Rects = annotationRects(annot1);\n const annot2Rects = annotationRects(annot2);\n for (const rect1 of annot1Rects) {\n for (const rect2 of annot2Rects) {\n const intersection = Util.intersect(rect1, rect2);\n if (intersection) {\n intersections.push(intersection);\n }\n }\n }\n return intersections;\n }\n function areaRects(rects) {\n let totalArea = 0;\n for (const rect of rects) {\n totalArea += Math.abs((rect[2] - rect[0]) * (rect[3] - rect[1]));\n }\n return totalArea;\n }\n return inferredLinks.filter(link => {\n let linkAreaRects;\n for (const annotation of this.#annotations) {\n if (annotation.annotationType !== AnnotationType.LINK || !annotation.url) {\n continue;\n }\n const intersections = intersectAnnotations(annotation, link);\n if (intersections.length === 0) {\n continue;\n }\n linkAreaRects ??= areaRects(annotationRects(link));\n if (areaRects(intersections) / linkAreaRects > 0.5) {\n return false;\n }\n }\n return true;\n });\n }\n}\n\n;// ./web/download_manager.js\n\nfunction download(blobUrl, filename) {\n const a = document.createElement(\"a\");\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n a.href = blobUrl;\n a.target = \"_parent\";\n if (\"download\" in a) {\n a.download = filename;\n }\n (document.body || document.documentElement).append(a);\n a.click();\n a.remove();\n}\nclass DownloadManager {\n #openBlobUrls = new WeakMap();\n downloadData(data, filename, contentType) {\n const blobUrl = URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n download(blobUrl, filename);\n }\n openOrDownloadData(data, filename, dest = null) {\n const isPdfData = isPdfFile(filename);\n const contentType = isPdfData ? \"application/pdf\" : \"\";\n this.downloadData(data, filename, contentType);\n return false;\n }\n download(data, url, filename) {\n let blobUrl;\n if (data) {\n blobUrl = URL.createObjectURL(new Blob([data], {\n type: \"application/pdf\"\n }));\n } else {\n if (!createValidAbsoluteUrl(url, \"http://example.com\")) {\n console.error(`download - not a valid URL: ${url}`);\n return;\n }\n blobUrl = url + \"#pdfjs.action=download\";\n }\n download(blobUrl, filename);\n }\n}\n\n;// ./web/event_utils.js\nconst WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nasync function waitOnEventOrTimeout({\n target,\n name,\n delay = 0\n}) {\n if (typeof target !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n const {\n promise,\n resolve\n } = Promise.withResolvers();\n const ac = new AbortController();\n function handler(type) {\n ac.abort();\n clearTimeout(timeout);\n resolve(type);\n }\n const evtMethod = target instanceof EventBus ? \"_on\" : \"addEventListener\";\n target[evtMethod](name, handler.bind(null, WaitOnType.EVENT), {\n signal: ac.signal\n });\n const timeout = setTimeout(handler.bind(null, WaitOnType.TIMEOUT), delay);\n return promise;\n}\nclass EventBus {\n #listeners = Object.create(null);\n on(eventName, listener, options = null) {\n this._on(eventName, listener, {\n external: true,\n once: options?.once,\n signal: options?.signal\n });\n }\n off(eventName, listener, options = null) {\n this._off(eventName, listener);\n }\n dispatch(eventName, data) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n let externalListeners;\n for (const {\n listener,\n external,\n once\n } of eventListeners.slice(0)) {\n if (once) {\n this._off(eventName, listener);\n }\n if (external) {\n (externalListeners ||= []).push(listener);\n continue;\n }\n listener(data);\n }\n if (externalListeners) {\n for (const listener of externalListeners) {\n listener(data);\n }\n externalListeners = null;\n }\n }\n _on(eventName, listener, options = null) {\n let rmAbort = null;\n if (options?.signal instanceof AbortSignal) {\n const {\n signal\n } = options;\n if (signal.aborted) {\n console.error(\"Cannot use an `aborted` signal.\");\n return;\n }\n const onAbort = () => this._off(eventName, listener);\n rmAbort = () => signal.removeEventListener(\"abort\", onAbort);\n signal.addEventListener(\"abort\", onAbort);\n }\n const eventListeners = this.#listeners[eventName] ||= [];\n eventListeners.push({\n listener,\n external: options?.external === true,\n once: options?.once === true,\n rmAbort\n });\n }\n _off(eventName, listener, options = null) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners) {\n return;\n }\n for (let i = 0, ii = eventListeners.length; i < ii; i++) {\n const evt = eventListeners[i];\n if (evt.listener === listener) {\n evt.rmAbort?.();\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n}\nclass FirefoxEventBus extends EventBus {\n #externalServices;\n #globalEventNames;\n #isInAutomation;\n constructor(globalEventNames, externalServices, isInAutomation) {\n super();\n this.#globalEventNames = globalEventNames;\n this.#externalServices = externalServices;\n this.#isInAutomation = isInAutomation;\n }\n dispatch(eventName, data) {\n throw new Error(\"Not implemented: FirefoxEventBus.dispatch\");\n }\n}\n\n;// ./node_modules/@fluent/bundle/esm/types.js\nclass FluentType {\n constructor(value) {\n this.value = value;\n }\n valueOf() {\n return this.value;\n }\n}\nclass FluentNone extends FluentType {\n constructor(value = \"???\") {\n super(value);\n }\n toString(scope) {\n return `{${this.value}}`;\n }\n}\nclass FluentNumber extends FluentType {\n constructor(value, opts = {}) {\n super(value);\n this.opts = opts;\n }\n toString(scope) {\n if (scope) {\n try {\n const nf = scope.memoizeIntlObject(Intl.NumberFormat, this.opts);\n return nf.format(this.value);\n } catch (err) {\n scope.reportError(err);\n }\n }\n return this.value.toString(10);\n }\n}\nclass FluentDateTime extends FluentType {\n static supportsValue(value) {\n if (typeof value === \"number\") return true;\n if (value instanceof Date) return true;\n if (value instanceof FluentType) return FluentDateTime.supportsValue(value.valueOf());\n if (\"Temporal\" in globalThis) {\n const _Temporal = globalThis.Temporal;\n if (value instanceof _Temporal.Instant || value instanceof _Temporal.PlainDateTime || value instanceof _Temporal.PlainDate || value instanceof _Temporal.PlainMonthDay || value instanceof _Temporal.PlainTime || value instanceof _Temporal.PlainYearMonth) {\n return true;\n }\n }\n return false;\n }\n constructor(value, opts = {}) {\n if (value instanceof FluentDateTime) {\n opts = {\n ...value.opts,\n ...opts\n };\n value = value.value;\n } else if (value instanceof FluentType) {\n value = value.valueOf();\n }\n if (typeof value === \"object\" && \"calendarId\" in value && opts.calendar === undefined) {\n opts = {\n ...opts,\n calendar: value.calendarId\n };\n }\n super(value);\n this.opts = opts;\n }\n [Symbol.toPrimitive](hint) {\n return hint === \"string\" ? this.toString() : this.toNumber();\n }\n toNumber() {\n const value = this.value;\n if (typeof value === \"number\") return value;\n if (value instanceof Date) return value.getTime();\n if (\"epochMilliseconds\" in value) {\n return value.epochMilliseconds;\n }\n if (\"toZonedDateTime\" in value) {\n return value.toZonedDateTime(\"UTC\").epochMilliseconds;\n }\n throw new TypeError(\"Unwrapping a non-number value as a number\");\n }\n toString(scope) {\n if (scope) {\n try {\n const dtf = scope.memoizeIntlObject(Intl.DateTimeFormat, this.opts);\n return dtf.format(this.value);\n } catch (err) {\n scope.reportError(err);\n }\n }\n if (typeof this.value === \"number\" || this.value instanceof Date) {\n return new Date(this.value).toISOString();\n }\n return this.value.toString();\n }\n}\n;// ./node_modules/@fluent/bundle/esm/resolver.js\n\nconst MAX_PLACEABLES = 100;\nconst FSI = \"\\u2068\";\nconst PDI = \"\\u2069\";\nfunction match(scope, selector, key) {\n if (key === selector) {\n return true;\n }\n if (key instanceof FluentNumber && selector instanceof FluentNumber && key.value === selector.value) {\n return true;\n }\n if (selector instanceof FluentNumber && typeof key === \"string\") {\n let category = scope.memoizeIntlObject(Intl.PluralRules, selector.opts).select(selector.value);\n if (key === category) {\n return true;\n }\n }\n return false;\n}\nfunction getDefault(scope, variants, star) {\n if (variants[star]) {\n return resolvePattern(scope, variants[star].value);\n }\n scope.reportError(new RangeError(\"No default\"));\n return new FluentNone();\n}\nfunction getArguments(scope, args) {\n const positional = [];\n const named = Object.create(null);\n for (const arg of args) {\n if (arg.type === \"narg\") {\n named[arg.name] = resolveExpression(scope, arg.value);\n } else {\n positional.push(resolveExpression(scope, arg));\n }\n }\n return {\n positional,\n named\n };\n}\nfunction resolveExpression(scope, expr) {\n switch (expr.type) {\n case \"str\":\n return expr.value;\n case \"num\":\n return new FluentNumber(expr.value, {\n minimumFractionDigits: expr.precision\n });\n case \"var\":\n return resolveVariableReference(scope, expr);\n case \"mesg\":\n return resolveMessageReference(scope, expr);\n case \"term\":\n return resolveTermReference(scope, expr);\n case \"func\":\n return resolveFunctionReference(scope, expr);\n case \"select\":\n return resolveSelectExpression(scope, expr);\n default:\n return new FluentNone();\n }\n}\nfunction resolveVariableReference(scope, {\n name\n}) {\n let arg;\n if (scope.params) {\n if (Object.prototype.hasOwnProperty.call(scope.params, name)) {\n arg = scope.params[name];\n } else {\n return new FluentNone(`$${name}`);\n }\n } else if (scope.args && Object.prototype.hasOwnProperty.call(scope.args, name)) {\n arg = scope.args[name];\n } else {\n scope.reportError(new ReferenceError(`Unknown variable: $${name}`));\n return new FluentNone(`$${name}`);\n }\n if (arg instanceof FluentType) {\n return arg;\n }\n switch (typeof arg) {\n case \"string\":\n return arg;\n case \"number\":\n return new FluentNumber(arg);\n case \"object\":\n if (FluentDateTime.supportsValue(arg)) {\n return new FluentDateTime(arg);\n }\n default:\n scope.reportError(new TypeError(`Variable type not supported: $${name}, ${typeof arg}`));\n return new FluentNone(`$${name}`);\n }\n}\nfunction resolveMessageReference(scope, {\n name,\n attr\n}) {\n const message = scope.bundle._messages.get(name);\n if (!message) {\n scope.reportError(new ReferenceError(`Unknown message: ${name}`));\n return new FluentNone(name);\n }\n if (attr) {\n const attribute = message.attributes[attr];\n if (attribute) {\n return resolvePattern(scope, attribute);\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${name}.${attr}`);\n }\n if (message.value) {\n return resolvePattern(scope, message.value);\n }\n scope.reportError(new ReferenceError(`No value: ${name}`));\n return new FluentNone(name);\n}\nfunction resolveTermReference(scope, {\n name,\n attr,\n args\n}) {\n const id = `-${name}`;\n const term = scope.bundle._terms.get(id);\n if (!term) {\n scope.reportError(new ReferenceError(`Unknown term: ${id}`));\n return new FluentNone(id);\n }\n if (attr) {\n const attribute = term.attributes[attr];\n if (attribute) {\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, attribute);\n scope.params = null;\n return resolved;\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${id}.${attr}`);\n }\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, term.value);\n scope.params = null;\n return resolved;\n}\nfunction resolveFunctionReference(scope, {\n name,\n args\n}) {\n let func = scope.bundle._functions[name];\n if (!func) {\n scope.reportError(new ReferenceError(`Unknown function: ${name}()`));\n return new FluentNone(`${name}()`);\n }\n if (typeof func !== \"function\") {\n scope.reportError(new TypeError(`Function ${name}() is not callable`));\n return new FluentNone(`${name}()`);\n }\n try {\n let resolved = getArguments(scope, args);\n return func(resolved.positional, resolved.named);\n } catch (err) {\n scope.reportError(err);\n return new FluentNone(`${name}()`);\n }\n}\nfunction resolveSelectExpression(scope, {\n selector,\n variants,\n star\n}) {\n let sel = resolveExpression(scope, selector);\n if (sel instanceof FluentNone) {\n return getDefault(scope, variants, star);\n }\n for (const variant of variants) {\n const key = resolveExpression(scope, variant.key);\n if (match(scope, sel, key)) {\n return resolvePattern(scope, variant.value);\n }\n }\n return getDefault(scope, variants, star);\n}\nfunction resolveComplexPattern(scope, ptn) {\n if (scope.dirty.has(ptn)) {\n scope.reportError(new RangeError(\"Cyclic reference\"));\n return new FluentNone();\n }\n scope.dirty.add(ptn);\n const result = [];\n const useIsolating = scope.bundle._useIsolating && ptn.length > 1;\n for (const elem of ptn) {\n if (typeof elem === \"string\") {\n result.push(scope.bundle._transform(elem));\n continue;\n }\n scope.placeables++;\n if (scope.placeables > MAX_PLACEABLES) {\n scope.dirty.delete(ptn);\n throw new RangeError(`Too many placeables expanded: ${scope.placeables}, ` + `max allowed is ${MAX_PLACEABLES}`);\n }\n if (useIsolating) {\n result.push(FSI);\n }\n result.push(resolveExpression(scope, elem).toString(scope));\n if (useIsolating) {\n result.push(PDI);\n }\n }\n scope.dirty.delete(ptn);\n return result.join(\"\");\n}\nfunction resolvePattern(scope, value) {\n if (typeof value === \"string\") {\n return scope.bundle._transform(value);\n }\n return resolveComplexPattern(scope, value);\n}\n;// ./node_modules/@fluent/bundle/esm/scope.js\nclass Scope {\n constructor(bundle, errors, args) {\n this.dirty = new WeakSet();\n this.params = null;\n this.placeables = 0;\n this.bundle = bundle;\n this.errors = errors;\n this.args = args;\n }\n reportError(error) {\n if (!this.errors || !(error instanceof Error)) {\n throw error;\n }\n this.errors.push(error);\n }\n memoizeIntlObject(ctor, opts) {\n let cache = this.bundle._intls.get(ctor);\n if (!cache) {\n cache = {};\n this.bundle._intls.set(ctor, cache);\n }\n let id = JSON.stringify(opts);\n if (!cache[id]) {\n cache[id] = new ctor(this.bundle.locales, opts);\n }\n return cache[id];\n }\n}\n;// ./node_modules/@fluent/bundle/esm/builtins.js\n\nfunction values(opts, allowed) {\n const unwrapped = Object.create(null);\n for (const [name, opt] of Object.entries(opts)) {\n if (allowed.includes(name)) {\n unwrapped[name] = opt.valueOf();\n }\n }\n return unwrapped;\n}\nconst NUMBER_ALLOWED = [\"unitDisplay\", \"currencyDisplay\", \"useGrouping\", \"minimumIntegerDigits\", \"minimumFractionDigits\", \"maximumFractionDigits\", \"minimumSignificantDigits\", \"maximumSignificantDigits\"];\nfunction NUMBER(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`NUMBER(${arg.valueOf()})`);\n }\n if (arg instanceof FluentNumber) {\n return new FluentNumber(arg.valueOf(), {\n ...arg.opts,\n ...values(opts, NUMBER_ALLOWED)\n });\n }\n if (arg instanceof FluentDateTime) {\n return new FluentNumber(arg.toNumber(), {\n ...values(opts, NUMBER_ALLOWED)\n });\n }\n throw new TypeError(\"Invalid argument to NUMBER\");\n}\nconst DATETIME_ALLOWED = [\"dateStyle\", \"timeStyle\", \"fractionalSecondDigits\", \"dayPeriod\", \"hour12\", \"weekday\", \"era\", \"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"timeZoneName\"];\nfunction DATETIME(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`DATETIME(${arg.valueOf()})`);\n }\n if (arg instanceof FluentDateTime || arg instanceof FluentNumber) {\n return new FluentDateTime(arg, values(opts, DATETIME_ALLOWED));\n }\n throw new TypeError(\"Invalid argument to DATETIME\");\n}\n;// ./node_modules/@fluent/bundle/esm/memoizer.js\nconst cache = new Map();\nfunction getMemoizerForLocale(locales) {\n const stringLocale = Array.isArray(locales) ? locales.join(\" \") : locales;\n let memoizer = cache.get(stringLocale);\n if (memoizer === undefined) {\n memoizer = new Map();\n cache.set(stringLocale, memoizer);\n }\n return memoizer;\n}\n;// ./node_modules/@fluent/bundle/esm/bundle.js\n\n\n\n\n\nclass FluentBundle {\n constructor(locales, {\n functions,\n useIsolating = true,\n transform = v => v\n } = {}) {\n this._terms = new Map();\n this._messages = new Map();\n this.locales = Array.isArray(locales) ? locales : [locales];\n this._functions = {\n NUMBER: NUMBER,\n DATETIME: DATETIME,\n ...functions\n };\n this._useIsolating = useIsolating;\n this._transform = transform;\n this._intls = getMemoizerForLocale(locales);\n }\n hasMessage(id) {\n return this._messages.has(id);\n }\n getMessage(id) {\n return this._messages.get(id);\n }\n addResource(res, {\n allowOverrides = false\n } = {}) {\n const errors = [];\n for (let i = 0; i < res.body.length; i++) {\n let entry = res.body[i];\n if (entry.id.startsWith(\"-\")) {\n if (allowOverrides === false && this._terms.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing term: \"${entry.id}\"`));\n continue;\n }\n this._terms.set(entry.id, entry);\n } else {\n if (allowOverrides === false && this._messages.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing message: \"${entry.id}\"`));\n continue;\n }\n this._messages.set(entry.id, entry);\n }\n }\n return errors;\n }\n formatPattern(pattern, args = null, errors = null) {\n if (typeof pattern === \"string\") {\n return this._transform(pattern);\n }\n let scope = new Scope(this, errors, args);\n try {\n let value = resolveComplexPattern(scope, pattern);\n return value.toString(scope);\n } catch (err) {\n if (scope.errors && err instanceof Error) {\n scope.errors.push(err);\n return new FluentNone().toString(scope);\n }\n throw err;\n }\n }\n}\n;// ./node_modules/@fluent/bundle/esm/resource.js\nconst RE_MESSAGE_START = /^(-?[a-zA-Z][\\w-]*) *= */gm;\nconst RE_ATTRIBUTE_START = /\\.([a-zA-Z][\\w-]*) *= */y;\nconst RE_VARIANT_START = /\\*?\\[/y;\nconst RE_NUMBER_LITERAL = /(-?[0-9]+(?:\\.([0-9]+))?)/y;\nconst RE_IDENTIFIER = /([a-zA-Z][\\w-]*)/y;\nconst RE_REFERENCE = /([$-])?([a-zA-Z][\\w-]*)(?:\\.([a-zA-Z][\\w-]*))?/y;\nconst RE_FUNCTION_NAME = /^[A-Z][A-Z0-9_-]*$/;\nconst RE_TEXT_RUN = /([^{}\\n\\r]+)/y;\nconst RE_STRING_RUN = /([^\\\\\"\\n\\r]*)/y;\nconst RE_STRING_ESCAPE = /\\\\([\\\\\"])/y;\nconst RE_UNICODE_ESCAPE = /\\\\u([a-fA-F0-9]{4})|\\\\U([a-fA-F0-9]{6})/y;\nconst RE_LEADING_NEWLINES = /^\\n+/;\nconst RE_TRAILING_SPACES = / +$/;\nconst RE_BLANK_LINES = / *\\r?\\n/g;\nconst RE_INDENT = /( *)$/;\nconst TOKEN_BRACE_OPEN = /{\\s*/y;\nconst TOKEN_BRACE_CLOSE = /\\s*}/y;\nconst TOKEN_BRACKET_OPEN = /\\[\\s*/y;\nconst TOKEN_BRACKET_CLOSE = /\\s*] */y;\nconst TOKEN_PAREN_OPEN = /\\s*\\(\\s*/y;\nconst TOKEN_ARROW = /\\s*->\\s*/y;\nconst TOKEN_COLON = /\\s*:\\s*/y;\nconst TOKEN_COMMA = /\\s*,?\\s*/y;\nconst TOKEN_BLANK = /\\s+/y;\nclass FluentResource {\n constructor(source) {\n this.body = [];\n RE_MESSAGE_START.lastIndex = 0;\n let cursor = 0;\n while (true) {\n let next = RE_MESSAGE_START.exec(source);\n if (next === null) {\n break;\n }\n cursor = RE_MESSAGE_START.lastIndex;\n try {\n this.body.push(parseMessage(next[1]));\n } catch (err) {\n if (err instanceof SyntaxError) {\n continue;\n }\n throw err;\n }\n }\n function test(re) {\n re.lastIndex = cursor;\n return re.test(source);\n }\n function consumeChar(char, errorClass) {\n if (source[cursor] === char) {\n cursor++;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${char}`);\n }\n return false;\n }\n function consumeToken(re, errorClass) {\n if (test(re)) {\n cursor = re.lastIndex;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${re.toString()}`);\n }\n return false;\n }\n function match(re) {\n re.lastIndex = cursor;\n let result = re.exec(source);\n if (result === null) {\n throw new SyntaxError(`Expected ${re.toString()}`);\n }\n cursor = re.lastIndex;\n return result;\n }\n function match1(re) {\n return match(re)[1];\n }\n function parseMessage(id) {\n let value = parsePattern();\n let attributes = parseAttributes();\n if (value === null && Object.keys(attributes).length === 0) {\n throw new SyntaxError(\"Expected message value or attributes\");\n }\n return {\n id,\n value,\n attributes\n };\n }\n function parseAttributes() {\n let attrs = Object.create(null);\n while (test(RE_ATTRIBUTE_START)) {\n let name = match1(RE_ATTRIBUTE_START);\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected attribute value\");\n }\n attrs[name] = value;\n }\n return attrs;\n }\n function parsePattern() {\n let first;\n if (test(RE_TEXT_RUN)) {\n first = match1(RE_TEXT_RUN);\n }\n if (source[cursor] === \"{\" || source[cursor] === \"}\") {\n return parsePatternElements(first ? [first] : [], Infinity);\n }\n let indent = parseIndent();\n if (indent) {\n if (first) {\n return parsePatternElements([first, indent], indent.length);\n }\n indent.value = trim(indent.value, RE_LEADING_NEWLINES);\n return parsePatternElements([indent], indent.length);\n }\n if (first) {\n return trim(first, RE_TRAILING_SPACES);\n }\n return null;\n }\n function parsePatternElements(elements = [], commonIndent) {\n while (true) {\n if (test(RE_TEXT_RUN)) {\n elements.push(match1(RE_TEXT_RUN));\n continue;\n }\n if (source[cursor] === \"{\") {\n elements.push(parsePlaceable());\n continue;\n }\n if (source[cursor] === \"}\") {\n throw new SyntaxError(\"Unbalanced closing brace\");\n }\n let indent = parseIndent();\n if (indent) {\n elements.push(indent);\n commonIndent = Math.min(commonIndent, indent.length);\n continue;\n }\n break;\n }\n let lastIndex = elements.length - 1;\n let lastElement = elements[lastIndex];\n if (typeof lastElement === \"string\") {\n elements[lastIndex] = trim(lastElement, RE_TRAILING_SPACES);\n }\n let baked = [];\n for (let element of elements) {\n if (element instanceof Indent) {\n element = element.value.slice(0, element.value.length - commonIndent);\n }\n if (element) {\n baked.push(element);\n }\n }\n return baked;\n }\n function parsePlaceable() {\n consumeToken(TOKEN_BRACE_OPEN, SyntaxError);\n let selector = parseInlineExpression();\n if (consumeToken(TOKEN_BRACE_CLOSE)) {\n return selector;\n }\n if (consumeToken(TOKEN_ARROW)) {\n let variants = parseVariants();\n consumeToken(TOKEN_BRACE_CLOSE, SyntaxError);\n return {\n type: \"select\",\n selector,\n ...variants\n };\n }\n throw new SyntaxError(\"Unclosed placeable\");\n }\n function parseInlineExpression() {\n if (source[cursor] === \"{\") {\n return parsePlaceable();\n }\n if (test(RE_REFERENCE)) {\n let [, sigil, name, attr = null] = match(RE_REFERENCE);\n if (sigil === \"$\") {\n return {\n type: \"var\",\n name\n };\n }\n if (consumeToken(TOKEN_PAREN_OPEN)) {\n let args = parseArguments();\n if (sigil === \"-\") {\n return {\n type: \"term\",\n name,\n attr,\n args\n };\n }\n if (RE_FUNCTION_NAME.test(name)) {\n return {\n type: \"func\",\n name,\n args\n };\n }\n throw new SyntaxError(\"Function names must be all upper-case\");\n }\n if (sigil === \"-\") {\n return {\n type: \"term\",\n name,\n attr,\n args: []\n };\n }\n return {\n type: \"mesg\",\n name,\n attr\n };\n }\n return parseLiteral();\n }\n function parseArguments() {\n let args = [];\n while (true) {\n switch (source[cursor]) {\n case \")\":\n cursor++;\n return args;\n case undefined:\n throw new SyntaxError(\"Unclosed argument list\");\n }\n args.push(parseArgument());\n consumeToken(TOKEN_COMMA);\n }\n }\n function parseArgument() {\n let expr = parseInlineExpression();\n if (expr.type !== \"mesg\") {\n return expr;\n }\n if (consumeToken(TOKEN_COLON)) {\n return {\n type: \"narg\",\n name: expr.name,\n value: parseLiteral()\n };\n }\n return expr;\n }\n function parseVariants() {\n let variants = [];\n let count = 0;\n let star;\n while (test(RE_VARIANT_START)) {\n if (consumeChar(\"*\")) {\n star = count;\n }\n let key = parseVariantKey();\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected variant value\");\n }\n variants[count++] = {\n key,\n value\n };\n }\n if (count === 0) {\n return null;\n }\n if (star === undefined) {\n throw new SyntaxError(\"Expected default variant\");\n }\n return {\n variants,\n star\n };\n }\n function parseVariantKey() {\n consumeToken(TOKEN_BRACKET_OPEN, SyntaxError);\n let key;\n if (test(RE_NUMBER_LITERAL)) {\n key = parseNumberLiteral();\n } else {\n key = {\n type: \"str\",\n value: match1(RE_IDENTIFIER)\n };\n }\n consumeToken(TOKEN_BRACKET_CLOSE, SyntaxError);\n return key;\n }\n function parseLiteral() {\n if (test(RE_NUMBER_LITERAL)) {\n return parseNumberLiteral();\n }\n if (source[cursor] === '\"') {\n return parseStringLiteral();\n }\n throw new SyntaxError(\"Invalid expression\");\n }\n function parseNumberLiteral() {\n let [, value, fraction = \"\"] = match(RE_NUMBER_LITERAL);\n let precision = fraction.length;\n return {\n type: \"num\",\n value: parseFloat(value),\n precision\n };\n }\n function parseStringLiteral() {\n consumeChar('\"', SyntaxError);\n let value = \"\";\n while (true) {\n value += match1(RE_STRING_RUN);\n if (source[cursor] === \"\\\\\") {\n value += parseEscapeSequence();\n continue;\n }\n if (consumeChar('\"')) {\n return {\n type: \"str\",\n value\n };\n }\n throw new SyntaxError(\"Unclosed string literal\");\n }\n }\n function parseEscapeSequence() {\n if (test(RE_STRING_ESCAPE)) {\n return match1(RE_STRING_ESCAPE);\n }\n if (test(RE_UNICODE_ESCAPE)) {\n let [, codepoint4, codepoint6] = match(RE_UNICODE_ESCAPE);\n let codepoint = parseInt(codepoint4 || codepoint6, 16);\n return codepoint <= 0xd7ff || 0xe000 <= codepoint ? String.fromCodePoint(codepoint) : \"�\";\n }\n throw new SyntaxError(\"Unknown escape sequence\");\n }\n function parseIndent() {\n let start = cursor;\n consumeToken(TOKEN_BLANK);\n switch (source[cursor]) {\n case \".\":\n case \"[\":\n case \"*\":\n case \"}\":\n case undefined:\n return false;\n case \"{\":\n return makeIndent(source.slice(start, cursor));\n }\n if (source[cursor - 1] === \" \") {\n return makeIndent(source.slice(start, cursor));\n }\n return false;\n }\n function trim(text, re) {\n return text.replace(re, \"\");\n }\n function makeIndent(blank) {\n let value = blank.replace(RE_BLANK_LINES, \"\\n\");\n let length = RE_INDENT.exec(blank)[1].length;\n return new Indent(value, length);\n }\n }\n}\nclass Indent {\n constructor(value, length) {\n this.value = value;\n this.length = length;\n }\n}\n;// ./node_modules/@fluent/bundle/esm/index.js\n\n\n\n;// ./node_modules/@fluent/dom/esm/overlay.js\nconst reOverlay = /<|&#?\\w+;/;\nconst TEXT_LEVEL_ELEMENTS = {\n \"http://www.w3.org/1999/xhtml\": [\"em\", \"strong\", \"small\", \"s\", \"cite\", \"q\", \"dfn\", \"abbr\", \"data\", \"time\", \"code\", \"var\", \"samp\", \"kbd\", \"sub\", \"sup\", \"i\", \"b\", \"u\", \"mark\", \"bdi\", \"bdo\", \"span\", \"br\", \"wbr\"]\n};\nconst LOCALIZABLE_ATTRIBUTES = {\n \"http://www.w3.org/1999/xhtml\": {\n global: [\"title\", \"aria-description\", \"aria-label\", \"aria-valuetext\"],\n a: [\"download\"],\n area: [\"download\", \"alt\"],\n input: [\"alt\", \"placeholder\"],\n menuitem: [\"label\"],\n menu: [\"label\"],\n optgroup: [\"label\"],\n option: [\"label\"],\n track: [\"label\"],\n img: [\"alt\"],\n textarea: [\"placeholder\"],\n th: [\"abbr\"]\n },\n \"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\": {\n global: [\"accesskey\", \"aria-label\", \"aria-valuetext\", \"label\", \"title\", \"tooltiptext\"],\n description: [\"value\"],\n key: [\"key\", \"keycode\"],\n label: [\"value\"],\n textbox: [\"placeholder\", \"value\"]\n }\n};\nfunction translateElement(element, translation) {\n const {\n value\n } = translation;\n if (typeof value === \"string\") {\n if (element.localName === \"title\" && element.namespaceURI === \"http://www.w3.org/1999/xhtml\") {\n element.textContent = value;\n } else if (!reOverlay.test(value)) {\n element.textContent = value;\n } else {\n const templateElement = element.ownerDocument.createElementNS(\"http://www.w3.org/1999/xhtml\", \"template\");\n templateElement.innerHTML = value;\n overlayChildNodes(templateElement.content, element);\n }\n }\n overlayAttributes(translation, element);\n}\nfunction overlayChildNodes(fromFragment, toElement) {\n for (const childNode of fromFragment.childNodes) {\n if (childNode.nodeType === childNode.TEXT_NODE) {\n continue;\n }\n if (childNode.hasAttribute(\"data-l10n-name\")) {\n const sanitized = getNodeForNamedElement(toElement, childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n if (isElementAllowed(childNode)) {\n const sanitized = createSanitizedElement(childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n console.warn(`An element of forbidden type \"${childNode.localName}\" was found in ` + \"the translation. Only safe text-level elements and elements with \" + \"data-l10n-name are allowed.\");\n fromFragment.replaceChild(createTextNodeFromTextContent(childNode), childNode);\n }\n toElement.textContent = \"\";\n toElement.appendChild(fromFragment);\n}\nfunction hasAttribute(attributes, name) {\n if (!attributes) {\n return false;\n }\n for (let attr of attributes) {\n if (attr.name === name) {\n return true;\n }\n }\n return false;\n}\nfunction overlayAttributes(fromElement, toElement) {\n const explicitlyAllowed = toElement.hasAttribute(\"data-l10n-attrs\") ? toElement.getAttribute(\"data-l10n-attrs\").split(\",\").map(i => i.trim()) : null;\n for (const attr of Array.from(toElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) && !hasAttribute(fromElement.attributes, attr.name)) {\n toElement.removeAttribute(attr.name);\n }\n }\n if (!fromElement.attributes) {\n return;\n }\n for (const attr of Array.from(fromElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) && toElement.getAttribute(attr.name) !== attr.value) {\n toElement.setAttribute(attr.name, attr.value);\n }\n }\n}\nfunction getNodeForNamedElement(sourceElement, translatedChild) {\n const childName = translatedChild.getAttribute(\"data-l10n-name\");\n const sourceChild = sourceElement.querySelector(`[data-l10n-name=\"${childName}\"]`);\n if (!sourceChild) {\n console.warn(`An element named \"${childName}\" wasn't found in the source.`);\n return createTextNodeFromTextContent(translatedChild);\n }\n if (sourceChild.localName !== translatedChild.localName) {\n console.warn(`An element named \"${childName}\" was found in the translation ` + `but its type ${translatedChild.localName} didn't match the ` + `element found in the source (${sourceChild.localName}).`);\n return createTextNodeFromTextContent(translatedChild);\n }\n sourceElement.removeChild(sourceChild);\n const clone = sourceChild.cloneNode(false);\n return shallowPopulateUsing(translatedChild, clone);\n}\nfunction createSanitizedElement(element) {\n const clone = element.ownerDocument.createElement(element.localName);\n return shallowPopulateUsing(element, clone);\n}\nfunction createTextNodeFromTextContent(element) {\n return element.ownerDocument.createTextNode(element.textContent);\n}\nfunction isElementAllowed(element) {\n const allowed = TEXT_LEVEL_ELEMENTS[element.namespaceURI];\n return allowed && allowed.includes(element.localName);\n}\nfunction isAttrNameLocalizable(name, element, explicitlyAllowed = null) {\n if (explicitlyAllowed && explicitlyAllowed.includes(name)) {\n return true;\n }\n const allowed = LOCALIZABLE_ATTRIBUTES[element.namespaceURI];\n if (!allowed) {\n return false;\n }\n const attrName = name.toLowerCase();\n const elemName = element.localName;\n if (allowed.global.includes(attrName)) {\n return true;\n }\n if (!allowed[elemName]) {\n return false;\n }\n if (allowed[elemName].includes(attrName)) {\n return true;\n }\n if (element.namespaceURI === \"http://www.w3.org/1999/xhtml\" && elemName === \"input\" && attrName === \"value\") {\n const type = element.type.toLowerCase();\n if (type === \"submit\" || type === \"button\" || type === \"reset\") {\n return true;\n }\n }\n return false;\n}\nfunction shallowPopulateUsing(fromElement, toElement) {\n toElement.textContent = fromElement.textContent;\n overlayAttributes(fromElement, toElement);\n return toElement;\n}\n;// ./node_modules/cached-iterable/src/cached_iterable.mjs\nclass CachedIterable extends Array {\n static from(iterable) {\n if (iterable instanceof this) {\n return iterable;\n }\n return new this(iterable);\n }\n}\n;// ./node_modules/cached-iterable/src/cached_sync_iterable.mjs\n\nclass CachedSyncIterable extends CachedIterable {\n constructor(iterable) {\n super();\n if (Symbol.iterator in Object(iterable)) {\n this.iterator = iterable[Symbol.iterator]();\n } else {\n throw new TypeError(\"Argument must implement the iteration protocol.\");\n }\n }\n [Symbol.iterator]() {\n const cached = this;\n let cur = 0;\n return {\n next() {\n if (cached.length <= cur) {\n cached.push(cached.iterator.next());\n }\n return cached[cur++];\n }\n };\n }\n touchNext(count = 1) {\n let idx = 0;\n while (idx++ < count) {\n const last = this[this.length - 1];\n if (last && last.done) {\n break;\n }\n this.push(this.iterator.next());\n }\n return this[this.length - 1];\n }\n}\n;// ./node_modules/cached-iterable/src/cached_async_iterable.mjs\n\nclass CachedAsyncIterable extends CachedIterable {\n constructor(iterable) {\n super();\n if (Symbol.asyncIterator in Object(iterable)) {\n this.iterator = iterable[Symbol.asyncIterator]();\n } else if (Symbol.iterator in Object(iterable)) {\n this.iterator = iterable[Symbol.iterator]();\n } else {\n throw new TypeError(\"Argument must implement the iteration protocol.\");\n }\n }\n [Symbol.asyncIterator]() {\n const cached = this;\n let cur = 0;\n return {\n async next() {\n if (cached.length <= cur) {\n cached.push(cached.iterator.next());\n }\n return cached[cur++];\n }\n };\n }\n async touchNext(count = 1) {\n let idx = 0;\n while (idx++ < count) {\n const last = this[this.length - 1];\n if (last && (await last).done) {\n break;\n }\n this.push(this.iterator.next());\n }\n return this[this.length - 1];\n }\n}\n;// ./node_modules/cached-iterable/src/index.mjs\n\n\n;// ./node_modules/@fluent/dom/esm/localization.js\n\nclass Localization {\n constructor(resourceIds = [], generateBundles) {\n this.resourceIds = resourceIds;\n this.generateBundles = generateBundles;\n this.onChange(true);\n }\n addResourceIds(resourceIds, eager = false) {\n this.resourceIds.push(...resourceIds);\n this.onChange(eager);\n return this.resourceIds.length;\n }\n removeResourceIds(resourceIds) {\n this.resourceIds = this.resourceIds.filter(r => !resourceIds.includes(r));\n this.onChange();\n return this.resourceIds.length;\n }\n async formatWithFallback(keys, method) {\n const translations = [];\n let hasAtLeastOneBundle = false;\n for await (const bundle of this.bundles) {\n hasAtLeastOneBundle = true;\n const missingIds = keysFromBundle(method, bundle, keys, translations);\n if (missingIds.size === 0) {\n break;\n }\n if (typeof console !== \"undefined\") {\n const locale = bundle.locales[0];\n const ids = Array.from(missingIds).join(\", \");\n console.warn(`[fluent] Missing translations in ${locale}: ${ids}`);\n }\n }\n if (!hasAtLeastOneBundle && typeof console !== \"undefined\") {\n console.warn(`[fluent] Request for keys failed because no resource bundles got generated.\n keys: ${JSON.stringify(keys)}.\n resourceIds: ${JSON.stringify(this.resourceIds)}.`);\n }\n return translations;\n }\n formatMessages(keys) {\n return this.formatWithFallback(keys, messageFromBundle);\n }\n formatValues(keys) {\n return this.formatWithFallback(keys, valueFromBundle);\n }\n async formatValue(id, args) {\n const [val] = await this.formatValues([{\n id,\n args\n }]);\n return val;\n }\n handleEvent() {\n this.onChange();\n }\n onChange(eager = false) {\n this.bundles = CachedAsyncIterable.from(this.generateBundles(this.resourceIds));\n if (eager) {\n this.bundles.touchNext(2);\n }\n }\n}\nfunction valueFromBundle(bundle, errors, message, args) {\n if (message.value) {\n return bundle.formatPattern(message.value, args, errors);\n }\n return null;\n}\nfunction messageFromBundle(bundle, errors, message, args) {\n const formatted = {\n value: null,\n attributes: null\n };\n if (message.value) {\n formatted.value = bundle.formatPattern(message.value, args, errors);\n }\n let attrNames = Object.keys(message.attributes);\n if (attrNames.length > 0) {\n formatted.attributes = new Array(attrNames.length);\n for (let [i, name] of attrNames.entries()) {\n let value = bundle.formatPattern(message.attributes[name], args, errors);\n formatted.attributes[i] = {\n name,\n value\n };\n }\n }\n return formatted;\n}\nfunction keysFromBundle(method, bundle, keys, translations) {\n const messageErrors = [];\n const missingIds = new Set();\n keys.forEach(({\n id,\n args\n }, i) => {\n if (translations[i] !== undefined) {\n return;\n }\n let message = bundle.getMessage(id);\n if (message) {\n messageErrors.length = 0;\n translations[i] = method(bundle, messageErrors, message, args);\n if (messageErrors.length > 0 && typeof console !== \"undefined\") {\n const locale = bundle.locales[0];\n const errors = messageErrors.join(\", \");\n console.warn(`[fluent][resolver] errors in ${locale}/${id}: ${errors}.`);\n }\n } else {\n missingIds.add(id);\n }\n });\n return missingIds;\n}\n;// ./node_modules/@fluent/dom/esm/dom_localization.js\n\n\nconst L10NID_ATTR_NAME = \"data-l10n-id\";\nconst L10NARGS_ATTR_NAME = \"data-l10n-args\";\nconst L10N_ELEMENT_QUERY = `[${L10NID_ATTR_NAME}]`;\nclass DOMLocalization extends Localization {\n constructor(resourceIds, generateBundles) {\n super(resourceIds, generateBundles);\n this.roots = new Set();\n this.pendingrAF = null;\n this.pendingElements = new Set();\n this.windowElement = null;\n this.mutationObserver = null;\n this.observerConfig = {\n attributes: true,\n characterData: false,\n childList: true,\n subtree: true,\n attributeFilter: [L10NID_ATTR_NAME, L10NARGS_ATTR_NAME]\n };\n }\n onChange(eager = false) {\n super.onChange(eager);\n if (this.roots) {\n this.translateRoots();\n }\n }\n setAttributes(element, id, args) {\n element.setAttribute(L10NID_ATTR_NAME, id);\n if (args) {\n element.setAttribute(L10NARGS_ATTR_NAME, JSON.stringify(args));\n } else {\n element.removeAttribute(L10NARGS_ATTR_NAME);\n }\n return element;\n }\n getAttributes(element) {\n return {\n id: element.getAttribute(L10NID_ATTR_NAME),\n args: JSON.parse(element.getAttribute(L10NARGS_ATTR_NAME) || null)\n };\n }\n connectRoot(newRoot) {\n for (const root of this.roots) {\n if (root === newRoot || root.contains(newRoot) || newRoot.contains(root)) {\n throw new Error(\"Cannot add a root that overlaps with existing root.\");\n }\n }\n if (this.windowElement) {\n if (this.windowElement !== newRoot.ownerDocument.defaultView) {\n throw new Error(`Cannot connect a root:\n DOMLocalization already has a root from a different window.`);\n }\n } else {\n this.windowElement = newRoot.ownerDocument.defaultView;\n this.mutationObserver = new this.windowElement.MutationObserver(mutations => this.translateMutations(mutations));\n }\n this.roots.add(newRoot);\n this.mutationObserver.observe(newRoot, this.observerConfig);\n }\n disconnectRoot(root) {\n this.roots.delete(root);\n this.pauseObserving();\n if (this.roots.size === 0) {\n this.mutationObserver = null;\n if (this.windowElement && this.pendingrAF) {\n this.windowElement.cancelAnimationFrame(this.pendingrAF);\n }\n this.windowElement = null;\n this.pendingrAF = null;\n this.pendingElements.clear();\n return true;\n }\n this.resumeObserving();\n return false;\n }\n translateRoots() {\n const roots = Array.from(this.roots);\n return Promise.all(roots.map(root => this.translateFragment(root)));\n }\n pauseObserving() {\n if (!this.mutationObserver) {\n return;\n }\n this.translateMutations(this.mutationObserver.takeRecords());\n this.mutationObserver.disconnect();\n }\n resumeObserving() {\n if (!this.mutationObserver) {\n return;\n }\n for (const root of this.roots) {\n this.mutationObserver.observe(root, this.observerConfig);\n }\n }\n translateMutations(mutations) {\n for (const mutation of mutations) {\n switch (mutation.type) {\n case \"attributes\":\n if (mutation.target.hasAttribute(\"data-l10n-id\")) {\n this.pendingElements.add(mutation.target);\n }\n break;\n case \"childList\":\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType === addedNode.ELEMENT_NODE) {\n if (addedNode.childElementCount) {\n for (const element of this.getTranslatables(addedNode)) {\n this.pendingElements.add(element);\n }\n } else if (addedNode.hasAttribute(L10NID_ATTR_NAME)) {\n this.pendingElements.add(addedNode);\n }\n }\n }\n break;\n }\n }\n if (this.pendingElements.size > 0) {\n if (this.pendingrAF === null) {\n this.pendingrAF = this.windowElement.requestAnimationFrame(() => {\n this.translateElements(Array.from(this.pendingElements));\n this.pendingElements.clear();\n this.pendingrAF = null;\n });\n }\n }\n }\n translateFragment(frag) {\n return this.translateElements(this.getTranslatables(frag));\n }\n async translateElements(elements) {\n if (!elements.length) {\n return undefined;\n }\n const keys = elements.map(this.getKeysForElement);\n const translations = await this.formatMessages(keys);\n return this.applyTranslations(elements, translations);\n }\n applyTranslations(elements, translations) {\n this.pauseObserving();\n for (let i = 0; i < elements.length; i++) {\n if (translations[i] !== undefined) {\n translateElement(elements[i], translations[i]);\n }\n }\n this.resumeObserving();\n }\n getTranslatables(element) {\n const nodes = Array.from(element.querySelectorAll(L10N_ELEMENT_QUERY));\n if (typeof element.hasAttribute === \"function\" && element.hasAttribute(L10NID_ATTR_NAME)) {\n nodes.push(element);\n }\n return nodes;\n }\n getKeysForElement(element) {\n return {\n id: element.getAttribute(L10NID_ATTR_NAME),\n args: JSON.parse(element.getAttribute(L10NARGS_ATTR_NAME) || null)\n };\n }\n}\n;// ./node_modules/@fluent/dom/esm/index.js\n\n\n;// ./web/l10n.js\nclass L10n {\n #dir;\n #elements;\n #lang;\n #l10n;\n constructor({\n lang,\n isRTL\n }, l10n = null) {\n this.#lang = L10n.#fixupLangCode(lang);\n this.#l10n = l10n;\n this.#dir = isRTL ?? L10n.#isRTL(this.#lang) ? \"rtl\" : \"ltr\";\n }\n _setL10n(l10n) {\n this.#l10n = l10n;\n }\n getLanguage() {\n return this.#lang;\n }\n getDirection() {\n return this.#dir;\n }\n async get(ids, args = null, fallback) {\n if (Array.isArray(ids)) {\n ids = ids.map(id => ({\n id\n }));\n const messages = await this.#l10n.formatMessages(ids);\n return messages.map(message => message.value);\n }\n const messages = await this.#l10n.formatMessages([{\n id: ids,\n args\n }]);\n return messages[0]?.value || fallback;\n }\n async translate(element) {\n (this.#elements ||= new Set()).add(element);\n try {\n this.#l10n.connectRoot(element);\n await this.#l10n.translateRoots();\n } catch {}\n }\n async translateOnce(element) {\n try {\n await this.#l10n.translateElements([element]);\n } catch (ex) {\n console.error(\"translateOnce:\", ex);\n }\n }\n async destroy() {\n if (this.#elements) {\n for (const element of this.#elements) {\n this.#l10n.disconnectRoot(element);\n }\n this.#elements.clear();\n this.#elements = null;\n }\n this.#l10n.pauseObserving();\n }\n pause() {\n this.#l10n.pauseObserving();\n }\n resume() {\n this.#l10n.resumeObserving();\n }\n static #fixupLangCode(langCode) {\n langCode = langCode?.toLowerCase() || \"en-us\";\n const PARTIAL_LANG_CODES = {\n en: \"en-us\",\n es: \"es-es\",\n fy: \"fy-nl\",\n ga: \"ga-ie\",\n gu: \"gu-in\",\n hi: \"hi-in\",\n hy: \"hy-am\",\n nb: \"nb-no\",\n ne: \"ne-np\",\n nn: \"nn-no\",\n pa: \"pa-in\",\n pt: \"pt-pt\",\n sv: \"sv-se\",\n zh: \"zh-cn\"\n };\n return PARTIAL_LANG_CODES[langCode] || langCode;\n }\n static #isRTL(lang) {\n const shortCode = lang.split(\"-\", 1)[0];\n return [\"ar\", \"he\", \"fa\", \"ps\", \"ur\"].includes(shortCode);\n }\n}\nconst GenericL10n = null;\n\n;// ./web/genericl10n.js\n\n\n\n\nfunction PLATFORM() {\n const {\n isAndroid,\n isLinux,\n isMac,\n isWindows\n } = FeatureTest.platform;\n if (isLinux) {\n return \"linux\";\n }\n if (isWindows) {\n return \"windows\";\n }\n if (isMac) {\n return \"macos\";\n }\n if (isAndroid) {\n return \"android\";\n }\n return \"other\";\n}\nfunction createBundle(lang, text) {\n const resource = new FluentResource(text);\n const bundle = new FluentBundle(lang, {\n functions: {\n PLATFORM\n }\n });\n const errors = bundle.addResource(resource);\n if (errors.length) {\n console.error(\"L10n errors\", errors);\n }\n return bundle;\n}\nclass genericl10n_GenericL10n extends L10n {\n constructor(lang) {\n super({\n lang\n });\n const generateBundles = !lang ? genericl10n_GenericL10n.#generateBundlesFallback.bind(genericl10n_GenericL10n, this.getLanguage()) : genericl10n_GenericL10n.#generateBundles.bind(genericl10n_GenericL10n, \"en-us\", this.getLanguage());\n this._setL10n(new DOMLocalization([], generateBundles));\n }\n static async *#generateBundles(defaultLang, baseLang) {\n const {\n baseURL,\n paths\n } = await this.#getPaths();\n const langs = [baseLang];\n if (defaultLang !== baseLang) {\n const shortLang = baseLang.split(\"-\", 1)[0];\n if (shortLang !== baseLang) {\n langs.push(shortLang);\n }\n langs.push(defaultLang);\n }\n const bundles = langs.map(lang => [lang, this.#createBundle(lang, baseURL, paths)]);\n for (const [lang, bundlePromise] of bundles) {\n const bundle = await bundlePromise;\n if (bundle) {\n yield bundle;\n } else if (lang === \"en-us\") {\n yield this.#createBundleFallback(lang);\n }\n }\n }\n static async #createBundle(lang, baseURL, paths) {\n const path = paths[lang];\n if (!path) {\n return null;\n }\n const url = new URL(path, baseURL);\n const text = await fetchData(url, \"text\");\n return createBundle(lang, text);\n }\n static async #getPaths() {\n try {\n const {\n href\n } = document.querySelector(`link[type=\"application/l10n\"]`);\n const paths = await fetchData(href, \"json\");\n return {\n baseURL: href.substring(0, href.lastIndexOf(\"/\") + 1) || \"./\",\n paths\n };\n } catch {}\n return {\n baseURL: \"./\",\n paths: Object.create(null)\n };\n }\n static async *#generateBundlesFallback(lang) {\n yield this.#createBundleFallback(lang);\n }\n static async #createBundleFallback(lang) {\n const text = \"pdfjs-previous-button =\\n .title = Previous Page\\npdfjs-previous-button-label = Previous\\npdfjs-next-button =\\n .title = Next Page\\npdfjs-next-button-label = Next\\npdfjs-page-input =\\n .title = Page\\npdfjs-of-pages = of { $pagesCount }\\npdfjs-page-of-pages = ({ $pageNumber } of { $pagesCount })\\npdfjs-zoom-out-button =\\n .title = Zoom Out\\npdfjs-zoom-out-button-label = Zoom Out\\npdfjs-zoom-in-button =\\n .title = Zoom In\\npdfjs-zoom-in-button-label = Zoom In\\npdfjs-zoom-select =\\n .title = Zoom\\npdfjs-presentation-mode-button =\\n .title = Switch to Presentation Mode\\npdfjs-presentation-mode-button-label = Presentation Mode\\npdfjs-open-file-button =\\n .title = Open File\\npdfjs-open-file-button-label = Open\\npdfjs-print-button =\\n .title = Print\\npdfjs-print-button-label = Print\\npdfjs-save-button =\\n .title = Save\\npdfjs-save-button-label = Save\\npdfjs-download-button =\\n .title = Download\\npdfjs-download-button-label = Download\\npdfjs-bookmark-button =\\n .title = Current Page (View URL from Current Page)\\npdfjs-bookmark-button-label = Current Page\\npdfjs-tools-button =\\n .title = Tools\\npdfjs-tools-button-label = Tools\\npdfjs-first-page-button =\\n .title = Go to First Page\\npdfjs-first-page-button-label = Go to First Page\\npdfjs-last-page-button =\\n .title = Go to Last Page\\npdfjs-last-page-button-label = Go to Last Page\\npdfjs-page-rotate-cw-button =\\n .title = Rotate Clockwise\\npdfjs-page-rotate-cw-button-label = Rotate Clockwise\\npdfjs-page-rotate-ccw-button =\\n .title = Rotate Counterclockwise\\npdfjs-page-rotate-ccw-button-label = Rotate Counterclockwise\\npdfjs-cursor-text-select-tool-button =\\n .title = Enable Text Selection Tool\\npdfjs-cursor-text-select-tool-button-label = Text Selection Tool\\npdfjs-cursor-hand-tool-button =\\n .title = Enable Hand Tool\\npdfjs-cursor-hand-tool-button-label = Hand Tool\\npdfjs-scroll-page-button =\\n .title = Use Page Scrolling\\npdfjs-scroll-page-button-label = Page Scrolling\\npdfjs-scroll-vertical-button =\\n .title = Use Vertical Scrolling\\npdfjs-scroll-vertical-button-label = Vertical Scrolling\\npdfjs-scroll-horizontal-button =\\n .title = Use Horizontal Scrolling\\npdfjs-scroll-horizontal-button-label = Horizontal Scrolling\\npdfjs-scroll-wrapped-button =\\n .title = Use Wrapped Scrolling\\npdfjs-scroll-wrapped-button-label = Wrapped Scrolling\\npdfjs-spread-none-button =\\n .title = Do not join page spreads\\npdfjs-spread-none-button-label = No Spreads\\npdfjs-spread-odd-button =\\n .title = Join page spreads starting with odd-numbered pages\\npdfjs-spread-odd-button-label = Odd Spreads\\npdfjs-spread-even-button =\\n .title = Join page spreads starting with even-numbered pages\\npdfjs-spread-even-button-label = Even Spreads\\npdfjs-document-properties-button =\\n .title = Document Properties\\u2026\\npdfjs-document-properties-button-label = Document Properties\\u2026\\npdfjs-document-properties-file-name = File name:\\npdfjs-document-properties-file-size = File size:\\npdfjs-document-properties-size-kb = { NUMBER($kb, maximumSignificantDigits: 3) } KB ({ $b } bytes)\\npdfjs-document-properties-size-mb = { NUMBER($mb, maximumSignificantDigits: 3) } MB ({ $b } bytes)\\npdfjs-document-properties-title = Title:\\npdfjs-document-properties-author = Author:\\npdfjs-document-properties-subject = Subject:\\npdfjs-document-properties-keywords = Keywords:\\npdfjs-document-properties-creation-date = Creation Date:\\npdfjs-document-properties-modification-date = Modification Date:\\npdfjs-document-properties-date-time-string = { DATETIME($dateObj, dateStyle: \\\"short\\\", timeStyle: \\\"medium\\\") }\\npdfjs-document-properties-creator = Creator:\\npdfjs-document-properties-producer = PDF Producer:\\npdfjs-document-properties-version = PDF Version:\\npdfjs-document-properties-page-count = Page Count:\\npdfjs-document-properties-page-size = Page Size:\\npdfjs-document-properties-page-size-unit-inches = in\\npdfjs-document-properties-page-size-unit-millimeters = mm\\npdfjs-document-properties-page-size-orientation-portrait = portrait\\npdfjs-document-properties-page-size-orientation-landscape = landscape\\npdfjs-document-properties-page-size-name-a-three = A3\\npdfjs-document-properties-page-size-name-a-four = A4\\npdfjs-document-properties-page-size-name-letter = Letter\\npdfjs-document-properties-page-size-name-legal = Legal\\npdfjs-document-properties-page-size-dimension-string = { $width } \\xD7 { $height } { $unit } ({ $orientation })\\npdfjs-document-properties-page-size-dimension-name-string = { $width } \\xD7 { $height } { $unit } ({ $name }, { $orientation })\\npdfjs-document-properties-linearized = Fast Web View:\\npdfjs-document-properties-linearized-yes = Yes\\npdfjs-document-properties-linearized-no = No\\npdfjs-document-properties-close-button = Close\\npdfjs-print-progress-message = Preparing document for printing\\u2026\\npdfjs-print-progress-percent = { $progress }%\\npdfjs-print-progress-close-button = Cancel\\npdfjs-printing-not-supported = Warning: Printing is not fully supported by this browser.\\npdfjs-printing-not-ready = Warning: The PDF is not fully loaded for printing.\\npdfjs-toggle-sidebar-button =\\n .title = Toggle Sidebar\\npdfjs-toggle-sidebar-notification-button =\\n .title = Toggle Sidebar (document contains outline/attachments/layers)\\npdfjs-toggle-sidebar-button-label = Toggle Sidebar\\npdfjs-document-outline-button =\\n .title = Show Document Outline (double-click to expand/collapse all items)\\npdfjs-document-outline-button-label = Document Outline\\npdfjs-attachments-button =\\n .title = Show Attachments\\npdfjs-attachments-button-label = Attachments\\npdfjs-layers-button =\\n .title = Show Layers (double-click to reset all layers to the default state)\\npdfjs-layers-button-label = Layers\\npdfjs-thumbs-button =\\n .title = Show Thumbnails\\npdfjs-thumbs-button-label = Thumbnails\\npdfjs-current-outline-item-button =\\n .title = Find Current Outline Item\\npdfjs-current-outline-item-button-label = Current Outline Item\\npdfjs-findbar-button =\\n .title = Find in Document\\npdfjs-findbar-button-label = Find\\npdfjs-additional-layers = Additional Layers\\npdfjs-thumb-page-title =\\n .title = Page { $page }\\npdfjs-thumb-page-canvas =\\n .aria-label = Thumbnail of Page { $page }\\npdfjs-find-input =\\n .title = Find\\n .placeholder = Find in document\\u2026\\npdfjs-find-previous-button =\\n .title = Find the previous occurrence of the phrase\\npdfjs-find-previous-button-label = Previous\\npdfjs-find-next-button =\\n .title = Find the next occurrence of the phrase\\npdfjs-find-next-button-label = Next\\npdfjs-find-highlight-checkbox = Highlight All\\npdfjs-find-match-case-checkbox-label = Match Case\\npdfjs-find-match-diacritics-checkbox-label = Match Diacritics\\npdfjs-find-entire-word-checkbox-label = Whole Words\\npdfjs-find-reached-top = Reached top of document, continued from bottom\\npdfjs-find-reached-bottom = Reached end of document, continued from top\\npdfjs-find-match-count =\\n { $total ->\\n [one] { $current } of { $total } match\\n *[other] { $current } of { $total } matches\\n }\\npdfjs-find-match-count-limit =\\n { $limit ->\\n [one] More than { $limit } match\\n *[other] More than { $limit } matches\\n }\\npdfjs-find-not-found = Phrase not found\\npdfjs-page-scale-width = Page Width\\npdfjs-page-scale-fit = Page Fit\\npdfjs-page-scale-auto = Automatic Zoom\\npdfjs-page-scale-actual = Actual Size\\npdfjs-page-scale-percent = { $scale }%\\npdfjs-page-landmark =\\n .aria-label = Page { $page }\\npdfjs-loading-error = An error occurred while loading the PDF.\\npdfjs-invalid-file-error = Invalid or corrupted PDF file.\\npdfjs-missing-file-error = Missing PDF file.\\npdfjs-unexpected-response-error = Unexpected server response.\\npdfjs-rendering-error = An error occurred while rendering the page.\\npdfjs-annotation-date-time-string = { DATETIME($dateObj, dateStyle: \\\"short\\\", timeStyle: \\\"medium\\\") }\\npdfjs-text-annotation-type =\\n .alt = [{ $type } Annotation]\\npdfjs-password-label = Enter the password to open this PDF file.\\npdfjs-password-invalid = Invalid password. Please try again.\\npdfjs-password-ok-button = OK\\npdfjs-password-cancel-button = Cancel\\npdfjs-web-fonts-disabled = Web fonts are disabled: unable to use embedded PDF fonts.\\npdfjs-editor-free-text-button =\\n .title = Text\\npdfjs-editor-color-picker-free-text-input =\\n .title = Change text color\\npdfjs-editor-free-text-button-label = Text\\npdfjs-editor-ink-button =\\n .title = Draw\\npdfjs-editor-color-picker-ink-input =\\n .title = Change drawing color\\npdfjs-editor-ink-button-label = Draw\\npdfjs-editor-stamp-button =\\n .title = Add or edit images\\npdfjs-editor-stamp-button-label = Add or edit images\\npdfjs-editor-highlight-button =\\n .title = Highlight\\npdfjs-editor-highlight-button-label = Highlight\\npdfjs-highlight-floating-button1 =\\n .title = Highlight\\n .aria-label = Highlight\\npdfjs-highlight-floating-button-label = Highlight\\npdfjs-comment-floating-button =\\n .title = Comment\\n .aria-label = Comment\\npdfjs-comment-floating-button-label = Comment\\npdfjs-editor-comment-button =\\n .title = Comment\\n .aria-label = Comment\\npdfjs-editor-comment-button-label = Comment\\npdfjs-editor-signature-button =\\n .title = Add signature\\npdfjs-editor-signature-button-label = Add signature\\npdfjs-editor-highlight-editor =\\n .aria-label = Highlight editor\\npdfjs-editor-ink-editor =\\n .aria-label = Drawing editor\\npdfjs-editor-signature-editor1 =\\n .aria-description = Signature editor: { $description }\\npdfjs-editor-stamp-editor =\\n .aria-label = Image editor\\npdfjs-editor-remove-ink-button =\\n .title = Remove drawing\\npdfjs-editor-remove-freetext-button =\\n .title = Remove text\\npdfjs-editor-remove-stamp-button =\\n .title = Remove image\\npdfjs-editor-remove-highlight-button =\\n .title = Remove highlight\\npdfjs-editor-remove-signature-button =\\n .title = Remove signature\\npdfjs-editor-free-text-color-input = Color\\npdfjs-editor-free-text-size-input = Size\\npdfjs-editor-ink-color-input = Color\\npdfjs-editor-ink-thickness-input = Thickness\\npdfjs-editor-ink-opacity-input = Opacity\\npdfjs-editor-stamp-add-image-button =\\n .title = Add image\\npdfjs-editor-stamp-add-image-button-label = Add image\\npdfjs-editor-free-highlight-thickness-input = Thickness\\npdfjs-editor-free-highlight-thickness-title =\\n .title = Change thickness when highlighting items other than text\\npdfjs-editor-add-signature-container =\\n .aria-label = Signature controls and saved signatures\\npdfjs-editor-signature-add-signature-button =\\n .title = Add new signature\\npdfjs-editor-signature-add-signature-button-label = Add new signature\\npdfjs-editor-add-saved-signature-button =\\n .title = Saved signature: { $description }\\npdfjs-free-text2 =\\n .aria-label = Text Editor\\n .default-content = Start typing\\u2026\\npdfjs-editor-comments-sidebar-title =\\n { $count ->\\n [one] Comment\\n *[other] Comments\\n }\\npdfjs-editor-comments-sidebar-close-button =\\n .title = Close the sidebar\\n .aria-label = Close the sidebar\\npdfjs-editor-comments-sidebar-close-button-label = Close the sidebar\\npdfjs-editor-comments-sidebar-no-comments1 = See something noteworthy? Highlight it and leave a comment.\\npdfjs-editor-comments-sidebar-no-comments-link = Learn more\\npdfjs-editor-alt-text-button =\\n .aria-label = Alt text\\npdfjs-editor-alt-text-button-label = Alt text\\npdfjs-editor-alt-text-edit-button =\\n .aria-label = Edit alt text\\npdfjs-editor-alt-text-dialog-label = Choose an option\\npdfjs-editor-alt-text-dialog-description = Alt text (alternative text) helps when people can\\u2019t see the image or when it doesn\\u2019t load.\\npdfjs-editor-alt-text-add-description-label = Add a description\\npdfjs-editor-alt-text-add-description-description = Aim for 1-2 sentences that describe the subject, setting, or actions.\\npdfjs-editor-alt-text-mark-decorative-label = Mark as decorative\\npdfjs-editor-alt-text-mark-decorative-description = This is used for ornamental images, like borders or watermarks.\\npdfjs-editor-alt-text-cancel-button = Cancel\\npdfjs-editor-alt-text-save-button = Save\\npdfjs-editor-alt-text-decorative-tooltip = Marked as decorative\\npdfjs-editor-alt-text-textarea =\\n .placeholder = For example, \\u201CA young man sits down at a table to eat a meal\\u201D\\npdfjs-editor-resizer-top-left =\\n .aria-label = Top left corner \\u2014 resize\\npdfjs-editor-resizer-top-middle =\\n .aria-label = Top middle \\u2014 resize\\npdfjs-editor-resizer-top-right =\\n .aria-label = Top right corner \\u2014 resize\\npdfjs-editor-resizer-middle-right =\\n .aria-label = Middle right \\u2014 resize\\npdfjs-editor-resizer-bottom-right =\\n .aria-label = Bottom right corner \\u2014 resize\\npdfjs-editor-resizer-bottom-middle =\\n .aria-label = Bottom middle \\u2014 resize\\npdfjs-editor-resizer-bottom-left =\\n .aria-label = Bottom left corner \\u2014 resize\\npdfjs-editor-resizer-middle-left =\\n .aria-label = Middle left \\u2014 resize\\npdfjs-editor-highlight-colorpicker-label = Highlight color\\npdfjs-editor-colorpicker-button =\\n .title = Change color\\npdfjs-editor-colorpicker-dropdown =\\n .aria-label = Color choices\\npdfjs-editor-colorpicker-yellow =\\n .title = Yellow\\npdfjs-editor-colorpicker-green =\\n .title = Green\\npdfjs-editor-colorpicker-blue =\\n .title = Blue\\npdfjs-editor-colorpicker-pink =\\n .title = Pink\\npdfjs-editor-colorpicker-red =\\n .title = Red\\npdfjs-editor-highlight-show-all-button-label = Show all\\npdfjs-editor-highlight-show-all-button =\\n .title = Show all\\npdfjs-editor-new-alt-text-dialog-edit-label = Edit alt text (image description)\\npdfjs-editor-new-alt-text-dialog-add-label = Add alt text (image description)\\npdfjs-editor-new-alt-text-textarea =\\n .placeholder = Write your description here\\u2026\\npdfjs-editor-new-alt-text-description = Short description for people who can\\u2019t see the image or when the image doesn\\u2019t load.\\npdfjs-editor-new-alt-text-disclaimer1 = This alt text was created automatically and may be inaccurate.\\npdfjs-editor-new-alt-text-disclaimer-learn-more-url = Learn more\\npdfjs-editor-new-alt-text-create-automatically-button-label = Create alt text automatically\\npdfjs-editor-new-alt-text-not-now-button = Not now\\npdfjs-editor-new-alt-text-error-title = Couldn\\u2019t create alt text automatically\\npdfjs-editor-new-alt-text-error-description = Please write your own alt text or try again later.\\npdfjs-editor-new-alt-text-error-close-button = Close\\npdfjs-editor-new-alt-text-ai-model-downloading-progress = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)\\n .aria-valuetext = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)\\npdfjs-editor-new-alt-text-added-button =\\n .aria-label = Alt text added\\npdfjs-editor-new-alt-text-added-button-label = Alt text added\\npdfjs-editor-new-alt-text-missing-button =\\n .aria-label = Missing alt text\\npdfjs-editor-new-alt-text-missing-button-label = Missing alt text\\npdfjs-editor-new-alt-text-to-review-button =\\n .aria-label = Review alt text\\npdfjs-editor-new-alt-text-to-review-button-label = Review alt text\\npdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer = Created automatically: { $generatedAltText }\\npdfjs-image-alt-text-settings-button =\\n .title = Image alt text settings\\npdfjs-image-alt-text-settings-button-label = Image alt text settings\\npdfjs-editor-alt-text-settings-dialog-label = Image alt text settings\\npdfjs-editor-alt-text-settings-automatic-title = Automatic alt text\\npdfjs-editor-alt-text-settings-create-model-button-label = Create alt text automatically\\npdfjs-editor-alt-text-settings-create-model-description = Suggests descriptions to help people who can\\u2019t see the image or when the image doesn\\u2019t load.\\npdfjs-editor-alt-text-settings-download-model-label = Alt text AI model ({ $totalSize } MB)\\npdfjs-editor-alt-text-settings-ai-model-description = Runs locally on your device so your data stays private. Required for automatic alt text.\\npdfjs-editor-alt-text-settings-delete-model-button = Delete\\npdfjs-editor-alt-text-settings-download-model-button = Download\\npdfjs-editor-alt-text-settings-downloading-model-button = Downloading\\u2026\\npdfjs-editor-alt-text-settings-editor-title = Alt text editor\\npdfjs-editor-alt-text-settings-show-dialog-button-label = Show alt text editor right away when adding an image\\npdfjs-editor-alt-text-settings-show-dialog-description = Helps you make sure all your images have alt text.\\npdfjs-editor-alt-text-settings-close-button = Close\\npdfjs-editor-highlight-added-alert = Highlight added\\npdfjs-editor-freetext-added-alert = Text added\\npdfjs-editor-ink-added-alert = Drawing added\\npdfjs-editor-stamp-added-alert = Image added\\npdfjs-editor-signature-added-alert = Signature added\\npdfjs-editor-undo-bar-message-highlight = Highlight removed\\npdfjs-editor-undo-bar-message-freetext = Text removed\\npdfjs-editor-undo-bar-message-ink = Drawing removed\\npdfjs-editor-undo-bar-message-stamp = Image removed\\npdfjs-editor-undo-bar-message-signature = Signature removed\\npdfjs-editor-undo-bar-message-multiple =\\n { $count ->\\n [one] { $count } annotation removed\\n *[other] { $count } annotations removed\\n }\\npdfjs-editor-undo-bar-undo-button =\\n .title = Undo\\npdfjs-editor-undo-bar-undo-button-label = Undo\\npdfjs-editor-undo-bar-close-button =\\n .title = Close\\npdfjs-editor-undo-bar-close-button-label = Close\\npdfjs-editor-add-signature-dialog-label = This modal allows the user to create a signature to add to a PDF document. The user can edit the name (which also serves as the alt text), and optionally save the signature for repeated use.\\npdfjs-editor-add-signature-dialog-title = Add a signature\\npdfjs-editor-add-signature-type-button = Type\\n .title = Type\\npdfjs-editor-add-signature-draw-button = Draw\\n .title = Draw\\npdfjs-editor-add-signature-image-button = Image\\n .title = Image\\npdfjs-editor-add-signature-type-input =\\n .aria-label = Type your signature\\n .placeholder = Type your signature\\npdfjs-editor-add-signature-draw-placeholder = Draw your signature\\npdfjs-editor-add-signature-draw-thickness-range-label = Thickness\\npdfjs-editor-add-signature-draw-thickness-range =\\n .title = Drawing thickness: { $thickness }\\npdfjs-editor-add-signature-image-placeholder = Drag a file here to upload\\npdfjs-editor-add-signature-image-browse-link =\\n { PLATFORM() ->\\n [macos] Or choose image files\\n *[other] Or browse image files\\n }\\npdfjs-editor-add-signature-description-label = Description (alt text)\\npdfjs-editor-add-signature-description-input =\\n .title = Description (alt text)\\npdfjs-editor-add-signature-description-default-when-drawing = Signature\\npdfjs-editor-add-signature-clear-button-label = Clear signature\\npdfjs-editor-add-signature-clear-button =\\n .title = Clear signature\\npdfjs-editor-add-signature-save-checkbox = Save signature\\npdfjs-editor-add-signature-save-warning-message = You\\u2019ve reached the limit of 5 saved signatures. Remove one to save more.\\npdfjs-editor-add-signature-image-upload-error-title = Couldn\\u2019t upload image\\npdfjs-editor-add-signature-image-upload-error-description = Check your network connection or try another image.\\npdfjs-editor-add-signature-image-no-data-error-title = Can\\u2019t convert this image into a signature\\npdfjs-editor-add-signature-image-no-data-error-description = Please try uploading a different image.\\npdfjs-editor-add-signature-error-close-button = Close\\npdfjs-editor-add-signature-cancel-button = Cancel\\npdfjs-editor-add-signature-add-button = Add\\npdfjs-editor-delete-signature-button1 =\\n .title = Remove saved signature\\npdfjs-editor-delete-signature-button-label1 = Remove saved signature\\npdfjs-editor-add-signature-edit-button-label = Edit description\\npdfjs-editor-edit-signature-dialog-title = Edit description\\npdfjs-editor-edit-signature-update-button = Update\\npdfjs-show-comment-button =\\n .title = Show comment\\npdfjs-editor-edit-comment-popup-button-label = Edit comment\\npdfjs-editor-edit-comment-popup-button =\\n .title = Edit comment\\npdfjs-editor-delete-comment-popup-button-label = Remove comment\\npdfjs-editor-delete-comment-popup-button =\\n .title = Remove comment\\npdfjs-editor-edit-comment-dialog-title-when-editing = Edit comment\\npdfjs-editor-edit-comment-dialog-save-button-when-editing = Update\\npdfjs-editor-edit-comment-dialog-title-when-adding = Add comment\\npdfjs-editor-edit-comment-dialog-save-button-when-adding = Add\\npdfjs-editor-edit-comment-dialog-text-input =\\n .placeholder = Start typing\\u2026\\npdfjs-editor-edit-comment-dialog-cancel-button = Cancel\\npdfjs-editor-add-comment-button =\\n .title = Add comment\";\n return createBundle(lang, text);\n }\n}\n\n;// ./web/pdf_history.js\n\n\n\nconst HASH_CHANGE_TIMEOUT = 1000;\nconst POSITION_UPDATED_THRESHOLD = 50;\nconst UPDATE_VIEWAREA_TIMEOUT = 1000;\nfunction getCurrentHash() {\n return document.location.hash;\n}\nclass PDFHistory {\n #eventAbortController = null;\n constructor({\n linkService,\n eventBus\n }) {\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this.eventBus._on(\"pagesinit\", () => {\n this._isPagesLoaded = false;\n this.eventBus._on(\"pagesloaded\", evt => {\n this._isPagesLoaded = !!evt.pagesCount;\n }, {\n once: true\n });\n });\n }\n initialize({\n fingerprint,\n resetHistory = false,\n updateUrl = false\n }) {\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n if (this._initialized) {\n this.reset();\n }\n const reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n this.#bindEvents();\n const state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n if (!this.#isValidState(state, true) || resetHistory) {\n const {\n hash,\n page,\n rotation\n } = this.#parseCurrentHash(true);\n if (!hash || reInitialized || resetHistory) {\n this.#pushOrReplaceState(null, true);\n return;\n }\n this.#pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n return;\n }\n const destination = state.destination;\n this.#updateInternalState(destination, state.uid, true);\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = `page=${destination.page}`;\n }\n }\n reset() {\n if (this._initialized) {\n this.#pageHide();\n this._initialized = false;\n this.#unbindEvents();\n }\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n push({\n namedDest = null,\n explicitDest,\n pageNumber\n }) {\n if (!this._initialized) {\n return;\n }\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + `\"${namedDest}\" is not a valid namedDest parameter.`);\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + `\"${explicitDest}\" is not a valid explicitDest parameter.`);\n return;\n } else if (!this.#isValidPage(pageNumber)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + `\"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n }\n const hash = namedDest || JSON.stringify(explicitDest);\n if (!hash) {\n return;\n }\n let forceReplace = false;\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n forceReplace = true;\n }\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n this.#pushOrReplaceState({\n dest: explicitDest,\n hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n pushPage(pageNumber) {\n if (!this._initialized) {\n return;\n }\n if (!this.#isValidPage(pageNumber)) {\n console.error(`PDFHistory.pushPage: \"${pageNumber}\" is not a valid page number.`);\n return;\n }\n if (this._destination?.page === pageNumber) {\n return;\n }\n if (this._popStateInProgress) {\n return;\n }\n this.#pushOrReplaceState({\n dest: null,\n hash: `page=${pageNumber}`,\n page: pageNumber,\n rotation: this.linkService.rotation\n });\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n this.#tryPushCurrentPosition();\n }\n back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n const state = window.history.state;\n if (this.#isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n const state = window.history.state;\n if (this.#isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n get popStateInProgress() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n get initialBookmark() {\n return this._initialized ? this._initialBookmark : null;\n }\n get initialRotation() {\n return this._initialized ? this._initialRotation : null;\n }\n #pushOrReplaceState(destination, forceReplace = false) {\n const shouldReplace = forceReplace || !this._destination;\n const newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination\n };\n this.#updateInternalState(destination, newState.uid);\n let newUrl;\n if (this._updateUrl && destination?.hash) {\n const {\n href,\n protocol\n } = document.location;\n if (protocol !== \"file:\") {\n newUrl = updateUrlHash(href, destination.hash);\n }\n }\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n #tryPushCurrentPosition(temporary = false) {\n if (!this._position) {\n return;\n }\n let position = this._position;\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n if (!this._destination) {\n this.#pushOrReplaceState(position);\n return;\n }\n if (this._destination.temporary) {\n this.#pushOrReplaceState(position, true);\n return;\n }\n if (this._destination.hash === position.hash) {\n return;\n }\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n let forceReplace = false;\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest !== undefined || !this._destination.first) {\n return;\n }\n forceReplace = true;\n }\n this.#pushOrReplaceState(position, forceReplace);\n }\n #isValidPage(val) {\n return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount;\n }\n #isValidState(state, checkReload = false) {\n if (!state) {\n return false;\n }\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n const [perfEntry] = performance.getEntriesByType(\"navigation\");\n if (perfEntry?.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n if (state.destination === null || typeof state.destination !== \"object\") {\n return false;\n }\n return true;\n }\n #updateInternalState(destination, uid, removeTemporary = false) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n if (removeTemporary && destination?.temporary) {\n delete destination.temporary;\n }\n this._destination = destination;\n this._uid = uid;\n this._maxUid = Math.max(this._maxUid, uid);\n this._numPositionUpdates = 0;\n }\n #parseCurrentHash(checkNameddest = false) {\n const hash = unescape(getCurrentHash()).substring(1);\n const params = parseQueryString(hash);\n const nameddest = params.get(\"nameddest\") || \"\";\n let page = params.get(\"page\") | 0;\n if (!this.#isValidPage(page) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n return {\n hash,\n page,\n rotation: this.linkService.rotation\n };\n }\n #updateViewarea({\n location\n }) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n this._position = {\n hash: location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n if (this._popStateInProgress) {\n return;\n }\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(() => {\n if (!this._popStateInProgress) {\n this.#tryPushCurrentPosition(true);\n }\n this._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n #popState({\n state\n }) {\n const newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n if (!state) {\n this._uid++;\n const {\n hash,\n page,\n rotation\n } = this.#parseCurrentHash();\n this.#pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n return;\n }\n if (!this.#isValidState(state)) {\n return;\n }\n this._popStateInProgress = true;\n if (hashChanged) {\n this._blockHashChange++;\n waitOnEventOrTimeout({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(() => {\n this._blockHashChange--;\n });\n }\n const destination = state.destination;\n this.#updateInternalState(destination, state.uid, true);\n if (isValidRotation(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n if (destination.dest) {\n this.linkService.goToDestination(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n #pageHide() {\n if (!this._destination || this._destination.temporary) {\n this.#tryPushCurrentPosition();\n }\n }\n #bindEvents() {\n if (this.#eventAbortController) {\n return;\n }\n this.#eventAbortController = new AbortController();\n const {\n signal\n } = this.#eventAbortController;\n this.eventBus._on(\"updateviewarea\", this.#updateViewarea.bind(this), {\n signal\n });\n window.addEventListener(\"popstate\", this.#popState.bind(this), {\n signal\n });\n window.addEventListener(\"pagehide\", this.#pageHide.bind(this), {\n signal\n });\n }\n #unbindEvents() {\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n }\n}\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n if (destHash === pushHash) {\n return true;\n }\n const nameddest = parseQueryString(destHash).get(\"nameddest\");\n if (nameddest === pushHash) {\n return true;\n }\n return false;\n}\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (typeof first !== typeof second) {\n return false;\n }\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n if (first !== null && typeof first === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n for (const key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n return true;\n }\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n for (let i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n return true;\n}\n\n;// ./web/annotation_editor_layer_builder.js\n\n\nclass AnnotationEditorLayerBuilder {\n #annotationLayer = null;\n #drawLayer = null;\n #onAppend = null;\n #structTreeLayer = null;\n #textLayer = null;\n #uiManager;\n constructor(options) {\n this.pdfPage = options.pdfPage;\n this.accessibilityManager = options.accessibilityManager;\n this.l10n = options.l10n;\n this.l10n ||= new genericl10n_GenericL10n();\n this.annotationEditorLayer = null;\n this.div = null;\n this._cancelled = false;\n this.#uiManager = options.uiManager;\n this.#annotationLayer = options.annotationLayer || null;\n this.#textLayer = options.textLayer || null;\n this.#drawLayer = options.drawLayer || null;\n this.#onAppend = options.onAppend || null;\n this.#structTreeLayer = options.structTreeLayer || null;\n }\n async render({\n viewport,\n intent = \"display\"\n }) {\n if (intent !== \"display\") {\n return;\n }\n if (this._cancelled) {\n return;\n }\n const clonedViewport = viewport.clone({\n dontFlip: true\n });\n if (this.div) {\n this.annotationEditorLayer.update({\n viewport: clonedViewport\n });\n this.show();\n return;\n }\n const div = this.div = document.createElement(\"div\");\n div.className = \"annotationEditorLayer\";\n div.hidden = true;\n div.dir = this.#uiManager.direction;\n this.#onAppend?.(div);\n this.annotationEditorLayer = new AnnotationEditorLayer({\n uiManager: this.#uiManager,\n div,\n structTreeLayer: this.#structTreeLayer,\n accessibilityManager: this.accessibilityManager,\n pageIndex: this.pdfPage.pageNumber - 1,\n l10n: this.l10n,\n viewport: clonedViewport,\n annotationLayer: this.#annotationLayer,\n textLayer: this.#textLayer,\n drawLayer: this.#drawLayer\n });\n const parameters = {\n viewport: clonedViewport,\n div,\n annotations: null,\n intent\n };\n this.annotationEditorLayer.render(parameters);\n this.show();\n }\n cancel() {\n this._cancelled = true;\n if (!this.div) {\n return;\n }\n this.annotationEditorLayer.destroy();\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.annotationEditorLayer.pause(true);\n this.div.hidden = true;\n }\n show() {\n if (!this.div || this.annotationEditorLayer.isInvisible) {\n return;\n }\n this.div.hidden = false;\n this.annotationEditorLayer.pause(false);\n }\n}\n\n;// ./web/app_options.js\n{\n var compatParams = new Map();\n const {\n maxTouchPoints,\n platform,\n userAgent\n } = navigator;\n const isAndroid = /Android/.test(userAgent);\n const isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n (function () {\n if (isIOS || isAndroid) {\n compatParams.set(\"maxCanvasPixels\", 5242880);\n }\n })();\n (function () {\n if (isAndroid) {\n compatParams.set(\"useSystemFonts\", false);\n }\n })();\n}\nconst OptionKind = {\n BROWSER: 0x01,\n VIEWER: 0x02,\n API: 0x04,\n WORKER: 0x08,\n EVENT_DISPATCH: 0x10,\n PREFERENCE: 0x80\n};\nconst Type = {\n BOOLEAN: 0x01,\n NUMBER: 0x02,\n OBJECT: 0x04,\n STRING: 0x08,\n UNDEFINED: 0x10\n};\nconst defaultOptions = {\n allowedGlobalEvents: {\n value: null,\n kind: OptionKind.BROWSER\n },\n canvasMaxAreaInBytes: {\n value: -1,\n kind: OptionKind.BROWSER + OptionKind.API\n },\n isInAutomation: {\n value: false,\n kind: OptionKind.BROWSER\n },\n localeProperties: {\n value: {\n lang: navigator.language || \"en-US\"\n },\n kind: OptionKind.BROWSER\n },\n maxCanvasDim: {\n value: 32767,\n kind: OptionKind.BROWSER + OptionKind.VIEWER\n },\n nimbusDataStr: {\n value: \"\",\n kind: OptionKind.BROWSER\n },\n supportsCaretBrowsingMode: {\n value: false,\n kind: OptionKind.BROWSER\n },\n supportsDocumentFonts: {\n value: true,\n kind: OptionKind.BROWSER\n },\n supportsIntegratedFind: {\n value: false,\n kind: OptionKind.BROWSER\n },\n supportsMouseWheelZoomCtrlKey: {\n value: true,\n kind: OptionKind.BROWSER\n },\n supportsMouseWheelZoomMetaKey: {\n value: true,\n kind: OptionKind.BROWSER\n },\n supportsPinchToZoom: {\n value: true,\n kind: OptionKind.BROWSER\n },\n supportsPrinting: {\n value: true,\n kind: OptionKind.BROWSER\n },\n toolbarDensity: {\n value: 0,\n kind: OptionKind.BROWSER + OptionKind.EVENT_DISPATCH\n },\n altTextLearnMoreUrl: {\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n annotationEditorMode: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n annotationMode: {\n value: 2,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n capCanvasAreaFactor: {\n value: 200,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n commentLearnMoreUrl: {\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cursorToolOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n debuggerSrc: {\n value: \"./debugger.mjs\",\n kind: OptionKind.VIEWER\n },\n defaultZoomDelay: {\n value: 400,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n defaultZoomValue: {\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n disableHistory: {\n value: false,\n kind: OptionKind.VIEWER\n },\n disablePageLabels: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableAltText: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableAltTextModelDownload: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE + OptionKind.EVENT_DISPATCH\n },\n enableAutoLinking: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableComment: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableDetailCanvas: {\n value: true,\n kind: OptionKind.VIEWER\n },\n enableGuessAltText: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE + OptionKind.EVENT_DISPATCH\n },\n enableHighlightFloatingButton: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableNewAltTextWhenAddingImage: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableOptimizedPartialRendering: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePermissions: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePrintAutoRotate: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableScripting: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableSignatureEditor: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableUpdatedAddImage: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n externalLinkRel: {\n value: \"noopener noreferrer nofollow\",\n kind: OptionKind.VIEWER\n },\n externalLinkTarget: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n highlightEditorColors: {\n value: \"yellow=#FFFF98,green=#53FFBC,blue=#80EBFF,pink=#FFCBE6,red=#FF4F5F,\" + \"yellow_HCM=#FFFFCC,green_HCM=#53FFBC,blue_HCM=#80EBFF,pink_HCM=#F6B8FF,red_HCM=#C50043\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n historyUpdateUrl: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n ignoreDestinationZoom: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n imageResourcesPath: {\n value: \"./images/\",\n kind: OptionKind.VIEWER\n },\n maxCanvasPixels: {\n value: 2 ** 25,\n kind: OptionKind.VIEWER\n },\n minDurationToUpdateCanvas: {\n value: 500,\n kind: OptionKind.VIEWER\n },\n forcePageColors: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pageColorsBackground: {\n value: \"Canvas\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pageColorsForeground: {\n value: \"CanvasText\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pdfBugEnabled: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n printResolution: {\n value: 150,\n kind: OptionKind.VIEWER\n },\n sidebarViewOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n scrollModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n spreadModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n textLayerMode: {\n value: 1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewerCssTheme: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cMapPacked: {\n value: true,\n kind: OptionKind.API\n },\n cMapUrl: {\n value: \"../web/cmaps/\",\n kind: OptionKind.API\n },\n disableAutoFetch: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableFontFace: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableRange: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableStream: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n docBaseUrl: {\n value: \"\",\n kind: OptionKind.API\n },\n enableHWA: {\n value: true,\n kind: OptionKind.API + OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableXfa: {\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n fontExtraProperties: {\n value: false,\n kind: OptionKind.API\n },\n iccUrl: {\n value: \"../web/iccs/\",\n kind: OptionKind.API\n },\n isEvalSupported: {\n value: true,\n kind: OptionKind.API\n },\n isOffscreenCanvasSupported: {\n value: true,\n kind: OptionKind.API\n },\n maxImageSize: {\n value: -1,\n kind: OptionKind.API\n },\n pdfBug: {\n value: false,\n kind: OptionKind.API\n },\n standardFontDataUrl: {\n value: \"../web/standard_fonts/\",\n kind: OptionKind.API\n },\n useSystemFonts: {\n value: undefined,\n kind: OptionKind.API,\n type: Type.BOOLEAN + Type.UNDEFINED\n },\n verbosity: {\n value: 1,\n kind: OptionKind.API\n },\n wasmUrl: {\n value: \"../web/wasm/\",\n kind: OptionKind.API\n },\n workerPort: {\n value: null,\n kind: OptionKind.WORKER\n },\n workerSrc: {\n value: \"../build/pdf.worker.mjs\",\n kind: OptionKind.WORKER\n }\n};\n{\n defaultOptions.defaultUrl = {\n value: \"compressed.tracemonkey-pldi-09.pdf\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.sandboxBundleSrc = {\n value: \"../build/pdf.sandbox.mjs\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.enableFakeMLManager = {\n value: true,\n kind: OptionKind.VIEWER\n };\n}\n{\n defaultOptions.disablePreferences = {\n value: false,\n kind: OptionKind.VIEWER\n };\n}\nclass AppOptions {\n static eventBus;\n static #opts = new Map();\n static {\n for (const name in defaultOptions) {\n this.#opts.set(name, defaultOptions[name].value);\n }\n for (const [name, value] of compatParams) {\n this.#opts.set(name, value);\n }\n this._hasInvokedSet = false;\n this._checkDisablePreferences = () => {\n if (this.get(\"disablePreferences\")) {\n return true;\n }\n if (this._hasInvokedSet) {\n console.warn(\"The Preferences may override manually set AppOptions; \" + 'please use the \"disablePreferences\"-option to prevent that.');\n }\n return false;\n };\n }\n static get(name) {\n return this.#opts.get(name);\n }\n static getAll(kind = null, defaultOnly = false) {\n const options = Object.create(null);\n for (const name in defaultOptions) {\n const defaultOpt = defaultOptions[name];\n if (kind && !(kind & defaultOpt.kind)) {\n continue;\n }\n options[name] = !defaultOnly ? this.#opts.get(name) : defaultOpt.value;\n }\n return options;\n }\n static set(name, value) {\n this.setAll({\n [name]: value\n });\n }\n static setAll(options, prefs = false) {\n this._hasInvokedSet ||= true;\n let events;\n for (const name in options) {\n const defaultOpt = defaultOptions[name],\n userOpt = options[name];\n if (!defaultOpt || !(typeof userOpt === typeof defaultOpt.value || Type[(typeof userOpt).toUpperCase()] & defaultOpt.type)) {\n continue;\n }\n const {\n kind\n } = defaultOpt;\n if (prefs && !(kind & OptionKind.BROWSER || kind & OptionKind.PREFERENCE)) {\n continue;\n }\n if (this.eventBus && kind & OptionKind.EVENT_DISPATCH) {\n (events ||= new Map()).set(name, userOpt);\n }\n this.#opts.set(name, userOpt);\n }\n if (events) {\n for (const [name, value] of events) {\n this.eventBus.dispatch(name.toLowerCase(), {\n source: this,\n value\n });\n }\n }\n }\n}\n\n;// ./web/autolinker.js\n\n\nfunction DOMRectToPDF({\n width,\n height,\n left,\n top\n}, pdfPageView) {\n if (width === 0 || height === 0) {\n return null;\n }\n const pageBox = pdfPageView.textLayer.div.getBoundingClientRect();\n const bottomLeft = pdfPageView.getPagePoint(left - pageBox.left, top - pageBox.top);\n const topRight = pdfPageView.getPagePoint(left - pageBox.left + width, top - pageBox.top + height);\n return Util.normalizeRect([bottomLeft[0], bottomLeft[1], topRight[0], topRight[1]]);\n}\nfunction calculateLinkPosition(range, pdfPageView) {\n const rangeRects = range.getClientRects();\n if (rangeRects.length === 1) {\n return {\n rect: DOMRectToPDF(rangeRects[0], pdfPageView)\n };\n }\n const rect = [Infinity, Infinity, -Infinity, -Infinity];\n const quadPoints = [];\n let i = 0;\n for (const domRect of rangeRects) {\n const normalized = DOMRectToPDF(domRect, pdfPageView);\n if (normalized === null) {\n continue;\n }\n quadPoints[i] = quadPoints[i + 4] = normalized[0];\n quadPoints[i + 1] = quadPoints[i + 3] = normalized[3];\n quadPoints[i + 2] = quadPoints[i + 6] = normalized[2];\n quadPoints[i + 5] = quadPoints[i + 7] = normalized[1];\n Util.rectBoundingBox(...normalized, rect);\n i += 8;\n }\n return {\n quadPoints,\n rect\n };\n}\nfunction textPosition(container, offset) {\n let currentContainer = container;\n do {\n if (currentContainer.nodeType === Node.TEXT_NODE) {\n const currentLength = currentContainer.textContent.length;\n if (offset <= currentLength) {\n return [currentContainer, offset];\n }\n offset -= currentLength;\n } else if (currentContainer.firstChild) {\n currentContainer = currentContainer.firstChild;\n continue;\n }\n while (!currentContainer.nextSibling && currentContainer !== container) {\n currentContainer = currentContainer.parentNode;\n }\n if (currentContainer !== container) {\n currentContainer = currentContainer.nextSibling;\n }\n } while (currentContainer !== container);\n throw new Error(\"Offset is bigger than container's contents length.\");\n}\nfunction createLinkAnnotation({\n url,\n index,\n length\n}, pdfPageView, id) {\n const highlighter = pdfPageView._textHighlighter;\n const [{\n begin,\n end\n }] = highlighter._convertMatches([index], [length]);\n const range = new Range();\n range.setStart(...textPosition(highlighter.textDivs[begin.divIdx], begin.offset));\n range.setEnd(...textPosition(highlighter.textDivs[end.divIdx], end.offset));\n return {\n id: `inferred_link_${id}`,\n unsafeUrl: url,\n url,\n annotationType: AnnotationType.LINK,\n rotation: 0,\n ...calculateLinkPosition(range, pdfPageView),\n borderStyle: null\n };\n}\nclass Autolinker {\n static #index = 0;\n static #regex;\n static findLinks(text) {\n this.#regex ??= /\\b(?:https?:\\/\\/|mailto:|www\\.)(?:[\\S--[\\p{P}<>]]|\\/|[\\S--[\\[\\]]]+[\\S--[\\p{P}<>]])+|\\b[\\S--[@\\p{Ps}\\p{Pe}<>]]+@([\\S--[\\p{P}<>]]+(?:\\.[\\S--[\\p{P}<>]]+)+)/gmv;\n const [normalizedText, diffs] = normalize(text, {\n ignoreDashEOL: true\n });\n const matches = normalizedText.matchAll(this.#regex);\n const links = [];\n for (const match of matches) {\n const [url, emailDomain] = match;\n let raw;\n if (url.startsWith(\"www.\") || url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n raw = url;\n } else if (URL.canParse(`http://${emailDomain}`)) {\n raw = url.startsWith(\"mailto:\") ? url : `mailto:${url}`;\n } else {\n continue;\n }\n const absoluteURL = createValidAbsoluteUrl(raw, null, {\n addDefaultProtocol: true\n });\n if (absoluteURL) {\n const [index, length] = getOriginalIndex(diffs, match.index, url.length);\n links.push({\n url: absoluteURL.href,\n index,\n length\n });\n }\n }\n return links;\n }\n static processLinks(pdfPageView) {\n return this.findLinks(pdfPageView._textHighlighter.textContentItemsStr.join(\"\\n\")).map(link => createLinkAnnotation(link, pdfPageView, this.#index++));\n }\n}\n\n;// ./web/base_pdf_page_view.js\n\n\nclass BasePDFPageView {\n #loadingId = null;\n #minDurationToUpdateCanvas = 0;\n #renderError = null;\n #renderingState = RenderingStates.INITIAL;\n #showCanvas = null;\n #startTime = 0;\n #tempCanvas = null;\n canvas = null;\n div = null;\n enableOptimizedPartialRendering = false;\n eventBus = null;\n id = null;\n pageColors = null;\n recordedBBoxes = null;\n renderingQueue = null;\n renderTask = null;\n resume = null;\n constructor(options) {\n this.eventBus = options.eventBus;\n this.id = options.id;\n this.pageColors = options.pageColors || null;\n this.renderingQueue = options.renderingQueue;\n this.enableOptimizedPartialRendering = options.enableOptimizedPartialRendering ?? false;\n this.#minDurationToUpdateCanvas = options.minDurationToUpdateCanvas ?? 500;\n }\n get renderingState() {\n return this.#renderingState;\n }\n set renderingState(state) {\n if (state === this.#renderingState) {\n return;\n }\n this.#renderingState = state;\n if (this.#loadingId) {\n clearTimeout(this.#loadingId);\n this.#loadingId = null;\n }\n switch (state) {\n case RenderingStates.PAUSED:\n this.div.classList.remove(\"loading\");\n this.#startTime = 0;\n this.#showCanvas?.(false);\n break;\n case RenderingStates.RUNNING:\n this.div.classList.add(\"loadingIcon\");\n this.#loadingId = setTimeout(() => {\n this.div.classList.add(\"loading\");\n this.#loadingId = null;\n }, 0);\n this.#startTime = Date.now();\n break;\n case RenderingStates.INITIAL:\n case RenderingStates.FINISHED:\n this.div.classList.remove(\"loadingIcon\", \"loading\");\n this.#startTime = 0;\n break;\n }\n }\n _createCanvas(onShow, hideUntilComplete = false) {\n const {\n pageColors\n } = this;\n const hasHCM = !!(pageColors?.background && pageColors?.foreground);\n const prevCanvas = this.canvas;\n const updateOnFirstShow = !prevCanvas && !hasHCM && !hideUntilComplete;\n let canvas = this.canvas = document.createElement(\"canvas\");\n this.#showCanvas = isLastShow => {\n if (updateOnFirstShow) {\n let tempCanvas = this.#tempCanvas;\n if (!isLastShow && this.#minDurationToUpdateCanvas > 0) {\n if (Date.now() - this.#startTime < this.#minDurationToUpdateCanvas) {\n return;\n }\n if (!tempCanvas) {\n tempCanvas = this.#tempCanvas = canvas;\n canvas = this.canvas = canvas.cloneNode(false);\n onShow(canvas);\n }\n }\n if (tempCanvas) {\n const ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n ctx.drawImage(tempCanvas, 0, 0);\n if (isLastShow) {\n this.#resetTempCanvas();\n } else {\n this.#startTime = Date.now();\n }\n return;\n }\n onShow(canvas);\n this.#showCanvas = null;\n return;\n }\n if (!isLastShow) {\n return;\n }\n if (prevCanvas) {\n prevCanvas.replaceWith(canvas);\n prevCanvas.width = prevCanvas.height = 0;\n } else {\n onShow(canvas);\n }\n };\n return {\n canvas,\n prevCanvas\n };\n }\n #renderContinueCallback = cont => {\n this.#showCanvas?.(false);\n if (this.renderingQueue && !this.renderingQueue.isHighestPriority(this)) {\n this.renderingState = RenderingStates.PAUSED;\n this.resume = () => {\n this.renderingState = RenderingStates.RUNNING;\n cont();\n };\n return;\n }\n cont();\n };\n _resetCanvas() {\n const {\n canvas\n } = this;\n if (!canvas) {\n return;\n }\n canvas.remove();\n canvas.width = canvas.height = 0;\n this.canvas = null;\n this.#resetTempCanvas();\n }\n #resetTempCanvas() {\n if (this.#tempCanvas) {\n this.#tempCanvas.width = this.#tempCanvas.height = 0;\n this.#tempCanvas = null;\n }\n }\n async _drawCanvas(options, onCancel, onFinish) {\n const renderTask = this.renderTask = this.pdfPage.render(options);\n renderTask.onContinue = this.#renderContinueCallback;\n renderTask.onError = error => {\n if (error instanceof RenderingCancelledException) {\n onCancel();\n this.#renderError = null;\n }\n };\n let error = null;\n try {\n await renderTask.promise;\n this.#showCanvas?.(true);\n } catch (e) {\n if (e instanceof RenderingCancelledException) {\n return;\n }\n error = e;\n this.#showCanvas?.(true);\n } finally {\n this.#renderError = error;\n if (renderTask === this.renderTask) {\n this.renderTask = null;\n if (this.enableOptimizedPartialRendering) {\n this.recordedBBoxes ??= renderTask.recordedBBoxes;\n }\n }\n }\n this.renderingState = RenderingStates.FINISHED;\n onFinish(renderTask);\n if (error) {\n throw error;\n }\n }\n cancelRendering({\n cancelExtraDelay = 0\n } = {}) {\n if (this.renderTask) {\n this.renderTask.cancel(cancelExtraDelay);\n this.renderTask = null;\n }\n this.resume = null;\n }\n dispatchPageRender() {\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n }\n dispatchPageRendered(cssTransform, isDetailView) {\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform,\n isDetailView,\n timestamp: performance.now(),\n error: this.#renderError\n });\n }\n}\n\n;// ./web/draw_layer_builder.js\n\nclass DrawLayerBuilder {\n #drawLayer = null;\n constructor(options) {\n this.pageIndex = options.pageIndex;\n }\n async render({\n intent = \"display\"\n }) {\n if (intent !== \"display\" || this.#drawLayer || this._cancelled) {\n return;\n }\n this.#drawLayer = new DrawLayer({\n pageIndex: this.pageIndex\n });\n }\n cancel() {\n this._cancelled = true;\n if (!this.#drawLayer) {\n return;\n }\n this.#drawLayer.destroy();\n this.#drawLayer = null;\n }\n setParent(parent) {\n this.#drawLayer?.setParent(parent);\n }\n getDrawLayer() {\n return this.#drawLayer;\n }\n}\n\n;// ./web/pdf_page_detail_view.js\n\n\n\nclass PDFPageDetailView extends BasePDFPageView {\n #detailArea = null;\n renderingCancelled = false;\n constructor({\n pageView\n }) {\n super(pageView);\n this.pageView = pageView;\n this.renderingId = \"detail\" + this.id;\n this.div = pageView.div;\n }\n setPdfPage(pdfPage) {\n this.pageView.setPdfPage(pdfPage);\n }\n get pdfPage() {\n return this.pageView.pdfPage;\n }\n get renderingState() {\n return super.renderingState;\n }\n set renderingState(value) {\n this.renderingCancelled = false;\n super.renderingState = value;\n }\n reset({\n keepCanvas = false\n } = {}) {\n const renderingCancelled = this.renderingCancelled || this.renderingState === RenderingStates.RUNNING || this.renderingState === RenderingStates.PAUSED;\n this.cancelRendering();\n this.renderingState = RenderingStates.INITIAL;\n this.renderingCancelled = renderingCancelled;\n if (!keepCanvas) {\n this._resetCanvas();\n }\n }\n #shouldRenderDifferentArea(visibleArea) {\n if (!this.#detailArea) {\n return true;\n }\n const minDetailX = this.#detailArea.minX;\n const minDetailY = this.#detailArea.minY;\n const maxDetailX = this.#detailArea.width + minDetailX;\n const maxDetailY = this.#detailArea.height + minDetailY;\n if (visibleArea.minX < minDetailX || visibleArea.minY < minDetailY || visibleArea.maxX > maxDetailX || visibleArea.maxY > maxDetailY) {\n return true;\n }\n const {\n width: maxWidth,\n height: maxHeight,\n scale\n } = this.pageView.viewport;\n if (this.#detailArea.scale !== scale) {\n return true;\n }\n const paddingLeftSize = visibleArea.minX - minDetailX;\n const paddingRightSize = maxDetailX - visibleArea.maxX;\n const paddingTopSize = visibleArea.minY - minDetailY;\n const paddingBottomSize = maxDetailY - visibleArea.maxY;\n const MOVEMENT_THRESHOLD = 0.5;\n const ratio = (1 + MOVEMENT_THRESHOLD) / MOVEMENT_THRESHOLD;\n if (minDetailX > 0 && paddingRightSize / paddingLeftSize > ratio || maxDetailX < maxWidth && paddingLeftSize / paddingRightSize > ratio || minDetailY > 0 && paddingBottomSize / paddingTopSize > ratio || maxDetailY < maxHeight && paddingTopSize / paddingBottomSize > ratio) {\n return true;\n }\n return false;\n }\n update({\n visibleArea = null,\n underlyingViewUpdated = false\n } = {}) {\n if (underlyingViewUpdated) {\n this.cancelRendering();\n this.renderingState = RenderingStates.INITIAL;\n return;\n }\n if (!this.#shouldRenderDifferentArea(visibleArea)) {\n return;\n }\n const {\n viewport,\n maxCanvasPixels,\n capCanvasAreaFactor\n } = this.pageView;\n const visibleWidth = visibleArea.maxX - visibleArea.minX;\n const visibleHeight = visibleArea.maxY - visibleArea.minY;\n const visiblePixels = visibleWidth * visibleHeight * OutputScale.pixelRatio ** 2;\n const maxDetailToVisibleLinearRatio = Math.sqrt(OutputScale.capPixels(maxCanvasPixels, capCanvasAreaFactor) / visiblePixels);\n const maxOverflowScale = (maxDetailToVisibleLinearRatio - 1) / 2;\n let overflowScale = Math.min(1, maxOverflowScale);\n if (overflowScale < 0) {\n overflowScale = 0;\n }\n const overflowWidth = visibleWidth * overflowScale;\n const overflowHeight = visibleHeight * overflowScale;\n const minX = Math.max(0, visibleArea.minX - overflowWidth);\n const maxX = Math.min(viewport.width, visibleArea.maxX + overflowWidth);\n const minY = Math.max(0, visibleArea.minY - overflowHeight);\n const maxY = Math.min(viewport.height, visibleArea.maxY + overflowHeight);\n const width = maxX - minX;\n const height = maxY - minY;\n this.#detailArea = {\n minX,\n minY,\n width,\n height,\n scale: viewport.scale\n };\n this.reset({\n keepCanvas: true\n });\n }\n _getRenderingContext(canvas, transform) {\n const baseContext = this.pageView._getRenderingContext(canvas, transform, false);\n const recordedBBoxes = this.pdfPage.recordedBBoxes;\n if (!recordedBBoxes || !this.enableOptimizedPartialRendering) {\n return baseContext;\n }\n const {\n viewport: {\n width: vWidth,\n height: vHeight\n }\n } = this.pageView;\n const {\n width: aWidth,\n height: aHeight,\n minX: aMinX,\n minY: aMinY\n } = this.#detailArea;\n const detailMinX = aMinX / vWidth;\n const detailMinY = aMinY / vHeight;\n const detailMaxX = (aMinX + aWidth) / vWidth;\n const detailMaxY = (aMinY + aHeight) / vHeight;\n return {\n ...baseContext,\n operationsFilter(index) {\n if (recordedBBoxes.isEmpty(index)) {\n return false;\n }\n return recordedBBoxes.minX(index) <= detailMaxX && recordedBBoxes.maxX(index) >= detailMinX && recordedBBoxes.minY(index) <= detailMaxY && recordedBBoxes.maxY(index) >= detailMinY;\n }\n };\n }\n async draw() {\n if (this.pageView.detailView !== this) {\n return undefined;\n }\n const hideUntilComplete = this.pageView.renderingState === RenderingStates.FINISHED || this.renderingState === RenderingStates.FINISHED;\n if (this.renderingState !== RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n const {\n div,\n pdfPage,\n viewport\n } = this.pageView;\n if (!pdfPage) {\n this.renderingState = RenderingStates.FINISHED;\n throw new Error(\"pdfPage is not loaded\");\n }\n this.renderingState = RenderingStates.RUNNING;\n const canvasWrapper = this.pageView._ensureCanvasWrapper();\n const {\n canvas,\n prevCanvas\n } = this._createCanvas(newCanvas => {\n if (canvasWrapper.firstElementChild?.tagName === \"CANVAS\") {\n canvasWrapper.firstElementChild.after(newCanvas);\n } else {\n canvasWrapper.prepend(newCanvas);\n }\n }, hideUntilComplete);\n canvas.ariaHidden = true;\n if (this.enableOptimizedPartialRendering) {\n canvas.className = \"detailView\";\n }\n const {\n width,\n height\n } = viewport;\n const area = this.#detailArea;\n const {\n pixelRatio\n } = OutputScale;\n const transform = [pixelRatio, 0, 0, pixelRatio, -area.minX * pixelRatio, -area.minY * pixelRatio];\n canvas.width = area.width * pixelRatio;\n canvas.height = area.height * pixelRatio;\n const {\n style\n } = canvas;\n style.width = `${area.width * 100 / width}%`;\n style.height = `${area.height * 100 / height}%`;\n style.top = `${area.minY * 100 / height}%`;\n style.left = `${area.minX * 100 / width}%`;\n const renderingPromise = this._drawCanvas(this._getRenderingContext(canvas, transform), () => {\n this.canvas?.remove();\n this.canvas = prevCanvas;\n }, () => {\n this.dispatchPageRendered(false, true);\n });\n div.setAttribute(\"data-loaded\", true);\n this.dispatchPageRender();\n return renderingPromise;\n }\n}\n\n;// ./web/struct_tree_layer_builder.js\n\n\nconst PDF_ROLE_TO_HTML_ROLE = {\n Document: null,\n DocumentFragment: null,\n Part: \"group\",\n Sect: \"group\",\n Div: \"group\",\n Aside: \"note\",\n NonStruct: \"none\",\n P: null,\n H: \"heading\",\n Title: null,\n FENote: \"note\",\n Sub: \"group\",\n Lbl: null,\n Span: null,\n Em: null,\n Strong: null,\n Link: \"link\",\n Annot: \"note\",\n Form: \"form\",\n Ruby: null,\n RB: null,\n RT: null,\n RP: null,\n Warichu: null,\n WT: null,\n WP: null,\n L: \"list\",\n LI: \"listitem\",\n LBody: null,\n Table: \"table\",\n TR: \"row\",\n TH: \"columnheader\",\n TD: \"cell\",\n THead: \"columnheader\",\n TBody: null,\n TFoot: null,\n Caption: null,\n Figure: \"figure\",\n Formula: null,\n Artifact: null\n};\nconst MathMLElements = new Set([\"math\", \"merror\", \"mfrac\", \"mi\", \"mmultiscripts\", \"mn\", \"mo\", \"mover\", \"mpadded\", \"mprescripts\", \"mroot\", \"mrow\", \"ms\", \"mspace\", \"msqrt\", \"mstyle\", \"msub\", \"msubsup\", \"msup\", \"mtable\", \"mtd\", \"mtext\", \"mtr\", \"munder\", \"munderover\", \"semantics\"]);\nconst MathMLNamespace = \"http://www.w3.org/1998/Math/MathML\";\nclass MathMLSanitizer {\n static get sanitizer() {\n return shadow(this, \"sanitizer\", FeatureTest.isSanitizerSupported ? new Sanitizer({\n elements: [...MathMLElements].map(name => ({\n name,\n namespace: MathMLNamespace\n })),\n replaceWithChildrenElements: [{\n name: \"maction\",\n namespace: MathMLNamespace\n }],\n attributes: [\"dir\", \"displaystyle\", \"mathbackground\", \"mathcolor\", \"mathsize\", \"scriptlevel\", \"encoding\", \"display\", \"linethickness\", \"intent\", \"arg\", \"form\", \"fence\", \"separator\", \"lspace\", \"rspace\", \"stretchy\", \"symmetric\", \"maxsize\", \"minsize\", \"largeop\", \"movablelimits\", \"width\", \"height\", \"depth\", \"voffset\", \"accent\", \"accentunder\", \"columnspan\", \"rowspan\"],\n comments: false\n }) : null);\n }\n}\nconst HEADING_PATTERN = /^H(\\d+)$/;\nclass StructTreeLayerBuilder {\n #promise;\n #treeDom = null;\n #treePromise;\n #elementAttributes = new Map();\n #rawDims;\n #elementsToAddToTextLayer = null;\n constructor(pdfPage, rawDims) {\n this.#promise = pdfPage.getStructTree();\n this.#rawDims = rawDims;\n }\n async render() {\n if (this.#treePromise) {\n return this.#treePromise;\n }\n const {\n promise,\n resolve,\n reject\n } = Promise.withResolvers();\n this.#treePromise = promise;\n try {\n this.#treeDom = this.#walk(await this.#promise);\n } catch (ex) {\n reject(ex);\n }\n this.#promise = null;\n this.#treeDom?.classList.add(\"structTree\");\n resolve(this.#treeDom);\n return promise;\n }\n async getAriaAttributes(annotationId) {\n try {\n await this.render();\n return this.#elementAttributes.get(annotationId);\n } catch {}\n return null;\n }\n hide() {\n if (this.#treeDom && !this.#treeDom.hidden) {\n this.#treeDom.hidden = true;\n }\n }\n show() {\n if (this.#treeDom?.hidden) {\n this.#treeDom.hidden = false;\n }\n }\n #setAttributes(structElement, htmlElement) {\n const {\n alt,\n id,\n lang\n } = structElement;\n if (alt !== undefined) {\n let added = false;\n const label = removeNullCharacters(alt);\n for (const child of structElement.children) {\n if (child.type === \"annotation\") {\n let attrs = this.#elementAttributes.get(child.id);\n if (!attrs) {\n attrs = new Map();\n this.#elementAttributes.set(child.id, attrs);\n }\n attrs.set(\"aria-label\", label);\n added = true;\n }\n }\n if (!added) {\n htmlElement.setAttribute(\"aria-label\", label);\n }\n }\n if (id !== undefined) {\n htmlElement.setAttribute(\"aria-owns\", id);\n }\n if (lang !== undefined) {\n htmlElement.setAttribute(\"lang\", removeNullCharacters(lang, true));\n }\n }\n #addImageInTextLayer(node, element) {\n const {\n alt,\n bbox,\n children\n } = node;\n const child = children?.[0];\n if (!this.#rawDims || !alt || !bbox || child?.type !== \"content\") {\n return false;\n }\n const {\n id\n } = child;\n if (!id) {\n return false;\n }\n element.setAttribute(\"aria-owns\", id);\n const img = document.createElement(\"span\");\n (this.#elementsToAddToTextLayer ||= new Map()).set(id, img);\n img.setAttribute(\"role\", \"img\");\n img.setAttribute(\"aria-label\", removeNullCharacters(alt));\n const {\n pageHeight,\n pageX,\n pageY\n } = this.#rawDims;\n const calc = \"calc(var(--total-scale-factor) *\";\n const {\n style\n } = img;\n style.width = `${calc}${bbox[2] - bbox[0]}px)`;\n style.height = `${calc}${bbox[3] - bbox[1]}px)`;\n style.left = `${calc}${bbox[0] - pageX}px)`;\n style.top = `${calc}${pageHeight - bbox[3] + pageY}px)`;\n return true;\n }\n addElementsToTextLayer() {\n if (!this.#elementsToAddToTextLayer) {\n return;\n }\n for (const [id, img] of this.#elementsToAddToTextLayer) {\n document.getElementById(id)?.append(img);\n }\n this.#elementsToAddToTextLayer.clear();\n this.#elementsToAddToTextLayer = null;\n }\n #walk(node) {\n if (!node) {\n return null;\n }\n let element;\n if (\"role\" in node) {\n const {\n role\n } = node;\n element = MathMLElements.has(role) ? document.createElementNS(MathMLNamespace, role) : document.createElement(\"span\");\n const match = role.match(HEADING_PATTERN);\n if (match) {\n element.setAttribute(\"role\", \"heading\");\n element.setAttribute(\"aria-level\", match[1]);\n } else if (PDF_ROLE_TO_HTML_ROLE[role]) {\n element.setAttribute(\"role\", PDF_ROLE_TO_HTML_ROLE[role]);\n }\n if (role === \"Figure\" && this.#addImageInTextLayer(node, element)) {\n return element;\n }\n if (role === \"Formula\") {\n if (node.mathML && MathMLSanitizer.sanitizer) {\n element.setHTML(node.mathML, {\n sanitizer: MathMLSanitizer.sanitizer\n });\n }\n if (!node.mathML && node.children.length === 1 && node.children[0].role !== \"math\") {\n element = document.createElementNS(MathMLNamespace, \"math\");\n }\n }\n }\n element ||= document.createElement(\"span\");\n this.#setAttributes(node, element);\n if (node.children) {\n if (node.children.length === 1 && \"id\" in node.children[0]) {\n this.#setAttributes(node.children[0], element);\n } else {\n for (const kid of node.children) {\n element.append(this.#walk(kid));\n }\n }\n }\n return element;\n }\n}\n\n;// ./web/text_accessibility.js\n\nclass TextAccessibilityManager {\n #enabled = false;\n #textChildren = null;\n #textNodes = new Map();\n #waitingElements = new Map();\n setTextMapping(textDivs) {\n this.#textChildren = textDivs;\n }\n static #compareElementPositions(e1, e2) {\n const rect1 = e1.getBoundingClientRect();\n const rect2 = e2.getBoundingClientRect();\n if (rect1.width === 0 && rect1.height === 0) {\n return +1;\n }\n if (rect2.width === 0 && rect2.height === 0) {\n return -1;\n }\n const top1 = rect1.y;\n const bot1 = rect1.y + rect1.height;\n const mid1 = rect1.y + rect1.height / 2;\n const top2 = rect2.y;\n const bot2 = rect2.y + rect2.height;\n const mid2 = rect2.y + rect2.height / 2;\n if (mid1 <= top2 && mid2 >= bot1) {\n return -1;\n }\n if (mid2 <= top1 && mid1 >= bot2) {\n return +1;\n }\n const centerX1 = rect1.x + rect1.width / 2;\n const centerX2 = rect2.x + rect2.width / 2;\n return centerX1 - centerX2;\n }\n enable() {\n if (this.#enabled) {\n throw new Error(\"TextAccessibilityManager is already enabled.\");\n }\n if (!this.#textChildren) {\n throw new Error(\"Text divs and strings have not been set.\");\n }\n this.#enabled = true;\n this.#textChildren = this.#textChildren.slice();\n this.#textChildren.sort(TextAccessibilityManager.#compareElementPositions);\n if (this.#textNodes.size > 0) {\n const textChildren = this.#textChildren;\n for (const [id, nodeIndex] of this.#textNodes) {\n const element = document.getElementById(id);\n if (!element) {\n this.#textNodes.delete(id);\n continue;\n }\n this.#addIdToAriaOwns(id, textChildren[nodeIndex]);\n }\n }\n for (const [element, isRemovable] of this.#waitingElements) {\n this.addPointerInTextLayer(element, isRemovable);\n }\n this.#waitingElements.clear();\n }\n disable() {\n if (!this.#enabled) {\n return;\n }\n this.#waitingElements.clear();\n this.#textChildren = null;\n this.#enabled = false;\n }\n removePointerInTextLayer(element) {\n if (!this.#enabled) {\n this.#waitingElements.delete(element);\n return;\n }\n const children = this.#textChildren;\n if (!children || children.length === 0) {\n return;\n }\n const {\n id\n } = element;\n const nodeIndex = this.#textNodes.get(id);\n if (nodeIndex === undefined) {\n return;\n }\n const node = children[nodeIndex];\n this.#textNodes.delete(id);\n let owns = node.getAttribute(\"aria-owns\");\n if (owns?.includes(id)) {\n owns = owns.split(\" \").filter(x => x !== id).join(\" \");\n if (owns) {\n node.setAttribute(\"aria-owns\", owns);\n } else {\n node.removeAttribute(\"aria-owns\");\n node.setAttribute(\"role\", \"presentation\");\n }\n }\n }\n #addIdToAriaOwns(id, node) {\n const owns = node.getAttribute(\"aria-owns\");\n if (!owns?.includes(id)) {\n node.setAttribute(\"aria-owns\", owns ? `${owns} ${id}` : id);\n }\n node.removeAttribute(\"role\");\n }\n addPointerInTextLayer(element, isRemovable) {\n const {\n id\n } = element;\n if (!id) {\n return null;\n }\n if (!this.#enabled) {\n this.#waitingElements.set(element, isRemovable);\n return null;\n }\n if (isRemovable) {\n this.removePointerInTextLayer(element);\n }\n const children = this.#textChildren;\n if (!children || children.length === 0) {\n return null;\n }\n const index = binarySearchFirstItem(children, node => TextAccessibilityManager.#compareElementPositions(element, node) < 0);\n const nodeIndex = Math.max(0, index - 1);\n const child = children[nodeIndex];\n this.#addIdToAriaOwns(id, child);\n this.#textNodes.set(id, nodeIndex);\n const parent = child.parentNode;\n return parent?.classList.contains(\"markedContent\") ? parent.id : null;\n }\n moveElementInDOM(container, element, contentElement, isRemovable) {\n const id = this.addPointerInTextLayer(contentElement, isRemovable);\n if (!container.hasChildNodes()) {\n container.append(element);\n return id;\n }\n const children = Array.from(container.childNodes).filter(node => node !== element);\n if (children.length === 0) {\n return id;\n }\n const index = binarySearchFirstItem(children, node => TextAccessibilityManager.#compareElementPositions(element, node) < 0);\n if (index === 0) {\n children[0].before(element);\n } else {\n children[index - 1].after(element);\n }\n return id;\n }\n}\n\n;// ./web/text_highlighter.js\nclass TextHighlighter {\n #eventAbortController = null;\n constructor({\n findController,\n eventBus,\n pageIndex\n }) {\n this.findController = findController;\n this.matches = [];\n this.eventBus = eventBus;\n this.pageIdx = pageIndex;\n this.textDivs = null;\n this.textContentItemsStr = null;\n this.enabled = false;\n }\n setTextMapping(divs, texts) {\n this.textDivs = divs;\n this.textContentItemsStr = texts;\n }\n enable() {\n if (!this.textDivs || !this.textContentItemsStr) {\n throw new Error(\"Text divs and strings have not been set.\");\n }\n if (this.enabled) {\n throw new Error(\"TextHighlighter is already enabled.\");\n }\n this.enabled = true;\n if (!this.#eventAbortController) {\n this.#eventAbortController = new AbortController();\n this.eventBus._on(\"updatetextlayermatches\", evt => {\n if (evt.pageIndex === this.pageIdx || evt.pageIndex === -1) {\n this._updateMatches();\n }\n }, {\n signal: this.#eventAbortController.signal\n });\n }\n this._updateMatches();\n }\n disable() {\n if (!this.enabled) {\n return;\n }\n this.enabled = false;\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n this._updateMatches(true);\n }\n _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n const {\n textContentItemsStr\n } = this;\n let i = 0,\n iIndex = 0;\n const end = textContentItemsStr.length - 1;\n const result = [];\n for (let m = 0, mm = matches.length; m < mm; m++) {\n let matchIdx = matches[m];\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n const match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n matchIdx += matchesLength[m];\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n return result;\n }\n _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n const {\n findController,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n const isSelectedPage = pageIdx === findController.selected.pageIdx;\n const selectedMatchIdx = findController.selected.matchIdx;\n const highlightAll = findController.state.highlightAll;\n let prevEnd = null;\n const infinity = {\n divIdx: -1,\n offset: undefined\n };\n function beginText(begin, className) {\n const divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n return appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n let div = textDivs[divIdx];\n if (div.nodeType === Node.TEXT_NODE) {\n const span = document.createElement(\"span\");\n div.before(span);\n span.append(div);\n textDivs[divIdx] = span;\n div = span;\n }\n const content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n const node = document.createTextNode(content);\n if (className) {\n const span = document.createElement(\"span\");\n span.className = `${className} appended`;\n span.append(node);\n div.append(span);\n if (className.includes(\"selected\")) {\n const {\n left\n } = span.getClientRects()[0];\n const parentLeft = div.getBoundingClientRect().left;\n return left - parentLeft;\n }\n return 0;\n }\n div.append(node);\n return 0;\n }\n let i0 = selectedMatchIdx,\n i1 = i0 + 1;\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n let lastDivIdx = -1;\n let lastOffset = -1;\n for (let i = i0; i < i1; i++) {\n const match = matches[i];\n const begin = match.begin;\n if (begin.divIdx === lastDivIdx && begin.offset === lastOffset) {\n continue;\n }\n lastDivIdx = begin.divIdx;\n lastOffset = begin.offset;\n const end = match.end;\n const isSelected = isSelectedPage && i === selectedMatchIdx;\n const highlightSuffix = isSelected ? \" selected\" : \"\";\n let selectedLeft = 0;\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n if (begin.divIdx === end.divIdx) {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n for (let n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n prevEnd = end;\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n selectedLeft,\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n }\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n _updateMatches(reset = false) {\n if (!this.enabled && !reset) {\n return;\n }\n const {\n findController,\n matches,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n let clearedUntilDivIdx = -1;\n for (const match of matches) {\n const begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n for (let n = begin, end = match.end.divIdx; n <= end; n++) {\n const div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n if (!findController?.highlightMatches || reset) {\n return;\n }\n const pageMatches = findController.pageMatches[pageIdx] || null;\n const pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n this._renderMatches(this.matches);\n }\n}\n\n;// ./web/text_layer_builder.js\n\n\nclass TextLayerBuilder {\n #enablePermissions = false;\n #onAppend = null;\n #renderingDone = false;\n #textLayer = null;\n static #textLayers = new Map();\n static #selectionChangeAbortController = null;\n constructor({\n pdfPage,\n highlighter = null,\n accessibilityManager = null,\n enablePermissions = false,\n onAppend = null\n }) {\n this.pdfPage = pdfPage;\n this.highlighter = highlighter;\n this.accessibilityManager = accessibilityManager;\n this.#enablePermissions = enablePermissions === true;\n this.#onAppend = onAppend;\n this.div = document.createElement(\"div\");\n this.div.tabIndex = 0;\n this.div.className = \"textLayer\";\n }\n async render({\n viewport,\n textContentParams = null\n }) {\n if (this.#renderingDone && this.#textLayer) {\n this.#textLayer.update({\n viewport,\n onBefore: this.hide.bind(this)\n });\n this.show();\n return;\n }\n this.cancel();\n this.#textLayer = new TextLayer({\n textContentSource: this.pdfPage.streamTextContent(textContentParams || {\n includeMarkedContent: true,\n disableNormalization: true\n }),\n container: this.div,\n viewport\n });\n const {\n textDivs,\n textContentItemsStr\n } = this.#textLayer;\n this.highlighter?.setTextMapping(textDivs, textContentItemsStr);\n this.accessibilityManager?.setTextMapping(textDivs);\n await this.#textLayer.render();\n this.#renderingDone = true;\n const endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.div.append(endOfContent);\n this.#bindMouse(endOfContent);\n this.#onAppend?.(this.div);\n this.highlighter?.enable();\n this.accessibilityManager?.enable();\n }\n hide() {\n if (!this.div.hidden && this.#renderingDone) {\n this.highlighter?.disable();\n this.div.hidden = true;\n }\n }\n show() {\n if (this.div.hidden && this.#renderingDone) {\n this.div.hidden = false;\n this.highlighter?.enable();\n }\n }\n cancel() {\n this.#textLayer?.cancel();\n this.#textLayer = null;\n this.highlighter?.disable();\n this.accessibilityManager?.disable();\n TextLayerBuilder.#removeGlobalSelectionListener(this.div);\n }\n #bindMouse(end) {\n const {\n div\n } = this;\n div.addEventListener(\"mousedown\", () => {\n div.classList.add(\"selecting\");\n });\n div.addEventListener(\"copy\", event => {\n if (!this.#enablePermissions) {\n const selection = document.getSelection();\n event.clipboardData.setData(\"text/plain\", removeNullCharacters(normalizeUnicode(selection.toString())));\n }\n stopEvent(event);\n });\n TextLayerBuilder.#textLayers.set(div, end);\n TextLayerBuilder.#enableGlobalSelectionListener();\n }\n static #removeGlobalSelectionListener(textLayerDiv) {\n this.#textLayers.delete(textLayerDiv);\n if (this.#textLayers.size === 0) {\n this.#selectionChangeAbortController?.abort();\n this.#selectionChangeAbortController = null;\n }\n }\n static #enableGlobalSelectionListener() {\n if (this.#selectionChangeAbortController) {\n return;\n }\n this.#selectionChangeAbortController = new AbortController();\n const {\n signal\n } = this.#selectionChangeAbortController;\n const reset = (end, textLayer) => {\n textLayer.append(end);\n end.style.width = \"\";\n end.style.height = \"\";\n textLayer.classList.remove(\"selecting\");\n };\n let isPointerDown = false;\n document.addEventListener(\"pointerdown\", () => {\n isPointerDown = true;\n }, {\n signal\n });\n document.addEventListener(\"pointerup\", () => {\n isPointerDown = false;\n this.#textLayers.forEach(reset);\n }, {\n signal\n });\n window.addEventListener(\"blur\", () => {\n isPointerDown = false;\n this.#textLayers.forEach(reset);\n }, {\n signal\n });\n document.addEventListener(\"keyup\", () => {\n if (!isPointerDown) {\n this.#textLayers.forEach(reset);\n }\n }, {\n signal\n });\n var isFirefox, prevRange;\n document.addEventListener(\"selectionchange\", () => {\n const selection = document.getSelection();\n if (selection.rangeCount === 0) {\n this.#textLayers.forEach(reset);\n return;\n }\n const activeTextLayers = new Set();\n for (let i = 0; i < selection.rangeCount; i++) {\n const range = selection.getRangeAt(i);\n for (const textLayerDiv of this.#textLayers.keys()) {\n if (!activeTextLayers.has(textLayerDiv) && range.intersectsNode(textLayerDiv)) {\n activeTextLayers.add(textLayerDiv);\n }\n }\n }\n for (const [textLayerDiv, endDiv] of this.#textLayers) {\n if (activeTextLayers.has(textLayerDiv)) {\n textLayerDiv.classList.add(\"selecting\");\n } else {\n reset(endDiv, textLayerDiv);\n }\n }\n isFirefox ??= getComputedStyle(this.#textLayers.values().next().value).getPropertyValue(\"-moz-user-select\") === \"none\";\n if (isFirefox) {\n return;\n }\n const range = selection.getRangeAt(0);\n const modifyStart = prevRange && (range.compareBoundaryPoints(Range.END_TO_END, prevRange) === 0 || range.compareBoundaryPoints(Range.START_TO_END, prevRange) === 0);\n let anchor = modifyStart ? range.startContainer : range.endContainer;\n if (anchor.nodeType === Node.TEXT_NODE) {\n anchor = anchor.parentNode;\n }\n if (!modifyStart && range.endOffset === 0) {\n do {\n while (!anchor.previousSibling) {\n anchor = anchor.parentNode;\n }\n anchor = anchor.previousSibling;\n } while (!anchor.childNodes.length);\n }\n const parentTextLayer = anchor.parentElement?.closest(\".textLayer\");\n const endDiv = this.#textLayers.get(parentTextLayer);\n if (endDiv) {\n endDiv.style.width = parentTextLayer.style.width;\n endDiv.style.height = parentTextLayer.style.height;\n anchor.parentElement.insertBefore(endDiv, modifyStart ? anchor : anchor.nextSibling);\n }\n prevRange = range.cloneRange();\n }, {\n signal\n });\n }\n}\n\n;// ./web/xfa_layer_builder.js\n\nclass XfaLayerBuilder {\n constructor({\n pdfPage,\n annotationStorage = null,\n linkService,\n xfaHtml = null\n }) {\n this.pdfPage = pdfPage;\n this.annotationStorage = annotationStorage;\n this.linkService = linkService;\n this.xfaHtml = xfaHtml;\n this.div = null;\n this._cancelled = false;\n }\n async render({\n viewport,\n intent = \"display\"\n }) {\n if (intent === \"print\") {\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml: this.xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n this.div = document.createElement(\"div\");\n parameters.div = this.div;\n return XfaLayer.render(parameters);\n }\n const xfaHtml = await this.pdfPage.getXfa();\n if (this._cancelled || !xfaHtml) {\n return {\n textDivs: []\n };\n }\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n if (this.div) {\n return XfaLayer.update(parameters);\n }\n this.div = document.createElement(\"div\");\n parameters.div = this.div;\n return XfaLayer.render(parameters);\n }\n cancel() {\n this._cancelled = true;\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n}\n\n;// ./web/pdf_page_view.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst DEFAULT_LAYER_PROPERTIES = {\n annotationEditorUIManager: null,\n annotationStorage: null,\n downloadManager: null,\n enableScripting: false,\n fieldObjectsPromise: null,\n findController: null,\n hasJSActionsPromise: null,\n get linkService() {\n return new SimpleLinkService();\n }\n};\nconst LAYERS_ORDER = new Map([[\"canvasWrapper\", 0], [\"textLayer\", 1], [\"annotationLayer\", 2], [\"annotationEditorLayer\", 3], [\"xfaLayer\", 3]]);\nclass PDFPageView extends BasePDFPageView {\n #annotationMode = AnnotationMode.ENABLE_FORMS;\n #canvasWrapper = null;\n #commentManager = null;\n #enableAutoLinking = true;\n #hasRestrictedScaling = false;\n #isEditing = false;\n #layerProperties = null;\n #needsRestrictedScaling = false;\n #originalViewport = null;\n #previousRotation = null;\n #scaleRoundX = 1;\n #scaleRoundY = 1;\n #textLayerMode = TextLayerMode.ENABLE;\n #userUnit = 1;\n #useThumbnailCanvas = {\n directDrawing: true,\n initialOptionalContent: true,\n regularAnnotations: true\n };\n #layers = [null, null, null, null];\n constructor(options) {\n super(options);\n const container = options.container;\n const defaultViewport = options.defaultViewport;\n this.renderingId = \"page\" + this.id;\n this.#layerProperties = options.layerProperties || DEFAULT_LAYER_PROPERTIES;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;\n this.#textLayerMode = options.textLayerMode ?? TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? AnnotationMode.ENABLE_FORMS;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.enableDetailCanvas = options.enableDetailCanvas ?? true;\n this.maxCanvasPixels = options.maxCanvasPixels ?? AppOptions.get(\"maxCanvasPixels\");\n this.maxCanvasDim = options.maxCanvasDim || AppOptions.get(\"maxCanvasDim\");\n this.capCanvasAreaFactor = options.capCanvasAreaFactor ?? AppOptions.get(\"capCanvasAreaFactor\");\n this.#enableAutoLinking = options.enableAutoLinking !== false;\n this.#commentManager = options.commentManager || null;\n this.l10n = options.l10n;\n this.l10n ||= new genericl10n_GenericL10n();\n this._isStandalone = !this.renderingQueue?.hasViewer();\n this._container = container;\n this._annotationCanvasMap = null;\n this.annotationLayer = null;\n this.annotationEditorLayer = null;\n this.textLayer = null;\n this.xfaLayer = null;\n this.structTreeLayer = null;\n this.drawLayer = null;\n this.detailView = null;\n const div = document.createElement(\"div\");\n div.className = \"page\";\n div.setAttribute(\"data-page-number\", this.id);\n div.setAttribute(\"role\", \"region\");\n div.setAttribute(\"data-l10n-id\", \"pdfjs-page-landmark\");\n div.setAttribute(\"data-l10n-args\", JSON.stringify({\n page: this.id\n }));\n this.div = div;\n this.#setDimensions();\n container?.append(div);\n if (this._isStandalone) {\n container?.style.setProperty(\"--scale-factor\", this.scale * PixelsPerInch.PDF_TO_CSS_UNITS);\n if (this.pageColors?.background) {\n container?.style.setProperty(\"--page-bg-color\", this.pageColors.background);\n }\n const {\n optionalContentConfigPromise\n } = options;\n if (optionalContentConfigPromise) {\n optionalContentConfigPromise.then(optionalContentConfig => {\n if (optionalContentConfigPromise !== this._optionalContentConfigPromise) {\n return;\n }\n this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility;\n });\n }\n if (!options.l10n) {\n this.l10n.translate(this.div);\n }\n }\n }\n #addLayer(div, name) {\n const pos = LAYERS_ORDER.get(name);\n const oldDiv = this.#layers[pos];\n this.#layers[pos] = div;\n if (oldDiv) {\n oldDiv.replaceWith(div);\n return;\n }\n for (let i = pos - 1; i >= 0; i--) {\n const layer = this.#layers[i];\n if (layer) {\n layer.after(div);\n return;\n }\n }\n this.div.prepend(div);\n }\n #setDimensions() {\n const {\n div,\n viewport\n } = this;\n if (viewport.userUnit !== this.#userUnit) {\n if (viewport.userUnit !== 1) {\n div.style.setProperty(\"--user-unit\", viewport.userUnit);\n } else {\n div.style.removeProperty(\"--user-unit\");\n }\n this.#userUnit = viewport.userUnit;\n }\n if (this.pdfPage) {\n if (this.#previousRotation === viewport.rotation) {\n return;\n }\n this.#previousRotation = viewport.rotation;\n }\n setLayerDimensions(div, viewport, true, false);\n }\n setPdfPage(pdfPage) {\n if (this._isStandalone && (this.pageColors?.foreground === \"CanvasText\" || this.pageColors?.background === \"Canvas\")) {\n this._container?.style.setProperty(\"--hcm-highlight-filter\", pdfPage.filterFactory.addHighlightHCMFilter(\"highlight\", \"CanvasText\", \"Canvas\", \"HighlightText\", \"Highlight\"));\n this._container?.style.setProperty(\"--hcm-highlight-selected-filter\", pdfPage.filterFactory.addHighlightHCMFilter(\"highlight_selected\", \"CanvasText\", \"Canvas\", \"HighlightText\", \"Highlight\"));\n }\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n this.#setDimensions();\n this.reset();\n }\n destroy() {\n this.reset();\n this.pdfPage?.cleanup();\n }\n hasEditableAnnotations() {\n return !!this.annotationLayer?.hasEditableAnnotations();\n }\n get _textHighlighter() {\n return shadow(this, \"_textHighlighter\", new TextHighlighter({\n pageIndex: this.id - 1,\n eventBus: this.eventBus,\n findController: this.#layerProperties.findController\n }));\n }\n #dispatchLayerRendered(name, error) {\n this.eventBus.dispatch(name, {\n source: this,\n pageNumber: this.id,\n error\n });\n }\n async #renderAnnotationLayer() {\n let error = null;\n try {\n await this.annotationLayer.render({\n viewport: this.viewport,\n intent: \"display\",\n structTreeLayer: this.structTreeLayer\n });\n } catch (ex) {\n console.error(\"#renderAnnotationLayer:\", ex);\n error = ex;\n } finally {\n this.#dispatchLayerRendered(\"annotationlayerrendered\", error);\n }\n }\n async #renderAnnotationEditorLayer() {\n let error = null;\n try {\n await this.annotationEditorLayer.render({\n viewport: this.viewport,\n intent: \"display\"\n });\n } catch (ex) {\n console.error(\"#renderAnnotationEditorLayer:\", ex);\n error = ex;\n } finally {\n this.#dispatchLayerRendered(\"annotationeditorlayerrendered\", error);\n }\n }\n async #renderDrawLayer() {\n try {\n await this.drawLayer.render({\n intent: \"display\"\n });\n } catch (ex) {\n console.error(\"#renderDrawLayer:\", ex);\n }\n }\n async #renderXfaLayer() {\n let error = null;\n try {\n const result = await this.xfaLayer.render({\n viewport: this.viewport,\n intent: \"display\"\n });\n if (result?.textDivs && this._textHighlighter) {\n this.#buildXfaTextContentItems(result.textDivs);\n }\n } catch (ex) {\n console.error(\"#renderXfaLayer:\", ex);\n error = ex;\n } finally {\n if (this.xfaLayer?.div) {\n this.l10n.pause();\n this.#addLayer(this.xfaLayer.div, \"xfaLayer\");\n this.l10n.resume();\n }\n this.#dispatchLayerRendered(\"xfalayerrendered\", error);\n }\n }\n async #renderTextLayer() {\n if (!this.textLayer) {\n return;\n }\n let error = null;\n try {\n await this.textLayer.render({\n viewport: this.viewport\n });\n } catch (ex) {\n if (ex instanceof AbortException) {\n return;\n }\n console.error(\"#renderTextLayer:\", ex);\n error = ex;\n }\n this.#dispatchLayerRendered(\"textlayerrendered\", error);\n this.#renderStructTreeLayer();\n }\n async #renderStructTreeLayer() {\n if (!this.textLayer) {\n return;\n }\n const treeDom = await this.structTreeLayer?.render();\n if (treeDom) {\n this.l10n.pause();\n this.structTreeLayer?.addElementsToTextLayer();\n if (this.canvas && treeDom.parentNode !== this.canvas) {\n this.canvas.append(treeDom);\n }\n this.l10n.resume();\n }\n this.structTreeLayer?.show();\n }\n async #buildXfaTextContentItems(textDivs) {\n const text = await this.pdfPage.getTextContent();\n const items = [];\n for (const item of text.items) {\n items.push(item.str);\n }\n this._textHighlighter.setTextMapping(textDivs, items);\n this._textHighlighter.enable();\n }\n async #injectLinkAnnotations(textLayerPromise) {\n let error = null;\n try {\n await textLayerPromise;\n if (!this.annotationLayer) {\n return;\n }\n await this.annotationLayer.injectLinkAnnotations(Autolinker.processLinks(this));\n } catch (ex) {\n console.error(\"#injectLinkAnnotations:\", ex);\n error = ex;\n }\n }\n _resetCanvas() {\n super._resetCanvas();\n this.#originalViewport = null;\n }\n reset({\n keepAnnotationLayer = false,\n keepAnnotationEditorLayer = false,\n keepXfaLayer = false,\n keepTextLayer = false,\n keepCanvasWrapper = false,\n preserveDetailViewState = false\n } = {}) {\n const keepPdfBugGroups = this.pdfPage?._pdfBug ?? false;\n this.cancelRendering({\n keepAnnotationLayer,\n keepAnnotationEditorLayer,\n keepXfaLayer,\n keepTextLayer\n });\n this.renderingState = RenderingStates.INITIAL;\n const div = this.div;\n const childNodes = div.childNodes,\n annotationLayerNode = keepAnnotationLayer && this.annotationLayer?.div || null,\n annotationEditorLayerNode = keepAnnotationEditorLayer && this.annotationEditorLayer?.div || null,\n xfaLayerNode = keepXfaLayer && this.xfaLayer?.div || null,\n textLayerNode = keepTextLayer && this.textLayer?.div || null,\n canvasWrapperNode = keepCanvasWrapper && this.#canvasWrapper || null;\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const node = childNodes[i];\n switch (node) {\n case annotationLayerNode:\n case annotationEditorLayerNode:\n case xfaLayerNode:\n case textLayerNode:\n case canvasWrapperNode:\n continue;\n }\n if (keepPdfBugGroups && node.classList.contains(\"pdfBugGroupsLayer\")) {\n continue;\n }\n node.remove();\n const layerIndex = this.#layers.indexOf(node);\n if (layerIndex >= 0) {\n this.#layers[layerIndex] = null;\n }\n }\n div.removeAttribute(\"data-loaded\");\n if (annotationLayerNode) {\n this.annotationLayer.hide();\n }\n if (annotationEditorLayerNode) {\n this.annotationEditorLayer.hide();\n }\n if (xfaLayerNode) {\n this.xfaLayer.hide();\n }\n if (textLayerNode) {\n this.textLayer.hide();\n }\n this.structTreeLayer?.hide();\n if (!keepCanvasWrapper && this.#canvasWrapper) {\n this.#canvasWrapper = null;\n this._resetCanvas();\n }\n if (!preserveDetailViewState) {\n this.detailView?.reset({\n keepCanvas: keepCanvasWrapper\n });\n if (!keepCanvasWrapper) {\n this.detailView = null;\n }\n }\n }\n toggleEditingMode(isEditing) {\n this.#isEditing = isEditing;\n if (!this.hasEditableAnnotations()) {\n return;\n }\n this.reset({\n keepAnnotationLayer: true,\n keepAnnotationEditorLayer: true,\n keepXfaLayer: true,\n keepTextLayer: true,\n keepCanvasWrapper: true\n });\n }\n updateVisibleArea(visibleArea) {\n if (this.enableDetailCanvas) {\n if (this.#needsRestrictedScaling && this.maxCanvasPixels > 0 && visibleArea) {\n this.detailView ??= new PDFPageDetailView({\n pageView: this,\n enableOptimizedPartialRendering: this.enableOptimizedPartialRendering\n });\n this.detailView.update({\n visibleArea\n });\n } else if (this.detailView) {\n this.detailView.reset();\n this.detailView = null;\n }\n }\n }\n update({\n scale = 0,\n rotation = null,\n optionalContentConfigPromise = null,\n drawingDelay = -1\n }) {\n this.scale = scale || this.scale;\n if (typeof rotation === \"number\") {\n this.rotation = rotation;\n }\n if (optionalContentConfigPromise instanceof Promise) {\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n optionalContentConfigPromise.then(optionalContentConfig => {\n if (optionalContentConfigPromise !== this._optionalContentConfigPromise) {\n return;\n }\n this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility;\n });\n }\n this.#useThumbnailCanvas.directDrawing = true;\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n this.#setDimensions();\n if (this._isStandalone) {\n this._container?.style.setProperty(\"--scale-factor\", this.viewport.scale);\n }\n this.#computeScale();\n if (this.canvas) {\n const onlyCssZoom = this.#hasRestrictedScaling && this.#needsRestrictedScaling;\n const postponeDrawing = drawingDelay >= 0 && drawingDelay < 1000;\n if (postponeDrawing || onlyCssZoom) {\n if (postponeDrawing && !onlyCssZoom && this.renderingState !== RenderingStates.FINISHED) {\n this.cancelRendering({\n keepAnnotationLayer: true,\n keepAnnotationEditorLayer: true,\n keepXfaLayer: true,\n keepTextLayer: true,\n cancelExtraDelay: drawingDelay\n });\n this.renderingState = RenderingStates.FINISHED;\n this.#useThumbnailCanvas.directDrawing = false;\n }\n this.cssTransform({\n redrawAnnotationLayer: true,\n redrawAnnotationEditorLayer: true,\n redrawXfaLayer: true,\n redrawTextLayer: !postponeDrawing,\n hideTextLayer: postponeDrawing\n });\n if (!postponeDrawing) {\n this.detailView?.update({\n underlyingViewUpdated: true\n });\n this.dispatchPageRendered(true, false);\n }\n return;\n }\n }\n this.cssTransform({});\n this.reset({\n keepAnnotationLayer: true,\n keepAnnotationEditorLayer: true,\n keepXfaLayer: true,\n keepTextLayer: true,\n keepCanvasWrapper: true,\n preserveDetailViewState: true\n });\n this.detailView?.update({\n underlyingViewUpdated: true\n });\n }\n #computeScale() {\n const {\n width,\n height\n } = this.viewport;\n const outputScale = this.outputScale = new OutputScale();\n if (this.maxCanvasPixels === 0) {\n const invScale = 1 / this.scale;\n outputScale.sx *= invScale;\n outputScale.sy *= invScale;\n this.#needsRestrictedScaling = true;\n } else {\n this.#needsRestrictedScaling = outputScale.limitCanvas(width, height, this.maxCanvasPixels, this.maxCanvasDim, this.capCanvasAreaFactor);\n if (this.#needsRestrictedScaling && this.enableDetailCanvas) {\n const factor = this.enableOptimizedPartialRendering ? 4 : 2;\n outputScale.sx /= factor;\n outputScale.sy /= factor;\n }\n }\n }\n cancelRendering({\n keepAnnotationLayer = false,\n keepAnnotationEditorLayer = false,\n keepXfaLayer = false,\n keepTextLayer = false,\n cancelExtraDelay = 0\n } = {}) {\n super.cancelRendering({\n cancelExtraDelay\n });\n if (this.textLayer && (!keepTextLayer || !this.textLayer.div)) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n this._annotationCanvasMap = null;\n }\n if (this.structTreeLayer && !this.textLayer) {\n this.structTreeLayer = null;\n }\n if (this.annotationEditorLayer && (!keepAnnotationEditorLayer || !this.annotationEditorLayer.div)) {\n if (this.drawLayer) {\n this.drawLayer.cancel();\n this.drawLayer = null;\n }\n this.annotationEditorLayer.cancel();\n this.annotationEditorLayer = null;\n }\n if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) {\n this.xfaLayer.cancel();\n this.xfaLayer = null;\n this._textHighlighter?.disable();\n }\n }\n cssTransform({\n redrawAnnotationLayer = false,\n redrawAnnotationEditorLayer = false,\n redrawXfaLayer = false,\n redrawTextLayer = false,\n hideTextLayer = false\n }) {\n const {\n canvas\n } = this;\n if (!canvas) {\n return;\n }\n const originalViewport = this.#originalViewport;\n if (this.viewport !== originalViewport) {\n const relativeRotation = (360 + this.viewport.rotation - originalViewport.rotation) % 360;\n if (relativeRotation === 90 || relativeRotation === 270) {\n const {\n width,\n height\n } = this.viewport;\n const scaleX = height / width;\n const scaleY = width / height;\n canvas.style.transform = `rotate(${relativeRotation}deg) scale(${scaleX},${scaleY})`;\n } else {\n canvas.style.transform = relativeRotation === 0 ? \"\" : `rotate(${relativeRotation}deg)`;\n }\n }\n if (redrawAnnotationLayer && this.annotationLayer) {\n this.#renderAnnotationLayer();\n }\n if (redrawAnnotationEditorLayer && this.annotationEditorLayer) {\n if (this.drawLayer) {\n this.#renderDrawLayer();\n }\n this.#renderAnnotationEditorLayer();\n }\n if (redrawXfaLayer && this.xfaLayer) {\n this.#renderXfaLayer();\n }\n if (this.textLayer) {\n if (hideTextLayer) {\n this.textLayer.hide();\n this.structTreeLayer?.hide();\n } else if (redrawTextLayer) {\n this.#renderTextLayer();\n }\n }\n }\n get width() {\n return this.viewport.width;\n }\n get height() {\n return this.viewport.height;\n }\n getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n _ensureCanvasWrapper() {\n let canvasWrapper = this.#canvasWrapper;\n if (!canvasWrapper) {\n canvasWrapper = this.#canvasWrapper = document.createElement(\"div\");\n canvasWrapper.classList.add(\"canvasWrapper\");\n this.#addLayer(canvasWrapper, \"canvasWrapper\");\n }\n return canvasWrapper;\n }\n _getRenderingContext(canvas, transform, recordOperations) {\n return {\n canvas,\n transform,\n viewport: this.viewport,\n annotationMode: this.#annotationMode,\n optionalContentConfigPromise: this._optionalContentConfigPromise,\n annotationCanvasMap: this._annotationCanvasMap,\n pageColors: this.pageColors,\n isEditing: this.#isEditing,\n recordOperations\n };\n }\n async draw() {\n if (this.renderingState !== RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n const {\n div,\n l10n,\n pdfPage,\n viewport\n } = this;\n if (!pdfPage) {\n this.renderingState = RenderingStates.FINISHED;\n throw new Error(\"pdfPage is not loaded\");\n }\n this.renderingState = RenderingStates.RUNNING;\n const canvasWrapper = this._ensureCanvasWrapper();\n if (!this.textLayer && this.#textLayerMode !== TextLayerMode.DISABLE && !pdfPage.isPureXfa) {\n this._accessibilityManager ||= new TextAccessibilityManager();\n this.textLayer = new TextLayerBuilder({\n pdfPage,\n highlighter: this._textHighlighter,\n accessibilityManager: this._accessibilityManager,\n enablePermissions: this.#textLayerMode === TextLayerMode.ENABLE_PERMISSIONS,\n onAppend: textLayerDiv => {\n this.l10n.pause();\n this.#addLayer(textLayerDiv, \"textLayer\");\n this.l10n.resume();\n }\n });\n }\n if (!this.annotationLayer && this.#annotationMode !== AnnotationMode.DISABLE) {\n const {\n annotationStorage,\n annotationEditorUIManager,\n downloadManager,\n enableComment,\n enableScripting,\n fieldObjectsPromise,\n hasJSActionsPromise,\n linkService\n } = this.#layerProperties;\n this._annotationCanvasMap ||= new Map();\n this.annotationLayer = new AnnotationLayerBuilder({\n pdfPage,\n annotationStorage,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.#annotationMode === AnnotationMode.ENABLE_FORMS,\n linkService,\n downloadManager,\n enableComment,\n enableScripting,\n hasJSActionsPromise,\n fieldObjectsPromise,\n annotationCanvasMap: this._annotationCanvasMap,\n accessibilityManager: this._accessibilityManager,\n annotationEditorUIManager,\n commentManager: this.#commentManager,\n onAppend: annotationLayerDiv => {\n this.#addLayer(annotationLayerDiv, \"annotationLayer\");\n }\n });\n }\n const {\n width,\n height\n } = viewport;\n this.#originalViewport = viewport;\n const {\n canvas,\n prevCanvas\n } = this._createCanvas(newCanvas => {\n canvasWrapper.prepend(newCanvas);\n });\n canvas.setAttribute(\"role\", \"presentation\");\n if (!this.outputScale) {\n this.#computeScale();\n }\n const {\n outputScale\n } = this;\n this.#hasRestrictedScaling = this.#needsRestrictedScaling;\n const sfx = approximateFraction(outputScale.sx);\n const sfy = approximateFraction(outputScale.sy);\n const canvasWidth = canvas.width = floorToDivide(calcRound(width * outputScale.sx), sfx[0]);\n const canvasHeight = canvas.height = floorToDivide(calcRound(height * outputScale.sy), sfy[0]);\n const pageWidth = floorToDivide(calcRound(width), sfx[1]);\n const pageHeight = floorToDivide(calcRound(height), sfy[1]);\n outputScale.sx = canvasWidth / pageWidth;\n outputScale.sy = canvasHeight / pageHeight;\n if (this.#scaleRoundX !== sfx[1]) {\n div.style.setProperty(\"--scale-round-x\", `${sfx[1]}px`);\n this.#scaleRoundX = sfx[1];\n }\n if (this.#scaleRoundY !== sfy[1]) {\n div.style.setProperty(\"--scale-round-y\", `${sfy[1]}px`);\n this.#scaleRoundY = sfy[1];\n }\n const recordBBoxes = this.enableOptimizedPartialRendering && this.#hasRestrictedScaling && !this.recordedBBoxes;\n const transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null;\n const resultPromise = this._drawCanvas(this._getRenderingContext(canvas, transform, recordBBoxes), () => {\n prevCanvas?.remove();\n this._resetCanvas();\n }, renderTask => {\n this.#useThumbnailCanvas.regularAnnotations = !renderTask.separateAnnots;\n this.dispatchPageRendered(false, false);\n }).then(async () => {\n if (this.renderingState !== RenderingStates.FINISHED) {\n return;\n }\n this.structTreeLayer ||= new StructTreeLayerBuilder(pdfPage, viewport.rawDims);\n const textLayerPromise = this.#renderTextLayer();\n if (this.annotationLayer) {\n await this.#renderAnnotationLayer();\n if (this.#enableAutoLinking && this.annotationLayer && this.textLayer) {\n await this.#injectLinkAnnotations(textLayerPromise);\n }\n }\n const {\n annotationEditorUIManager\n } = this.#layerProperties;\n if (!annotationEditorUIManager) {\n return;\n }\n this.drawLayer ||= new DrawLayerBuilder({\n pageIndex: this.id\n });\n await this.#renderDrawLayer();\n this.drawLayer.setParent(canvasWrapper);\n if (this.annotationLayer || this.#annotationMode === AnnotationMode.DISABLE) {\n this.annotationEditorLayer ||= new AnnotationEditorLayerBuilder({\n uiManager: annotationEditorUIManager,\n pdfPage,\n l10n,\n structTreeLayer: this.structTreeLayer,\n accessibilityManager: this._accessibilityManager,\n annotationLayer: this.annotationLayer?.annotationLayer,\n textLayer: this.textLayer,\n drawLayer: this.drawLayer.getDrawLayer(),\n onAppend: annotationEditorLayerDiv => {\n this.#addLayer(annotationEditorLayerDiv, \"annotationEditorLayer\");\n }\n });\n this.#renderAnnotationEditorLayer();\n }\n });\n if (pdfPage.isPureXfa) {\n if (!this.xfaLayer) {\n const {\n annotationStorage,\n linkService\n } = this.#layerProperties;\n this.xfaLayer = new XfaLayerBuilder({\n pdfPage,\n annotationStorage,\n linkService\n });\n }\n this.#renderXfaLayer();\n }\n div.setAttribute(\"data-loaded\", true);\n this.dispatchPageRender();\n return resultPromise;\n }\n setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n this.div.setAttribute(\"data-l10n-args\", JSON.stringify({\n page: this.pageLabel ?? this.id\n }));\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n get thumbnailCanvas() {\n const {\n directDrawing,\n initialOptionalContent,\n regularAnnotations\n } = this.#useThumbnailCanvas;\n return directDrawing && initialOptionalContent && regularAnnotations ? this.canvas : null;\n }\n}\n\n;// ./web/generic_scripting.js\n\nasync function docProperties(pdfDocument) {\n const url = \"\",\n baseUrl = \"\";\n const {\n info,\n metadata,\n contentDispositionFilename,\n contentLength\n } = await pdfDocument.getMetadata();\n return {\n ...info,\n baseURL: baseUrl,\n filesize: contentLength || (await pdfDocument.getDownloadInfo()).length,\n filename: contentDispositionFilename || getPdfFilenameFromUrl(url),\n metadata: metadata?.getRaw(),\n authors: metadata?.get(\"dc:creator\"),\n numPages: pdfDocument.numPages,\n URL: url\n };\n}\nclass GenericScripting {\n constructor(sandboxBundleSrc) {\n this._ready = new Promise((resolve, reject) => {\n const sandbox = import(\n /*webpackIgnore: true*/\n /*@vite-ignore*/\n sandboxBundleSrc);\n sandbox.then(pdfjsSandbox => {\n resolve(pdfjsSandbox.QuickJSSandbox());\n }).catch(reject);\n });\n }\n async createSandbox(data) {\n const sandbox = await this._ready;\n sandbox.create(data);\n }\n async dispatchEventInSandbox(event) {\n const sandbox = await this._ready;\n setTimeout(() => sandbox.dispatchEvent(event), 0);\n }\n async destroySandbox() {\n const sandbox = await this._ready;\n sandbox.nukeSandbox();\n }\n}\n\n;// ./web/pdf_scripting_manager.js\n\n\nclass PDFScriptingManager {\n #closeCapability = null;\n #destroyCapability = null;\n #docProperties = null;\n #eventAbortController = null;\n #eventBus = null;\n #externalServices = null;\n #pdfDocument = null;\n #pdfViewer = null;\n #ready = false;\n #scripting = null;\n #willPrintCapability = null;\n constructor({\n eventBus,\n externalServices = null,\n docProperties = null\n }) {\n this.#eventBus = eventBus;\n this.#externalServices = externalServices;\n this.#docProperties = docProperties;\n }\n setViewer(pdfViewer) {\n this.#pdfViewer = pdfViewer;\n }\n async setDocument(pdfDocument) {\n if (this.#pdfDocument) {\n await this.#destroyScripting();\n }\n this.#pdfDocument = pdfDocument;\n if (!pdfDocument) {\n return;\n }\n const [objects, calculationOrder, docActions] = await Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]);\n if (!objects && !docActions) {\n await this.#destroyScripting();\n return;\n }\n if (pdfDocument !== this.#pdfDocument) {\n return;\n }\n try {\n this.#scripting = this.#initScripting();\n } catch (error) {\n console.error(\"setDocument:\", error);\n await this.#destroyScripting();\n return;\n }\n const eventBus = this.#eventBus;\n this.#eventAbortController = new AbortController();\n const {\n signal\n } = this.#eventAbortController;\n eventBus._on(\"updatefromsandbox\", event => {\n if (event?.source === window) {\n this.#updateFromSandbox(event.detail);\n }\n }, {\n signal\n });\n eventBus._on(\"dispatcheventinsandbox\", event => {\n this.#scripting?.dispatchEventInSandbox(event.detail);\n }, {\n signal\n });\n eventBus._on(\"pagechanging\", ({\n pageNumber,\n previous\n }) => {\n if (pageNumber === previous) {\n return;\n }\n this.#dispatchPageClose(previous);\n this.#dispatchPageOpen(pageNumber);\n }, {\n signal\n });\n eventBus._on(\"pagerendered\", ({\n pageNumber\n }) => {\n if (!this._pageOpenPending.has(pageNumber)) {\n return;\n }\n if (pageNumber !== this.#pdfViewer.currentPageNumber) {\n return;\n }\n this.#dispatchPageOpen(pageNumber);\n }, {\n signal\n });\n eventBus._on(\"pagesdestroy\", async () => {\n await this.#dispatchPageClose(this.#pdfViewer.currentPageNumber);\n await this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillClose\"\n });\n this.#closeCapability?.resolve();\n }, {\n signal\n });\n try {\n const docProperties = await this.#docProperties(pdfDocument);\n if (pdfDocument !== this.#pdfDocument) {\n return;\n }\n await this.#scripting.createSandbox({\n objects,\n calculationOrder,\n appInfo: {\n platform: navigator.platform,\n language: navigator.language\n },\n docInfo: {\n ...docProperties,\n actions: docActions\n }\n });\n eventBus.dispatch(\"sandboxcreated\", {\n source: this\n });\n } catch (error) {\n console.error(\"setDocument:\", error);\n await this.#destroyScripting();\n return;\n }\n await this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"Open\"\n });\n await this.#dispatchPageOpen(this.#pdfViewer.currentPageNumber, true);\n Promise.resolve().then(() => {\n if (pdfDocument === this.#pdfDocument) {\n this.#ready = true;\n }\n });\n }\n async dispatchWillSave() {\n return this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillSave\"\n });\n }\n async dispatchDidSave() {\n return this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidSave\"\n });\n }\n async dispatchWillPrint() {\n if (!this.#scripting) {\n return;\n }\n await this.#willPrintCapability?.promise;\n this.#willPrintCapability = Promise.withResolvers();\n try {\n await this.#scripting.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillPrint\"\n });\n } catch (ex) {\n this.#willPrintCapability.resolve();\n this.#willPrintCapability = null;\n throw ex;\n }\n await this.#willPrintCapability.promise;\n }\n async dispatchDidPrint() {\n return this.#scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidPrint\"\n });\n }\n get destroyPromise() {\n return this.#destroyCapability?.promise || null;\n }\n get ready() {\n return this.#ready;\n }\n get _pageOpenPending() {\n return shadow(this, \"_pageOpenPending\", new Set());\n }\n get _visitedPages() {\n return shadow(this, \"_visitedPages\", new Map());\n }\n async #updateFromSandbox(detail) {\n const pdfViewer = this.#pdfViewer;\n const isInPresentationMode = pdfViewer.isInPresentationMode || pdfViewer.isChangingPresentationMode;\n const {\n id,\n siblings,\n command,\n value\n } = detail;\n if (!id) {\n switch (command) {\n case \"clear\":\n console.clear();\n break;\n case \"error\":\n console.error(value);\n break;\n case \"layout\":\n if (!isInPresentationMode) {\n const modes = apiPageLayoutToViewerModes(value);\n pdfViewer.spreadMode = modes.spreadMode;\n }\n break;\n case \"page-num\":\n pdfViewer.currentPageNumber = value + 1;\n break;\n case \"print\":\n await pdfViewer.pagesPromise;\n this.#eventBus.dispatch(\"print\", {\n source: this\n });\n break;\n case \"println\":\n console.log(value);\n break;\n case \"zoom\":\n if (!isInPresentationMode) {\n pdfViewer.currentScaleValue = value;\n }\n break;\n case \"SaveAs\":\n this.#eventBus.dispatch(\"download\", {\n source: this\n });\n break;\n case \"FirstPage\":\n pdfViewer.currentPageNumber = 1;\n break;\n case \"LastPage\":\n pdfViewer.currentPageNumber = pdfViewer.pagesCount;\n break;\n case \"NextPage\":\n pdfViewer.nextPage();\n break;\n case \"PrevPage\":\n pdfViewer.previousPage();\n break;\n case \"ZoomViewIn\":\n if (!isInPresentationMode) {\n pdfViewer.increaseScale();\n }\n break;\n case \"ZoomViewOut\":\n if (!isInPresentationMode) {\n pdfViewer.decreaseScale();\n }\n break;\n case \"WillPrintFinished\":\n this.#willPrintCapability?.resolve();\n this.#willPrintCapability = null;\n break;\n }\n return;\n }\n if (isInPresentationMode && detail.focus) {\n return;\n }\n delete detail.id;\n delete detail.siblings;\n const ids = siblings ? [id, ...siblings] : [id];\n for (const elementId of ids) {\n const element = document.querySelector(`[data-element-id=\"${elementId}\"]`);\n if (element) {\n element.dispatchEvent(new CustomEvent(\"updatefromsandbox\", {\n detail\n }));\n } else {\n this.#pdfDocument?.annotationStorage.setValue(elementId, detail);\n }\n }\n }\n async #dispatchPageOpen(pageNumber, initialize = false) {\n const pdfDocument = this.#pdfDocument,\n visitedPages = this._visitedPages;\n if (initialize) {\n this.#closeCapability = Promise.withResolvers();\n }\n if (!this.#closeCapability) {\n return;\n }\n const pageView = this.#pdfViewer.getPageView(pageNumber - 1);\n if (pageView?.renderingState !== RenderingStates.FINISHED) {\n this._pageOpenPending.add(pageNumber);\n return;\n }\n this._pageOpenPending.delete(pageNumber);\n const actionsPromise = (async () => {\n const actions = await (!visitedPages.has(pageNumber) ? pageView.pdfPage?.getJSActions() : null);\n if (pdfDocument !== this.#pdfDocument) {\n return;\n }\n await this.#scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageOpen\",\n pageNumber,\n actions\n });\n })();\n visitedPages.set(pageNumber, actionsPromise);\n }\n async #dispatchPageClose(pageNumber) {\n const pdfDocument = this.#pdfDocument,\n visitedPages = this._visitedPages;\n if (!this.#closeCapability) {\n return;\n }\n if (this._pageOpenPending.has(pageNumber)) {\n return;\n }\n const actionsPromise = visitedPages.get(pageNumber);\n if (!actionsPromise) {\n return;\n }\n visitedPages.set(pageNumber, null);\n await actionsPromise;\n if (pdfDocument !== this.#pdfDocument) {\n return;\n }\n await this.#scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageClose\",\n pageNumber\n });\n }\n #initScripting() {\n this.#destroyCapability = Promise.withResolvers();\n if (this.#scripting) {\n throw new Error(\"#initScripting: Scripting already exists.\");\n }\n return this.#externalServices.createScripting();\n }\n async #destroyScripting() {\n if (!this.#scripting) {\n this.#pdfDocument = null;\n this.#destroyCapability?.resolve();\n return;\n }\n if (this.#closeCapability) {\n await Promise.race([this.#closeCapability.promise, new Promise(resolve => {\n setTimeout(resolve, 1000);\n })]).catch(() => {});\n this.#closeCapability = null;\n }\n this.#pdfDocument = null;\n try {\n await this.#scripting.destroySandbox();\n } catch {}\n this.#willPrintCapability?.reject(new Error(\"Scripting destroyed.\"));\n this.#willPrintCapability = null;\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n this._pageOpenPending.clear();\n this._visitedPages.clear();\n this.#scripting = null;\n this.#ready = false;\n this.#destroyCapability?.resolve();\n }\n}\n\n;// ./web/pdf_scripting_manager.component.js\n\n\nclass PDFScriptingManagerComponents extends PDFScriptingManager {\n constructor(options) {\n if (!options.externalServices) {\n window.addEventListener(\"updatefromsandbox\", event => {\n options.eventBus.dispatch(\"updatefromsandbox\", {\n source: window,\n detail: event.detail\n });\n });\n }\n options.externalServices ||= {\n createScripting: () => new GenericScripting(options.sandboxBundleSrc)\n };\n options.docProperties ||= pdfDocument => docProperties(pdfDocument);\n super(options);\n }\n}\n\n;// ./web/pdf_rendering_queue.js\n\n\nconst CLEANUP_TIMEOUT = 30000;\nclass PDFRenderingQueue {\n constructor() {\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n Object.defineProperty(this, \"hasViewer\", {\n value: () => !!this.pdfViewer\n });\n }\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n if (this.isThumbnailViewEnabled && this.pdfThumbnailViewer?.forceRendering()) {\n return;\n }\n if (this.printing) {\n return;\n }\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n getHighestPriority(visible, views, scrolledDown, preRenderExtra = false, ignoreDetailViews = false) {\n const visibleViews = visible.views,\n numVisible = visibleViews.length;\n if (numVisible === 0) {\n return null;\n }\n for (let i = 0; i < numVisible; i++) {\n const view = visibleViews[i].view;\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n if (!ignoreDetailViews) {\n for (let i = 0; i < numVisible; i++) {\n const {\n detailView\n } = visibleViews[i].view;\n if (detailView && !this.isViewFinished(detailView)) {\n return detailView;\n }\n }\n }\n const firstId = visible.first.id,\n lastId = visible.last.id;\n if (lastId - firstId + 1 > numVisible) {\n const visibleIds = visible.ids;\n for (let i = 1, ii = lastId - firstId; i < ii; i++) {\n const holeId = scrolledDown ? firstId + i : lastId - i;\n if (visibleIds.has(holeId)) {\n continue;\n }\n const holeView = views[holeId - 1];\n if (!this.isViewFinished(holeView)) {\n return holeView;\n }\n }\n }\n let preRenderIndex = scrolledDown ? lastId : firstId - 2;\n let preRenderView = views[preRenderIndex];\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n if (preRenderExtra) {\n preRenderIndex += scrolledDown ? 1 : -1;\n preRenderView = views[preRenderIndex];\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n }\n return null;\n }\n isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n renderView(view) {\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw().finally(() => {\n this.renderHighestPriority();\n }).catch(reason => {\n if (reason instanceof RenderingCancelledException) {\n return;\n }\n console.error(\"renderView:\", reason);\n });\n break;\n }\n return true;\n }\n}\n\n;// ./web/pdf_viewer.js\n\n\n\n\n\n\nconst DEFAULT_CACHE_SIZE = 10;\nconst PagesCountLimit = {\n FORCE_SCROLL_MODE_PAGE: 10000,\n FORCE_LAZY_PAGE_INIT: 5000,\n PAUSE_EAGER_PAGE_INIT: 250\n};\nfunction isValidAnnotationEditorMode(mode) {\n return Object.values(AnnotationEditorType).includes(mode) && mode !== AnnotationEditorType.DISABLE;\n}\nclass PDFPageViewBuffer {\n #buf = new Set();\n #size = 0;\n constructor(size) {\n this.#size = size;\n }\n push(view) {\n const buf = this.#buf;\n if (buf.has(view)) {\n buf.delete(view);\n }\n buf.add(view);\n if (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n resize(newSize, idsToKeep = null) {\n this.#size = newSize;\n const buf = this.#buf;\n if (idsToKeep) {\n const ii = buf.size;\n let i = 1;\n for (const view of buf) {\n if (idsToKeep.has(view.id)) {\n buf.delete(view);\n buf.add(view);\n }\n if (++i > ii) {\n break;\n }\n }\n }\n while (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n has(view) {\n return this.#buf.has(view);\n }\n [Symbol.iterator]() {\n return this.#buf.keys();\n }\n #destroyFirstView() {\n const firstView = this.#buf.keys().next().value;\n firstView?.destroy();\n this.#buf.delete(firstView);\n }\n}\nclass PDFViewer {\n #buffer = null;\n #altTextManager = null;\n #annotationEditorHighlightColors = null;\n #annotationEditorMode = AnnotationEditorType.NONE;\n #annotationEditorUIManager = null;\n #annotationMode = AnnotationMode.ENABLE_FORMS;\n #commentManager = null;\n #containerTopLeft = null;\n #editorUndoBar = null;\n #enableHWA = false;\n #enableHighlightFloatingButton = false;\n #enablePermissions = false;\n #enableUpdatedAddImage = false;\n #enableNewAltTextWhenAddingImage = false;\n #enableAutoLinking = true;\n #eventAbortController = null;\n #minDurationToUpdateCanvas = 0;\n #mlManager = null;\n #printingAllowed = true;\n #scrollTimeoutId = null;\n #switchAnnotationEditorModeAC = null;\n #switchAnnotationEditorModeTimeoutId = null;\n #getAllTextInProgress = false;\n #hiddenCopyElement = null;\n #interruptCopyCondition = false;\n #previousContainerHeight = 0;\n #resizeObserver = new ResizeObserver(this.#resizeObserverCallback.bind(this));\n #scrollModePageState = null;\n #scaleTimeoutId = null;\n #signatureManager = null;\n #supportsPinchToZoom = true;\n #textLayerMode = TextLayerMode.ENABLE;\n #viewerAlert = null;\n constructor(options) {\n const viewerVersion = \"5.4.394\";\n if (version !== viewerVersion) {\n throw new Error(`The API version \"${version}\" does not match the Viewer version \"${viewerVersion}\".`);\n }\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n this.#viewerAlert = options.viewerAlert || null;\n if (this.container?.tagName !== \"DIV\" || this.viewer?.tagName !== \"DIV\") {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\n }\n if (this.container.offsetParent && getComputedStyle(this.container).position !== \"absolute\") {\n throw new Error(\"The `container` must be absolutely positioned.\");\n }\n this.#resizeObserver.observe(this.container);\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this.#altTextManager = options.altTextManager || null;\n this.#commentManager = options.commentManager || null;\n this.#signatureManager = options.signatureManager || null;\n this.#editorUndoBar = options.editorUndoBar || null;\n if (this.findController) {\n this.findController.onIsPageVisible = pageNumber => this._getVisiblePages().ids.has(pageNumber);\n }\n this._scriptingManager = options.scriptingManager || null;\n this.#textLayerMode = options.textLayerMode ?? TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? AnnotationMode.ENABLE_FORMS;\n this.#annotationEditorMode = options.annotationEditorMode ?? AnnotationEditorType.NONE;\n this.#annotationEditorHighlightColors = options.annotationEditorHighlightColors || null;\n this.#enableHighlightFloatingButton = options.enableHighlightFloatingButton === true;\n this.#enableUpdatedAddImage = options.enableUpdatedAddImage === true;\n this.#enableNewAltTextWhenAddingImage = options.enableNewAltTextWhenAddingImage === true;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.removePageBorders = options.removePageBorders || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.maxCanvasDim = options.maxCanvasDim;\n this.capCanvasAreaFactor = options.capCanvasAreaFactor;\n this.enableDetailCanvas = options.enableDetailCanvas ?? true;\n this.enableOptimizedPartialRendering = options.enableOptimizedPartialRendering ?? false;\n this.l10n = options.l10n;\n this.l10n ||= new genericl10n_GenericL10n();\n this.#enablePermissions = options.enablePermissions || false;\n this.pageColors = options.pageColors || null;\n this.#mlManager = options.mlManager || null;\n this.#enableHWA = options.enableHWA || false;\n this.#supportsPinchToZoom = options.supportsPinchToZoom !== false;\n this.#enableAutoLinking = options.enableAutoLinking !== false;\n this.#minDurationToUpdateCanvas = options.minDurationToUpdateCanvas ?? 500;\n this.defaultRenderingQueue = !options.renderingQueue;\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n const {\n abortSignal\n } = options;\n abortSignal?.addEventListener(\"abort\", () => {\n this.#resizeObserver.disconnect();\n this.#resizeObserver = null;\n }, {\n once: true\n });\n this.scroll = watchScroll(this.container, this._scrollUpdate.bind(this), abortSignal);\n this.presentationModeState = PresentationModeState.UNKNOWN;\n this._resetView();\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n this.#updateContainerHeightCss();\n this.eventBus._on(\"thumbnailrendered\", ({\n pageNumber,\n pdfPage\n }) => {\n const pageView = this._pages[pageNumber - 1];\n if (!this.#buffer.has(pageView)) {\n pdfPage?.cleanup();\n }\n });\n if (!options.l10n) {\n this.l10n.translate(this.container);\n }\n }\n get printingAllowed() {\n return this.#printingAllowed;\n }\n get pagesCount() {\n return this._pages.length;\n }\n getPageView(index) {\n return this._pages[index];\n }\n getCachedPageViews() {\n return new Set(this.#buffer);\n }\n get pageViewsReady() {\n return this._pages.every(pageView => pageView?.pdfPage);\n }\n get renderForms() {\n return this.#annotationMode === AnnotationMode.ENABLE_FORMS;\n }\n get enableScripting() {\n return !!this._scriptingManager;\n }\n get currentPageNumber() {\n return this._currentPageNumber;\n }\n set currentPageNumber(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(`currentPageNumber: \"${val}\" is not a valid page.`);\n }\n }\n _setCurrentPageNumber(val, resetCurrentPageView = false) {\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n const previous = this._currentPageNumber;\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels?.[val - 1] ?? null,\n previous\n });\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n get currentPageLabel() {\n return this._pageLabels?.[this._currentPageNumber - 1] ?? null;\n }\n set currentPageLabel(val) {\n if (!this.pdfDocument) {\n return;\n }\n let page = val | 0;\n if (this._pageLabels) {\n const i = this._pageLabels.indexOf(val);\n if (i >= 0) {\n page = i + 1;\n }\n }\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(`currentPageLabel: \"${val}\" is not a valid page.`);\n }\n }\n get currentScale() {\n return this._currentScale !== UNKNOWN_SCALE ? this._currentScale : DEFAULT_SCALE;\n }\n set currentScale(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n this.#setScale(val, {\n noScroll: false\n });\n }\n get currentScaleValue() {\n return this._currentScaleValue;\n }\n set currentScaleValue(val) {\n if (!this.pdfDocument) {\n return;\n }\n this.#setScale(val, {\n noScroll: false\n });\n }\n get pagesRotation() {\n return this._pagesRotation;\n }\n set pagesRotation(rotation) {\n if (!isValidRotation(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n if (this._pagesRotation === rotation) {\n return;\n }\n this._pagesRotation = rotation;\n const pageNumber = this._currentPageNumber;\n this.refresh(true, {\n rotation\n });\n if (this._currentScaleValue) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n get firstPagePromise() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n get onePageRendered() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n get pagesPromise() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n get _layerProperties() {\n const self = this;\n return shadow(this, \"_layerProperties\", {\n get annotationEditorUIManager() {\n return self.#annotationEditorUIManager;\n },\n get annotationStorage() {\n return self.pdfDocument?.annotationStorage;\n },\n get downloadManager() {\n return self.downloadManager;\n },\n get enableComment() {\n return !!self.#commentManager;\n },\n get enableScripting() {\n return !!self._scriptingManager;\n },\n get fieldObjectsPromise() {\n return self.pdfDocument?.getFieldObjects();\n },\n get findController() {\n return self.findController;\n },\n get hasJSActionsPromise() {\n return self.pdfDocument?.hasJSActions();\n },\n get linkService() {\n return self.linkService;\n }\n });\n }\n #initializePermissions(permissions) {\n const params = {\n annotationEditorMode: this.#annotationEditorMode,\n annotationMode: this.#annotationMode,\n textLayerMode: this.#textLayerMode\n };\n if (!permissions) {\n this.#printingAllowed = true;\n this.eventBus.dispatch(\"printingallowed\", {\n source: this,\n isAllowed: this.#printingAllowed\n });\n return params;\n }\n this.#printingAllowed = permissions.includes(PermissionFlag.PRINT_HIGH_QUALITY) || permissions.includes(PermissionFlag.PRINT);\n this.eventBus.dispatch(\"printingallowed\", {\n source: this,\n isAllowed: this.#printingAllowed\n });\n if (!permissions.includes(PermissionFlag.COPY) && this.#textLayerMode === TextLayerMode.ENABLE) {\n params.textLayerMode = TextLayerMode.ENABLE_PERMISSIONS;\n }\n if (!permissions.includes(PermissionFlag.MODIFY_CONTENTS)) {\n params.annotationEditorMode = AnnotationEditorType.DISABLE;\n }\n if (!permissions.includes(PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.includes(PermissionFlag.FILL_INTERACTIVE_FORMS) && this.#annotationMode === AnnotationMode.ENABLE_FORMS) {\n params.annotationMode = AnnotationMode.ENABLE;\n }\n return params;\n }\n async #onePageRenderedOrForceFetch(signal) {\n if (document.visibilityState === \"hidden\" || !this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return;\n }\n const hiddenCapability = Promise.withResolvers(),\n ac = new AbortController();\n document.addEventListener(\"visibilitychange\", () => {\n if (document.visibilityState === \"hidden\") {\n hiddenCapability.resolve();\n }\n }, {\n signal: AbortSignal.any([signal, ac.signal])\n });\n await Promise.race([this._onePageRenderedCapability.promise, hiddenCapability.promise]);\n ac.abort();\n }\n async getAllText() {\n const texts = [];\n const buffer = [];\n for (let pageNum = 1, pagesCount = this.pdfDocument.numPages; pageNum <= pagesCount; ++pageNum) {\n if (this.#interruptCopyCondition) {\n return null;\n }\n buffer.length = 0;\n const page = await this.pdfDocument.getPage(pageNum);\n const {\n items\n } = await page.getTextContent();\n for (const item of items) {\n if (item.str) {\n buffer.push(item.str);\n }\n if (item.hasEOL) {\n buffer.push(\"\\n\");\n }\n }\n texts.push(removeNullCharacters(buffer.join(\"\")));\n }\n return texts.join(\"\\n\");\n }\n #copyCallback(textLayerMode, event) {\n const selection = document.getSelection();\n const {\n focusNode,\n anchorNode\n } = selection;\n if (anchorNode && focusNode && selection.containsNode(this.#hiddenCopyElement)) {\n if (this.#getAllTextInProgress || textLayerMode === TextLayerMode.ENABLE_PERMISSIONS) {\n stopEvent(event);\n return;\n }\n this.#getAllTextInProgress = true;\n const {\n classList\n } = this.viewer;\n classList.add(\"copyAll\");\n const ac = new AbortController();\n window.addEventListener(\"keydown\", ev => this.#interruptCopyCondition = ev.key === \"Escape\", {\n signal: ac.signal\n });\n this.getAllText().then(async text => {\n if (text !== null) {\n await navigator.clipboard.writeText(text);\n }\n }).catch(reason => {\n console.warn(`Something goes wrong when extracting the text: ${reason.message}`);\n }).finally(() => {\n this.#getAllTextInProgress = false;\n this.#interruptCopyCondition = false;\n ac.abort();\n classList.remove(\"copyAll\");\n });\n stopEvent(event);\n }\n }\n setDocument(pdfDocument) {\n if (this.pdfDocument) {\n this.eventBus.dispatch(\"pagesdestroy\", {\n source: this\n });\n this._cancelRendering();\n this._resetView();\n this.findController?.setDocument(null);\n this._scriptingManager?.setDocument(null);\n this.#annotationEditorUIManager?.destroy();\n this.#annotationEditorUIManager = null;\n this.#annotationEditorMode = AnnotationEditorType.NONE;\n this.#printingAllowed = true;\n }\n this.pdfDocument = pdfDocument;\n if (!pdfDocument) {\n return;\n }\n const pagesCount = pdfDocument.numPages;\n const firstPagePromise = pdfDocument.getPage(1);\n const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig({\n intent: \"display\"\n });\n const permissionsPromise = this.#enablePermissions ? pdfDocument.getPermissions() : Promise.resolve();\n const {\n eventBus,\n pageColors,\n viewer\n } = this;\n this.#eventAbortController = new AbortController();\n const {\n signal\n } = this.#eventAbortController;\n if (pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n console.warn(\"Forcing PAGE-scrolling for performance reasons, given the length of the document.\");\n const mode = this._scrollMode = ScrollMode.PAGE;\n eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n }\n this._pagesCapability.promise.then(() => {\n eventBus.dispatch(\"pagesloaded\", {\n source: this,\n pagesCount\n });\n }, () => {});\n const onBeforeDraw = evt => {\n const pageView = this._pages[evt.pageNumber - 1];\n if (!pageView) {\n return;\n }\n this.#buffer.push(pageView);\n };\n eventBus._on(\"pagerender\", onBeforeDraw, {\n signal\n });\n const onAfterDraw = evt => {\n if (evt.cssTransform || evt.isDetailView) {\n return;\n }\n this._onePageRenderedCapability.resolve({\n timestamp: evt.timestamp\n });\n eventBus._off(\"pagerendered\", onAfterDraw);\n };\n eventBus._on(\"pagerendered\", onAfterDraw, {\n signal\n });\n Promise.all([firstPagePromise, permissionsPromise]).then(([firstPdfPage, permissions]) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n this._firstPageCapability.resolve(firstPdfPage);\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n const {\n annotationEditorMode,\n annotationMode,\n textLayerMode\n } = this.#initializePermissions(permissions);\n if (textLayerMode !== TextLayerMode.DISABLE) {\n const element = this.#hiddenCopyElement = document.createElement(\"div\");\n element.id = \"hiddenCopyElement\";\n viewer.before(element);\n }\n if (annotationEditorMode !== AnnotationEditorType.DISABLE) {\n const mode = annotationEditorMode;\n if (pdfDocument.isPureXfa) {\n console.warn(\"Warning: XFA-editing is not implemented.\");\n } else if (isValidAnnotationEditorMode(mode)) {\n this.#annotationEditorUIManager = new AnnotationEditorUIManager(this.container, viewer, this.#viewerAlert, this.#altTextManager, this.#commentManager, this.#signatureManager, eventBus, pdfDocument, pageColors, this.#annotationEditorHighlightColors, this.#enableHighlightFloatingButton, this.#enableUpdatedAddImage, this.#enableNewAltTextWhenAddingImage, this.#mlManager, this.#editorUndoBar, this.#supportsPinchToZoom);\n eventBus.dispatch(\"annotationeditoruimanager\", {\n source: this,\n uiManager: this.#annotationEditorUIManager\n });\n if (mode !== AnnotationEditorType.NONE) {\n this.#preloadEditingData(mode);\n this.#annotationEditorUIManager.updateMode(mode);\n }\n } else {\n console.error(`Invalid AnnotationEditor mode: ${mode}`);\n }\n }\n const viewerElement = this._scrollMode === ScrollMode.PAGE ? null : viewer;\n const scale = this.currentScale;\n const viewport = firstPdfPage.getViewport({\n scale: scale * PixelsPerInch.PDF_TO_CSS_UNITS\n });\n viewer.style.setProperty(\"--scale-factor\", viewport.scale);\n if (pageColors?.background) {\n viewer.style.setProperty(\"--page-bg-color\", pageColors.background);\n }\n if (pageColors?.foreground === \"CanvasText\" || pageColors?.background === \"Canvas\") {\n viewer.style.setProperty(\"--hcm-highlight-filter\", pdfDocument.filterFactory.addHighlightHCMFilter(\"highlight\", \"CanvasText\", \"Canvas\", \"HighlightText\", \"Highlight\"));\n viewer.style.setProperty(\"--hcm-highlight-selected-filter\", pdfDocument.filterFactory.addHighlightHCMFilter(\"highlight_selected\", \"CanvasText\", \"Canvas\", \"HighlightText\", \"ButtonText\"));\n }\n for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n const pageView = new PDFPageView({\n container: viewerElement,\n eventBus,\n id: pageNum,\n scale,\n defaultViewport: viewport.clone(),\n optionalContentConfigPromise,\n renderingQueue: this.renderingQueue,\n textLayerMode,\n annotationMode,\n imageResourcesPath: this.imageResourcesPath,\n maxCanvasPixels: this.maxCanvasPixels,\n maxCanvasDim: this.maxCanvasDim,\n capCanvasAreaFactor: this.capCanvasAreaFactor,\n enableDetailCanvas: this.enableDetailCanvas,\n enableOptimizedPartialRendering: this.enableOptimizedPartialRendering,\n pageColors,\n l10n: this.l10n,\n layerProperties: this._layerProperties,\n enableHWA: this.#enableHWA,\n enableAutoLinking: this.#enableAutoLinking,\n minDurationToUpdateCanvas: this.#minDurationToUpdateCanvas,\n commentManager: this.#commentManager\n });\n this._pages.push(pageView);\n }\n this._pages[0]?.setPdfPage(firstPdfPage);\n if (this._scrollMode === ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._spreadMode !== SpreadMode.NONE) {\n this._updateSpreadMode();\n }\n eventBus._on(\"annotationeditorlayerrendered\", evt => {\n if (this.#annotationEditorUIManager) {\n eventBus.dispatch(\"annotationeditormodechanged\", {\n source: this,\n mode: this.#annotationEditorMode\n });\n }\n }, {\n once: true,\n signal\n });\n this.#onePageRenderedOrForceFetch(signal).then(async () => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n this.findController?.setDocument(pdfDocument);\n this._scriptingManager?.setDocument(pdfDocument);\n if (this.#hiddenCopyElement) {\n document.addEventListener(\"copy\", this.#copyCallback.bind(this, textLayerMode), {\n signal\n });\n }\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > PagesCountLimit.FORCE_LAZY_PAGE_INIT) {\n this._pagesCapability.resolve();\n return;\n }\n let getPagesLeft = pagesCount - 1;\n if (getPagesLeft <= 0) {\n this._pagesCapability.resolve();\n return;\n }\n for (let pageNum = 2; pageNum <= pagesCount; ++pageNum) {\n const promise = pdfDocument.getPage(pageNum).then(pdfPage => {\n const pageView = this._pages[pageNum - 1];\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n }, reason => {\n console.error(`Unable to get page ${pageNum} to initialize viewer`, reason);\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n });\n if (pageNum % PagesCountLimit.PAUSE_EAGER_PAGE_INIT === 0) {\n await promise;\n }\n }\n });\n eventBus.dispatch(\"pagesinit\", {\n source: this\n });\n pdfDocument.getMetadata().then(({\n info\n }) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n if (info.Language) {\n viewer.lang = info.Language;\n }\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }).catch(reason => {\n console.error(\"Unable to initialize viewer\", reason);\n this._pagesCapability.reject(reason);\n });\n }\n setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(`setPageLabels: Invalid page labels.`);\n } else {\n this._pageLabels = labels;\n }\n for (let i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].setPageLabel(this._pageLabels?.[i] ?? null);\n }\n }\n _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this.#buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._optionalContentConfigPromise = null;\n this._firstPageCapability = Promise.withResolvers();\n this._onePageRenderedCapability = Promise.withResolvers();\n this._pagesCapability = Promise.withResolvers();\n this._scrollMode = ScrollMode.VERTICAL;\n this._previousScrollMode = ScrollMode.UNKNOWN;\n this._spreadMode = SpreadMode.NONE;\n this.#scrollModePageState = {\n previousPageNumber: 1,\n scrollDown: true,\n pages: []\n };\n this.#eventAbortController?.abort();\n this.#eventAbortController = null;\n this.viewer.textContent = \"\";\n this._updateScrollMode();\n this.viewer.removeAttribute(\"lang\");\n this.#hiddenCopyElement?.remove();\n this.#hiddenCopyElement = null;\n this.#cleanupTimeouts();\n this.#cleanupSwitchAnnotationEditorMode();\n }\n #ensurePageViewVisible() {\n if (this._scrollMode !== ScrollMode.PAGE) {\n throw new Error(\"#ensurePageViewVisible: Invalid scrollMode value.\");\n }\n const pageNumber = this._currentPageNumber,\n state = this.#scrollModePageState,\n viewer = this.viewer;\n viewer.textContent = \"\";\n state.pages.length = 0;\n if (this._spreadMode === SpreadMode.NONE && !this.isInPresentationMode) {\n const pageView = this._pages[pageNumber - 1];\n viewer.append(pageView.div);\n state.pages.push(pageView);\n } else {\n const pageIndexSet = new Set(),\n parity = this._spreadMode - 1;\n if (parity === -1) {\n pageIndexSet.add(pageNumber - 1);\n } else if (pageNumber % 2 !== parity) {\n pageIndexSet.add(pageNumber - 1);\n pageIndexSet.add(pageNumber);\n } else {\n pageIndexSet.add(pageNumber - 2);\n pageIndexSet.add(pageNumber - 1);\n }\n const spread = document.createElement(\"div\");\n spread.className = \"spread\";\n if (this.isInPresentationMode) {\n const dummyPage = document.createElement(\"div\");\n dummyPage.className = \"dummyPage\";\n spread.append(dummyPage);\n }\n for (const i of pageIndexSet) {\n const pageView = this._pages[i];\n if (!pageView) {\n continue;\n }\n spread.append(pageView.div);\n state.pages.push(pageView);\n }\n viewer.append(spread);\n }\n state.scrollDown = pageNumber >= state.previousPageNumber;\n state.previousPageNumber = pageNumber;\n }\n _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n if (this.#scrollTimeoutId) {\n clearTimeout(this.#scrollTimeoutId);\n }\n this.#scrollTimeoutId = setTimeout(() => {\n this.#scrollTimeoutId = null;\n this.update();\n }, 100);\n this.update();\n }\n #scrollIntoView(pageView, pageSpot = null) {\n const {\n div,\n id\n } = pageView;\n if (this._currentPageNumber !== id) {\n this._setCurrentPageNumber(id);\n }\n if (this._scrollMode === ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n this.update();\n }\n if (!pageSpot && !this.isInPresentationMode) {\n const left = div.offsetLeft + div.clientLeft,\n right = left + div.clientWidth;\n const {\n scrollLeft,\n clientWidth\n } = this.container;\n if (this._scrollMode === ScrollMode.HORIZONTAL || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n scrollIntoView(div, pageSpot);\n if (!this._currentScaleValue && this._location) {\n this._location = null;\n }\n }\n #isSameScale(newScale) {\n return newScale === this._currentScale || Math.abs(newScale - this._currentScale) < 1e-15;\n }\n #setScaleUpdatePages(newScale, newValue, {\n noScroll = false,\n preset = false,\n drawingDelay = -1,\n origin = null\n }) {\n this._currentScaleValue = newValue.toString();\n if (this.#isSameScale(newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n return;\n }\n this.viewer.style.setProperty(\"--scale-factor\", newScale * PixelsPerInch.PDF_TO_CSS_UNITS);\n const postponeDrawing = drawingDelay >= 0 && drawingDelay < 1000;\n this.refresh(true, {\n scale: newScale,\n drawingDelay: postponeDrawing ? drawingDelay : -1\n });\n if (postponeDrawing) {\n this.#scaleTimeoutId = setTimeout(() => {\n this.#scaleTimeoutId = null;\n this.refresh();\n }, drawingDelay);\n }\n const previousScale = this._currentScale;\n this._currentScale = newScale;\n if (!noScroll) {\n let page = this._currentPageNumber,\n dest;\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n if (Array.isArray(origin)) {\n const scaleDiff = newScale / previousScale - 1;\n const [top, left] = this.containerTopLeft;\n this.container.scrollLeft += (origin[0] - left) * scaleDiff;\n this.container.scrollTop += (origin[1] - top) * scaleDiff;\n }\n }\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n get #pageWidthScaleFactor() {\n if (this._spreadMode !== SpreadMode.NONE && this._scrollMode !== ScrollMode.HORIZONTAL) {\n return 2;\n }\n return 1;\n }\n #setScale(value, options) {\n let scale = parseFloat(value);\n if (scale > 0) {\n options.preset = false;\n this.#setScaleUpdatePages(scale, value, options);\n } else {\n const currentPage = this._pages[this._currentPageNumber - 1];\n if (!currentPage) {\n return;\n }\n let hPadding = SCROLLBAR_PADDING,\n vPadding = VERTICAL_PADDING;\n if (this.isInPresentationMode) {\n hPadding = vPadding = 4;\n if (this._spreadMode !== SpreadMode.NONE) {\n hPadding *= 2;\n }\n } else if (this.removePageBorders) {\n hPadding = vPadding = 0;\n } else if (this._scrollMode === ScrollMode.HORIZONTAL) {\n [hPadding, vPadding] = [vPadding, hPadding];\n }\n const pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this.#pageWidthScaleFactor;\n const pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n case \"page-width\":\n scale = pageWidthScale;\n break;\n case \"page-height\":\n scale = pageHeightScale;\n break;\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n case \"auto\":\n const horizontalScale = isPortraitOrientation(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(MAX_AUTO_SCALE, horizontalScale);\n break;\n default:\n console.error(`#setScale: \"${value}\" is an unknown zoom value.`);\n return;\n }\n options.preset = true;\n this.#setScaleUpdatePages(scale, value, options);\n }\n }\n #resetCurrentPageView() {\n const pageView = this._pages[this._currentPageNumber - 1];\n if (this.isInPresentationMode) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this.#scrollIntoView(pageView);\n }\n pageLabelToPageNumber(label) {\n if (!this._pageLabels) {\n return null;\n }\n const i = this._pageLabels.indexOf(label);\n if (i < 0) {\n return null;\n }\n return i + 1;\n }\n scrollPageIntoView({\n pageNumber,\n destArray = null,\n allowNegativeOffset = false,\n ignoreDestinationZoom = false,\n center = null\n }) {\n if (!this.pdfDocument) {\n return;\n }\n const pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n if (!pageView) {\n console.error(`scrollPageIntoView: \"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n return;\n }\n let x = 0,\n y = 0;\n let width = 0,\n height = 0,\n widthScale,\n heightScale;\n const changeOrientation = pageView.rotation % 180 !== 0;\n const pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / PixelsPerInch.PDF_TO_CSS_UNITS;\n const pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / PixelsPerInch.PDF_TO_CSS_UNITS;\n let scale = 0;\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n } else if (typeof y !== \"number\" || y < 0) {\n y = pageHeight;\n }\n break;\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n let hPadding = SCROLLBAR_PADDING,\n vPadding = VERTICAL_PADDING;\n if (this.removePageBorders) {\n hPadding = vPadding = 0;\n }\n widthScale = (this.container.clientWidth - hPadding) / width / PixelsPerInch.PDF_TO_CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / PixelsPerInch.PDF_TO_CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n default:\n console.error(`scrollPageIntoView: \"${destArray[1].name}\" is not a valid destination type.`);\n return;\n }\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === UNKNOWN_SCALE) {\n this.currentScaleValue = DEFAULT_SCALE_VALUE;\n }\n }\n if (scale === \"page-fit\" && !destArray[4]) {\n this.#scrollIntoView(pageView);\n return;\n }\n const boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n let left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n let top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n if (center) {\n if (center === \"both\" || center === \"vertical\") {\n top -= (this.container.clientHeight - Math.abs(boundingRect[1][1] - boundingRect[0][1])) / 2;\n }\n if (center === \"both\" || center === \"horizontal\") {\n left -= (this.container.clientWidth - Math.abs(boundingRect[1][0] - boundingRect[0][0])) / 2;\n }\n } else if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n this.#scrollIntoView(pageView, {\n left,\n top\n });\n }\n _updateLocation(firstPage) {\n const currentScale = this._currentScale;\n const currentScaleValue = this._currentScaleValue;\n const normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n const pageNumber = firstPage.id;\n const currentPageView = this._pages[pageNumber - 1];\n const container = this.container;\n const topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n const intLeft = Math.round(topLeft[0]);\n const intTop = Math.round(topLeft[1]);\n let pdfOpenParams = `#page=${pageNumber}`;\n if (!this.isInPresentationMode) {\n pdfOpenParams += `&zoom=${normalizedScaleValue},${intLeft},${intTop}`;\n }\n this._location = {\n pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams\n };\n }\n update() {\n const visible = this._getVisiblePages();\n const visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n if (numVisiblePages === 0) {\n return;\n }\n const newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n this.#buffer.resize(newCacheSize, visible.ids);\n for (const {\n view,\n visibleArea\n } of visiblePages) {\n view.updateVisibleArea(visibleArea);\n }\n for (const view of this.#buffer) {\n if (!visible.ids.has(view.id)) {\n view.updateVisibleArea(null);\n }\n }\n this.renderingQueue.renderHighestPriority(visible);\n const isSimpleLayout = this._spreadMode === SpreadMode.NONE && (this._scrollMode === ScrollMode.PAGE || this._scrollMode === ScrollMode.VERTICAL);\n const currentId = this._currentPageNumber;\n let stillFullyVisible = false;\n for (const page of visiblePages) {\n if (page.percent < 100) {\n break;\n }\n if (page.id === currentId && isSimpleLayout) {\n stillFullyVisible = true;\n break;\n }\n }\n this._setCurrentPageNumber(stillFullyVisible ? currentId : visiblePages[0].id);\n this._updateLocation(visible.first);\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n #switchToEditAnnotationMode() {\n const visible = this._getVisiblePages();\n const pagesToRefresh = [];\n const {\n ids,\n views\n } = visible;\n for (const page of views) {\n const {\n view\n } = page;\n if (!view.hasEditableAnnotations()) {\n ids.delete(view.id);\n continue;\n }\n pagesToRefresh.push(page);\n }\n if (pagesToRefresh.length === 0) {\n return null;\n }\n this.renderingQueue.renderHighestPriority({\n first: pagesToRefresh[0],\n last: pagesToRefresh.at(-1),\n views: pagesToRefresh,\n ids\n });\n return ids;\n }\n containsElement(element) {\n return this.container.contains(element);\n }\n focus() {\n this.container.focus();\n }\n get _isContainerRtl() {\n return getComputedStyle(this.container).direction === \"rtl\";\n }\n get isInPresentationMode() {\n return this.presentationModeState === PresentationModeState.FULLSCREEN;\n }\n get isChangingPresentationMode() {\n return this.presentationModeState === PresentationModeState.CHANGING;\n }\n get isHorizontalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n get isVerticalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n _getVisiblePages() {\n const views = this._scrollMode === ScrollMode.PAGE ? this.#scrollModePageState.pages : this._pages,\n horizontal = this._scrollMode === ScrollMode.HORIZONTAL,\n rtl = horizontal && this._isContainerRtl;\n return getVisibleElements({\n scrollEl: this.container,\n views,\n sortByVisibility: true,\n horizontal,\n rtl\n });\n }\n cleanup() {\n for (const pageView of this._pages) {\n if (pageView.renderingState !== RenderingStates.FINISHED) {\n pageView.reset();\n }\n }\n }\n _cancelRendering() {\n for (const pageView of this._pages) {\n pageView.cancelRendering();\n }\n }\n async #ensurePdfPageLoaded(pageView) {\n if (pageView.pdfPage) {\n return pageView.pdfPage;\n }\n try {\n const pdfPage = await this.pdfDocument.getPage(pageView.id);\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n return pdfPage;\n } catch (reason) {\n console.error(\"Unable to get page for page view\", reason);\n return null;\n }\n }\n #getScrollAhead(visible) {\n if (visible.first?.id === 1) {\n return true;\n } else if (visible.last?.id === this.pagesCount) {\n return false;\n }\n switch (this._scrollMode) {\n case ScrollMode.PAGE:\n return this.#scrollModePageState.scrollDown;\n case ScrollMode.HORIZONTAL:\n return this.scroll.right;\n }\n return this.scroll.down;\n }\n forceRendering(currentlyVisiblePages) {\n const visiblePages = currentlyVisiblePages || this._getVisiblePages();\n const scrollAhead = this.#getScrollAhead(visiblePages);\n const preRenderExtra = this._spreadMode !== SpreadMode.NONE && this._scrollMode !== ScrollMode.HORIZONTAL;\n const ignoreDetailViews = this.#scaleTimeoutId !== null || this.#scrollTimeoutId !== null && visiblePages.views.some(page => page.detailView?.renderingCancelled);\n const pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead, preRenderExtra, ignoreDetailViews);\n if (pageView) {\n this.#ensurePdfPageLoaded(pageView).then(() => {\n this.renderingQueue.renderView(pageView);\n });\n return true;\n }\n return false;\n }\n get hasEqualPageSizes() {\n const firstPageView = this._pages[0];\n for (let i = 1, ii = this._pages.length; i < ii; ++i) {\n const pageView = this._pages[i];\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n return true;\n }\n getPagesOverview() {\n let initialOrientation;\n return this._pages.map(pageView => {\n const viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n const orientation = isPortraitOrientation(viewport);\n if (initialOrientation === undefined) {\n initialOrientation = orientation;\n } else if (this.enablePrintAutoRotate && orientation !== initialOrientation) {\n return {\n width: viewport.height,\n height: viewport.width,\n rotation: (viewport.rotation - 90) % 360\n };\n }\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n }\n get optionalContentConfigPromise() {\n if (!this.pdfDocument) {\n return Promise.resolve(null);\n }\n if (!this._optionalContentConfigPromise) {\n console.error(\"optionalContentConfigPromise: Not initialized yet.\");\n return this.pdfDocument.getOptionalContentConfig({\n intent: \"display\"\n });\n }\n return this._optionalContentConfigPromise;\n }\n set optionalContentConfigPromise(promise) {\n if (!(promise instanceof Promise)) {\n throw new Error(`Invalid optionalContentConfigPromise: ${promise}`);\n }\n if (!this.pdfDocument) {\n return;\n }\n if (!this._optionalContentConfigPromise) {\n return;\n }\n this._optionalContentConfigPromise = promise;\n this.refresh(false, {\n optionalContentConfigPromise: promise\n });\n this.eventBus.dispatch(\"optionalcontentconfigchanged\", {\n source: this,\n promise\n });\n }\n get scrollMode() {\n return this._scrollMode;\n }\n set scrollMode(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n if (!isValidScrollMode(mode)) {\n throw new Error(`Invalid scroll mode: ${mode}`);\n }\n if (this.pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n return;\n }\n this._previousScrollMode = this._scrollMode;\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n this._updateScrollMode(this._currentPageNumber);\n }\n _updateScrollMode(pageNumber = null) {\n const scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === ScrollMode.WRAPPED);\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n if (scrollMode === ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._previousScrollMode === ScrollMode.PAGE) {\n this._updateSpreadMode();\n }\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this._setCurrentPageNumber(pageNumber, true);\n this.update();\n }\n get spreadMode() {\n return this._spreadMode;\n }\n set spreadMode(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n if (!isValidSpreadMode(mode)) {\n throw new Error(`Invalid spread mode: ${mode}`);\n }\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode\n });\n this._updateSpreadMode(this._currentPageNumber);\n }\n _updateSpreadMode(pageNumber = null) {\n if (!this.pdfDocument) {\n return;\n }\n const viewer = this.viewer,\n pages = this._pages;\n if (this._scrollMode === ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else {\n viewer.textContent = \"\";\n if (this._spreadMode === SpreadMode.NONE) {\n for (const pageView of this._pages) {\n viewer.append(pageView.div);\n }\n } else {\n const parity = this._spreadMode - 1;\n let spread = null;\n for (let i = 0, ii = pages.length; i < ii; ++i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.append(spread);\n } else if (i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.append(spread);\n }\n spread.append(pages[i].div);\n }\n }\n }\n if (!pageNumber) {\n return;\n }\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this._setCurrentPageNumber(pageNumber, true);\n this.update();\n }\n _getPageAdvance(currentPageNumber, previous = false) {\n switch (this._scrollMode) {\n case ScrollMode.WRAPPED:\n {\n const {\n views\n } = this._getVisiblePages(),\n pageLayout = new Map();\n for (const {\n id,\n y,\n percent,\n widthPercent\n } of views) {\n if (percent === 0 || widthPercent < 100) {\n continue;\n }\n let yArray = pageLayout.get(y);\n if (!yArray) {\n pageLayout.set(y, yArray ||= []);\n }\n yArray.push(id);\n }\n for (const yArray of pageLayout.values()) {\n const currentIndex = yArray.indexOf(currentPageNumber);\n if (currentIndex === -1) {\n continue;\n }\n const numPages = yArray.length;\n if (numPages === 1) {\n break;\n }\n if (previous) {\n for (let i = currentIndex - 1, ii = 0; i >= ii; i--) {\n const currentId = yArray[i],\n expectedId = yArray[i + 1] - 1;\n if (currentId < expectedId) {\n return currentPageNumber - expectedId;\n }\n }\n } else {\n for (let i = currentIndex + 1, ii = numPages; i < ii; i++) {\n const currentId = yArray[i],\n expectedId = yArray[i - 1] + 1;\n if (currentId > expectedId) {\n return expectedId - currentPageNumber;\n }\n }\n }\n if (previous) {\n const firstId = yArray[0];\n if (firstId < currentPageNumber) {\n return currentPageNumber - firstId + 1;\n }\n } else {\n const lastId = yArray[numPages - 1];\n if (lastId > currentPageNumber) {\n return lastId - currentPageNumber + 1;\n }\n }\n break;\n }\n break;\n }\n case ScrollMode.HORIZONTAL:\n {\n break;\n }\n case ScrollMode.PAGE:\n case ScrollMode.VERTICAL:\n {\n if (this._spreadMode === SpreadMode.NONE) {\n break;\n }\n const parity = this._spreadMode - 1;\n if (previous && currentPageNumber % 2 !== parity) {\n break;\n } else if (!previous && currentPageNumber % 2 === parity) {\n break;\n }\n const {\n views\n } = this._getVisiblePages(),\n expectedId = previous ? currentPageNumber - 1 : currentPageNumber + 1;\n for (const {\n id,\n percent,\n widthPercent\n } of views) {\n if (id !== expectedId) {\n continue;\n }\n if (percent > 0 && widthPercent === 100) {\n return 2;\n }\n break;\n }\n break;\n }\n }\n return 1;\n }\n nextPage() {\n const currentPageNumber = this._currentPageNumber,\n pagesCount = this.pagesCount;\n if (currentPageNumber >= pagesCount) {\n return false;\n }\n const advance = this._getPageAdvance(currentPageNumber, false) || 1;\n this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount);\n return true;\n }\n previousPage() {\n const currentPageNumber = this._currentPageNumber;\n if (currentPageNumber <= 1) {\n return false;\n }\n const advance = this._getPageAdvance(currentPageNumber, true) || 1;\n this.currentPageNumber = Math.max(currentPageNumber - advance, 1);\n return true;\n }\n updateScale({\n drawingDelay,\n scaleFactor = null,\n steps = null,\n origin\n }) {\n if (steps === null && scaleFactor === null) {\n throw new Error(\"Invalid updateScale options: either `steps` or `scaleFactor` must be provided.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n let newScale = this._currentScale;\n if (scaleFactor > 0 && scaleFactor !== 1) {\n newScale = Math.round(newScale * scaleFactor * 100) / 100;\n } else if (steps) {\n const delta = steps > 0 ? DEFAULT_SCALE_DELTA : 1 / DEFAULT_SCALE_DELTA;\n const round = steps > 0 ? Math.ceil : Math.floor;\n steps = Math.abs(steps);\n do {\n newScale = round((newScale * delta).toFixed(2) * 10) / 10;\n } while (--steps > 0);\n }\n newScale = MathClamp(newScale, MIN_SCALE, MAX_SCALE);\n this.#setScale(newScale, {\n noScroll: false,\n drawingDelay,\n origin\n });\n }\n increaseScale(options = {}) {\n this.updateScale({\n ...options,\n steps: options.steps ?? 1\n });\n }\n decreaseScale(options = {}) {\n this.updateScale({\n ...options,\n steps: -(options.steps ?? 1)\n });\n }\n #updateContainerHeightCss(height = this.container.clientHeight) {\n if (height !== this.#previousContainerHeight) {\n this.#previousContainerHeight = height;\n docStyle.setProperty(\"--viewer-container-height\", `${height}px`);\n }\n }\n #resizeObserverCallback(entries) {\n for (const entry of entries) {\n if (entry.target === this.container) {\n this.#updateContainerHeightCss(Math.floor(entry.borderBoxSize[0].blockSize));\n this.#containerTopLeft = null;\n break;\n }\n }\n }\n get containerTopLeft() {\n return this.#containerTopLeft ||= [this.container.offsetTop, this.container.offsetLeft];\n }\n #cleanupTimeouts() {\n if (this.#scaleTimeoutId !== null) {\n clearTimeout(this.#scaleTimeoutId);\n this.#scaleTimeoutId = null;\n }\n if (this.#scrollTimeoutId !== null) {\n clearTimeout(this.#scrollTimeoutId);\n this.#scrollTimeoutId = null;\n }\n }\n #cleanupSwitchAnnotationEditorMode() {\n this.#switchAnnotationEditorModeAC?.abort();\n this.#switchAnnotationEditorModeAC = null;\n if (this.#switchAnnotationEditorModeTimeoutId !== null) {\n clearTimeout(this.#switchAnnotationEditorModeTimeoutId);\n this.#switchAnnotationEditorModeTimeoutId = null;\n }\n }\n #preloadEditingData(mode) {\n switch (mode) {\n case AnnotationEditorType.STAMP:\n this.#mlManager?.loadModel(\"altText\");\n break;\n case AnnotationEditorType.SIGNATURE:\n this.#signatureManager?.loadSignatures();\n break;\n }\n }\n get annotationEditorMode() {\n return this.#annotationEditorUIManager ? this.#annotationEditorMode : AnnotationEditorType.DISABLE;\n }\n set annotationEditorMode({\n mode,\n editId = null,\n isFromKeyboard = false,\n mustEnterInEditMode = false,\n editComment = false\n }) {\n if (!this.#annotationEditorUIManager) {\n throw new Error(`The AnnotationEditor is not enabled.`);\n }\n if (this.#annotationEditorMode === mode) {\n return;\n }\n if (!isValidAnnotationEditorMode(mode)) {\n throw new Error(`Invalid AnnotationEditor mode: ${mode}`);\n }\n if (!this.pdfDocument) {\n return;\n }\n this.#preloadEditingData(mode);\n const {\n eventBus,\n pdfDocument\n } = this;\n const updater = async () => {\n this.#cleanupSwitchAnnotationEditorMode();\n this.#annotationEditorMode = mode;\n await this.#annotationEditorUIManager.updateMode(mode, editId, isFromKeyboard, mustEnterInEditMode, editComment);\n if (mode !== this.#annotationEditorMode || pdfDocument !== this.pdfDocument) {\n return;\n }\n eventBus.dispatch(\"annotationeditormodechanged\", {\n source: this,\n mode\n });\n };\n if (mode === AnnotationEditorType.NONE || this.#annotationEditorMode === AnnotationEditorType.NONE) {\n const isEditing = mode !== AnnotationEditorType.NONE;\n if (!isEditing) {\n this.pdfDocument.annotationStorage.resetModifiedIds();\n }\n this.cleanup();\n for (const pageView of this._pages) {\n pageView.toggleEditingMode(isEditing);\n }\n const idsToRefresh = this.#switchToEditAnnotationMode();\n if (isEditing && idsToRefresh) {\n this.#cleanupSwitchAnnotationEditorMode();\n this.#switchAnnotationEditorModeAC = new AbortController();\n const signal = AbortSignal.any([this.#eventAbortController.signal, this.#switchAnnotationEditorModeAC.signal]);\n eventBus._on(\"pagerendered\", ({\n pageNumber\n }) => {\n idsToRefresh.delete(pageNumber);\n if (idsToRefresh.size === 0) {\n this.#switchAnnotationEditorModeTimeoutId = setTimeout(updater, 0);\n }\n }, {\n signal\n });\n return;\n }\n }\n updater();\n }\n refresh(noUpdate = false, updateArgs = Object.create(null)) {\n if (!this.pdfDocument) {\n return;\n }\n for (const pageView of this._pages) {\n pageView.update(updateArgs);\n }\n this.#cleanupTimeouts();\n if (!noUpdate) {\n this.update();\n }\n }\n}\n\n;// ./web/pdf_single_page_viewer.js\n\n\nclass PDFSinglePageViewer extends PDFViewer {\n _resetView() {\n super._resetView();\n this._scrollMode = ScrollMode.PAGE;\n this._spreadMode = SpreadMode.NONE;\n }\n set scrollMode(mode) {}\n _updateScrollMode() {}\n set spreadMode(mode) {}\n _updateSpreadMode() {}\n}\n\n;// ./web/pdf_viewer.component.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nglobalThis.pdfjsViewer = {\n AnnotationLayerBuilder: AnnotationLayerBuilder,\n DownloadManager: DownloadManager,\n EventBus: EventBus,\n FindState: FindState,\n GenericL10n: genericl10n_GenericL10n,\n LinkTarget: LinkTarget,\n parseQueryString: parseQueryString,\n PDFFindController: PDFFindController,\n PDFHistory: PDFHistory,\n PDFLinkService: PDFLinkService,\n PDFPageView: PDFPageView,\n PDFScriptingManager: PDFScriptingManagerComponents,\n PDFSinglePageViewer: PDFSinglePageViewer,\n PDFViewer: PDFViewer,\n ProgressBar: ProgressBar,\n RenderingStates: RenderingStates,\n ScrollMode: ScrollMode,\n SimpleLinkService: SimpleLinkService,\n SpreadMode: SpreadMode,\n StructTreeLayerBuilder: StructTreeLayerBuilder,\n TextLayerBuilder: TextLayerBuilder,\n XfaLayerBuilder: XfaLayerBuilder\n};\n\nexport { AnnotationLayerBuilder, DownloadManager, EventBus, FindState, genericl10n_GenericL10n as GenericL10n, LinkTarget, PDFFindController, PDFHistory, PDFLinkService, PDFPageView, PDFScriptingManagerComponents as PDFScriptingManager, PDFSinglePageViewer, PDFViewer, ProgressBar, RenderingStates, ScrollMode, SimpleLinkService, SpreadMode, StructTreeLayerBuilder, TextLayerBuilder, XfaLayerBuilder, parseQueryString };\n\n//# sourceMappingURL=pdf_viewer.mjs.map"],"names":["match","resolved","cache","messages","error","range","endDiv","parameters","docProperties"],"mappings":"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","x_google_ignoreList":[0]}