@awacloud/pdf 0.0.0-stage → 1.0.0

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 (345) hide show
  1. package/CHANGELOG.md +609 -0
  2. package/LICENSE +661 -0
  3. package/NOTICE +77 -0
  4. package/README.md +363 -2
  5. package/dist/build/index.js +21 -0
  6. package/dist/build/pdf-full-rw.js +10972 -0
  7. package/dist/build/pdf-full-rw.meta.json +105 -0
  8. package/dist/build/pdf-full-rw.min.js +53 -0
  9. package/dist/build/pdf-full.js +6078 -0
  10. package/dist/build/pdf-full.meta.json +90 -0
  11. package/dist/build/pdf-full.min.js +32 -0
  12. package/dist/build/pdf-large-rw.js +10367 -0
  13. package/dist/build/pdf-large-rw.meta.json +99 -0
  14. package/dist/build/pdf-large-rw.min.js +53 -0
  15. package/dist/build/pdf-large.js +5473 -0
  16. package/dist/build/pdf-large.meta.json +84 -0
  17. package/dist/build/pdf-large.min.js +32 -0
  18. package/dist/build/pdf-legacy-rw.js +12402 -0
  19. package/dist/build/pdf-legacy-rw.meta.json +110 -0
  20. package/dist/build/pdf-legacy-rw.min.js +53 -0
  21. package/dist/build/pdf-legacy.js +7508 -0
  22. package/dist/build/pdf-legacy.meta.json +95 -0
  23. package/dist/build/pdf-legacy.min.js +32 -0
  24. package/dist/build/pdf-rw.js +7578 -0
  25. package/dist/build/pdf-rw.meta.json +77 -0
  26. package/dist/build/pdf-rw.min.js +53 -0
  27. package/dist/build/pdf.js +2684 -0
  28. package/dist/build/pdf.meta.json +62 -0
  29. package/dist/build/pdf.min.js +32 -0
  30. package/dist/standalone/pdf-full-rw.js +16798 -0
  31. package/dist/standalone/pdf-full-rw.meta.json +78 -0
  32. package/dist/standalone/pdf-full-rw.min.js +56 -0
  33. package/dist/standalone/pdf-full.js +11904 -0
  34. package/dist/standalone/pdf-full.meta.json +63 -0
  35. package/dist/standalone/pdf-full.min.js +35 -0
  36. package/dist/standalone/pdf-large-rw.js +16193 -0
  37. package/dist/standalone/pdf-large-rw.meta.json +72 -0
  38. package/dist/standalone/pdf-large-rw.min.js +56 -0
  39. package/dist/standalone/pdf-large.js +11299 -0
  40. package/dist/standalone/pdf-large.meta.json +57 -0
  41. package/dist/standalone/pdf-large.min.js +35 -0
  42. package/dist/standalone/pdf-legacy-rw.js +18228 -0
  43. package/dist/standalone/pdf-legacy-rw.meta.json +83 -0
  44. package/dist/standalone/pdf-legacy-rw.min.js +56 -0
  45. package/dist/standalone/pdf-legacy.js +13334 -0
  46. package/dist/standalone/pdf-legacy.meta.json +68 -0
  47. package/dist/standalone/pdf-legacy.min.js +35 -0
  48. package/dist/standalone/pdf-rw.js +13404 -0
  49. package/dist/standalone/pdf-rw.meta.json +50 -0
  50. package/dist/standalone/pdf-rw.min.js +56 -0
  51. package/dist/standalone/pdf.js +8510 -0
  52. package/dist/standalone/pdf.meta.json +35 -0
  53. package/dist/standalone/pdf.min.js +35 -0
  54. package/docs/README.md +53 -0
  55. package/docs/api/README.md +38 -0
  56. package/docs/api/_shared/README.md +91 -0
  57. package/docs/api/action/README.md +29 -0
  58. package/docs/api/action/action.md +81 -0
  59. package/docs/api/action/goTo.md +66 -0
  60. package/docs/api/action/launch.md +58 -0
  61. package/docs/api/action/named.md +55 -0
  62. package/docs/api/action/uri.md +54 -0
  63. package/docs/api/annot/README.md +53 -0
  64. package/docs/api/annot/annot.md +114 -0
  65. package/docs/api/annot/fileAttach.md +53 -0
  66. package/docs/api/annot/freeText.md +68 -0
  67. package/docs/api/annot/ink.md +69 -0
  68. package/docs/api/annot/link.md +74 -0
  69. package/docs/api/annot/markup.md +83 -0
  70. package/docs/api/annot/popup.md +52 -0
  71. package/docs/api/annot/projection.md +56 -0
  72. package/docs/api/annot/redact.md +67 -0
  73. package/docs/api/annot/square.md +87 -0
  74. package/docs/api/annot/stamp.md +54 -0
  75. package/docs/api/annot/text.md +69 -0
  76. package/docs/api/annot/widget.md +69 -0
  77. package/docs/api/associatedFiles/README.md +9 -0
  78. package/docs/api/associatedFiles/associatedFiles.md +78 -0
  79. package/docs/api/bundles/README.md +68 -0
  80. package/docs/api/bundles/dist-matrix.md +165 -0
  81. package/docs/api/bundles/pdf-full.md +148 -0
  82. package/docs/api/bundles/pdf-large.md +144 -0
  83. package/docs/api/bundles/pdf-legacy.md +169 -0
  84. package/docs/api/content/README.md +29 -0
  85. package/docs/api/content/color.md +99 -0
  86. package/docs/api/content/graphics.md +114 -0
  87. package/docs/api/content/images.md +124 -0
  88. package/docs/api/content/ops.md +100 -0
  89. package/docs/api/content/stream.md +107 -0
  90. package/docs/api/content/text.md +98 -0
  91. package/docs/api/crypto/README.md +29 -0
  92. package/docs/api/crypto/aesGcm.md +72 -0
  93. package/docs/api/crypto/permissions.md +79 -0
  94. package/docs/api/crypto/security.md +98 -0
  95. package/docs/api/crypto/standardV4.md +104 -0
  96. package/docs/api/crypto/standardV5.md +84 -0
  97. package/docs/api/crypto/standardV6.md +93 -0
  98. package/docs/api/destination/README.md +9 -0
  99. package/docs/api/destination/destination.md +79 -0
  100. package/docs/api/document/README.md +29 -0
  101. package/docs/api/document/builder.md +281 -0
  102. package/docs/api/document/catalog.md +98 -0
  103. package/docs/api/document/document.md +187 -0
  104. package/docs/api/document/encryptedWriter.md +149 -0
  105. package/docs/api/document/incrementalWriter.md +148 -0
  106. package/docs/api/document/page.md +99 -0
  107. package/docs/api/document/pages.md +82 -0
  108. package/docs/api/document/resources.md +102 -0
  109. package/docs/api/document/writer.md +157 -0
  110. package/docs/api/document/xrefStreamWriter.md +122 -0
  111. package/docs/api/embedded/README.md +13 -0
  112. package/docs/api/embedded/collection.md +80 -0
  113. package/docs/api/embedded/embeddedFile.md +86 -0
  114. package/docs/api/embedded/fileSpec.md +87 -0
  115. package/docs/api/errors.md +110 -0
  116. package/docs/api/extra/3d-richmedia.md +76 -0
  117. package/docs/api/extra/README.md +99 -0
  118. package/docs/api/extra/annot-extended.md +71 -0
  119. package/docs/api/extra/associated-files.md +70 -0
  120. package/docs/api/extra/ccitt-fax-decoder.md +74 -0
  121. package/docs/api/extra/color-spaces-extended.md +72 -0
  122. package/docs/api/extra/content-ops-extended.md +82 -0
  123. package/docs/api/extra/document-parts.md +69 -0
  124. package/docs/api/extra/embedded-files-portfolio.md +87 -0
  125. package/docs/api/extra/font-cid-typed.md +77 -0
  126. package/docs/api/extra/font-color-tagging.md +76 -0
  127. package/docs/api/extra/form-actions-extended.md +75 -0
  128. package/docs/api/extra/info-dict-deprecated.md +72 -0
  129. package/docs/api/extra/jbig2-read.md +80 -0
  130. package/docs/api/extra/legacy-deprecated-annots.md +89 -0
  131. package/docs/api/extra/legacy-deprecated-filters.md +78 -0
  132. package/docs/api/extra/legacy-rc4-read.md +74 -0
  133. package/docs/api/extra/legacy-xfa-read.md +65 -0
  134. package/docs/api/extra/linearization-write.md +71 -0
  135. package/docs/api/extra/misc.md +93 -0
  136. package/docs/api/extra/optional-content-extended.md +83 -0
  137. package/docs/api/extra/pdf-a-output-intent.md +65 -0
  138. package/docs/api/extra/pdf-sandbox.md +76 -0
  139. package/docs/api/extra/pdf-ua-tagged.md +63 -0
  140. package/docs/api/extra/pdf-x-prepress.md +65 -0
  141. package/docs/api/extra/redaction-iso32005.md +65 -0
  142. package/docs/api/extra/shading-typed.md +73 -0
  143. package/docs/api/extra/sig-aes-gcm.md +69 -0
  144. package/docs/api/extra/sig-pades.md +103 -0
  145. package/docs/api/extra/tagged-pdf-typed.md +78 -0
  146. package/docs/api/extra/transparency-typed.md +74 -0
  147. package/docs/api/extra/well-tagged-pdf.md +61 -0
  148. package/docs/api/extra/xmp-extended.md +65 -0
  149. package/docs/api/font/README.md +25 -0
  150. package/docs/api/font/embed.md +157 -0
  151. package/docs/api/font/encoding.md +95 -0
  152. package/docs/api/font/font.md +97 -0
  153. package/docs/api/font/type3.md +89 -0
  154. package/docs/api/form/README.md +35 -0
  155. package/docs/api/form/acroform.md +88 -0
  156. package/docs/api/form/appearance.md +87 -0
  157. package/docs/api/form/button.md +97 -0
  158. package/docs/api/form/choice.md +96 -0
  159. package/docs/api/form/fieldTree.md +93 -0
  160. package/docs/api/form/signature.md +90 -0
  161. package/docs/api/form/text.md +88 -0
  162. package/docs/api/linearization/README.md +11 -0
  163. package/docs/api/linearization/linearization.md +81 -0
  164. package/docs/api/main.md +116 -0
  165. package/docs/api/metadata/README.md +10 -0
  166. package/docs/api/metadata/info.md +70 -0
  167. package/docs/api/metadata/xmp.md +62 -0
  168. package/docs/api/ocg/README.md +23 -0
  169. package/docs/api/ocg/config.md +95 -0
  170. package/docs/api/ocg/ocg.md +77 -0
  171. package/docs/api/outline/README.md +11 -0
  172. package/docs/api/outline/outline.md +107 -0
  173. package/docs/api/pdf.md +152 -0
  174. package/docs/api/prepress/README.md +10 -0
  175. package/docs/api/prepress/outputIntent.md +79 -0
  176. package/docs/api/prepress/pageBoundary.md +75 -0
  177. package/docs/api/sig/README.md +32 -0
  178. package/docs/api/sig/byteRange.md +120 -0
  179. package/docs/api/sig/certChain.md +84 -0
  180. package/docs/api/sig/dss.md +111 -0
  181. package/docs/api/sig/oids.md +76 -0
  182. package/docs/api/sig/sha1.md +72 -0
  183. package/docs/api/sig/sign.md +317 -0
  184. package/docs/api/sig/signature.md +178 -0
  185. package/docs/api/sig/timestamp.md +84 -0
  186. package/docs/api/syntax/README.md +29 -0
  187. package/docs/api/syntax/crossRefStream.md +115 -0
  188. package/docs/api/syntax/filters/README.md +50 -0
  189. package/docs/api/syntax/filters/ascii85.md +76 -0
  190. package/docs/api/syntax/filters/asciiHex.md +73 -0
  191. package/docs/api/syntax/filters/dispatch.md +125 -0
  192. package/docs/api/syntax/filters/flate.md +134 -0
  193. package/docs/api/syntax/filters/runLength.md +78 -0
  194. package/docs/api/syntax/objStream.md +88 -0
  195. package/docs/api/syntax/parser-obj.md +97 -0
  196. package/docs/api/syntax/parser.md +151 -0
  197. package/docs/api/syntax/serializer.md +109 -0
  198. package/docs/api/syntax/tokenizer.md +104 -0
  199. package/docs/api/syntax/trailer.md +85 -0
  200. package/docs/api/syntax/xref.md +139 -0
  201. package/docs/api/tagged/README.md +25 -0
  202. package/docs/api/tagged/classMap.md +67 -0
  203. package/docs/api/tagged/markedContent.md +62 -0
  204. package/docs/api/tagged/parentTree.md +67 -0
  205. package/docs/api/tagged/roleMap.md +67 -0
  206. package/docs/api/tagged/structElement.md +76 -0
  207. package/docs/api/tagged/structTree.md +75 -0
  208. package/docs/guide/coverage.md +113 -0
  209. package/docs/guide/crypto.md +121 -0
  210. package/docs/guide/extending.md +76 -0
  211. package/docs/guide/getting-started.md +75 -0
  212. package/docs/guide/legacy-1.7.md +42 -0
  213. package/docs/guide/pades-integration.md +579 -0
  214. package/docs/guide/read-pdf.md +89 -0
  215. package/package.json +97 -4
  216. package/src/_shared/index.js +179 -0
  217. package/src/action/action.js +119 -0
  218. package/src/action/goTo.js +89 -0
  219. package/src/action/launch.js +61 -0
  220. package/src/action/named.js +54 -0
  221. package/src/action/uri.js +51 -0
  222. package/src/annot/annot.js +212 -0
  223. package/src/annot/fileAttach.js +55 -0
  224. package/src/annot/freeText.js +82 -0
  225. package/src/annot/ink.js +77 -0
  226. package/src/annot/link.js +77 -0
  227. package/src/annot/markup.js +91 -0
  228. package/src/annot/popup.js +53 -0
  229. package/src/annot/projection.js +52 -0
  230. package/src/annot/redact.js +87 -0
  231. package/src/annot/square.js +132 -0
  232. package/src/annot/stamp.js +48 -0
  233. package/src/annot/text.js +54 -0
  234. package/src/annot/widget.js +61 -0
  235. package/src/associatedFiles/associatedFiles.js +86 -0
  236. package/src/bundles/pdf-full.js +91 -0
  237. package/src/bundles/pdf-large.js +81 -0
  238. package/src/bundles/pdf-legacy.js +107 -0
  239. package/src/content/color.js +114 -0
  240. package/src/content/graphics.js +192 -0
  241. package/src/content/images.js +160 -0
  242. package/src/content/ops.js +137 -0
  243. package/src/content/stream.js +154 -0
  244. package/src/content/text.js +125 -0
  245. package/src/crypto/aesGcm.js +123 -0
  246. package/src/crypto/permissions.js +112 -0
  247. package/src/crypto/security.js +327 -0
  248. package/src/crypto/standardV4.js +443 -0
  249. package/src/crypto/standardV5.js +306 -0
  250. package/src/crypto/standardV6.js +334 -0
  251. package/src/destination/destination.js +183 -0
  252. package/src/document/builder.js +618 -0
  253. package/src/document/catalog.js +100 -0
  254. package/src/document/document.js +472 -0
  255. package/src/document/encryptedWriter.js +554 -0
  256. package/src/document/incrementalWriter.js +514 -0
  257. package/src/document/page.js +131 -0
  258. package/src/document/pages.js +103 -0
  259. package/src/document/resources.js +146 -0
  260. package/src/document/writer.js +211 -0
  261. package/src/document/xrefStreamWriter.js +353 -0
  262. package/src/embedded/collection.js +102 -0
  263. package/src/embedded/embeddedFile.js +99 -0
  264. package/src/embedded/fileSpec.js +137 -0
  265. package/src/errors.js +78 -0
  266. package/src/extra/3d-richmedia.js +171 -0
  267. package/src/extra/annot-extended.js +200 -0
  268. package/src/extra/associated-files.js +131 -0
  269. package/src/extra/ccitt-fax-decoder.js +776 -0
  270. package/src/extra/color-spaces-extended.js +196 -0
  271. package/src/extra/content-ops-extended.js +153 -0
  272. package/src/extra/document-parts.js +149 -0
  273. package/src/extra/embedded-files-portfolio.js +234 -0
  274. package/src/extra/font-cid-typed.js +185 -0
  275. package/src/extra/font-color-tagging.js +144 -0
  276. package/src/extra/form-actions-extended.js +196 -0
  277. package/src/extra/info-dict-deprecated.js +137 -0
  278. package/src/extra/jbig2-read.js +169 -0
  279. package/src/extra/legacy-deprecated-annots.js +198 -0
  280. package/src/extra/legacy-deprecated-filters.js +167 -0
  281. package/src/extra/legacy-rc4-read.js +235 -0
  282. package/src/extra/legacy-xfa-read.js +104 -0
  283. package/src/extra/linearization-write.js +97 -0
  284. package/src/extra/misc.js +217 -0
  285. package/src/extra/optional-content-extended.js +142 -0
  286. package/src/extra/pdf-a-output-intent.js +112 -0
  287. package/src/extra/pdf-sandbox.js +88 -0
  288. package/src/extra/pdf-ua-tagged.js +116 -0
  289. package/src/extra/pdf-x-prepress.js +114 -0
  290. package/src/extra/redaction-iso32005.js +136 -0
  291. package/src/extra/shading-typed.js +222 -0
  292. package/src/extra/sig-aes-gcm.js +135 -0
  293. package/src/extra/sig-pades.js +242 -0
  294. package/src/extra/tagged-pdf-typed.js +203 -0
  295. package/src/extra/transparency-typed.js +135 -0
  296. package/src/extra/well-tagged-pdf.js +138 -0
  297. package/src/extra/xmp-extended.js +190 -0
  298. package/src/font/embed.js +480 -0
  299. package/src/font/encoding.js +92 -0
  300. package/src/font/font.js +101 -0
  301. package/src/font/type3.js +75 -0
  302. package/src/form/acroform.js +94 -0
  303. package/src/form/appearance.js +90 -0
  304. package/src/form/button.js +105 -0
  305. package/src/form/choice.js +152 -0
  306. package/src/form/fieldTree.js +120 -0
  307. package/src/form/signature.js +100 -0
  308. package/src/form/text.js +101 -0
  309. package/src/linearization/linearization.js +107 -0
  310. package/src/main.js +411 -0
  311. package/src/metadata/info.js +87 -0
  312. package/src/metadata/xmp.js +62 -0
  313. package/src/ocg/config.js +156 -0
  314. package/src/ocg/ocg.js +124 -0
  315. package/src/outline/outline.js +157 -0
  316. package/src/pdf.js +133 -0
  317. package/src/prepress/outputIntent.js +118 -0
  318. package/src/prepress/pageBoundary.js +108 -0
  319. package/src/sig/byteRange.js +306 -0
  320. package/src/sig/certChain.js +247 -0
  321. package/src/sig/dss.js +317 -0
  322. package/src/sig/oids.js +157 -0
  323. package/src/sig/sha1.js +142 -0
  324. package/src/sig/sign.js +1899 -0
  325. package/src/sig/signature.js +1441 -0
  326. package/src/sig/timestamp.js +236 -0
  327. package/src/syntax/crossRefStream.js +133 -0
  328. package/src/syntax/filters/ascii85.js +122 -0
  329. package/src/syntax/filters/asciiHex.js +83 -0
  330. package/src/syntax/filters/dispatch.js +176 -0
  331. package/src/syntax/filters/flate.js +316 -0
  332. package/src/syntax/filters/runLength.js +96 -0
  333. package/src/syntax/objStream.js +99 -0
  334. package/src/syntax/parser-obj.js +52 -0
  335. package/src/syntax/parser.js +321 -0
  336. package/src/syntax/serializer.js +221 -0
  337. package/src/syntax/tokenizer.js +290 -0
  338. package/src/syntax/trailer.js +76 -0
  339. package/src/syntax/xref.js +341 -0
  340. package/src/tagged/classMap.js +81 -0
  341. package/src/tagged/markedContent.js +123 -0
  342. package/src/tagged/parentTree.js +126 -0
  343. package/src/tagged/roleMap.js +107 -0
  344. package/src/tagged/structElement.js +138 -0
  345. package/src/tagged/structTree.js +94 -0
@@ -0,0 +1,62 @@
1
+ {
2
+ "kind": "build",
3
+ "variant": "fw",
4
+ "name": "pdf",
5
+ "package": "@awacloud/pdf",
6
+ "modules": [
7
+ "pdfErrors",
8
+ "pdfShared",
9
+ "pdfTokenizer",
10
+ "pdfParserObj",
11
+ "pdfParser",
12
+ "pdfXref",
13
+ "pdfTrailer",
14
+ "pdfSerializer",
15
+ "pdfCatalog",
16
+ "pdfPages",
17
+ "pdfPage",
18
+ "pdfCrossRefStream",
19
+ "pdfObjStream",
20
+ "pdfFlate",
21
+ "pdfAsciiHex",
22
+ "pdfAscii85",
23
+ "pdfRunLength",
24
+ "pdfFilterDispatch",
25
+ "pdfDocument",
26
+ "pdfWriter",
27
+ "pdf"
28
+ ],
29
+ "fwDependencies": [
30
+ "bitstream",
31
+ "huffman",
32
+ "lz77",
33
+ "deflate",
34
+ "adler32",
35
+ "b64",
36
+ "hex",
37
+ "zlib",
38
+ "lzw",
39
+ "utf8",
40
+ "aes",
41
+ "cbc",
42
+ "gcm",
43
+ "sha256",
44
+ "sha384",
45
+ "sha512",
46
+ "bitArray",
47
+ "asn1",
48
+ "asn1Oid",
49
+ "pem",
50
+ "random",
51
+ "bn",
52
+ "hmac",
53
+ "rsa",
54
+ "ecc",
55
+ "ed25519"
56
+ ],
57
+ "bytes": {
58
+ "dev": 99856,
59
+ "min": 54588
60
+ },
61
+ "builtBy": "@awacloud/tool-prebuild-generator via tools/generate-bundles.mjs"
62
+ }
@@ -0,0 +1,32 @@
1
+ /*!
2
+ * Copyright (c) 2026 AwaCloud SAS
3
+ * Author: Matthieu Bouilloux
4
+ * SPDX-License-Identifier: AGPL-3.0-only
5
+ * Dual-licensed; see the NOTICE file for licensing and any additional terms.
6
+ */
7
+ /* GENERATED — do not edit. Source: packages/front/office/pdf/tools/generate-bundles.mjs */
8
+ var iJ={name:"pdfPackage",dependencies:["bitstream","huffman","lz77","deflate","adler32","b64","hex","zlib","lzw","utf8","aes","cbc","gcm","sha256","sha384","sha512","bitArray","asn1","asn1Oid","pem","random","bn","hmac","rsa","ecc","ed25519"],factory(FJ,BJ,AJ,DJ,zJ,TJ,jJ,SJ,OJ,LJ,NJ,MJ,RJ,xJ,_J,hJ,wJ,gJ,vJ,PJ,EJ,kJ,lJ,fJ,uJ,mJ){let HJ=Object.create(null),p=Object.create(null);function a(_){HJ[_.name]=_}function KJ(_){if(_ in p)return p[_];let L=HJ[_];if(!L)throw Error("prebuilt: unknown module "+_);let D=L.dependencies.map(KJ);return p[_]=L.factory.apply({},D)}return p.bitstream=FJ,p.huffman=BJ,p.lz77=AJ,p.deflate=DJ,p.adler32=zJ,p.b64=TJ,p.hex=jJ,p.zlib=SJ,p.lzw=OJ,p.utf8=LJ,p.aes=NJ,p.cbc=MJ,p.gcm=RJ,p.sha256=xJ,p.sha384=_J,p.sha512=hJ,p.bitArray=wJ,p.asn1=gJ,p.asn1Oid=vJ,p.pem=PJ,p.random=EJ,p.bn=kJ,p.hmac=lJ,p.rsa=fJ,p.ecc=uJ,p.ed25519=mJ,a({name:"pdfErrors",dependencies:[],factory:function(){class _ extends Error{constructor(I,X,F){super(X);if(this.name=new.target.name,this.code=I,F&&F.context)this.context=F.context;if(F&&F.cause)this.cause=F.cause}}class L extends _{}class D extends _{}class A extends _{}class j extends _{}function T(I){return I instanceof _}return{PdfError:_,ParseError:L,RenderError:D,ContractError:A,EncryptionError:j,isPdfError:T}}}),a({name:"pdfShared",dependencies:[],factory:function(){let _=new Uint8Array([37,80,68,70,45]),L=new Uint8Array([37,37,69,79,70]),D=new Uint8Array([37,226,227,207,211,10]),A=Object.freeze({NUL:0,HT:9,LF:10,FF:12,CR:13,SP:32,HASH:35,PERCENT:37,LPAREN:40,RPAREN:41,PLUS:43,MINUS:45,DOT:46,SLASH:47,ZERO:48,NINE:57,LANGLE:60,RANGLE:62,A_UP:65,F_UP:70,Z_UP:90,LBRACK:91,BACKSLASH:92,RBRACK:93,A_LO:97,F_LO:102,Z_LO:122,LBRACE:123,RBRACE:125});function j($){return $===32||$===9||$===10||$===13||$===12||$===0}function T($){return $===10||$===13}function I($){return $>=48&&$<=57}function X($){return $>=48&&$<=57||$>=65&&$<=70||$>=97&&$<=102}function F($){return $===40||$===41||$===60||$===62||$===91||$===93||$===47||$===37||$===123||$===125}function z($){return!j($)&&!F($)}function Z($){if($>=48&&$<=57)return $-48;if($>=65&&$<=70)return $-65+10;if($>=97&&$<=102)return $-97+10;return-1}let H=function(){let C=new Int8Array(128);C.fill(-1);for(let S=48;S<=57;S++)C[S]=S-48;for(let S=65;S<=70;S++)C[S]=S-65+10;for(let S=97;S<=102;S++)C[S]=S-97+10;return C}(),R=new TextEncoder,B=new TextDecoder("utf-8"),O=new TextDecoder("utf-8",{fatal:!1}),N=new TextDecoder("latin1");function V($){return R.encode($)}function G($){return B.decode($)}function J($){return O.decode($)}function q($){return N.decode($)}function U($){return String($).padStart(10,"0")}function Q($){let C="<";for(let S=0;S<$.length;S++)C+="0123456789ABCDEF"[$[S]>>4]+"0123456789ABCDEF"[$[S]&15];return C+">"}function Y($,C,S){if(!$||!C)return!1;if(S==null){if($.length!==C.length)return!1;S=$.length}else if($.length<S||C.length<S)return!1;let h=0;for(let l=0;l<S;l++)h|=$[l]^C[l];return h===0}function K($){let C=0;for(let l of $)C+=l.length;let S=new Uint8Array(C),h=0;for(let l of $)S.set(l,h),h+=l.length;return S}return{HEADER_PREFIX:_,EOF_MARKER:L,BINARY_MARKER:D,ASCII:A,isWs:j,isEol:T,isDigit:I,isHex:X,isDelim:F,isRegular:z,hexNibble:Z,HEX_LO:H,te:R,tdUtf8:B,tdUtf8Lenient:O,tdLatin1:N,encodeAscii:V,decodeUtf8:G,decodeUtf8Lenient:J,decodeLatin1:q,pad10:U,hexLit:Q,bytesEqual:Y,concatBytes:K}}}),a({name:"pdfTokenizer",dependencies:["pdfErrors","pdfShared"],factory:function(_,L){let{ParseError:D}=_,{ASCII:A,isWs:j,isEol:T,isDigit:I,isRegular:X,hexNibble:F}=L,{HT:z,LF:Z,CR:H,FF:R,LPAREN:B,RPAREN:O,LANGLE:N,RANGLE:V,LBRACK:G,RBRACK:J,SLASH:q,PERCENT:U,BACKSLASH:Q,PLUS:Y,MINUS:K,DOT:$,ZERO:C,HASH:S}=A;function h(x,y){if(!(x instanceof Uint8Array))throw new D("pdf/tokenizer/bad-input","tokenize() expects a Uint8Array",{context:{typeof:typeof x}});let s=!!(y&&y.keepWhitespace),W=y&&y.start|0||0,k=y&&Number.isFinite(y.end)?Math.min(y.end|0,x.length):x.length,g=null;function M(){return W}function f(v){if(v<0||v>x.length)throw new D("pdf/tokenizer/bad-seek","seek out of range",{context:{offset:v,total:x.length}});W=v,g=null}function u(){let v=W;W++;let P=[];while(W<k){let d=x[W];if(!X(d))break;if(d===S){if(W+2>=k)throw new D("pdf/tokenizer/bad-name-escape","truncated #xx escape in name",{context:{offset:W}});let n=F(x[W+1]),b=F(x[W+2]);if(n<0||b<0)throw new D("pdf/tokenizer/bad-name-escape","invalid hex digits in name escape",{context:{offset:W}});P.push(n<<4|b),W+=3}else P.push(d),W++}return{kind:"name",value:new TextDecoder("utf-8",{fatal:!1}).decode(Uint8Array.from(P)),offset:v,end:W}}function E(){let v=W,P=!1;if(x[W]===Y||x[W]===K)W++;while(W<k){let b=x[W];if(I(b)){W++;continue}if(b===$&&!P){P=!0,W++;continue}break}let d=new TextDecoder("latin1").decode(x.subarray(v,W));if(d===""||d==="+"||d==="-"||d===".")throw new D("pdf/tokenizer/bad-number","empty number token",{context:{offset:v}});let n=Number(d);if(!Number.isFinite(n))throw new D("pdf/tokenizer/bad-number","cannot parse number",{context:{raw:d,offset:v}});return{kind:P?"real":"int",value:n,offset:v,end:W,raw:d}}function t(){let v=W;W++;let P=[],d=1;while(W<k&&d>0){let n=x[W];if(n===B){d++,P.push(n),W++;continue}if(n===O){if(d--,d===0){W++;break}P.push(n),W++;continue}if(n===Q){if(W+1>=k)throw new D("pdf/tokenizer/bad-string","trailing backslash in literal string",{context:{offset:W}});let b=x[W+1];if(b===Z){W+=2;continue}if(b===H){if(W+=2,W<k&&x[W]===Z)W++;continue}if(b===110){P.push(Z),W+=2;continue}if(b===114){P.push(H),W+=2;continue}if(b===116){P.push(z),W+=2;continue}if(b===98){P.push(8),W+=2;continue}if(b===102){P.push(R),W+=2;continue}if(b===B||b===O||b===Q){P.push(b),W+=2;continue}if(b>=C&&b<=C+7){let YJ=0,GJ=0;W++;while(GJ<3&&W<k&&x[W]>=C&&x[W]<=C+7)YJ=YJ<<3|x[W]-C,W++,GJ++;P.push(YJ&255);continue}W++;continue}if(n===H){if(P.push(Z),W++,W<k&&x[W]===Z)W++;continue}P.push(n),W++}if(d!==0)throw new D("pdf/tokenizer/unterminated-string","literal string was not closed",{context:{offset:v}});return{kind:"string",value:Uint8Array.from(P),offset:v,end:W}}function VJ(){let v=W;W++;let P=[];while(W<k){let n=x[W];if(n===V){W++;break}if(j(n)){W++;continue}let b=F(n);if(b<0)throw new D("pdf/tokenizer/bad-hex","non-hex byte in hex string",{context:{offset:W,byte:n}});P.push(b),W++}if(P.length%2===1)P.push(0);let d=new Uint8Array(P.length/2);for(let n=0;n<d.length;n++)d[n]=P[2*n]<<4|P[2*n+1];return{kind:"hex",value:d,offset:v,end:W}}function r(){let v=W;while(W<k&&X(x[W]))W++;let P=new TextDecoder("latin1").decode(x.subarray(v,W));if(P==="")throw new D("pdf/tokenizer/empty-keyword","empty keyword",{context:{offset:v}});return{kind:"kw",value:P,offset:v,end:W}}function e(){if(g){let P=g;return g=null,P}while(W<k){let P=x[W];if(j(P)){if(s){let d=W;while(W<k&&j(x[W]))W++;return{kind:"ws",offset:d,end:W}}W++;continue}if(P===U){if(W+4<k&&x[W+1]===U&&x[W+2]===69&&x[W+3]===79&&x[W+4]===70){let d=W;return W+=5,{kind:"eof_marker",offset:d,end:W}}while(W<k&&!T(x[W]))W++;if(W<k&&x[W]===H)W++;if(W<k&&x[W]===Z)W++;continue}break}if(W>=k)return null;let v=x[W];if(v===q)return u();if(v===G)return{kind:"open_arr",offset:W++,end:W};if(v===J)return{kind:"close_arr",offset:W++,end:W};if(v===N){if(W+1<k&&x[W+1]===N){let P=W;return W+=2,{kind:"open_dict",offset:P,end:W}}return VJ()}if(v===V){if(W+1<k&&x[W+1]===V){let P=W;return W+=2,{kind:"close_dict",offset:P,end:W}}throw new D("pdf/tokenizer/unexpected-rangle","lone > outside hex string",{context:{offset:W}})}if(v===B)return t();if(v===Y||v===K||v===$||I(v))return E();return r()}function UJ(){if(!g)g=e();return g}return{next:e,peek:UJ,pos:M,seek:f,bytes:x}}function l(x,y,s){let W=x.length,k=y.length;if(k===0||k>W)return-1;let g=Number.isFinite(s)?Math.min(s|0,W-k):W-k;J:for(let M=g;M>=0;M--){for(let f=0;f<k;f++)if(x[M+f]!==y[f])continue J;return M}return-1}return{tokenize:h,lastIndexOfBytes:l}}}),a({name:"pdfParserObj",dependencies:[],factory:function(){let _={nul:()=>({type:"null"}),bool:(A)=>({type:"bool",value:!!A}),int:(A)=>({type:"int",value:A|0}),real:(A)=>({type:"real",value:+A}),name:(A)=>({type:"name",value:String(A)}),string:(A,j)=>({type:"string",value:A,syntax:j==="hex"?"hex":"lit"}),array:(A)=>({type:"array",items:A||[]}),dict:(A)=>({type:"dict",entries:A||{}}),ref:(A,j)=>({type:"ref",num:A|0,gen:j|0||0}),stream:(A,j)=>({type:"stream",dict:A,raw:j})};function L(A,j){if(!A||A.type!=="dict")return;return A.entries[j]}function D(A,j){return!!(A&&A.type===j)}return{obj:_,getEntry:L,isType:D}}}),a({name:"pdfParser",dependencies:["pdfErrors","pdfParserObj","pdfTokenizer"],factory:function(_,L,D){let{ParseError:A}=_,{obj:j,getEntry:T,isType:I}=L,X=D.tokenize;function F(Q,Y){let K=Q.entries&&Q.entries.Length;if(!K)return-1;if(K.type==="int")return K.value;if(K.type==="ref"&&typeof Y==="function"){let $=Y(K);if($&&$.type==="int")return $.value}return-1}function z(Q,Y,K){let $=[101,110,100,115,116,114,101,97,109],C=Math.min(Q.length,Y+(K|0));J:for(let S=Y;S+$.length<=C;S++){for(let l=0;l<$.length;l++)if(Q[S+l]!==$[l])continue J;let h=S;if(h>Y&&Q[h-1]===10)h--;if(h>Y&&Q[h-1]===13)h--;return h}return-1}function Z(Q){let Y=Q.bytes,K=Q.pos();while(K<Y.length){let $=Y[K];if($===32||$===9||$===10||$===13)K++;else break}Q.seek(K)}let H={maxDepth:200,maxArrayLen:1e6,maxStreamBytes:268435456};function R(Q){if(Q&&typeof Q==="object"){if(Number.isInteger(Q.maxDepth)&&Q.maxDepth>0)H.maxDepth=Q.maxDepth;if(Number.isInteger(Q.maxArrayLen)&&Q.maxArrayLen>0)H.maxArrayLen=Q.maxArrayLen;if(Number.isInteger(Q.maxStreamBytes)&&Q.maxStreamBytes>0)H.maxStreamBytes=Q.maxStreamBytes}return H}function B(Q){let Y=Q.next();if(!Y)throw new A("pdf/parser/eof","unexpected end of input");return O(Q,Y,0)}function O(Q,Y,K){if(K>H.maxDepth)throw new A("pdf/parser/depth-exceeded","parser depth limit exceeded",{context:{depth:K,limit:H.maxDepth,offset:Y&&Y.offset}});switch(Y.kind){case"kw":if(Y.value==="null")return{type:"null"};if(Y.value==="true")return{type:"bool",value:!0};if(Y.value==="false")return{type:"bool",value:!1};throw new A("pdf/parser/unexpected-keyword",`unexpected keyword "${Y.value}"`,{context:{offset:Y.offset,keyword:Y.value}});case"name":return{type:"name",value:Y.value};case"string":return{type:"string",value:Y.value,syntax:"lit"};case"hex":return{type:"string",value:Y.value,syntax:"hex"};case"int":return N(Q,Y);case"real":return{type:"real",value:Y.value};case"open_arr":return V(Q,Y.offset,K);case"open_dict":return G(Q,Y.offset,K);case"close_arr":case"close_dict":throw new A("pdf/parser/unbalanced",`unexpected ${Y.kind}`,{context:{offset:Y.offset}});default:throw new A("pdf/parser/unexpected-token",`unexpected token of kind "${Y.kind}"`,{context:{offset:Y.offset,kind:Y.kind}})}}function N(Q,Y){let K=Q.pos(),$=Q.peek();if(!$||$.kind!=="int")return{type:"int",value:Y.value};Q.next();let C=Q.peek();if(C&&C.kind==="kw"&&C.value==="R")return Q.next(),{type:"ref",num:Y.value|0,gen:$.value|0};return Q.seek(K),{type:"int",value:Y.value}}function V(Q,Y,K){let $=[];for(;;){let C=Q.peek();if(!C)throw new A("pdf/parser/unterminated-array","array not closed",{context:{offset:Y}});if(C.kind==="close_arr")return Q.next(),{type:"array",items:$};if($.length>=H.maxArrayLen)throw new A("pdf/parser/array-too-long","array exceeds parserLimits.maxArrayLen",{context:{length:$.length,limit:H.maxArrayLen,offset:Y}});let S=Q.next();$.push(O(Q,S,(K|0)+1))}}function G(Q,Y,K){let $={};for(;;){let C=Q.peek();if(!C)throw new A("pdf/parser/unterminated-dict","dict not closed",{context:{offset:Y}});if(C.kind==="close_dict")return Q.next(),{type:"dict",entries:$};if(C.kind!=="name")throw new A("pdf/parser/dict-key-not-name","expected /Name as dict key",{context:{offset:C.offset,kind:C.kind}});let S=Q.next(),h=Q.next();if(!h)throw new A("pdf/parser/eof","unexpected end of input");let l=O(Q,h,(K|0)+1);$[S.value]=l}}function J(Q,Y){let K=Q.next();if(!K||K.kind!=="int")throw new A("pdf/parser/indirect-bad-num","expected object number",{context:{offset:K?K.offset:Q.pos()}});let $=Q.next();if(!$||$.kind!=="int")throw new A("pdf/parser/indirect-bad-gen","expected generation number",{context:{offset:$?$.offset:Q.pos()}});let C=Q.next();if(!C||C.kind!=="kw"||C.value!=="obj")throw new A("pdf/parser/indirect-missing-obj","expected obj keyword",{context:{offset:C?C.offset:Q.pos()}});let S=B(Q),h=S,l=Q.peek();if(S.type==="dict"&&l&&l.kind==="kw"&&l.value==="stream"){Q.next();let y=Q.bytes,s=Q.pos();if(s<y.length&&y[s]===13)s++;if(s<y.length&&y[s]===10)s++;Q.seek(s);let W=Q.pos(),k=F(S,Y),g;if(Number.isFinite(k)&&k>=0&&W+k<=y.length)g=W+k;else if(g=z(y,W,H.maxStreamBytes),g<0)throw new A("pdf/parser/stream/no-endstream","cannot locate endstream within quota",{context:{offset:W,num:K.value,gen:$.value,quota:H.maxStreamBytes}});let M=y.subarray(W,g);Q.seek(g),Z(Q);let f=Q.next();if(!f||f.kind!=="kw"||f.value!=="endstream")throw new A("pdf/parser/stream/expected-endstream","expected endstream",{context:{offset:f?f.offset:Q.pos()}});h={type:"stream",dict:S,raw:M}}let x=Q.next();if(!x||x.kind!=="kw"||x.value!=="endobj")throw new A("pdf/parser/indirect-missing-endobj","expected endobj",{context:{offset:x?x.offset:Q.pos(),num:K.value,gen:$.value}});return{num:K.value,gen:$.value,value:h}}function q(Q){let Y=X(Q);return B(Y)}function U(Q,Y,K){let $=X(Q,{start:Y|0});return J($,K)}return{tokenize:X,parseObject:B,parseIndirect:J,parseFromBytes:q,parseIndirectFromBytes:U,parserLimits:H,setParserLimits:R,obj:j,getEntry:T,isType:I}}}),a({name:"pdfXref",dependencies:["pdfErrors","pdfTokenizer","pdfParser"],factory:function(_,L,D){let{ParseError:A,RenderError:j}=_,T=L.tokenize,I=L.lastIndexOfBytes,X=D.parseObject;function F(J){let q=Math.max(0,J.length-8192),U=I(J,new Uint8Array([115,116,97,114,116,120,114,101,102]),J.length);if(U<q)return-1;return U}function z(J,q){let U=T(J,{start:q}),Q=U.next();if(!Q||Q.kind!=="kw"||Q.value!=="startxref")throw new A("pdf/xref/no-startxref","startxref keyword not found",{context:{offset:q}});let Y=U.next();if(!Y||Y.kind!=="int"||Y.value<0)throw new A("pdf/xref/bad-startxref","startxref must be followed by a non-negative integer",{context:{offset:q}});return Y.value}function Z(J,q,U){let Q=0;for(let Y=0;Y<U;Y++){let K=J[q+Y];if(K<48||K>57)throw new A("pdf/xref/bad-digit","expected ASCII digit in xref entry",{context:{offset:q+Y,byte:K}});Q=Q*10+(K-48)}return Q}function H(J,q){let U=T(J,{start:q}),Q=U.next();if(!Q||Q.kind!=="kw"||Q.value!=="xref")throw new A("pdf/xref/no-xref-keyword","expected xref keyword",{context:{offset:q}});let Y={};for(;;){let K=U.peek();if(!K||K.kind!=="int"){if(K)U.seek(K.offset);break}U.next();let $=U.next();if(!$||$.kind!=="int"||$.value<0)throw new A("pdf/xref/bad-subsection-header","xref subsection header must be `<first> <count>`",{context:{offset:K.offset}});let C=U.pos();if(C<J.length&&J[C]===13)C++;if(C<J.length&&J[C]===10)C++;for(let S=0;S<$.value;S++){if(C+20>J.length)throw new A("pdf/xref/truncated-entry","truncated xref entry",{context:{offset:C,expected:20}});let h=Z(J,C,10);if(J[C+10]!==32)throw new A("pdf/xref/bad-entry-format","xref entry missing space at col 10",{context:{offset:C}});let l=Z(J,C+11,5);if(J[C+16]!==32)throw new A("pdf/xref/bad-entry-format","xref entry missing space at col 16",{context:{offset:C}});let x=J[C+17];if(x!==110&&x!==102)throw new A("pdf/xref/bad-entry-flag","xref entry flag must be n or f",{context:{offset:C,byte:x}});Y[K.value+S]={offset:h,gen:l,free:x===102},C+=20}U.seek(C)}return{entries:Y,end:U.pos()}}function R(J,q){let U=T(J,{start:q}),Q=U.next();if(!Q||Q.kind!=="kw"||Q.value!=="trailer")throw new A("pdf/xref/no-trailer","expected trailer keyword",{context:{offset:q}});let Y=X(U);if(Y.type!=="dict")throw new A("pdf/xref/trailer-not-dict","trailer must be a dictionary",{context:{offset:q}});return{dict:Y,end:U.pos()}}function B(J,q){let U=(h)=>new A("pdf/xref/not-xref-stream",`no cross-reference stream at offset ${q}: ${h}`,{context:{offset:q}});if(!Number.isInteger(q)||q<0||q>=J.length)throw U("offset outside the file");let Q,Y,K,$,C;try{let h=T(J,{start:q});if(Q=h.next(),Y=h.next(),K=h.next(),!Q||Q.kind!=="int"||!Y||Y.kind!=="int"||!K||K.kind!=="kw"||K.value!=="obj")throw U("no indirect object header");$=X(h),C=h.peek()}catch(h){if(h&&h.code==="pdf/xref/not-xref-stream")throw h;throw U("the object does not parse")}let S=$&&$.type==="dict"&&$.entries.Type;if(!S||S.type!=="name"||S.value!=="XRef"||!C||C.kind!=="kw"||C.value!=="stream")throw U("the object is not a /Type /XRef stream");return{num:Q.value,gen:Y.value,dict:$}}function O(J){let q=1;while(J>255)J=Math.floor(J/256),q++;return q}function N(J){let q="<";for(let U=0;U<J.length;U++)q+="0123456789ABCDEF"[J[U]>>4]+"0123456789ABCDEF"[J[U]&15];return q+">"}function V(J){return!!J&&Number.isInteger(J.num)&&J.num>=1}function G(J){let q=(g)=>new j("pdf/xref/bad-stream-section",`cannot build the cross-reference stream: ${g}`);if(!J||!Number.isInteger(J.num)||J.num<1)throw q("num must be an integer >= 1");if(!Number.isInteger(J.offset)||J.offset<0)throw q("offset must be an integer >= 0");if(!Number.isInteger(J.prev)||J.prev<0)throw q("prev must be an integer >= 0");if(!V(J.root))throw q("root must be { num >= 1, gen }");if(J.encrypt!=null&&!V(J.encrypt))throw q("encrypt must be an indirect reference { num >= 1, gen }");let U=new Map;U.set(0,[0,0,65535]);for(let g of J.entries||[]){if(!g||!Number.isInteger(g.num)||g.num<1||!Number.isInteger(g.offset)||g.offset<0)throw q("each entry needs num >= 1 and offset >= 0");U.set(g.num,[1,g.offset,g.gen|0])}U.set(J.num,[1,J.offset,0]);let Q=Array.from(U.keys()).sort((g,M)=>g-M),Y=0,K=0;for(let g of U.values()){if(g[1]>Y)Y=g[1];if(g[2]>K)K=g[2]}let $=[1,O(Y),O(K)],C=$[0]+$[1]+$[2],S=new Uint8Array(Q.length*C),h=0;for(let g of Q){let M=U.get(g),f=h;for(let u=0;u<3;u++){let E=M[u];for(let t=$[u]-1;t>=0;t--)S[f+t]=E&255,E=Math.floor(E/256);f+=$[u]}h+=C}let l=[];for(let g=0;g<Q.length;){let M=g;while(M+1<Q.length&&Q[M+1]===Q[M]+1)M++;l.push(`${Q[g]} ${M-g+1}`),g=M+1}let x=`<< /Type /XRef /Size ${Math.max(J.num+1,Number.isInteger(J.size)?J.size:0)} /W [${$.join(" ")}] /Index [${l.join(" ")}] /Root ${J.root.num} ${J.root.gen|0} R`;if(V(J.info))x+=` /Info ${J.info.num} ${J.info.gen|0} R`;if(J.id&&J.id[0]instanceof Uint8Array&&J.id[1]instanceof Uint8Array)x+=` /ID [${N(J.id[0])}${N(J.id[1])}]`;if(V(J.encrypt))x+=` /Encrypt ${J.encrypt.num} ${J.encrypt.gen|0} R`;x+=` /Prev ${J.prev} /Length ${S.length} >>`;let y=new TextEncoder,s=y.encode(`${J.num} 0 obj
9
+ ${x}
10
+ stream
11
+ `),W=y.encode(`
12
+ endstream
13
+ endobj
14
+ `),k=new Uint8Array(s.length+S.length+W.length);return k.set(s,0),k.set(S,s.length),k.set(W,s.length+S.length),k}return{locateStartXref:F,readStartXref:z,parseXrefTable:H,parseTrailerDict:R,readXrefStreamDict:B,buildXrefStream:G}}}),a({name:"pdfTrailer",dependencies:["pdfErrors","pdfParserObj"],factory:function(_,L){let{ParseError:D}=_,{isType:A}=L;function j(T){if(!A(T,"dict"))throw new D("pdf/trailer/not-dict","trailer is not a dictionary",{context:{type:T&&T.type}});let I=T.entries,X=I.Size;if(!X||X.type!=="int"||X.value<0)throw new D("pdf/trailer/missing-size","trailer is missing required /Size entry",{context:{hasSize:!!X}});let F=I.Root;if(!F||F.type!=="ref")throw new D("pdf/trailer/missing-root","trailer is missing required /Root indirect reference",{context:{hasRoot:!!F,type:F&&F.type}});let z={size:X.value,root:{num:F.num,gen:F.gen},raw:T};if(I.Info&&I.Info.type==="ref")z.info={num:I.Info.num,gen:I.Info.gen};if(I.Prev&&I.Prev.type==="int")z.prev=I.Prev.value;if(I.Encrypt)z.encrypt=I.Encrypt.type==="ref"?{num:I.Encrypt.num,gen:I.Encrypt.gen}:I.Encrypt;if(I.ID&&I.ID.type==="array"&&I.ID.items.length===2&&I.ID.items[0].type==="string"&&I.ID.items[1].type==="string")z.id=[I.ID.items[0].value,I.ID.items[1].value];return z}return{typeTrailer:j}}}),a({name:"pdfSerializer",dependencies:["pdfErrors"],factory:function(_){let{RenderError:L}=_,D=new TextEncoder;function A(V){if(!V||typeof V.type!=="string")throw new L("pdf/serializer/bad-input","serializeObject expects a typed object",{context:{typeof:typeof V}});return O(I(V))}function j(V,G,J){if(!Number.isFinite(V)||V<0)throw new L("pdf/serializer/bad-num","object number must be a non-negative integer",{context:{num:V}});if(!Number.isFinite(G)||G<0)throw new L("pdf/serializer/bad-gen","generation number must be a non-negative integer",{context:{gen:G}});let q=D.encode(`${V|0} ${G|0} obj
15
+ `),U=D.encode(`
16
+ endobj
17
+ `);if(J&&J.type==="stream"){let Q=J.raw instanceof Uint8Array?J.raw:new Uint8Array(0),Y={type:"dict",entries:{...(J.dict||{type:"dict",entries:{}}).entries,Length:{type:"int",value:Q.length}}},K=O(I(Y)),$=D.encode(`
18
+ stream
19
+ `),C=D.encode(`
20
+ endstream`);return N([q,K,$,Q,C,U])}return N([q,O(I(J)),U])}function T(V){if(!Number.isFinite(V))throw new L("pdf/serializer/bad-real","real number must be finite",{context:{value:V}});if(Number.isInteger(V))return`${V}`;let G=V.toFixed(5);if(G.indexOf(".")>=0){if(G=G.replace(/0+$/,""),G.endsWith("."))G=G.slice(0,-1)}if(G==="-0")G="0";return G}function I(V){switch(V.type){case"null":return["null"];case"bool":return[V.value?"true":"false"];case"int":return[`${V.value|0}`];case"real":return[T(V.value)];case"name":return[X(V.value)];case"string":return[F(V)];case"array":return R(V);case"dict":return B(V);case"ref":return[`${V.num|0} ${V.gen|0} R`];case"stream":throw new L("pdf/serializer/inline-stream","stream objects must be serialized via serializeIndirect");default:throw new L("pdf/serializer/unknown-type",`unknown object type "${V.type}"`,{context:{type:V.type}})}}function X(V){let G="/";for(let J=0;J<V.length;J++){let q=V.codePointAt(J);if(q>65535)J++;if(q<33||q>126||q===35||q===47||q===40||q===41||q===60||q===62||q===91||q===93||q===123||q===125||q===37){let U=D.encode(String.fromCodePoint(q));for(let Q of U)G+="#"+Q.toString(16).padStart(2,"0").toUpperCase()}else G+=String.fromCharCode(q)}return G}function F(V){let G=V.value;if(!(G instanceof Uint8Array))throw new L("pdf/serializer/bad-string","string value must be Uint8Array",{context:{typeof:typeof G}});if(V.syntax==="hex"||z(G))return H(G);return Z(G)}function z(V){let G=0;for(let J=0;J<V.length;J++){let q=V[J];if(q<9||q>13&&q<32||q>=127)G++;if(G>V.length/4)return!0}return!1}function Z(V){let G=["("];for(let J=0;J<V.length;J++){let q=V[J];if(q===92)G.push("\\\\");else if(q===40)G.push("\\(");else if(q===41)G.push("\\)");else if(q===10)G.push("\\n");else if(q===13)G.push("\\r");else if(q===9)G.push("\\t");else if(q===8)G.push("\\b");else if(q===12)G.push("\\f");else if(q<32||q>126)G.push("\\"+q.toString(8).padStart(3,"0"));else G.push(String.fromCharCode(q))}return G.push(")"),G.join("")}function H(V){let G="<";for(let J=0;J<V.length;J++)G+="0123456789ABCDEF"[V[J]>>4]+"0123456789ABCDEF"[V[J]&15];return G+">"}function R(V){let G=["["],J=!0;for(let q of V.items){if(!J)G.push(" ");J=!1;for(let U of I(q))G.push(U)}return G.push("]"),G}function B(V){let G=["<<"];for(let J of Object.keys(V.entries)){G.push(" "),G.push(X(J)),G.push(" ");for(let q of I(V.entries[J]))G.push(q)}return G.push(" >>"),G}function O(V){let G="";for(let J of V)G+=J;return D.encode(G)}function N(V){let G=0;for(let U of V)G+=U.length;let J=new Uint8Array(G),q=0;for(let U of V)J.set(U,q),q+=U.length;return J}return{serializeObject:A,serializeIndirect:j,formatReal:T}}}),a({name:"pdfCatalog",dependencies:["pdfErrors","pdfParser"],factory:function(_,L){let{ParseError:D}=_,A=L&&L.isType||((I,X)=>!!(I&&I.type===X)),j=new Set(["Type","Version","Pages","PageLabels","Names","Dests","ViewerPreferences","PageLayout","PageMode","Outlines","Threads","OpenAction","AA","URI","AcroForm","Metadata","StructTreeRoot","MarkInfo","Lang","SpiderInfo","OutputIntents","PieceInfo","OCProperties","Perms","Legal","Requirements","Collection","NeedsRendering","DSS","AF","DPartRoot"]);function T(I){if(!A(I,"dict"))throw new D("pdf/catalog/not-dict","Catalog must be a dictionary",{context:{type:I&&I.type}});let X=I.entries;if(X.Type&&(X.Type.type!=="name"||X.Type.value!=="Catalog"))throw new D("pdf/catalog/bad-type","/Type entry must be /Catalog",{context:{actual:X.Type.value}});if(!X.Pages||X.Pages.type!=="ref")throw new D("pdf/catalog/missing-pages","Catalog is missing required /Pages reference",{context:{type:X.Pages&&X.Pages.type}});let F={pages:{num:X.Pages.num,gen:X.Pages.gen},raw:I,_extras:{}};if(X.Version&&X.Version.type==="name")F.version=X.Version.value;if(X.PageLayout&&X.PageLayout.type==="name")F.pageLayout=X.PageLayout.value;if(X.PageMode&&X.PageMode.type==="name")F.pageMode=X.PageMode.value;if(X.Lang&&X.Lang.type==="string")F.lang=X.Lang.value;if(X.Outlines&&X.Outlines.type==="ref")F.outlines=X.Outlines;if(X.Metadata&&X.Metadata.type==="ref")F.metadata=X.Metadata;if(X.StructTreeRoot&&X.StructTreeRoot.type==="ref")F.structTreeRoot=X.StructTreeRoot;if(X.AcroForm)F.acroForm=X.AcroForm;if(X.Names)F.names=X.Names;if(X.Dests)F.dests=X.Dests;if(X.ViewerPreferences)F.viewerPrefs=X.ViewerPreferences;if(X.PageLabels)F.pageLabels=X.PageLabels;if(X.MarkInfo)F.markInfo=X.MarkInfo;if(X.OCProperties)F.ocProperties=X.OCProperties;if(X.OutputIntents)F.outputIntents=X.OutputIntents;for(let z of Object.keys(X))if(!j.has(z))F._extras[z]=X[z];return F}return{typeCatalog:T}}}),a({name:"pdfPages",dependencies:["pdfErrors","pdfParser"],factory:function(_,L){let{ParseError:D}=_,A=L&&L.isType||((I,X)=>!!(I&&I.type===X));function j(I,X,F){let z=F&&F.maxDepth||64,Z=F&&F.maxPages||200000,H=[],R=new Set;return B(I,0),H;function B(O,N){if(N>z)throw new D("pdf/pages/max-depth","page tree depth limit exceeded",{context:{depth:N,maxDepth:z}});let V=O.num+":"+O.gen;if(R.has(V))throw new D("pdf/pages/cycle","cycle detected in page tree",{context:{ref:O}});R.add(V);let G=X({type:"ref",num:O.num,gen:O.gen});if(!A(G,"dict"))throw new D("pdf/pages/not-dict","page tree node is not a dict",{context:{ref:O}});let J=G.entries.Type;if(J&&J.type==="name"&&J.value==="Page"||!G.entries.Kids&&!J){if(H.push({num:O.num,gen:O.gen}),H.length>Z)throw new D("pdf/pages/too-many","page count limit exceeded",{context:{maxPages:Z}});return}let q=G.entries.Kids;if(!q||q.type!=="array")throw new D("pdf/pages/missing-kids","intermediate page tree node missing /Kids array",{context:{ref:O,hasKids:!!q}});for(let U of q.items){if(U.type!=="ref")throw new D("pdf/pages/non-ref-kid","page tree /Kids entries must be indirect refs",{context:{kind:U.type}});B({num:U.num,gen:U.gen},N+1)}}}function T(I){if(!A(I,"dict"))return null;let X=I.entries.Count;if(!X||X.type!=="int"&&X.type!=="real")return null;return X.value|0}return{walkPageTree:j,readPageCount:T}}}),a({name:"pdfPage",dependencies:["pdfErrors","pdfParser"],factory:function(_,L){let{ParseError:D}=_,A=L&&L.isType||((Z,H)=>!!(Z&&Z.type===H)),j=new Set(["Type","Parent","LastModified","Resources","MediaBox","CropBox","BleedBox","TrimBox","ArtBox","BoxColorInfo","Contents","Rotate","Group","Thumb","B","Dur","Trans","Annots","AA","Metadata","PieceInfo","StructParents","ID","PZ","SeparationInfo","Tabs","TemplateInstantiated","PresSteps","UserUnit","VP","AF","OutputIntents","DPart","AssociatedFiles"]);function T(Z){if(!Z||Z.type!=="array"||Z.items.length!==4)return null;let H=Array(4);for(let R=0;R<4;R++){let B=Z.items[R];if(!B||B.type!=="int"&&B.type!=="real")return null;H[R]=B.value}return H}function I(Z){if(!Z||Z.type!=="int"&&Z.type!=="real")return 0;let H=((Z.value|0)%360+360)%360;if(H%90!==0)return 0;return H}function X(Z){if(!Z)return[];if(Z.type==="ref")return[{num:Z.num,gen:Z.gen}];if(Z.type==="array"){let H=[];for(let R of Z.items)if(R.type==="ref")H.push({num:R.num,gen:R.gen});return H}return[]}function F(Z){if(!Z)return[];if(Z.type==="ref")return[Z];if(Z.type==="array")return Z.items.slice();return[]}function z(Z){if(!A(Z,"dict"))throw new D("pdf/page/not-dict","Page must be a dictionary",{context:{type:Z&&Z.type}});let H=Z.entries;if(H.Type&&(H.Type.type!=="name"||H.Type.value!=="Page"))throw new D("pdf/page/bad-type","/Type must be /Page when present",{context:{actual:H.Type.value}});let R={parent:H.Parent&&H.Parent.type==="ref"?{num:H.Parent.num,gen:H.Parent.gen}:null,mediaBox:T(H.MediaBox),resources:H.Resources||null,contents:X(H.Contents),rotate:I(H.Rotate),annots:F(H.Annots),raw:Z,_extras:{}};if(H.CropBox)R.cropBox=T(H.CropBox);if(H.BleedBox)R.bleedBox=T(H.BleedBox);if(H.TrimBox)R.trimBox=T(H.TrimBox);if(H.ArtBox)R.artBox=T(H.ArtBox);if(H.UserUnit&&H.UserUnit.type==="real")R.userUnit=H.UserUnit.value;if(H.UserUnit&&H.UserUnit.type==="int")R.userUnit=H.UserUnit.value;if(H.Tabs&&H.Tabs.type==="name")R.tabs=H.Tabs.value;if(H.Metadata)R.metadata=H.Metadata;if(H.Group)R.group=H.Group;for(let B of Object.keys(H))if(!j.has(B))R._extras[B]=H[B];return R}return{typePage:z}}}),a({name:"pdfCrossRefStream",dependencies:["pdfErrors","pdfParserObj"],factory:function(_,L){let{ParseError:D}=_,{isType:A}=L;function j(X,F,z){let Z=0;for(let H=0;H<z;H++)Z=Z*256+X[F+H];return Z}function T(X,F){if(!X||X.type!=="int")throw new D("pdf/xrefstm/missing-int",`XRef stream dict missing required /${F}`,{context:{label:F}});return X.value}function I(X,F){if(!(X instanceof Uint8Array))throw new D("pdf/xrefstm/bad-input","parseCrossRefStream expects Uint8Array");if(!A(F,"dict"))throw new D("pdf/xrefstm/bad-dict","XRef stream dict must be a typed dict");let z=F.entries;if(!z.Type||z.Type.type!=="name"||z.Type.value!=="XRef")throw new D("pdf/xrefstm/wrong-type","/Type must be /XRef",{context:{actual:z.Type&&z.Type.value}});let Z=z.W;if(!Z||Z.type!=="array"||Z.items.length!==3)throw new D("pdf/xrefstm/bad-W","/W must be a 3-element array",{context:{items:Z&&Z.items&&Z.items.length}});let H=Z.items.map((V)=>{if(V.type!=="int"||V.value<0)throw new D("pdf/xrefstm/bad-W-entry","/W entries must be non-negative ints");return V.value}),R=H[0]+H[1]+H[2];if(R<=0)throw new D("pdf/xrefstm/bad-W-zero","/W must yield at least one non-zero field");let B;if(z.Index){if(z.Index.type!=="array"||(z.Index.items.length&1)!==0)throw new D("pdf/xrefstm/bad-Index","/Index must be an array of (first, count) pairs");B=[];for(let V=0;V<z.Index.items.length;V+=2){let G=z.Index.items[V],J=z.Index.items[V+1];if(G.type!=="int"||J.type!=="int")throw new D("pdf/xrefstm/bad-Index-entry","/Index entries must be ints");B.push([G.value,J.value])}}else B=[[0,T(z.Size,"Size")]];let O={},N=0;for(let[V,G]of B)for(let J=0;J<G;J++){if(N+R>X.length)throw new D("pdf/xrefstm/truncated","truncated xref stream payload",{context:{pos:N,recordSize:R,length:X.length}});let q=H[0]>0?j(X,N,H[0]):1,U=H[1]>0?j(X,N+H[0],H[1]):0,Q=H[2]>0?j(X,N+H[0]+H[1],H[2]):0;N+=R;let Y=V+J;if(q===0)O[Y]={type:0,offset:U,gen:Q,free:!0};else if(q===1)O[Y]={type:1,offset:U,gen:Q,free:!1};else if(q===2)O[Y]={type:2,objStm:U,index:Q,free:!1,offset:0,gen:0};else O[Y]={type:q,offset:0,gen:0,free:!0}}return{entries:O,size:z.Size&&z.Size.type==="int"?z.Size.value:Object.keys(O).length,trailer:F}}return{parseCrossRefStream:I}}}),a({name:"pdfObjStream",dependencies:["pdfErrors","pdfParserObj","pdfTokenizer","pdfParser"],factory:function(_,L,D,A){let{ParseError:j}=_,{isType:T}=L,I=D.tokenize,X=A.parseObject;function F(Z,H){if(!Z||Z.type!=="int")throw new j("pdf/objstm/missing-int",`ObjStm dict missing required /${H}`,{context:{label:H,hasEntry:!!Z,type:Z&&Z.type}});return Z.value}function z(Z,H){if(!(Z instanceof Uint8Array))throw new j("pdf/objstm/bad-input","parseObjectStream expects Uint8Array",{context:{typeof:typeof Z}});if(!T(H,"dict"))throw new j("pdf/objstm/bad-dict","ObjStm dict must be a typed dict");let R=H.entries;if(R.Type&&(R.Type.type!=="name"||R.Type.value!=="ObjStm"))throw new j("pdf/objstm/wrong-type","/Type must be /ObjStm",{context:{actual:R.Type.value}});let B=F(R.N,"N"),O=F(R.First,"First");if(B<0)throw new j("pdf/objstm/bad-N","/N must be non-negative",{context:{N:B}});if(O<0||O>Z.length)throw new j("pdf/objstm/bad-First","/First out of payload range",{context:{First:O,length:Z.length}});let N=I(Z,{start:0,end:O}),V=Array(B),G=Array(B);for(let q=0;q<B;q++){let U=N.next(),Q=N.next();if(!U||U.kind!=="int"||!Q||Q.kind!=="int")throw new j("pdf/objstm/bad-pair","ObjStm header expects N pairs of integers",{context:{index:q}});V[q]=U.value,G[q]=Q.value}let J=Array(B);for(let q=0;q<B;q++){let U=O+G[q],Q=q+1<B?O+G[q+1]:Z.length;if(U<O||Q>Z.length||U>Q)throw new j("pdf/objstm/bad-offset","ObjStm member offset out of range",{context:{index:q,start:U,end:Q,length:Z.length}});let Y=I(Z,{start:U,end:Q}),K=X(Y);J[q]={num:V[q],gen:0,value:K}}return J}return{parseObjectStream:z}}}),a({name:"pdfFlate",dependencies:["pdfErrors","zlib"],factory:function(_,L){let{ParseError:D}=_;if(!L||typeof L.unzlibSync!=="function"||typeof L.zlibSync!=="function")throw new D("pdf/flate/missing-fw","pdfFlate requires the @awacloud/fw zlib module",{context:{keys:L&&Object.keys(L)}});function A(V,G,J){let q=V+G-J,U=Math.abs(q-V),Q=Math.abs(q-G),Y=Math.abs(q-J);if(U<=Q&&U<=Y)return V;if(Q<=Y)return G;return J}function j(V){let G=V&&V.predictor!=null?V.predictor|0:V&&V.Predictor!=null?V.Predictor|0:1,J=V&&V.columns!=null?V.columns|0:V&&V.Columns!=null?V.Columns|0:1,q=V&&V.colors!=null?V.colors|0:V&&V.Colors!=null?V.Colors|0:1,U=V&&V.bitsPerComponent!=null?V.bitsPerComponent|0:V&&V.BitsPerComponent!=null?V.BitsPerComponent|0:8;if(G!==1&&G!==2&&(G<10||G>15))throw new D("pdf/flate/bad-predictor","unsupported Predictor value",{context:{predictor:G}});if(J<=0||q<=0||U<=0)throw new D("pdf/flate/bad-predictor-params","Columns, Colors and BitsPerComponent must be > 0",{context:{columns:J,colors:q,bpc:U}});let Q=q*U,Y=Math.max(1,Q+7>>3),K=J*Q+7>>3;return{predictor:G,columns:J,colors:q,bpc:U,bytesPerPixel:Y,rowBytes:K}}function T(V,G,J,q){let U=new Uint8Array(G.length);for(let Q=0;Q<G.length;Q++){let Y=Q>=q?U[Q-q]:0,K=J?J[Q]:0,$=J&&Q>=q?J[Q-q]:0,C=G[Q];switch(V){case 0:break;case 1:C=C+Y&255;break;case 2:C=C+K&255;break;case 3:C=C+(Y+K>>1)&255;break;case 4:C=C+A(Y,K,$)&255;break;default:throw new D("pdf/flate/bad-png-filter","unknown PNG filter tag",{context:{tag:V}})}U[Q]=C}return U}function I(V,G,J,q){let U=new Uint8Array(G.length);for(let Q=0;Q<G.length;Q++){let Y=Q>=q?G[Q-q]:0,K=J?J[Q]:0,$=J&&Q>=q?J[Q-q]:0,C=G[Q];switch(V){case 0:U[Q]=C;break;case 1:U[Q]=C-Y&255;break;case 2:U[Q]=C-K&255;break;case 3:U[Q]=C-(Y+K>>1)&255;break;case 4:U[Q]=C-A(Y,K,$)&255;break;default:throw new D("pdf/flate/bad-png-filter","unknown PNG filter tag",{context:{tag:V}})}}return U}function X(V,G){if(G.bpc!==8)throw new D("pdf/flate/tiff-bpc-unsupported","TIFF Predictor 2 requires BitsPerComponent=8",{context:{bpc:G.bpc}});let J=new Uint8Array(V.length),q=G.colors,U=G.rowBytes,Q=V.length/U|0;for(let Y=0;Y<Q;Y++){let K=Y*U;for(let $=0;$<U;$++){let C=$>=q?J[K+$-q]:0;J[K+$]=V[K+$]+C&255}}return J}function F(V,G){if(G.bpc!==8)throw new D("pdf/flate/tiff-bpc-unsupported","TIFF Predictor 2 requires BitsPerComponent=8",{context:{bpc:G.bpc}});let J=new Uint8Array(V.length),q=G.colors,U=G.rowBytes,Q=V.length/U|0;for(let Y=0;Y<Q;Y++){let K=Y*U;for(let $=0;$<U;$++){let C=$>=q?V[K+$-q]:0;J[K+$]=V[K+$]-C&255}}return J}function z(V,G){let J=G.rowBytes,q=J+1;if(V.length%q!==0)throw new D("pdf/flate/png-row-mismatch","predicted stream length is not a multiple of (rowBytes+1)",{context:{length:V.length,stride:q}});let U=V.length/q,Q=new Uint8Array(U*J),Y=null;for(let K=0;K<U;K++){let $=V[K*q],C=V.subarray(K*q+1,K*q+q),S=T($,C,Y,G.bytesPerPixel);Q.set(S,K*J),Y=S}return Q}function Z(V,G){let J=G.rowBytes;if(V.length%J!==0)throw new D("pdf/flate/png-row-mismatch","input length is not a multiple of rowBytes",{context:{length:V.length,rowBytes:J}});let q=V.length/J,U=J+1,Q=new Uint8Array(q*U),Y=G.predictor===15?-1:G.predictor-10,K=null;for(let $=0;$<q;$++){let C=V.subarray($*J,($+1)*J),S=Y;if(S<0)S=$===0?0:2;let h=I(S,C,K,G.bytesPerPixel);Q[$*U]=S,Q.set(h,$*U+1),K=C}return Q}function H(V){return!!V&&V.code===0}function R(V){let G=[],J=0;new L.UnzlibStream((Q)=>{G.push(Q),J+=Q.length}).push(V,!1);let q=new Uint8Array(J),U=0;for(let Q of G)q.set(Q,U),U+=Q.length;return q}function B(V){return Object.defineProperty(V,"truncated",{value:!0,enumerable:!1}),V}function O(V,G){if(!(V instanceof Uint8Array))throw new D("pdf/flate/bad-input","FlateDecode expects Uint8Array");let J,q=!1;try{J=L.unzlibSync(V)}catch(K){let $=()=>new D("pdf/flate/inflate-failed","inflate failed: "+(K&&K.message),{context:{length:V.length},cause:K});if(!H(K)||typeof L.UnzlibStream!=="function")throw $();let C;try{C=R(V)}catch{throw $()}if(C.length===0)throw $();J=C,q=!0}let U=(K)=>q?B(K):K;if(!G)return U(J);if(!(G.predictor!=null&&G.predictor!==1||G.Predictor!=null&&G.Predictor!==1))return U(J);let Q=j(G);if(Q.predictor===1)return U(J);let Y=Q.predictor===2?Q.rowBytes:Q.rowBytes+1;if(q)J=J.subarray(0,J.length-J.length%Y);if(Q.predictor===2)return U(X(J,Q));return U(z(J,Q))}function N(V,G){if(!(V instanceof Uint8Array))throw new D("pdf/flate/bad-input","FlateEncode expects Uint8Array");let J=V;if(G){if(G.predictor!=null&&G.predictor!==1||G.Predictor!=null&&G.Predictor!==1){let q=j(G);if(q.predictor===2)J=F(V,q);else if(q.predictor>=10)J=Z(V,q)}}try{return L.zlibSync(J)}catch(q){throw new D("pdf/flate/deflate-failed","deflate failed: "+(q&&q.message),{context:{length:J.length},cause:q})}}return{decode:O,encode:N}}}),a({name:"pdfAsciiHex",dependencies:["pdfErrors"],factory:function(_){let{ParseError:L}=_,D=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1];function A(I){return I===32||I===9||I===10||I===13||I===12||I===0}function j(I){if(!(I instanceof Uint8Array))throw new L("pdf/asciiHex/bad-input","ASCIIHexDecode expects Uint8Array");let X=[],F=-1;for(let z=0;z<I.length;z++){let Z=I[z];if(Z===62)break;if(A(Z))continue;let H=Z<D.length?D[Z]:-1;if(H<0)throw new L("pdf/asciiHex/bad-digit","invalid hex digit",{context:{offset:z,byte:Z}});if(F<0)F=H;else X.push(F<<4|H),F=-1}if(F>=0)X.push(F<<4);return Uint8Array.from(X)}function T(I){if(!(I instanceof Uint8Array))throw new L("pdf/asciiHex/bad-input","ASCIIHexEncode expects Uint8Array");let X="0123456789ABCDEF",F="";for(let z=0;z<I.length;z++){if(z>0&&(z&31)===0)F+=`
21
+ `;let Z=I[z];F+=X[Z>>4]+X[Z&15]}return F+=">",new TextEncoder().encode(F)}return{decode:j,encode:T}}}),a({name:"pdfAscii85",dependencies:["pdfErrors"],factory:function(_){let{ParseError:L}=_;function D(T){return T===32||T===9||T===10||T===13||T===12||T===0}function A(T){if(!(T instanceof Uint8Array))throw new L("pdf/ascii85/bad-input","ASCII85Decode expects Uint8Array");let I=[],X=0,F=0;for(let z=0;z<T.length;z++){let Z=T[z];if(D(Z))continue;if(Z===126){if(z+1<T.length&&T[z+1]===62)break;throw new L("pdf/ascii85/bad-eod","~ not followed by >",{context:{offset:z}})}if(Z===122){if(F!==0)throw new L("pdf/ascii85/bad-z","z must appear at group boundary",{context:{offset:z}});I.push(0,0,0,0);continue}if(Z<33||Z>117)throw new L("pdf/ascii85/bad-digit","character outside ! .. u",{context:{offset:z,byte:Z}});if(X=X*85+(Z-33),F++,F===5)I.push(X>>>24&255,X>>>16&255,X>>>8&255,X&255),X=0,F=0}if(F>0){for(let Z=F;Z<5;Z++)X=X*85+84;let z=[X>>>24&255,X>>>16&255,X>>>8&255,X&255];for(let Z=0;Z<F-1;Z++)I.push(z[Z])}return Uint8Array.from(I)}function j(T){if(!(T instanceof Uint8Array))throw new L("pdf/ascii85/bad-input","ASCII85Encode expects Uint8Array");let I=[],X=0;while(X+4<=T.length){let z=T[X]*16777216+(T[X+1]<<16)+(T[X+2]<<8)+T[X+3];if(z===0)I.push(122);else{let Z=[0,0,0,0,0],H=z;for(let R=4;R>=0;R--)Z[R]=H%85+33,H=Math.floor(H/85);I.push(Z[0],Z[1],Z[2],Z[3],Z[4])}X+=4}let F=T.length-X;if(F>0){let z=new Uint8Array(4);z.set(T.subarray(X));let Z=z[0]*16777216+(z[1]<<16)+(z[2]<<8)+z[3],H=[0,0,0,0,0],R=Z;for(let B=4;B>=0;B--)H[B]=R%85+33,R=Math.floor(R/85);for(let B=0;B<F+1;B++)I.push(H[B])}return I.push(126,62),Uint8Array.from(I)}return{decode:A,encode:j}}}),a({name:"pdfRunLength",dependencies:["pdfErrors"],factory:function(_){let{ParseError:L}=_;function D(j){if(!(j instanceof Uint8Array))throw new L("pdf/runLength/bad-input","RunLengthDecode expects Uint8Array");let T=[],I=0;while(I<j.length){let X=j[I++];if(X===128)break;if(X<128){let F=X+1;if(I+F>j.length)throw new L("pdf/runLength/truncated-literal","truncated literal run",{context:{offset:I-1,want:F,have:j.length-I}});for(let z=0;z<F;z++)T.push(j[I+z]);I+=F}else{if(I>=j.length)throw new L("pdf/runLength/truncated-repeat","truncated repeat run",{context:{offset:I-1}});let F=j[I++],z=257-X;for(let Z=0;Z<z;Z++)T.push(F)}}return Uint8Array.from(T)}function A(j){if(!(j instanceof Uint8Array))throw new L("pdf/runLength/bad-input","RunLengthEncode expects Uint8Array");let T=[],I=0;while(I<j.length){let X=j[I],F=1;while(F<128&&I+F<j.length&&j[I+F]===X)F++;if(F>=3){T.push(257-F,X),I+=F;continue}let z=I,Z=0;while(Z<128&&I<j.length){let H=1;while(H<3&&I+H<j.length&&j[I+H]===j[I])H++;if(H>=3&&Z>0)break;I++,Z++}T.push(Z-1);for(let H=0;H<Z;H++)T.push(j[z+H])}return T.push(128),Uint8Array.from(T)}return{decode:D,encode:A}}}),a({name:"pdfFilterDispatch",dependencies:["pdfErrors","pdfFlate","pdfAsciiHex","pdfAscii85","pdfRunLength"],factory:function(_,L,D,A,j){let{ParseError:T}=_;function I(Y,K){return!!(Y&&Y.type===K)}let X={Fl:"FlateDecode",AHx:"ASCIIHexDecode",A85:"ASCII85Decode",RL:"RunLengthDecode",LZW:"LZWDecode",DCT:"DCTDecode",JPX:"JPXDecode",CCF:"CCITTFaxDecode"};function F(Y){return X[Y]||Y}function z(){return{decode(Y){return Y},encode(Y){return Y}}}function Z(Y){if(!Y)return[];if(Y.type==="name")return[F(Y.value)];if(Y.type==="array"){let K=[];for(let $ of Y.items){if($.type!=="name")throw new T("pdf/filter/non-name","/Filter array entries must be names",{context:{kind:$.type}});K.push(F($.value))}return K}throw new T("pdf/filter/bad-type","/Filter must be a name or array of names",{context:{type:Y.type}})}function H(Y,K,$,C){let S=Y;for(let h=0;h<K.length;h++){let l=K[h],x=$?$[h]||null:null,y=C[l];if(!y)throw new T("pdf/filter/unsupported",`filter "${l}" not registered`,{context:{name:l,available:Object.keys(C)}});S=y.decode(S,x)}return S}function R(Y,K,$,C){let S=Y;for(let h=0;h<K.length;h++){let l=K[h],x=$?$[h]||null:null,y=C[l];if(!y||typeof y.encode!=="function")throw new T("pdf/filter/no-encoder",`filter "${l}" has no encoder`,{context:{name:l}});S=y.encode(S,x)}return S}function B(Y){let K=Y.entries||{},$={};for(let C of Object.keys(K)){let S=K[C];$[C]=S?S.value:void 0}return $}function O(Y,K){if(!Y)return null;if(Y.type==="null")return null;if(Y.type==="dict"){let $=Array(K).fill(null);if(K>0)$[0]=B(Y);return $}if(Y.type==="array")return Y.items.map(($)=>$.type==="dict"?B($):null);throw new T("pdf/filter/bad-decodeparms","/DecodeParms must be a dict, array, or null",{context:{type:Y.type}})}function N(Y,K){if(!I(Y,"stream"))throw new T("pdf/filter/not-stream","decodeStream expects a stream object");let $=Y.dict,C=Z($.entries.Filter),S=O($.entries.DecodeParms,C.length);return H(Y.raw,C,S,K)}let V={FlateDecode:L,ASCIIHexDecode:D,ASCII85Decode:A,RunLengthDecode:j,DCTDecode:z(),JPXDecode:z(),Crypt:z()};function G(Y){return N(Y,V)}function J(Y,K,$){return H(Y,K,$,V)}function q(Y,K,$){return R(Y,K,$,V)}function U(Y,K){V[Y]=K}function Q(){return Object.keys(V)}return{decode:G,decodeChain:J,encodeChain:q,register:U,names:Q,decoders:V,normalizeFilterList:Z,applyDecodeChain:H,applyEncodeChain:R,decodeStream:N}}}),a({name:"pdfDocument",dependencies:["pdfErrors","pdfTokenizer","pdfParser","pdfXref","pdfTrailer","pdfCatalog","pdfPage","pdfPages","pdfCrossRefStream","pdfObjStream","pdfFilterDispatch"],factory:function(_,L,D,A,j,T,I,X,F,z,Z){let{ParseError:H}=_,R=L&&L.tokenize,B=D&&D.parseIndirect,O=A&&A.locateStartXref,N=A&&A.readStartXref,V=A&&A.parseXrefTable,G=A&&A.parseTrailerDict,J=j&&j.typeTrailer,q=T&&T.typeCatalog,U=I&&I.typePage,Q=X&&X.walkPageTree,Y=new Uint8Array([37,80,68,70,45]),K=new Uint8Array([120,114,101,102]),$=Object.freeze({type:"null"}),C=new Set(["Prev","XRefStm","Type","W","Index","Length","Filter","DecodeParms","F","FFilter","FDecodeParms","DL"]),S=Object.freeze({type:"dict",entries:Object.freeze({Type:Object.freeze({type:"name",value:"Pages"}),Kids:Object.freeze({type:"array",items:Object.freeze([])})})});function h(M,f){let u=f<0?0:f;while(u<M.length){let E=M[u];if(E===0||E===9||E===10||E===12||E===13||E===32){u++;continue}break}return u}function l(M,f){for(let u=0;u<K.length;u++)if(M[f+u]!==K[u])return!1;return!0}function x(M){throw new H("pdf/document/xrefstm-indirect-length","a cross-reference stream may not use an indirect /Length",{context:{num:M&&M.num,gen:M&&M.gen}})}function y(M){if(!F||!z||!Z)throw new H("pdf/document/xref-stream-unwired","this pdfDocument was built without pdfCrossRefStream, "+"pdfObjStream and pdfFilterDispatch — cross-reference "+"streams and object streams cannot be read",{context:{offset:M}})}function s(M,f){y(f);let u=R(M,{start:f}),E=B(u,x).value,t=E&&E.dict&&E.dict.entries&&E.dict.entries.Type;if(!E||E.type!=="stream"||!t||t.type!=="name"||t.value!=="XRef")throw new H("pdf/document/bad-xref-section","neither an xref table nor a cross-reference stream at startxref",{context:{offset:f}});let VJ=Z.decode(E);return{entries:F.parseCrossRefStream(VJ,E.dict).entries,dict:E.dict}}function W(M){if(M.length===1)return M[0];for(let u of M)if(!u||u.type!=="dict")return u;let f={...M[0].entries};for(let u=1;u<M.length;u++)for(let E of Object.keys(M[u].entries)){if(C.has(E))continue;if(!(E in f))f[E]=M[u].entries[E]}return{...M[0],entries:f}}function k(M){if(M.length<8)throw new H("pdf/document/short","input too short to contain a PDF header",{context:{length:M.length}});let f=-1,u=Math.min(M.length-5,1024);J:for(let r=0;r<=u;r++){for(let e=0;e<5;e++)if(M[r+e]!==Y[e])continue J;f=r;break}if(f<0)throw new H("pdf/document/bad-header","no %PDF- header found in first 1024 bytes");let E=f+5,t=[];while(E<M.length){let r=M[E];if(r===10||r===13)break;t.push(r),E++}let VJ=new TextDecoder("latin1").decode(Uint8Array.from(t));if(E<M.length&&M[E]===13)E++;if(E<M.length&&M[E]===10)E++;return{version:VJ,end:E}}function g(M,f={}){if(!(M instanceof Uint8Array))throw new H("pdf/document/bad-input","readDocument expects a Uint8Array",{context:{typeof:typeof M}});let{version:u,end:E}=k(M),t=O(M);if(t<0)throw new H("pdf/document/no-startxref","startxref keyword not found near EOF");let VJ=N(M,t),r={entries:{},sections:[]},e=[],UJ=[],v=VJ,P=new Set;function d(w,m,i){r.sections.push({at:w,kind:m,entries:i});for(let c of Object.keys(i))if(!(c in r.entries))r.entries[c]=i[c]}for(let w=0;w<32&&v>=0;w++){if(P.has(v))break;P.add(v);let m;if(l(M,h(M,v))){let c=V(M,v);d(v,"table",c.entries),m=G(M,c.end).dict;let o=m&&m.entries&&m.entries.XRefStm;if(o&&o.type==="int"&&o.value>=0&&o.value<M.length){let JJ=s(M,o.value);d(o.value,"stream",JJ.entries)}}else{let c=s(M,v);d(v,"stream",c.entries),m=c.dict}UJ.push(m);let i=m&&m.type==="dict"&&m.entries&&m.entries.Prev;if(i&&i.type==="int"&&i.value>=0&&i.value!==v)v=i.value;else break}if(UJ.length===0)throw new H("pdf/document/no-trailer","no usable trailer dictionary found");let n=J(W(UJ));if(n.encrypt&&f.allowEncrypted!==!0)throw new H("pdf/document/encrypted","document is encrypted (trailer /Encrypt present) — "+"no decrypt path is composed for readDocument; pass { allowEncrypted: true } to read the raw ciphertext container",{context:{encrypt:n.encrypt}});let b=new Map,YJ=new Set,GJ=new Set,ZJ=new Map;function XJ(w){if(!w||w.type!=="ref")return w;return WJ(w.num,w.gen)}function WJ(w,m){let i=w+":"+m;if(b.has(i))return b.get(i).value;let c=r.entries[w];if(!c)throw new H("pdf/document/missing-xref",`object ${w} ${m} not in xref`,{context:{num:w,gen:m}});if(c.free){if(c=cJ(w,m),!c)return $}if(c.type===2){let $J=yJ(w,m,c);return b.set(i,{value:$J,offset:0,objStm:c.objStm}),$J}let o=c.offset;if(o<=0||o>=M.length)throw new H("pdf/document/bad-offset",`object ${w} ${m} xref offset out of range`,{context:{num:w,gen:m,offset:o,total:M.length}});let JJ=R(M,{start:o}),QJ=B(JJ,XJ);if(QJ.num!==w||QJ.gen!==m)throw new H("pdf/document/xref-mismatch","xref points to a different object",{context:{expected:{num:w,gen:m},found:{num:QJ.num,gen:QJ.gen}}});return b.set(i,{value:QJ.value,offset:o}),QJ.value}function cJ(w,m){let i=w+":"+m;for(let c of r.sections){let o=c.entries[w];if(o&&!o.free)return IJ("fallback:"+i,{code:"pdf/document/free-entry-fallback",message:`object ${w} is free in the newest xref section; resolved through an older section that defines it`,context:{num:w,gen:m,section:{at:c.at,kind:c.kind}}}),o}return GJ.add(i),IJ("free:"+i,{code:"pdf/document/free-object",message:`object ${w} is free in every xref section; read as null`,context:{num:w,gen:m}}),null}function IJ(w,m){if(YJ.has(w))return;YJ.add(w),e.push(m)}function yJ(w,m,i){if(n&&n.encrypt)throw new H("pdf/document/objstm-encrypted","object streams of an encrypted document cannot be "+"read — no decrypt path is composed for readDocument",{context:{num:w,gen:m,objStm:i.objStm}});let c=i.objStm,o=ZJ.get(c);if(!o){y(0);let QJ=r.entries[c];if(QJ&&QJ.type===2)throw new H("pdf/document/objstm-nested",`object stream ${c} is itself stored in an object stream`,{context:{num:w,objStm:c}});let $J=WJ(c,0);if(!$J||$J.type!=="stream")throw new H("pdf/document/objstm-not-stream",`object ${c} is not a stream and cannot hold compressed objects`,{context:{num:w,objStm:c,type:$J&&$J.type}});o=z.parseObjectStream(Z.decode($J),$J.dict),ZJ.set(c,o)}let JJ=o[i.index];if(!JJ||JJ.num!==w)throw new H("pdf/document/objstm-mismatch","object stream member does not carry the expected object number",{context:{num:w,objStm:c,index:i.index,found:JJ?JJ.num:null}});return JJ.value}let qJ=n.root,nJ=XJ({type:"ref",num:qJ.num,gen:qJ.gen});if(GJ.has(qJ.num+":"+qJ.gen))throw new H("pdf/document/free-object",`object ${qJ.num} is free`,{context:{num:qJ.num,gen:qJ.gen,role:"catalog"}});let CJ=q(nJ);function pJ(w){let m=XJ(w);if(w&&w.type==="ref"&&GJ.has(w.num+":"+w.gen))return S;return m}let dJ=Q(CJ.pages,pJ).map((w)=>U(XJ({type:"ref",num:w.num,gen:w.gen})));return{version:u,catalog:CJ,pages:dJ,trailer:n,xref:r,losses:e,_raw:{resolve:XJ,bytes:M,headerEnd:E,indirects:b}}}return{readDocument:g,readHeader:k}}}),a({name:"pdfWriter",dependencies:["pdfErrors","pdfSerializer"],factory:function(_,L){let{RenderError:D}=_,A=L.serializeIndirect,j=new TextEncoder;function T(B){return String(B).padStart(10,"0")}function I(B){let O="<";for(let N=0;N<B.length;N++)O+="0123456789ABCDEF"[B[N]>>4]+"0123456789ABCDEF"[B[N]&15];return O+">"}function X(B){let O=0;for(let G of B)O+=G.length;let N=new Uint8Array(O),V=0;for(let G of B)N.set(G,V),V+=G.length;return N}function F(B){let O=-1;for(let N of B){if(!N||!Number.isFinite(N.num)||N.num<1)throw new D("pdf/writer/bad-indirect","each indirect requires num >= 1",{context:{item:N}});if(N.num===O)throw new D("pdf/writer/duplicate-num","duplicate object number",{context:{num:N.num}});O=N.num}}function z(B,O){let N=`xref
22
+ 0 ${B+1}
23
+ `;N+=`0000000000 65535 f
24
+ `;for(let V=1;V<=B;V++)if(O.has(V))N+=T(O.get(V))+` 00000 n
25
+ `;else N+=`0000000000 00000 f
26
+ `;return j.encode(N)}function Z(B){let O=[`trailer
27
+ << /Size ${B.size}`];if(O.push(` /Root ${B.root.num} ${B.root.gen|0} R`),B.info)O.push(` /Info ${B.info.num} ${B.info.gen|0} R`);if(B.id)O.push(" /ID ["),O.push(I(B.id[0])),O.push(I(B.id[1])),O.push("]");return O.push(` >>
28
+ `),O.push(`startxref
29
+ ${B.xrefOffset}
30
+ %%EOF
31
+ `),j.encode(O.join(""))}function H(B){if(!B||!Array.isArray(B.indirects))throw new D("pdf/writer/bad-input","writeDocument expects { indirects: [...] }");if(!B.root||!Number.isFinite(B.root.num))throw new D("pdf/writer/no-root","writeDocument requires opts.root");let O=B.version||"2.0";if(!/^\d\.\d$/.test(O))throw new D("pdf/writer/bad-version",'version must look like "x.y"',{context:{version:O}});let N=B.indirects.slice().sort((K,$)=>K.num-$.num);F(N);let V=[],G=0,J=new Map;function q(K){V.push(K),G+=K.length}q(j.encode(`%PDF-${O}
32
+ `)),q(new Uint8Array([37,226,227,207,211,10]));let U=N.length>0?N[N.length-1].num:0;for(let{num:K,gen:$,value:C}of N)J.set(K,G),q(A(K,$,C));let Q=G;q(z(U,J));let Y=U+1;return q(Z({size:Y,root:B.root,info:B.info,id:B.id,xrefOffset:Q})),X(V)}function R(B,O){if(!B||!B._raw||typeof B._raw.resolve!=="function")throw new D("pdf/writer/bad-model","assembleIndirects requires a model produced by pdf.read()");let N=[];for(let G of Object.keys(B.xref.entries)){let J=B.xref.entries[G];if(J.free)continue;try{B._raw.resolve({type:"ref",num:Number(G),gen:J.gen})}catch(q){N.push({num:Number(G),gen:J.gen,code:_.isPdfError(q)?q.code:"unknown"})}}if(N.length>0&&O&&O.strict===!0)throw new D("pdf/writer/unresolvable-objects",`${N.length} object${N.length===1?"":"s"} could not be resolved and would be dropped`,{context:{objects:N}});let V=[];for(let[G,J]of B._raw.indirects.entries()){let[q,U]=G.split(":").map(Number);V.push({num:q,gen:U,value:J.value})}return V.sort((G,J)=>G.num-J.num),Object.defineProperty(V,"skippedObjects",{value:N,enumerable:!1,writable:!0,configurable:!0}),V}return{writeDocument:H,assembleIndirects:R}}}),a({name:"pdf",dependencies:["pdfErrors","pdfShared","pdfTokenizer","pdfParserObj","pdfParser","pdfXref","pdfTrailer","pdfSerializer","pdfCatalog","pdfPages","pdfPage","pdfDocument","pdfWriter"],factory:function(_,L,D,A,j,T,I,X,F,z,Z,H,R){let{ContractError:B}=_,O=H.readDocument,N=H.readHeader,V=R.writeDocument,G=R.assembleIndirects,J=new Set,q={read(U,Q){return O(U,Q)},header(U){return N(U)},write(U,Q){let Y=Q&&typeof Q==="object"?Q:{},K=[],$;if(U&&U._raw&&typeof U._raw.resolve==="function"){let C=G(U,Y.strict===!0?{strict:!0}:void 0);K=C.skippedObjects||[],$=V({indirects:C,root:U.catalog.pages?{num:U.trailer.root.num,gen:U.trailer.root.gen}:U.trailer.root,info:U.trailer.info,id:U.trailer.id,version:"2.0"})}else $=V(U);if(K.length>0&&typeof Y.onSkipped==="function")Y.onSkipped(K.slice());return Object.defineProperty($,"skippedObjects",{value:K,enumerable:!1,writable:!0,configurable:!0}),$},use(U){if(!U||typeof U.name!=="string"||typeof U.register!=="function")throw new B("pdf/use/bad-extension",".use() requires { name: string, register: function }",{context:{keys:U&&Object.keys(U)}});if(J.has(U.name))return q;J.add(U.name);let Q=U.register(q,{usedExtensions:J});if(Q&&typeof Q==="object"){for(let Y of Object.keys(Q))if(Y!=="use")q[Y]=Q[Y]}return q},usedExtension(U){return J.has(U)}};return q}}),KJ("pdf")}};export{iJ as pdfPackage};