@hexpro/qr-code-studio 0.0.0-stage → 0.1.1

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 (1341) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/LICENSE +21 -0
  3. package/README.md +62 -2
  4. package/dist/app/bulk.d.ts +21 -0
  5. package/dist/app/bulk.d.ts.map +1 -0
  6. package/dist/app/bulk.js +564 -0
  7. package/dist/app/bulk.js.map +1 -0
  8. package/dist/app/check.d.ts +23 -0
  9. package/dist/app/check.d.ts.map +1 -0
  10. package/dist/app/check.js +306 -0
  11. package/dist/app/check.js.map +1 -0
  12. package/dist/app/content.d.ts +19 -0
  13. package/dist/app/content.d.ts.map +1 -0
  14. package/dist/app/content.js +634 -0
  15. package/dist/app/content.js.map +1 -0
  16. package/dist/app/context.d.ts +25 -0
  17. package/dist/app/context.d.ts.map +1 -0
  18. package/dist/app/context.js +11 -0
  19. package/dist/app/context.js.map +1 -0
  20. package/dist/app/controls.d.ts +95 -0
  21. package/dist/app/controls.d.ts.map +1 -0
  22. package/dist/app/controls.js +278 -0
  23. package/dist/app/controls.js.map +1 -0
  24. package/dist/app/design-panels.d.ts +27 -0
  25. package/dist/app/design-panels.d.ts.map +1 -0
  26. package/dist/app/design-panels.js +1196 -0
  27. package/dist/app/design-panels.js.map +1 -0
  28. package/dist/app/dom.d.ts +74 -0
  29. package/dist/app/dom.d.ts.map +1 -0
  30. package/dist/app/dom.js +129 -0
  31. package/dist/app/dom.js.map +1 -0
  32. package/dist/app/images.d.ts +22 -0
  33. package/dist/app/images.d.ts.map +1 -0
  34. package/dist/app/images.js +50 -0
  35. package/dist/app/images.js.map +1 -0
  36. package/dist/app/library-view.d.ts +24 -0
  37. package/dist/app/library-view.d.ts.map +1 -0
  38. package/dist/app/library-view.js +260 -0
  39. package/dist/app/library-view.js.map +1 -0
  40. package/dist/app/main.d.ts +17 -0
  41. package/dist/app/main.d.ts.map +1 -0
  42. package/dist/app/main.js +518 -0
  43. package/dist/app/main.js.map +1 -0
  44. package/dist/app/measure.d.ts +26 -0
  45. package/dist/app/measure.d.ts.map +1 -0
  46. package/dist/app/measure.js +53 -0
  47. package/dist/app/measure.js.map +1 -0
  48. package/dist/app/proof.d.ts +30 -0
  49. package/dist/app/proof.d.ts.map +1 -0
  50. package/dist/app/proof.js +378 -0
  51. package/dist/app/proof.js.map +1 -0
  52. package/dist/app/save.d.ts +27 -0
  53. package/dist/app/save.d.ts.map +1 -0
  54. package/dist/app/save.js +331 -0
  55. package/dist/app/save.js.map +1 -0
  56. package/dist/app/scan.d.ts +25 -0
  57. package/dist/app/scan.d.ts.map +1 -0
  58. package/dist/app/scan.js +421 -0
  59. package/dist/app/scan.js.map +1 -0
  60. package/dist/app/shortcuts.d.ts +12 -0
  61. package/dist/app/shortcuts.d.ts.map +1 -0
  62. package/dist/app/shortcuts.js +17 -0
  63. package/dist/app/shortcuts.js.map +1 -0
  64. package/dist/app/text.d.ts +22 -0
  65. package/dist/app/text.d.ts.map +1 -0
  66. package/dist/app/text.js +50 -0
  67. package/dist/app/text.js.map +1 -0
  68. package/dist/batch/csv.d.ts +56 -0
  69. package/dist/batch/csv.d.ts.map +1 -0
  70. package/dist/batch/csv.js +327 -0
  71. package/dist/batch/csv.js.map +1 -0
  72. package/dist/batch/errors.d.ts +60 -0
  73. package/dist/batch/errors.d.ts.map +1 -0
  74. package/dist/batch/errors.js +60 -0
  75. package/dist/batch/errors.js.map +1 -0
  76. package/dist/batch/filename.d.ts +65 -0
  77. package/dist/batch/filename.d.ts.map +1 -0
  78. package/dist/batch/filename.js +205 -0
  79. package/dist/batch/filename.js.map +1 -0
  80. package/dist/batch/index.d.ts +17 -0
  81. package/dist/batch/index.d.ts.map +1 -0
  82. package/dist/batch/index.js +11 -0
  83. package/dist/batch/index.js.map +1 -0
  84. package/dist/batch/issues.d.ts +45 -0
  85. package/dist/batch/issues.d.ts.map +1 -0
  86. package/dist/batch/issues.js +47 -0
  87. package/dist/batch/issues.js.map +1 -0
  88. package/dist/batch/manifest.d.ts +43 -0
  89. package/dist/batch/manifest.d.ts.map +1 -0
  90. package/dist/batch/manifest.js +82 -0
  91. package/dist/batch/manifest.js.map +1 -0
  92. package/dist/batch/plan.d.ts +33 -0
  93. package/dist/batch/plan.d.ts.map +1 -0
  94. package/dist/batch/plan.js +254 -0
  95. package/dist/batch/plan.js.map +1 -0
  96. package/dist/batch/run.d.ts +68 -0
  97. package/dist/batch/run.d.ts.map +1 -0
  98. package/dist/batch/run.js +548 -0
  99. package/dist/batch/run.js.map +1 -0
  100. package/dist/batch/template.d.ts +54 -0
  101. package/dist/batch/template.d.ts.map +1 -0
  102. package/dist/batch/template.js +119 -0
  103. package/dist/batch/template.js.map +1 -0
  104. package/dist/batch/text-decoding.d.ts +49 -0
  105. package/dist/batch/text-decoding.d.ts.map +1 -0
  106. package/dist/batch/text-decoding.js +160 -0
  107. package/dist/batch/text-decoding.js.map +1 -0
  108. package/dist/batch/types.d.ts +240 -0
  109. package/dist/batch/types.d.ts.map +1 -0
  110. package/dist/batch/types.js +35 -0
  111. package/dist/batch/types.js.map +1 -0
  112. package/dist/batch/verify.d.ts +45 -0
  113. package/dist/batch/verify.d.ts.map +1 -0
  114. package/dist/batch/verify.js +72 -0
  115. package/dist/batch/verify.js.map +1 -0
  116. package/dist/batch/zip.d.ts +39 -0
  117. package/dist/batch/zip.d.ts.map +1 -0
  118. package/dist/batch/zip.js +201 -0
  119. package/dist/batch/zip.js.map +1 -0
  120. package/dist/conformance/finder.d.ts +67 -0
  121. package/dist/conformance/finder.d.ts.map +1 -0
  122. package/dist/conformance/finder.js +125 -0
  123. package/dist/conformance/finder.js.map +1 -0
  124. package/dist/conformance/frame.d.ts +28 -0
  125. package/dist/conformance/frame.d.ts.map +1 -0
  126. package/dist/conformance/frame.js +134 -0
  127. package/dist/conformance/frame.js.map +1 -0
  128. package/dist/conformance/index.d.ts +15 -0
  129. package/dist/conformance/index.d.ts.map +1 -0
  130. package/dist/conformance/index.js +8 -0
  131. package/dist/conformance/index.js.map +1 -0
  132. package/dist/conformance/module-shape.d.ts +35 -0
  133. package/dist/conformance/module-shape.d.ts.map +1 -0
  134. package/dist/conformance/module-shape.js +139 -0
  135. package/dist/conformance/module-shape.js.map +1 -0
  136. package/dist/conformance/payload-type.d.ts +48 -0
  137. package/dist/conformance/payload-type.d.ts.map +1 -0
  138. package/dist/conformance/payload-type.js +113 -0
  139. package/dist/conformance/payload-type.js.map +1 -0
  140. package/dist/conformance/preset.d.ts +37 -0
  141. package/dist/conformance/preset.d.ts.map +1 -0
  142. package/dist/conformance/preset.js +171 -0
  143. package/dist/conformance/preset.js.map +1 -0
  144. package/dist/conformance/region-captures.d.ts +41 -0
  145. package/dist/conformance/region-captures.d.ts.map +1 -0
  146. package/dist/conformance/region-captures.js +69 -0
  147. package/dist/conformance/region-captures.js.map +1 -0
  148. package/dist/conformance/region-shape.d.ts +43 -0
  149. package/dist/conformance/region-shape.d.ts.map +1 -0
  150. package/dist/conformance/region-shape.js +214 -0
  151. package/dist/conformance/region-shape.js.map +1 -0
  152. package/dist/conformance/sample.d.ts +13 -0
  153. package/dist/conformance/sample.d.ts.map +1 -0
  154. package/dist/conformance/sample.js +75 -0
  155. package/dist/conformance/sample.js.map +1 -0
  156. package/dist/conformance/types.d.ts +16 -0
  157. package/dist/conformance/types.d.ts.map +1 -0
  158. package/dist/conformance/types.js +10 -0
  159. package/dist/conformance/types.js.map +1 -0
  160. package/dist/core/bch.d.ts +36 -0
  161. package/dist/core/bch.d.ts.map +1 -0
  162. package/dist/core/bch.js +92 -0
  163. package/dist/core/bch.js.map +1 -0
  164. package/dist/core/bit-matrix.d.ts +56 -0
  165. package/dist/core/bit-matrix.d.ts.map +1 -0
  166. package/dist/core/bit-matrix.js +150 -0
  167. package/dist/core/bit-matrix.js.map +1 -0
  168. package/dist/core/bits.d.ts +53 -0
  169. package/dist/core/bits.d.ts.map +1 -0
  170. package/dist/core/bits.js +128 -0
  171. package/dist/core/bits.js.map +1 -0
  172. package/dist/core/checksums.d.ts +22 -0
  173. package/dist/core/checksums.d.ts.map +1 -0
  174. package/dist/core/checksums.js +64 -0
  175. package/dist/core/checksums.js.map +1 -0
  176. package/dist/core/deflate.d.ts +51 -0
  177. package/dist/core/deflate.d.ts.map +1 -0
  178. package/dist/core/deflate.js +851 -0
  179. package/dist/core/deflate.js.map +1 -0
  180. package/dist/core/errors.d.ts +123 -0
  181. package/dist/core/errors.d.ts.map +1 -0
  182. package/dist/core/errors.js +168 -0
  183. package/dist/core/errors.js.map +1 -0
  184. package/dist/core/field.d.ts +58 -0
  185. package/dist/core/field.d.ts.map +1 -0
  186. package/dist/core/field.js +184 -0
  187. package/dist/core/field.js.map +1 -0
  188. package/dist/core/huffman.d.ts +31 -0
  189. package/dist/core/huffman.d.ts.map +1 -0
  190. package/dist/core/huffman.js +131 -0
  191. package/dist/core/huffman.js.map +1 -0
  192. package/dist/core/image.d.ts +18 -0
  193. package/dist/core/image.d.ts.map +1 -0
  194. package/dist/core/image.js +2 -0
  195. package/dist/core/image.js.map +1 -0
  196. package/dist/core/index.d.ts +25 -0
  197. package/dist/core/index.d.ts.map +1 -0
  198. package/dist/core/index.js +15 -0
  199. package/dist/core/index.js.map +1 -0
  200. package/dist/core/issue.d.ts +39 -0
  201. package/dist/core/issue.d.ts.map +1 -0
  202. package/dist/core/issue.js +24 -0
  203. package/dist/core/issue.js.map +1 -0
  204. package/dist/core/math.d.ts +56 -0
  205. package/dist/core/math.d.ts.map +1 -0
  206. package/dist/core/math.js +609 -0
  207. package/dist/core/math.js.map +1 -0
  208. package/dist/core/prng.d.ts +27 -0
  209. package/dist/core/prng.d.ts.map +1 -0
  210. package/dist/core/prng.js +111 -0
  211. package/dist/core/prng.js.map +1 -0
  212. package/dist/core/reed-solomon.d.ts +69 -0
  213. package/dist/core/reed-solomon.d.ts.map +1 -0
  214. package/dist/core/reed-solomon.js +308 -0
  215. package/dist/core/reed-solomon.js.map +1 -0
  216. package/dist/core/registry.d.ts +45 -0
  217. package/dist/core/registry.d.ts.map +1 -0
  218. package/dist/core/registry.js +80 -0
  219. package/dist/core/registry.js.map +1 -0
  220. package/dist/core/result.d.ts +33 -0
  221. package/dist/core/result.d.ts.map +1 -0
  222. package/dist/core/result.js +52 -0
  223. package/dist/core/result.js.map +1 -0
  224. package/dist/core/zip.d.ts +36 -0
  225. package/dist/core/zip.d.ts.map +1 -0
  226. package/dist/core/zip.js +234 -0
  227. package/dist/core/zip.js.map +1 -0
  228. package/dist/decode/alignment.d.ts +34 -0
  229. package/dist/decode/alignment.d.ts.map +1 -0
  230. package/dist/decode/alignment.js +179 -0
  231. package/dist/decode/alignment.js.map +1 -0
  232. package/dist/decode/binarise.d.ts +95 -0
  233. package/dist/decode/binarise.d.ts.map +1 -0
  234. package/dist/decode/binarise.js +399 -0
  235. package/dist/decode/binarise.js.map +1 -0
  236. package/dist/decode/decoder.d.ts +75 -0
  237. package/dist/decode/decoder.d.ts.map +1 -0
  238. package/dist/decode/decoder.js +773 -0
  239. package/dist/decode/decoder.js.map +1 -0
  240. package/dist/decode/erasures.d.ts +26 -0
  241. package/dist/decode/erasures.d.ts.map +1 -0
  242. package/dist/decode/erasures.js +34 -0
  243. package/dist/decode/erasures.js.map +1 -0
  244. package/dist/decode/failure.d.ts +15 -0
  245. package/dist/decode/failure.d.ts.map +1 -0
  246. package/dist/decode/failure.js +22 -0
  247. package/dist/decode/failure.js.map +1 -0
  248. package/dist/decode/finder.d.ts +114 -0
  249. package/dist/decode/finder.d.ts.map +1 -0
  250. package/dist/decode/finder.js +441 -0
  251. package/dist/decode/finder.js.map +1 -0
  252. package/dist/decode/frame.d.ts +49 -0
  253. package/dist/decode/frame.d.ts.map +1 -0
  254. package/dist/decode/frame.js +228 -0
  255. package/dist/decode/frame.js.map +1 -0
  256. package/dist/decode/grey.d.ts +87 -0
  257. package/dist/decode/grey.d.ts.map +1 -0
  258. package/dist/decode/grey.js +226 -0
  259. package/dist/decode/grey.js.map +1 -0
  260. package/dist/decode/index.d.ts +4 -0
  261. package/dist/decode/index.d.ts.map +1 -0
  262. package/dist/decode/index.js +3 -0
  263. package/dist/decode/index.js.map +1 -0
  264. package/dist/decode/locate-qr.d.ts +80 -0
  265. package/dist/decode/locate-qr.d.ts.map +1 -0
  266. package/dist/decode/locate-qr.js +295 -0
  267. package/dist/decode/locate-qr.js.map +1 -0
  268. package/dist/decode/locate-single.d.ts +47 -0
  269. package/dist/decode/locate-single.d.ts.map +1 -0
  270. package/dist/decode/locate-single.js +169 -0
  271. package/dist/decode/locate-single.js.map +1 -0
  272. package/dist/decode/plain.d.ts +70 -0
  273. package/dist/decode/plain.d.ts.map +1 -0
  274. package/dist/decode/plain.js +460 -0
  275. package/dist/decode/plain.js.map +1 -0
  276. package/dist/decode/sample.d.ts +56 -0
  277. package/dist/decode/sample.d.ts.map +1 -0
  278. package/dist/decode/sample.js +154 -0
  279. package/dist/decode/sample.js.map +1 -0
  280. package/dist/decode/strict.d.ts +255 -0
  281. package/dist/decode/strict.d.ts.map +1 -0
  282. package/dist/decode/strict.js +597 -0
  283. package/dist/decode/strict.js.map +1 -0
  284. package/dist/decode/tiled.d.ts +137 -0
  285. package/dist/decode/tiled.d.ts.map +1 -0
  286. package/dist/decode/tiled.js +452 -0
  287. package/dist/decode/tiled.js.map +1 -0
  288. package/dist/decode/transform.d.ts +48 -0
  289. package/dist/decode/transform.d.ts.map +1 -0
  290. package/dist/decode/transform.js +180 -0
  291. package/dist/decode/transform.js.map +1 -0
  292. package/dist/decode/types.d.ts +163 -0
  293. package/dist/decode/types.d.ts.map +1 -0
  294. package/dist/decode/types.js +10 -0
  295. package/dist/decode/types.js.map +1 -0
  296. package/dist/design/base64.d.ts +16 -0
  297. package/dist/design/base64.d.ts.map +1 -0
  298. package/dist/design/base64.js +97 -0
  299. package/dist/design/base64.js.map +1 -0
  300. package/dist/design/canonical.d.ts +13 -0
  301. package/dist/design/canonical.d.ts.map +1 -0
  302. package/dist/design/canonical.js +100 -0
  303. package/dist/design/canonical.js.map +1 -0
  304. package/dist/design/caption.d.ts +54 -0
  305. package/dist/design/caption.d.ts.map +1 -0
  306. package/dist/design/caption.js +175 -0
  307. package/dist/design/caption.js.map +1 -0
  308. package/dist/design/catalogue/draw.d.ts +77 -0
  309. package/dist/design/catalogue/draw.d.ts.map +1 -0
  310. package/dist/design/catalogue/draw.js +260 -0
  311. package/dist/design/catalogue/draw.js.map +1 -0
  312. package/dist/design/catalogue/fills.d.ts +9 -0
  313. package/dist/design/catalogue/fills.d.ts.map +1 -0
  314. package/dist/design/catalogue/fills.js +64 -0
  315. package/dist/design/catalogue/fills.js.map +1 -0
  316. package/dist/design/catalogue/frames.d.ts +18 -0
  317. package/dist/design/catalogue/frames.d.ts.map +1 -0
  318. package/dist/design/catalogue/frames.js +451 -0
  319. package/dist/design/catalogue/frames.js.map +1 -0
  320. package/dist/design/catalogue/icons.d.ts +21 -0
  321. package/dist/design/catalogue/icons.d.ts.map +1 -0
  322. package/dist/design/catalogue/icons.js +293 -0
  323. package/dist/design/catalogue/icons.js.map +1 -0
  324. package/dist/design/catalogue/module-shapes.d.ts +21 -0
  325. package/dist/design/catalogue/module-shapes.d.ts.map +1 -0
  326. package/dist/design/catalogue/module-shapes.js +266 -0
  327. package/dist/design/catalogue/module-shapes.js.map +1 -0
  328. package/dist/design/catalogue/presets.d.ts +31 -0
  329. package/dist/design/catalogue/presets.d.ts.map +1 -0
  330. package/dist/design/catalogue/presets.js +696 -0
  331. package/dist/design/catalogue/presets.js.map +1 -0
  332. package/dist/design/catalogue/region-shapes.d.ts +41 -0
  333. package/dist/design/catalogue/region-shapes.d.ts.map +1 -0
  334. package/dist/design/catalogue/region-shapes.js +399 -0
  335. package/dist/design/catalogue/region-shapes.js.map +1 -0
  336. package/dist/design/catalogue/schema.d.ts +14 -0
  337. package/dist/design/catalogue/schema.d.ts.map +1 -0
  338. package/dist/design/catalogue/schema.js +58 -0
  339. package/dist/design/catalogue/schema.js.map +1 -0
  340. package/dist/design/constraints.d.ts +25 -0
  341. package/dist/design/constraints.d.ts.map +1 -0
  342. package/dist/design/constraints.js +194 -0
  343. package/dist/design/constraints.js.map +1 -0
  344. package/dist/design/document.d.ts +64 -0
  345. package/dist/design/document.d.ts.map +1 -0
  346. package/dist/design/document.js +66 -0
  347. package/dist/design/document.js.map +1 -0
  348. package/dist/design/finder.d.ts +79 -0
  349. package/dist/design/finder.d.ts.map +1 -0
  350. package/dist/design/finder.js +270 -0
  351. package/dist/design/finder.js.map +1 -0
  352. package/dist/design/index.d.ts +18 -0
  353. package/dist/design/index.d.ts.map +1 -0
  354. package/dist/design/index.js +15 -0
  355. package/dist/design/index.js.map +1 -0
  356. package/dist/design/link.d.ts +41 -0
  357. package/dist/design/link.d.ts.map +1 -0
  358. package/dist/design/link.js +131 -0
  359. package/dist/design/link.js.map +1 -0
  360. package/dist/design/logo.d.ts +57 -0
  361. package/dist/design/logo.d.ts.map +1 -0
  362. package/dist/design/logo.js +376 -0
  363. package/dist/design/logo.js.map +1 -0
  364. package/dist/design/migrate.d.ts +31 -0
  365. package/dist/design/migrate.d.ts.map +1 -0
  366. package/dist/design/migrate.js +87 -0
  367. package/dist/design/migrate.js.map +1 -0
  368. package/dist/design/neighbours.d.ts +24 -0
  369. package/dist/design/neighbours.d.ts.map +1 -0
  370. package/dist/design/neighbours.js +50 -0
  371. package/dist/design/neighbours.js.map +1 -0
  372. package/dist/design/paint.d.ts +47 -0
  373. package/dist/design/paint.d.ts.map +1 -0
  374. package/dist/design/paint.js +115 -0
  375. package/dist/design/paint.js.map +1 -0
  376. package/dist/design/params.d.ts +30 -0
  377. package/dist/design/params.d.ts.map +1 -0
  378. package/dist/design/params.js +85 -0
  379. package/dist/design/params.js.map +1 -0
  380. package/dist/design/preset-size.d.ts +14 -0
  381. package/dist/design/preset-size.d.ts.map +1 -0
  382. package/dist/design/preset-size.js +14 -0
  383. package/dist/design/preset-size.js.map +1 -0
  384. package/dist/design/registries.d.ts +9 -0
  385. package/dist/design/registries.d.ts.map +1 -0
  386. package/dist/design/registries.js +24 -0
  387. package/dist/design/registries.js.map +1 -0
  388. package/dist/design/scene.d.ts +38 -0
  389. package/dist/design/scene.d.ts.map +1 -0
  390. package/dist/design/scene.js +694 -0
  391. package/dist/design/scene.js.map +1 -0
  392. package/dist/design/swiss-cross.d.ts +54 -0
  393. package/dist/design/swiss-cross.d.ts.map +1 -0
  394. package/dist/design/swiss-cross.js +95 -0
  395. package/dist/design/swiss-cross.js.map +1 -0
  396. package/dist/design/types.d.ts +389 -0
  397. package/dist/design/types.d.ts.map +1 -0
  398. package/dist/design/types.js +29 -0
  399. package/dist/design/types.js.map +1 -0
  400. package/dist/design/validate.d.ts +48 -0
  401. package/dist/design/validate.d.ts.map +1 -0
  402. package/dist/design/validate.js +986 -0
  403. package/dist/design/validate.js.map +1 -0
  404. package/dist/dom/camera.d.ts +94 -0
  405. package/dist/dom/camera.d.ts.map +1 -0
  406. package/dist/dom/camera.js +288 -0
  407. package/dist/dom/camera.js.map +1 -0
  408. package/dist/dom/file-library.d.ts +297 -0
  409. package/dist/dom/file-library.d.ts.map +1 -0
  410. package/dist/dom/file-library.js +703 -0
  411. package/dist/dom/file-library.js.map +1 -0
  412. package/dist/dom/image.d.ts +77 -0
  413. package/dist/dom/image.d.ts.map +1 -0
  414. package/dist/dom/image.js +253 -0
  415. package/dist/dom/image.js.map +1 -0
  416. package/dist/dom/index.d.ts +19 -0
  417. package/dist/dom/index.d.ts.map +1 -0
  418. package/dist/dom/index.js +10 -0
  419. package/dist/dom/index.js.map +1 -0
  420. package/dist/dom/library/index.d.ts +4 -0
  421. package/dist/dom/library/index.d.ts.map +1 -0
  422. package/dist/dom/library/index.js +2 -0
  423. package/dist/dom/library/index.js.map +1 -0
  424. package/dist/dom/library/indexeddb.d.ts +71 -0
  425. package/dist/dom/library/indexeddb.d.ts.map +1 -0
  426. package/dist/dom/library/indexeddb.js +365 -0
  427. package/dist/dom/library/indexeddb.js.map +1 -0
  428. package/dist/dom/logo.d.ts +36 -0
  429. package/dist/dom/logo.d.ts.map +1 -0
  430. package/dist/dom/logo.js +99 -0
  431. package/dist/dom/logo.js.map +1 -0
  432. package/dist/dom/orientation.d.ts +32 -0
  433. package/dist/dom/orientation.d.ts.map +1 -0
  434. package/dist/dom/orientation.js +152 -0
  435. package/dist/dom/orientation.js.map +1 -0
  436. package/dist/dom/output.d.ts +58 -0
  437. package/dist/dom/output.d.ts.map +1 -0
  438. package/dist/dom/output.js +93 -0
  439. package/dist/dom/output.js.map +1 -0
  440. package/dist/dom/print.d.ts +52 -0
  441. package/dist/dom/print.d.ts.map +1 -0
  442. package/dist/dom/print.js +101 -0
  443. package/dist/dom/print.js.map +1 -0
  444. package/dist/dom/raster-encoder.d.ts +43 -0
  445. package/dist/dom/raster-encoder.d.ts.map +1 -0
  446. package/dist/dom/raster-encoder.js +102 -0
  447. package/dist/dom/raster-encoder.js.map +1 -0
  448. package/dist/dom/resample.d.ts +20 -0
  449. package/dist/dom/resample.d.ts.map +1 -0
  450. package/dist/dom/resample.js +107 -0
  451. package/dist/dom/resample.js.map +1 -0
  452. package/dist/dom/types.d.ts +54 -0
  453. package/dist/dom/types.d.ts.map +1 -0
  454. package/dist/dom/types.js +13 -0
  455. package/dist/dom/types.js.map +1 -0
  456. package/dist/encode/bitstream.d.ts +14 -0
  457. package/dist/encode/bitstream.d.ts.map +1 -0
  458. package/dist/encode/bitstream.js +31 -0
  459. package/dist/encode/bitstream.js.map +1 -0
  460. package/dist/encode/encode.d.ts +21 -0
  461. package/dist/encode/encode.d.ts.map +1 -0
  462. package/dist/encode/encode.js +65 -0
  463. package/dist/encode/encode.js.map +1 -0
  464. package/dist/encode/index.d.ts +5 -0
  465. package/dist/encode/index.d.ts.map +1 -0
  466. package/dist/encode/index.js +4 -0
  467. package/dist/encode/index.js.map +1 -0
  468. package/dist/encode/plan.d.ts +61 -0
  469. package/dist/encode/plan.d.ts.map +1 -0
  470. package/dist/encode/plan.js +177 -0
  471. package/dist/encode/plan.js.map +1 -0
  472. package/dist/encode/structured-append.d.ts +35 -0
  473. package/dist/encode/structured-append.d.ts.map +1 -0
  474. package/dist/encode/structured-append.js +153 -0
  475. package/dist/encode/structured-append.js.map +1 -0
  476. package/dist/fonts/latin.d.ts +118 -0
  477. package/dist/fonts/latin.d.ts.map +1 -0
  478. package/dist/fonts/latin.js +137 -0
  479. package/dist/fonts/latin.js.map +1 -0
  480. package/dist/geometry/flatten.d.ts +60 -0
  481. package/dist/geometry/flatten.d.ts.map +1 -0
  482. package/dist/geometry/flatten.js +177 -0
  483. package/dist/geometry/flatten.js.map +1 -0
  484. package/dist/geometry/index.d.ts +10 -0
  485. package/dist/geometry/index.d.ts.map +1 -0
  486. package/dist/geometry/index.js +6 -0
  487. package/dist/geometry/index.js.map +1 -0
  488. package/dist/geometry/matrix.d.ts +50 -0
  489. package/dist/geometry/matrix.d.ts.map +1 -0
  490. package/dist/geometry/matrix.js +113 -0
  491. package/dist/geometry/matrix.js.map +1 -0
  492. package/dist/geometry/measure.d.ts +35 -0
  493. package/dist/geometry/measure.d.ts.map +1 -0
  494. package/dist/geometry/measure.js +206 -0
  495. package/dist/geometry/measure.js.map +1 -0
  496. package/dist/geometry/path.d.ts +137 -0
  497. package/dist/geometry/path.d.ts.map +1 -0
  498. package/dist/geometry/path.js +401 -0
  499. package/dist/geometry/path.js.map +1 -0
  500. package/dist/geometry/trace.d.ts +29 -0
  501. package/dist/geometry/trace.d.ts.map +1 -0
  502. package/dist/geometry/trace.js +166 -0
  503. package/dist/geometry/trace.js.map +1 -0
  504. package/dist/index.d.ts +20 -0
  505. package/dist/index.d.ts.map +1 -0
  506. package/dist/index.js +15 -0
  507. package/dist/index.js.map +1 -0
  508. package/dist/inspect/explain.d.ts +32 -0
  509. package/dist/inspect/explain.d.ts.map +1 -0
  510. package/dist/inspect/explain.js +99 -0
  511. package/dist/inspect/explain.js.map +1 -0
  512. package/dist/inspect/gs1.d.ts +38 -0
  513. package/dist/inspect/gs1.d.ts.map +1 -0
  514. package/dist/inspect/gs1.js +130 -0
  515. package/dist/inspect/gs1.js.map +1 -0
  516. package/dist/inspect/index.d.ts +9 -0
  517. package/dist/inspect/index.d.ts.map +1 -0
  518. package/dist/inspect/index.js +6 -0
  519. package/dist/inspect/index.js.map +1 -0
  520. package/dist/inspect/inspect.d.ts +29 -0
  521. package/dist/inspect/inspect.d.ts.map +1 -0
  522. package/dist/inspect/inspect.js +98 -0
  523. package/dist/inspect/inspect.js.map +1 -0
  524. package/dist/inspect/keys.d.ts +54 -0
  525. package/dist/inspect/keys.d.ts.map +1 -0
  526. package/dist/inspect/keys.js +63 -0
  527. package/dist/inspect/keys.js.map +1 -0
  528. package/dist/inspect/sets.d.ts +27 -0
  529. package/dist/inspect/sets.d.ts.map +1 -0
  530. package/dist/inspect/sets.js +67 -0
  531. package/dist/inspect/sets.js.map +1 -0
  532. package/dist/inspect/types.d.ts +81 -0
  533. package/dist/inspect/types.d.ts.map +1 -0
  534. package/dist/inspect/types.js +16 -0
  535. package/dist/inspect/types.js.map +1 -0
  536. package/dist/messages/en/app.d.ts +11 -0
  537. package/dist/messages/en/app.d.ts.map +1 -0
  538. package/dist/messages/en/app.js +395 -0
  539. package/dist/messages/en/app.js.map +1 -0
  540. package/dist/messages/en/batch.d.ts +18 -0
  541. package/dist/messages/en/batch.d.ts.map +1 -0
  542. package/dist/messages/en/batch.js +42 -0
  543. package/dist/messages/en/batch.js.map +1 -0
  544. package/dist/messages/en/decode.d.ts +9 -0
  545. package/dist/messages/en/decode.d.ts.map +1 -0
  546. package/dist/messages/en/decode.js +21 -0
  547. package/dist/messages/en/decode.js.map +1 -0
  548. package/dist/messages/en/design.d.ts +13 -0
  549. package/dist/messages/en/design.d.ts.map +1 -0
  550. package/dist/messages/en/design.js +228 -0
  551. package/dist/messages/en/design.js.map +1 -0
  552. package/dist/messages/en/dom.d.ts +11 -0
  553. package/dist/messages/en/dom.d.ts.map +1 -0
  554. package/dist/messages/en/dom.js +14 -0
  555. package/dist/messages/en/dom.js.map +1 -0
  556. package/dist/messages/en/encode.d.ts +13 -0
  557. package/dist/messages/en/encode.d.ts.map +1 -0
  558. package/dist/messages/en/encode.js +20 -0
  559. package/dist/messages/en/encode.js.map +1 -0
  560. package/dist/messages/en/index.d.ts +48 -0
  561. package/dist/messages/en/index.d.ts.map +1 -0
  562. package/dist/messages/en/index.js +73 -0
  563. package/dist/messages/en/index.js.map +1 -0
  564. package/dist/messages/en/inspect.d.ts +13 -0
  565. package/dist/messages/en/inspect.d.ts.map +1 -0
  566. package/dist/messages/en/inspect.js +84 -0
  567. package/dist/messages/en/inspect.js.map +1 -0
  568. package/dist/messages/en/library.d.ts +12 -0
  569. package/dist/messages/en/library.d.ts.map +1 -0
  570. package/dist/messages/en/library.js +27 -0
  571. package/dist/messages/en/library.js.map +1 -0
  572. package/dist/messages/en/micro.d.ts +9 -0
  573. package/dist/messages/en/micro.d.ts.map +1 -0
  574. package/dist/messages/en/micro.js +13 -0
  575. package/dist/messages/en/micro.js.map +1 -0
  576. package/dist/messages/en/own-link.d.ts +7 -0
  577. package/dist/messages/en/own-link.d.ts.map +1 -0
  578. package/dist/messages/en/own-link.js +29 -0
  579. package/dist/messages/en/own-link.js.map +1 -0
  580. package/dist/messages/en/payload.d.ts +13 -0
  581. package/dist/messages/en/payload.d.ts.map +1 -0
  582. package/dist/messages/en/payload.js +427 -0
  583. package/dist/messages/en/payload.js.map +1 -0
  584. package/dist/messages/en/rmqr.d.ts +9 -0
  585. package/dist/messages/en/rmqr.d.ts.map +1 -0
  586. package/dist/messages/en/rmqr.js +12 -0
  587. package/dist/messages/en/rmqr.js.map +1 -0
  588. package/dist/messages/en/studio.d.ts +18 -0
  589. package/dist/messages/en/studio.d.ts.map +1 -0
  590. package/dist/messages/en/studio.js +117 -0
  591. package/dist/messages/en/studio.js.map +1 -0
  592. package/dist/messages/en/symbology.d.ts +13 -0
  593. package/dist/messages/en/symbology.d.ts.map +1 -0
  594. package/dist/messages/en/symbology.js +21 -0
  595. package/dist/messages/en/symbology.js.map +1 -0
  596. package/dist/messages/en/text.d.ts +23 -0
  597. package/dist/messages/en/text.d.ts.map +1 -0
  598. package/dist/messages/en/text.js +47 -0
  599. package/dist/messages/en/text.js.map +1 -0
  600. package/dist/messages/en/verify.d.ts +13 -0
  601. package/dist/messages/en/verify.d.ts.map +1 -0
  602. package/dist/messages/en/verify.js +117 -0
  603. package/dist/messages/en/verify.js.map +1 -0
  604. package/dist/messages/format.d.ts +30 -0
  605. package/dist/messages/format.d.ts.map +1 -0
  606. package/dist/messages/format.js +170 -0
  607. package/dist/messages/format.js.map +1 -0
  608. package/dist/own-link/index.d.ts +5 -0
  609. package/dist/own-link/index.d.ts.map +1 -0
  610. package/dist/own-link/index.js +3 -0
  611. package/dist/own-link/index.js.map +1 -0
  612. package/dist/own-link/query.d.ts +10 -0
  613. package/dist/own-link/query.d.ts.map +1 -0
  614. package/dist/own-link/query.js +33 -0
  615. package/dist/own-link/query.js.map +1 -0
  616. package/dist/own-link/redirects.d.ts +54 -0
  617. package/dist/own-link/redirects.d.ts.map +1 -0
  618. package/dist/own-link/redirects.js +271 -0
  619. package/dist/own-link/redirects.js.map +1 -0
  620. package/dist/own-link/utm.d.ts +24 -0
  621. package/dist/own-link/utm.d.ts.map +1 -0
  622. package/dist/own-link/utm.js +82 -0
  623. package/dist/own-link/utm.js.map +1 -0
  624. package/dist/payload/banking.d.ts +39 -0
  625. package/dist/payload/banking.d.ts.map +1 -0
  626. package/dist/payload/banking.js +87 -0
  627. package/dist/payload/banking.js.map +1 -0
  628. package/dist/payload/base58.d.ts +21 -0
  629. package/dist/payload/base58.d.ts.map +1 -0
  630. package/dist/payload/base58.js +75 -0
  631. package/dist/payload/base58.js.map +1 -0
  632. package/dist/payload/bech32.d.ts +59 -0
  633. package/dist/payload/bech32.d.ts.map +1 -0
  634. package/dist/payload/bech32.js +137 -0
  635. package/dist/payload/bech32.js.map +1 -0
  636. package/dist/payload/check-digits.d.ts +49 -0
  637. package/dist/payload/check-digits.d.ts.map +1 -0
  638. package/dist/payload/check-digits.js +101 -0
  639. package/dist/payload/check-digits.js.map +1 -0
  640. package/dist/payload/content/bitcoin.d.ts +34 -0
  641. package/dist/payload/content/bitcoin.d.ts.map +1 -0
  642. package/dist/payload/content/bitcoin.js +137 -0
  643. package/dist/payload/content/bitcoin.js.map +1 -0
  644. package/dist/payload/content/email.d.ts +19 -0
  645. package/dist/payload/content/email.d.ts.map +1 -0
  646. package/dist/payload/content/email.js +137 -0
  647. package/dist/payload/content/email.js.map +1 -0
  648. package/dist/payload/content/epc.d.ts +32 -0
  649. package/dist/payload/content/epc.d.ts.map +1 -0
  650. package/dist/payload/content/epc.js +160 -0
  651. package/dist/payload/content/epc.js.map +1 -0
  652. package/dist/payload/content/event.d.ts +35 -0
  653. package/dist/payload/content/event.d.ts.map +1 -0
  654. package/dist/payload/content/event.js +242 -0
  655. package/dist/payload/content/event.js.map +1 -0
  656. package/dist/payload/content/facetime.d.ts +14 -0
  657. package/dist/payload/content/facetime.d.ts.map +1 -0
  658. package/dist/payload/content/facetime.js +56 -0
  659. package/dist/payload/content/facetime.js.map +1 -0
  660. package/dist/payload/content/geo.d.ts +24 -0
  661. package/dist/payload/content/geo.d.ts.map +1 -0
  662. package/dist/payload/content/geo.js +139 -0
  663. package/dist/payload/content/geo.js.map +1 -0
  664. package/dist/payload/content/gs1-digital-link.d.ts +34 -0
  665. package/dist/payload/content/gs1-digital-link.d.ts.map +1 -0
  666. package/dist/payload/content/gs1-digital-link.js +171 -0
  667. package/dist/payload/content/gs1-digital-link.js.map +1 -0
  668. package/dist/payload/content/lightning.d.ts +22 -0
  669. package/dist/payload/content/lightning.d.ts.map +1 -0
  670. package/dist/payload/content/lightning.js +90 -0
  671. package/dist/payload/content/lightning.js.map +1 -0
  672. package/dist/payload/content/mecard.d.ts +23 -0
  673. package/dist/payload/content/mecard.d.ts.map +1 -0
  674. package/dist/payload/content/mecard.js +111 -0
  675. package/dist/payload/content/mecard.js.map +1 -0
  676. package/dist/payload/content/phone.d.ts +17 -0
  677. package/dist/payload/content/phone.d.ts.map +1 -0
  678. package/dist/payload/content/phone.js +39 -0
  679. package/dist/payload/content/phone.js.map +1 -0
  680. package/dist/payload/content/pix.d.ts +36 -0
  681. package/dist/payload/content/pix.d.ts.map +1 -0
  682. package/dist/payload/content/pix.js +191 -0
  683. package/dist/payload/content/pix.js.map +1 -0
  684. package/dist/payload/content/signal.d.ts +17 -0
  685. package/dist/payload/content/signal.d.ts.map +1 -0
  686. package/dist/payload/content/signal.js +43 -0
  687. package/dist/payload/content/signal.js.map +1 -0
  688. package/dist/payload/content/sms.d.ts +18 -0
  689. package/dist/payload/content/sms.d.ts.map +1 -0
  690. package/dist/payload/content/sms.js +64 -0
  691. package/dist/payload/content/sms.js.map +1 -0
  692. package/dist/payload/content/swiss-qr-bill.d.ts +61 -0
  693. package/dist/payload/content/swiss-qr-bill.d.ts.map +1 -0
  694. package/dist/payload/content/swiss-qr-bill.js +325 -0
  695. package/dist/payload/content/swiss-qr-bill.js.map +1 -0
  696. package/dist/payload/content/telegram.d.ts +18 -0
  697. package/dist/payload/content/telegram.d.ts.map +1 -0
  698. package/dist/payload/content/telegram.js +105 -0
  699. package/dist/payload/content/telegram.js.map +1 -0
  700. package/dist/payload/content/text.d.ts +9 -0
  701. package/dist/payload/content/text.d.ts.map +1 -0
  702. package/dist/payload/content/text.js +18 -0
  703. package/dist/payload/content/text.js.map +1 -0
  704. package/dist/payload/content/upi.d.ts +21 -0
  705. package/dist/payload/content/upi.d.ts.map +1 -0
  706. package/dist/payload/content/upi.js +89 -0
  707. package/dist/payload/content/upi.js.map +1 -0
  708. package/dist/payload/content/url.d.ts +31 -0
  709. package/dist/payload/content/url.d.ts.map +1 -0
  710. package/dist/payload/content/url.js +120 -0
  711. package/dist/payload/content/url.js.map +1 -0
  712. package/dist/payload/content/vcard.d.ts +42 -0
  713. package/dist/payload/content/vcard.d.ts.map +1 -0
  714. package/dist/payload/content/vcard.js +302 -0
  715. package/dist/payload/content/vcard.js.map +1 -0
  716. package/dist/payload/content/whatsapp.d.ts +17 -0
  717. package/dist/payload/content/whatsapp.d.ts.map +1 -0
  718. package/dist/payload/content/whatsapp.js +72 -0
  719. package/dist/payload/content/whatsapp.js.map +1 -0
  720. package/dist/payload/content/wifi.d.ts +48 -0
  721. package/dist/payload/content/wifi.d.ts.map +1 -0
  722. package/dist/payload/content/wifi.js +240 -0
  723. package/dist/payload/content/wifi.js.map +1 -0
  724. package/dist/payload/content/zatca.d.ts +35 -0
  725. package/dist/payload/content/zatca.d.ts.map +1 -0
  726. package/dist/payload/content/zatca.js +156 -0
  727. package/dist/payload/content/zatca.js.map +1 -0
  728. package/dist/payload/data/hosts.d.ts +39 -0
  729. package/dist/payload/data/hosts.d.ts.map +1 -0
  730. package/dist/payload/data/hosts.js +74 -0
  731. package/dist/payload/data/hosts.js.map +1 -0
  732. package/dist/payload/define.d.ts +57 -0
  733. package/dist/payload/define.d.ts.map +1 -0
  734. package/dist/payload/define.js +87 -0
  735. package/dist/payload/define.js.map +1 -0
  736. package/dist/payload/detect.d.ts +13 -0
  737. package/dist/payload/detect.d.ts.map +1 -0
  738. package/dist/payload/detect.js +32 -0
  739. package/dist/payload/detect.js.map +1 -0
  740. package/dist/payload/emv.d.ts +41 -0
  741. package/dist/payload/emv.d.ts.map +1 -0
  742. package/dist/payload/emv.js +73 -0
  743. package/dist/payload/emv.js.map +1 -0
  744. package/dist/payload/escape.d.ts +66 -0
  745. package/dist/payload/escape.d.ts.map +1 -0
  746. package/dist/payload/escape.js +225 -0
  747. package/dist/payload/escape.js.map +1 -0
  748. package/dist/payload/fields.d.ts +86 -0
  749. package/dist/payload/fields.d.ts.map +1 -0
  750. package/dist/payload/fields.js +368 -0
  751. package/dist/payload/fields.js.map +1 -0
  752. package/dist/payload/hash.d.ts +11 -0
  753. package/dist/payload/hash.d.ts.map +1 -0
  754. package/dist/payload/hash.js +82 -0
  755. package/dist/payload/hash.js.map +1 -0
  756. package/dist/payload/index.d.ts +58 -0
  757. package/dist/payload/index.d.ts.map +1 -0
  758. package/dist/payload/index.js +32 -0
  759. package/dist/payload/index.js.map +1 -0
  760. package/dist/payload/punycode.d.ts +18 -0
  761. package/dist/payload/punycode.d.ts.map +1 -0
  762. package/dist/payload/punycode.js +99 -0
  763. package/dist/payload/punycode.js.map +1 -0
  764. package/dist/payload/registry.d.ts +20 -0
  765. package/dist/payload/registry.d.ts.map +1 -0
  766. package/dist/payload/registry.js +64 -0
  767. package/dist/payload/registry.js.map +1 -0
  768. package/dist/payload/safety.d.ts +13 -0
  769. package/dist/payload/safety.d.ts.map +1 -0
  770. package/dist/payload/safety.js +30 -0
  771. package/dist/payload/safety.js.map +1 -0
  772. package/dist/payload/scripts.d.ts +25 -0
  773. package/dist/payload/scripts.d.ts.map +1 -0
  774. package/dist/payload/scripts.js +90 -0
  775. package/dist/payload/scripts.js.map +1 -0
  776. package/dist/payload/types.d.ts +138 -0
  777. package/dist/payload/types.d.ts.map +1 -0
  778. package/dist/payload/types.js +28 -0
  779. package/dist/payload/types.js.map +1 -0
  780. package/dist/payload/uri.d.ts +24 -0
  781. package/dist/payload/uri.d.ts.map +1 -0
  782. package/dist/payload/uri.js +69 -0
  783. package/dist/payload/uri.js.map +1 -0
  784. package/dist/payload/url-safety.d.ts +31 -0
  785. package/dist/payload/url-safety.d.ts.map +1 -0
  786. package/dist/payload/url-safety.js +221 -0
  787. package/dist/payload/url-safety.js.map +1 -0
  788. package/dist/payload/vectors/bitcoin.d.ts +13 -0
  789. package/dist/payload/vectors/bitcoin.d.ts.map +1 -0
  790. package/dist/payload/vectors/bitcoin.js +83 -0
  791. package/dist/payload/vectors/bitcoin.js.map +1 -0
  792. package/dist/payload/vectors/built-in.d.ts +15 -0
  793. package/dist/payload/vectors/built-in.d.ts.map +1 -0
  794. package/dist/payload/vectors/built-in.js +59 -0
  795. package/dist/payload/vectors/built-in.js.map +1 -0
  796. package/dist/payload/vectors/email.d.ts +8 -0
  797. package/dist/payload/vectors/email.d.ts.map +1 -0
  798. package/dist/payload/vectors/email.js +60 -0
  799. package/dist/payload/vectors/email.js.map +1 -0
  800. package/dist/payload/vectors/epc.d.ts +9 -0
  801. package/dist/payload/vectors/epc.d.ts.map +1 -0
  802. package/dist/payload/vectors/epc.js +38 -0
  803. package/dist/payload/vectors/epc.js.map +1 -0
  804. package/dist/payload/vectors/event.d.ts +9 -0
  805. package/dist/payload/vectors/event.d.ts.map +1 -0
  806. package/dist/payload/vectors/event.js +57 -0
  807. package/dist/payload/vectors/event.js.map +1 -0
  808. package/dist/payload/vectors/facetime.d.ts +9 -0
  809. package/dist/payload/vectors/facetime.d.ts.map +1 -0
  810. package/dist/payload/vectors/facetime.js +19 -0
  811. package/dist/payload/vectors/facetime.js.map +1 -0
  812. package/dist/payload/vectors/geo.d.ts +8 -0
  813. package/dist/payload/vectors/geo.d.ts.map +1 -0
  814. package/dist/payload/vectors/geo.js +22 -0
  815. package/dist/payload/vectors/geo.js.map +1 -0
  816. package/dist/payload/vectors/gs1-digital-link.d.ts +9 -0
  817. package/dist/payload/vectors/gs1-digital-link.d.ts.map +1 -0
  818. package/dist/payload/vectors/gs1-digital-link.js +21 -0
  819. package/dist/payload/vectors/gs1-digital-link.js.map +1 -0
  820. package/dist/payload/vectors/hosts.d.ts +12 -0
  821. package/dist/payload/vectors/hosts.d.ts.map +1 -0
  822. package/dist/payload/vectors/hosts.js +50 -0
  823. package/dist/payload/vectors/hosts.js.map +1 -0
  824. package/dist/payload/vectors/index.d.ts +10 -0
  825. package/dist/payload/vectors/index.d.ts.map +1 -0
  826. package/dist/payload/vectors/index.js +9 -0
  827. package/dist/payload/vectors/index.js.map +1 -0
  828. package/dist/payload/vectors/lightning.d.ts +9 -0
  829. package/dist/payload/vectors/lightning.d.ts.map +1 -0
  830. package/dist/payload/vectors/lightning.js +23 -0
  831. package/dist/payload/vectors/lightning.js.map +1 -0
  832. package/dist/payload/vectors/mecard.d.ts +9 -0
  833. package/dist/payload/vectors/mecard.d.ts.map +1 -0
  834. package/dist/payload/vectors/mecard.js +25 -0
  835. package/dist/payload/vectors/mecard.js.map +1 -0
  836. package/dist/payload/vectors/phone.d.ts +9 -0
  837. package/dist/payload/vectors/phone.d.ts.map +1 -0
  838. package/dist/payload/vectors/phone.js +13 -0
  839. package/dist/payload/vectors/phone.js.map +1 -0
  840. package/dist/payload/vectors/pix.d.ts +9 -0
  841. package/dist/payload/vectors/pix.d.ts.map +1 -0
  842. package/dist/payload/vectors/pix.js +21 -0
  843. package/dist/payload/vectors/pix.js.map +1 -0
  844. package/dist/payload/vectors/signal.d.ts +9 -0
  845. package/dist/payload/vectors/signal.d.ts.map +1 -0
  846. package/dist/payload/vectors/signal.js +14 -0
  847. package/dist/payload/vectors/signal.js.map +1 -0
  848. package/dist/payload/vectors/sms.d.ts +9 -0
  849. package/dist/payload/vectors/sms.d.ts.map +1 -0
  850. package/dist/payload/vectors/sms.js +18 -0
  851. package/dist/payload/vectors/sms.js.map +1 -0
  852. package/dist/payload/vectors/swiss-qr-bill.d.ts +9 -0
  853. package/dist/payload/vectors/swiss-qr-bill.d.ts.map +1 -0
  854. package/dist/payload/vectors/swiss-qr-bill.js +72 -0
  855. package/dist/payload/vectors/swiss-qr-bill.js.map +1 -0
  856. package/dist/payload/vectors/telegram.d.ts +9 -0
  857. package/dist/payload/vectors/telegram.d.ts.map +1 -0
  858. package/dist/payload/vectors/telegram.js +19 -0
  859. package/dist/payload/vectors/telegram.js.map +1 -0
  860. package/dist/payload/vectors/text.d.ts +9 -0
  861. package/dist/payload/vectors/text.d.ts.map +1 -0
  862. package/dist/payload/vectors/text.js +13 -0
  863. package/dist/payload/vectors/text.js.map +1 -0
  864. package/dist/payload/vectors/upi.d.ts +9 -0
  865. package/dist/payload/vectors/upi.d.ts.map +1 -0
  866. package/dist/payload/vectors/upi.js +14 -0
  867. package/dist/payload/vectors/upi.js.map +1 -0
  868. package/dist/payload/vectors/url.d.ts +8 -0
  869. package/dist/payload/vectors/url.d.ts.map +1 -0
  870. package/dist/payload/vectors/url.js +30 -0
  871. package/dist/payload/vectors/url.js.map +1 -0
  872. package/dist/payload/vectors/vcard.d.ts +9 -0
  873. package/dist/payload/vectors/vcard.d.ts.map +1 -0
  874. package/dist/payload/vectors/vcard.js +47 -0
  875. package/dist/payload/vectors/vcard.js.map +1 -0
  876. package/dist/payload/vectors/whatsapp.d.ts +9 -0
  877. package/dist/payload/vectors/whatsapp.d.ts.map +1 -0
  878. package/dist/payload/vectors/whatsapp.js +19 -0
  879. package/dist/payload/vectors/whatsapp.js.map +1 -0
  880. package/dist/payload/vectors/wifi.d.ts +13 -0
  881. package/dist/payload/vectors/wifi.d.ts.map +1 -0
  882. package/dist/payload/vectors/wifi.js +40 -0
  883. package/dist/payload/vectors/wifi.js.map +1 -0
  884. package/dist/payload/vectors/zatca.d.ts +12 -0
  885. package/dist/payload/vectors/zatca.d.ts.map +1 -0
  886. package/dist/payload/vectors/zatca.js +28 -0
  887. package/dist/payload/vectors/zatca.js.map +1 -0
  888. package/dist/qr-code-studio.html +190 -0
  889. package/dist/registries.d.ts +24 -0
  890. package/dist/registries.d.ts.map +1 -0
  891. package/dist/registries.js +23 -0
  892. package/dist/registries.js.map +1 -0
  893. package/dist/render/base64.d.ts +11 -0
  894. package/dist/render/base64.d.ts.map +1 -0
  895. package/dist/render/base64.js +40 -0
  896. package/dist/render/base64.js.map +1 -0
  897. package/dist/render/colour.d.ts +28 -0
  898. package/dist/render/colour.d.ts.map +1 -0
  899. package/dist/render/colour.js +72 -0
  900. package/dist/render/colour.js.map +1 -0
  901. package/dist/render/conic.d.ts +68 -0
  902. package/dist/render/conic.d.ts.map +1 -0
  903. package/dist/render/conic.js +205 -0
  904. package/dist/render/conic.js.map +1 -0
  905. package/dist/render/coverage.d.ts +154 -0
  906. package/dist/render/coverage.d.ts.map +1 -0
  907. package/dist/render/coverage.js +613 -0
  908. package/dist/render/coverage.js.map +1 -0
  909. package/dist/render/eps.d.ts +41 -0
  910. package/dist/render/eps.d.ts.map +1 -0
  911. package/dist/render/eps.js +377 -0
  912. package/dist/render/eps.js.map +1 -0
  913. package/dist/render/impose.d.ts +130 -0
  914. package/dist/render/impose.d.ts.map +1 -0
  915. package/dist/render/impose.js +288 -0
  916. package/dist/render/impose.js.map +1 -0
  917. package/dist/render/index.d.ts +22 -0
  918. package/dist/render/index.d.ts.map +1 -0
  919. package/dist/render/index.js +13 -0
  920. package/dist/render/index.js.map +1 -0
  921. package/dist/render/paint.d.ts +62 -0
  922. package/dist/render/paint.d.ts.map +1 -0
  923. package/dist/render/paint.js +169 -0
  924. package/dist/render/paint.js.map +1 -0
  925. package/dist/render/pdf-colour.d.ts +34 -0
  926. package/dist/render/pdf-colour.d.ts.map +1 -0
  927. package/dist/render/pdf-colour.js +64 -0
  928. package/dist/render/pdf-colour.js.map +1 -0
  929. package/dist/render/pdf-content.d.ts +90 -0
  930. package/dist/render/pdf-content.d.ts.map +1 -0
  931. package/dist/render/pdf-content.js +367 -0
  932. package/dist/render/pdf-content.js.map +1 -0
  933. package/dist/render/pdf-document.d.ts +38 -0
  934. package/dist/render/pdf-document.d.ts.map +1 -0
  935. package/dist/render/pdf-document.js +110 -0
  936. package/dist/render/pdf-document.js.map +1 -0
  937. package/dist/render/pdf-hash.d.ts +14 -0
  938. package/dist/render/pdf-hash.d.ts.map +1 -0
  939. package/dist/render/pdf-hash.js +71 -0
  940. package/dist/render/pdf-hash.js.map +1 -0
  941. package/dist/render/pdf-syntax.d.ts +45 -0
  942. package/dist/render/pdf-syntax.d.ts.map +1 -0
  943. package/dist/render/pdf-syntax.js +100 -0
  944. package/dist/render/pdf-syntax.js.map +1 -0
  945. package/dist/render/pdf.d.ts +59 -0
  946. package/dist/render/pdf.d.ts.map +1 -0
  947. package/dist/render/pdf.js +267 -0
  948. package/dist/render/pdf.js.map +1 -0
  949. package/dist/render/png-decode.d.ts +33 -0
  950. package/dist/render/png-decode.d.ts.map +1 -0
  951. package/dist/render/png-decode.js +345 -0
  952. package/dist/render/png-decode.js.map +1 -0
  953. package/dist/render/png.d.ts +37 -0
  954. package/dist/render/png.d.ts.map +1 -0
  955. package/dist/render/png.js +350 -0
  956. package/dist/render/png.js.map +1 -0
  957. package/dist/render/raster.d.ts +40 -0
  958. package/dist/render/raster.d.ts.map +1 -0
  959. package/dist/render/raster.js +245 -0
  960. package/dist/render/raster.js.map +1 -0
  961. package/dist/render/scene.d.ts +84 -0
  962. package/dist/render/scene.d.ts.map +1 -0
  963. package/dist/render/scene.js +216 -0
  964. package/dist/render/scene.js.map +1 -0
  965. package/dist/render/sheets.d.ts +26 -0
  966. package/dist/render/sheets.d.ts.map +1 -0
  967. package/dist/render/sheets.js +83 -0
  968. package/dist/render/sheets.js.map +1 -0
  969. package/dist/render/svg.d.ts +54 -0
  970. package/dist/render/svg.d.ts.map +1 -0
  971. package/dist/render/svg.js +324 -0
  972. package/dist/render/svg.js.map +1 -0
  973. package/dist/render/types.d.ts +95 -0
  974. package/dist/render/types.d.ts.map +1 -0
  975. package/dist/render/types.js +9 -0
  976. package/dist/render/types.js.map +1 -0
  977. package/dist/segment/alphanumeric.d.ts +15 -0
  978. package/dist/segment/alphanumeric.d.ts.map +1 -0
  979. package/dist/segment/alphanumeric.js +23 -0
  980. package/dist/segment/alphanumeric.js.map +1 -0
  981. package/dist/segment/eci.d.ts +41 -0
  982. package/dist/segment/eci.d.ts.map +1 -0
  983. package/dist/segment/eci.js +194 -0
  984. package/dist/segment/eci.js.map +1 -0
  985. package/dist/segment/index.d.ts +10 -0
  986. package/dist/segment/index.d.ts.map +1 -0
  987. package/dist/segment/index.js +8 -0
  988. package/dist/segment/index.js.map +1 -0
  989. package/dist/segment/kanji.d.ts +57 -0
  990. package/dist/segment/kanji.d.ts.map +1 -0
  991. package/dist/segment/kanji.js +135 -0
  992. package/dist/segment/kanji.js.map +1 -0
  993. package/dist/segment/profile.d.ts +21 -0
  994. package/dist/segment/profile.d.ts.map +1 -0
  995. package/dist/segment/profile.js +66 -0
  996. package/dist/segment/profile.js.map +1 -0
  997. package/dist/segment/read.d.ts +29 -0
  998. package/dist/segment/read.d.ts.map +1 -0
  999. package/dist/segment/read.js +360 -0
  1000. package/dist/segment/read.js.map +1 -0
  1001. package/dist/segment/segment-text.d.ts +88 -0
  1002. package/dist/segment/segment-text.d.ts.map +1 -0
  1003. package/dist/segment/segment-text.js +422 -0
  1004. package/dist/segment/segment-text.js.map +1 -0
  1005. package/dist/segment/types.d.ts +89 -0
  1006. package/dist/segment/types.d.ts.map +1 -0
  1007. package/dist/segment/types.js +13 -0
  1008. package/dist/segment/types.js.map +1 -0
  1009. package/dist/segment/write.d.ts +36 -0
  1010. package/dist/segment/write.d.ts.map +1 -0
  1011. package/dist/segment/write.js +226 -0
  1012. package/dist/segment/write.js.map +1 -0
  1013. package/dist/studio/assets.d.ts +22 -0
  1014. package/dist/studio/assets.d.ts.map +1 -0
  1015. package/dist/studio/assets.js +66 -0
  1016. package/dist/studio/assets.js.map +1 -0
  1017. package/dist/studio/catalogue.d.ts +34 -0
  1018. package/dist/studio/catalogue.d.ts.map +1 -0
  1019. package/dist/studio/catalogue.js +359 -0
  1020. package/dist/studio/catalogue.js.map +1 -0
  1021. package/dist/studio/contrast.d.ts +16 -0
  1022. package/dist/studio/contrast.d.ts.map +1 -0
  1023. package/dist/studio/contrast.js +28 -0
  1024. package/dist/studio/contrast.js.map +1 -0
  1025. package/dist/studio/document.d.ts +61 -0
  1026. package/dist/studio/document.d.ts.map +1 -0
  1027. package/dist/studio/document.js +208 -0
  1028. package/dist/studio/document.js.map +1 -0
  1029. package/dist/studio/export.d.ts +52 -0
  1030. package/dist/studio/export.d.ts.map +1 -0
  1031. package/dist/studio/export.js +269 -0
  1032. package/dist/studio/export.js.map +1 -0
  1033. package/dist/studio/form.d.ts +15 -0
  1034. package/dist/studio/form.d.ts.map +1 -0
  1035. package/dist/studio/form.js +91 -0
  1036. package/dist/studio/form.js.map +1 -0
  1037. package/dist/studio/history.d.ts +66 -0
  1038. package/dist/studio/history.d.ts.map +1 -0
  1039. package/dist/studio/history.js +109 -0
  1040. package/dist/studio/history.js.map +1 -0
  1041. package/dist/studio/index.d.ts +16 -0
  1042. package/dist/studio/index.d.ts.map +1 -0
  1043. package/dist/studio/index.js +12 -0
  1044. package/dist/studio/index.js.map +1 -0
  1045. package/dist/studio/keys.d.ts +86 -0
  1046. package/dist/studio/keys.d.ts.map +1 -0
  1047. package/dist/studio/keys.js +165 -0
  1048. package/dist/studio/keys.js.map +1 -0
  1049. package/dist/studio/kit.d.ts +44 -0
  1050. package/dist/studio/kit.d.ts.map +1 -0
  1051. package/dist/studio/kit.js +114 -0
  1052. package/dist/studio/kit.js.map +1 -0
  1053. package/dist/studio/logo.d.ts +25 -0
  1054. package/dist/studio/logo.d.ts.map +1 -0
  1055. package/dist/studio/logo.js +49 -0
  1056. package/dist/studio/logo.js.map +1 -0
  1057. package/dist/studio/names.d.ts +18 -0
  1058. package/dist/studio/names.d.ts.map +1 -0
  1059. package/dist/studio/names.js +36 -0
  1060. package/dist/studio/names.js.map +1 -0
  1061. package/dist/studio/patch.d.ts +17 -0
  1062. package/dist/studio/patch.d.ts.map +1 -0
  1063. package/dist/studio/patch.js +64 -0
  1064. package/dist/studio/patch.js.map +1 -0
  1065. package/dist/studio/seams.d.ts +44 -0
  1066. package/dist/studio/seams.d.ts.map +1 -0
  1067. package/dist/studio/seams.js +36 -0
  1068. package/dist/studio/seams.js.map +1 -0
  1069. package/dist/studio/share.d.ts +16 -0
  1070. package/dist/studio/share.d.ts.map +1 -0
  1071. package/dist/studio/share.js +57 -0
  1072. package/dist/studio/share.js.map +1 -0
  1073. package/dist/studio/shuffle.d.ts +38 -0
  1074. package/dist/studio/shuffle.d.ts.map +1 -0
  1075. package/dist/studio/shuffle.js +181 -0
  1076. package/dist/studio/shuffle.js.map +1 -0
  1077. package/dist/studio/slices.d.ts +29 -0
  1078. package/dist/studio/slices.d.ts.map +1 -0
  1079. package/dist/studio/slices.js +84 -0
  1080. package/dist/studio/slices.js.map +1 -0
  1081. package/dist/studio/studio.d.ts +29 -0
  1082. package/dist/studio/studio.d.ts.map +1 -0
  1083. package/dist/studio/studio.js +1298 -0
  1084. package/dist/studio/studio.js.map +1 -0
  1085. package/dist/studio/symbol.d.ts +47 -0
  1086. package/dist/studio/symbol.d.ts.map +1 -0
  1087. package/dist/studio/symbol.js +159 -0
  1088. package/dist/studio/symbol.js.map +1 -0
  1089. package/dist/studio/timers.d.ts +18 -0
  1090. package/dist/studio/timers.d.ts.map +1 -0
  1091. package/dist/studio/timers.js +36 -0
  1092. package/dist/studio/timers.js.map +1 -0
  1093. package/dist/studio/types.d.ts +693 -0
  1094. package/dist/studio/types.d.ts.map +1 -0
  1095. package/dist/studio/types.js +26 -0
  1096. package/dist/studio/types.js.map +1 -0
  1097. package/dist/studio/verify.d.ts +47 -0
  1098. package/dist/studio/verify.d.ts.map +1 -0
  1099. package/dist/studio/verify.js +63 -0
  1100. package/dist/studio/verify.js.map +1 -0
  1101. package/dist/symbology/index.d.ts +8 -0
  1102. package/dist/symbology/index.d.ts.map +1 -0
  1103. package/dist/symbology/index.js +6 -0
  1104. package/dist/symbology/index.js.map +1 -0
  1105. package/dist/symbology/micro/blocks.d.ts +34 -0
  1106. package/dist/symbology/micro/blocks.d.ts.map +1 -0
  1107. package/dist/symbology/micro/blocks.js +63 -0
  1108. package/dist/symbology/micro/blocks.js.map +1 -0
  1109. package/dist/symbology/micro/entry.d.ts +70 -0
  1110. package/dist/symbology/micro/entry.d.ts.map +1 -0
  1111. package/dist/symbology/micro/entry.js +181 -0
  1112. package/dist/symbology/micro/entry.js.map +1 -0
  1113. package/dist/symbology/micro/format.d.ts +31 -0
  1114. package/dist/symbology/micro/format.d.ts.map +1 -0
  1115. package/dist/symbology/micro/format.js +48 -0
  1116. package/dist/symbology/micro/format.js.map +1 -0
  1117. package/dist/symbology/micro/index.d.ts +7 -0
  1118. package/dist/symbology/micro/index.d.ts.map +1 -0
  1119. package/dist/symbology/micro/index.js +5 -0
  1120. package/dist/symbology/micro/index.js.map +1 -0
  1121. package/dist/symbology/micro/layout.d.ts +40 -0
  1122. package/dist/symbology/micro/layout.d.ts.map +1 -0
  1123. package/dist/symbology/micro/layout.js +106 -0
  1124. package/dist/symbology/micro/layout.js.map +1 -0
  1125. package/dist/symbology/micro/mask.d.ts +25 -0
  1126. package/dist/symbology/micro/mask.d.ts.map +1 -0
  1127. package/dist/symbology/micro/mask.js +41 -0
  1128. package/dist/symbology/micro/mask.js.map +1 -0
  1129. package/dist/symbology/micro/modules.d.ts +76 -0
  1130. package/dist/symbology/micro/modules.d.ts.map +1 -0
  1131. package/dist/symbology/micro/modules.js +156 -0
  1132. package/dist/symbology/micro/modules.js.map +1 -0
  1133. package/dist/symbology/micro/profile.d.ts +16 -0
  1134. package/dist/symbology/micro/profile.d.ts.map +1 -0
  1135. package/dist/symbology/micro/profile.js +45 -0
  1136. package/dist/symbology/micro/profile.js.map +1 -0
  1137. package/dist/symbology/micro/read-helpers.d.ts +31 -0
  1138. package/dist/symbology/micro/read-helpers.d.ts.map +1 -0
  1139. package/dist/symbology/micro/read-helpers.js +66 -0
  1140. package/dist/symbology/micro/read-helpers.js.map +1 -0
  1141. package/dist/symbology/micro/tables.d.ts +63 -0
  1142. package/dist/symbology/micro/tables.d.ts.map +1 -0
  1143. package/dist/symbology/micro/tables.js +163 -0
  1144. package/dist/symbology/micro/tables.js.map +1 -0
  1145. package/dist/symbology/qr/blocks.d.ts +58 -0
  1146. package/dist/symbology/qr/blocks.d.ts.map +1 -0
  1147. package/dist/symbology/qr/blocks.js +176 -0
  1148. package/dist/symbology/qr/blocks.js.map +1 -0
  1149. package/dist/symbology/qr/build.d.ts +20 -0
  1150. package/dist/symbology/qr/build.d.ts.map +1 -0
  1151. package/dist/symbology/qr/build.js +91 -0
  1152. package/dist/symbology/qr/build.js.map +1 -0
  1153. package/dist/symbology/qr/entry.d.ts +13 -0
  1154. package/dist/symbology/qr/entry.d.ts.map +1 -0
  1155. package/dist/symbology/qr/entry.js +56 -0
  1156. package/dist/symbology/qr/entry.js.map +1 -0
  1157. package/dist/symbology/qr/index.d.ts +13 -0
  1158. package/dist/symbology/qr/index.d.ts.map +1 -0
  1159. package/dist/symbology/qr/index.js +9 -0
  1160. package/dist/symbology/qr/index.js.map +1 -0
  1161. package/dist/symbology/qr/info.d.ts +29 -0
  1162. package/dist/symbology/qr/info.d.ts.map +1 -0
  1163. package/dist/symbology/qr/info.js +53 -0
  1164. package/dist/symbology/qr/info.js.map +1 -0
  1165. package/dist/symbology/qr/layout.d.ts +37 -0
  1166. package/dist/symbology/qr/layout.d.ts.map +1 -0
  1167. package/dist/symbology/qr/layout.js +174 -0
  1168. package/dist/symbology/qr/layout.js.map +1 -0
  1169. package/dist/symbology/qr/mask.d.ts +35 -0
  1170. package/dist/symbology/qr/mask.d.ts.map +1 -0
  1171. package/dist/symbology/qr/mask.js +113 -0
  1172. package/dist/symbology/qr/mask.js.map +1 -0
  1173. package/dist/symbology/qr/read.d.ts +43 -0
  1174. package/dist/symbology/qr/read.d.ts.map +1 -0
  1175. package/dist/symbology/qr/read.js +219 -0
  1176. package/dist/symbology/qr/read.js.map +1 -0
  1177. package/dist/symbology/qr/tables.d.ts +62 -0
  1178. package/dist/symbology/qr/tables.d.ts.map +1 -0
  1179. package/dist/symbology/qr/tables.js +337 -0
  1180. package/dist/symbology/qr/tables.js.map +1 -0
  1181. package/dist/symbology/registry.d.ts +11 -0
  1182. package/dist/symbology/registry.d.ts.map +1 -0
  1183. package/dist/symbology/registry.js +19 -0
  1184. package/dist/symbology/registry.js.map +1 -0
  1185. package/dist/symbology/rmqr/entry.d.ts +56 -0
  1186. package/dist/symbology/rmqr/entry.d.ts.map +1 -0
  1187. package/dist/symbology/rmqr/entry.js +165 -0
  1188. package/dist/symbology/rmqr/entry.js.map +1 -0
  1189. package/dist/symbology/rmqr/format.d.ts +45 -0
  1190. package/dist/symbology/rmqr/format.d.ts.map +1 -0
  1191. package/dist/symbology/rmqr/format.js +72 -0
  1192. package/dist/symbology/rmqr/format.js.map +1 -0
  1193. package/dist/symbology/rmqr/index.d.ts +5 -0
  1194. package/dist/symbology/rmqr/index.d.ts.map +1 -0
  1195. package/dist/symbology/rmqr/index.js +5 -0
  1196. package/dist/symbology/rmqr/index.js.map +1 -0
  1197. package/dist/symbology/rmqr/layout.d.ts +46 -0
  1198. package/dist/symbology/rmqr/layout.d.ts.map +1 -0
  1199. package/dist/symbology/rmqr/layout.js +196 -0
  1200. package/dist/symbology/rmqr/layout.js.map +1 -0
  1201. package/dist/symbology/rmqr/profile.d.ts +15 -0
  1202. package/dist/symbology/rmqr/profile.d.ts.map +1 -0
  1203. package/dist/symbology/rmqr/profile.js +52 -0
  1204. package/dist/symbology/rmqr/profile.js.map +1 -0
  1205. package/dist/symbology/rmqr/tables.d.ts +62 -0
  1206. package/dist/symbology/rmqr/tables.d.ts.map +1 -0
  1207. package/dist/symbology/rmqr/tables.js +194 -0
  1208. package/dist/symbology/rmqr/tables.js.map +1 -0
  1209. package/dist/symbology/roles.d.ts +19 -0
  1210. package/dist/symbology/roles.d.ts.map +1 -0
  1211. package/dist/symbology/roles.js +35 -0
  1212. package/dist/symbology/roles.js.map +1 -0
  1213. package/dist/symbology/types.d.ts +126 -0
  1214. package/dist/symbology/types.d.ts.map +1 -0
  1215. package/dist/symbology/types.js +11 -0
  1216. package/dist/symbology/types.js.map +1 -0
  1217. package/dist/text/base64.d.ts +11 -0
  1218. package/dist/text/base64.d.ts.map +1 -0
  1219. package/dist/text/base64.js +49 -0
  1220. package/dist/text/base64.js.map +1 -0
  1221. package/dist/text/cmap.d.ts +17 -0
  1222. package/dist/text/cmap.d.ts.map +1 -0
  1223. package/dist/text/cmap.js +161 -0
  1224. package/dist/text/cmap.js.map +1 -0
  1225. package/dist/text/compiled.d.ts +52 -0
  1226. package/dist/text/compiled.d.ts.map +1 -0
  1227. package/dist/text/compiled.js +220 -0
  1228. package/dist/text/compiled.js.map +1 -0
  1229. package/dist/text/errors.d.ts +34 -0
  1230. package/dist/text/errors.d.ts.map +1 -0
  1231. package/dist/text/errors.js +26 -0
  1232. package/dist/text/errors.js.map +1 -0
  1233. package/dist/text/font.d.ts +29 -0
  1234. package/dist/text/font.d.ts.map +1 -0
  1235. package/dist/text/font.js +67 -0
  1236. package/dist/text/font.js.map +1 -0
  1237. package/dist/text/glyf.d.ts +62 -0
  1238. package/dist/text/glyf.d.ts.map +1 -0
  1239. package/dist/text/glyf.js +276 -0
  1240. package/dist/text/glyf.js.map +1 -0
  1241. package/dist/text/index.d.ts +13 -0
  1242. package/dist/text/index.d.ts.map +1 -0
  1243. package/dist/text/index.js +9 -0
  1244. package/dist/text/index.js.map +1 -0
  1245. package/dist/text/kerning.d.ts +36 -0
  1246. package/dist/text/kerning.d.ts.map +1 -0
  1247. package/dist/text/kerning.js +382 -0
  1248. package/dist/text/kerning.js.map +1 -0
  1249. package/dist/text/layout.d.ts +35 -0
  1250. package/dist/text/layout.d.ts.map +1 -0
  1251. package/dist/text/layout.js +287 -0
  1252. package/dist/text/layout.js.map +1 -0
  1253. package/dist/text/outline.d.ts +22 -0
  1254. package/dist/text/outline.d.ts.map +1 -0
  1255. package/dist/text/outline.js +79 -0
  1256. package/dist/text/outline.js.map +1 -0
  1257. package/dist/text/reader.d.ts +43 -0
  1258. package/dist/text/reader.d.ts.map +1 -0
  1259. package/dist/text/reader.js +83 -0
  1260. package/dist/text/reader.js.map +1 -0
  1261. package/dist/text/registry.d.ts +21 -0
  1262. package/dist/text/registry.d.ts.map +1 -0
  1263. package/dist/text/registry.js +32 -0
  1264. package/dist/text/registry.js.map +1 -0
  1265. package/dist/text/truetype.d.ts +44 -0
  1266. package/dist/text/truetype.d.ts.map +1 -0
  1267. package/dist/text/truetype.js +127 -0
  1268. package/dist/text/truetype.js.map +1 -0
  1269. package/dist/text/types.d.ts +106 -0
  1270. package/dist/text/types.d.ts.map +1 -0
  1271. package/dist/text/types.js +11 -0
  1272. package/dist/text/types.js.map +1 -0
  1273. package/dist/verify/camera.d.ts +59 -0
  1274. package/dist/verify/camera.d.ts.map +1 -0
  1275. package/dist/verify/camera.js +76 -0
  1276. package/dist/verify/camera.js.map +1 -0
  1277. package/dist/verify/capture.d.ts +40 -0
  1278. package/dist/verify/capture.d.ts.map +1 -0
  1279. package/dist/verify/capture.js +118 -0
  1280. package/dist/verify/capture.js.map +1 -0
  1281. package/dist/verify/coverage.d.ts +61 -0
  1282. package/dist/verify/coverage.d.ts.map +1 -0
  1283. package/dist/verify/coverage.js +90 -0
  1284. package/dist/verify/coverage.js.map +1 -0
  1285. package/dist/verify/degrade.d.ts +143 -0
  1286. package/dist/verify/degrade.d.ts.map +1 -0
  1287. package/dist/verify/degrade.js +503 -0
  1288. package/dist/verify/degrade.js.map +1 -0
  1289. package/dist/verify/fixes.d.ts +28 -0
  1290. package/dist/verify/fixes.d.ts.map +1 -0
  1291. package/dist/verify/fixes.js +277 -0
  1292. package/dist/verify/fixes.js.map +1 -0
  1293. package/dist/verify/homography.d.ts +32 -0
  1294. package/dist/verify/homography.d.ts.map +1 -0
  1295. package/dist/verify/homography.js +79 -0
  1296. package/dist/verify/homography.js.map +1 -0
  1297. package/dist/verify/index.d.ts +17 -0
  1298. package/dist/verify/index.d.ts.map +1 -0
  1299. package/dist/verify/index.js +11 -0
  1300. package/dist/verify/index.js.map +1 -0
  1301. package/dist/verify/inks.d.ts +39 -0
  1302. package/dist/verify/inks.d.ts.map +1 -0
  1303. package/dist/verify/inks.js +101 -0
  1304. package/dist/verify/inks.js.map +1 -0
  1305. package/dist/verify/job.d.ts +89 -0
  1306. package/dist/verify/job.d.ts.map +1 -0
  1307. package/dist/verify/job.js +314 -0
  1308. package/dist/verify/job.js.map +1 -0
  1309. package/dist/verify/keys.d.ts +92 -0
  1310. package/dist/verify/keys.d.ts.map +1 -0
  1311. package/dist/verify/keys.js +95 -0
  1312. package/dist/verify/keys.js.map +1 -0
  1313. package/dist/verify/ladders.d.ts +68 -0
  1314. package/dist/verify/ladders.d.ts.map +1 -0
  1315. package/dist/verify/ladders.js +154 -0
  1316. package/dist/verify/ladders.js.map +1 -0
  1317. package/dist/verify/prepare.d.ts +78 -0
  1318. package/dist/verify/prepare.d.ts.map +1 -0
  1319. package/dist/verify/prepare.js +307 -0
  1320. package/dist/verify/prepare.js.map +1 -0
  1321. package/dist/verify/preset.d.ts +111 -0
  1322. package/dist/verify/preset.d.ts.map +1 -0
  1323. package/dist/verify/preset.js +200 -0
  1324. package/dist/verify/preset.js.map +1 -0
  1325. package/dist/verify/read.d.ts +23 -0
  1326. package/dist/verify/read.d.ts.map +1 -0
  1327. package/dist/verify/read.js +55 -0
  1328. package/dist/verify/read.js.map +1 -0
  1329. package/dist/verify/region.d.ts +37 -0
  1330. package/dist/verify/region.d.ts.map +1 -0
  1331. package/dist/verify/region.js +80 -0
  1332. package/dist/verify/region.js.map +1 -0
  1333. package/dist/verify/static.d.ts +56 -0
  1334. package/dist/verify/static.d.ts.map +1 -0
  1335. package/dist/verify/static.js +277 -0
  1336. package/dist/verify/static.js.map +1 -0
  1337. package/dist/verify/types.d.ts +173 -0
  1338. package/dist/verify/types.d.ts.map +1 -0
  1339. package/dist/verify/types.js +36 -0
  1340. package/dist/verify/types.js.map +1 -0
  1341. package/package.json +191 -5
@@ -0,0 +1,190 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
6
+ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; base-uri 'none'; form-action 'none'; script-src 'sha256-13YEQDIqSETOoiivwzkriwQ/QVFGVI2D6MA7mvufbT4='; style-src 'sha256-mp8XE/tsLaKBfhkgWQ/BVXH6+nxZsBE8OsxPifClw7w='; img-src 'self' data: blob:; media-src 'self' blob: mediastream:; connect-src 'none'; frame-src 'none'; object-src 'none'" />
7
+ <meta name="color-scheme" content="light dark" />
8
+ <title>QR Code Studio</title>
9
+ <style>:root{color-scheme:light dark;--desk: #e6e3dc;--desk-line: rgb(60 50 30 / .06);--panel: #f0eee9;--panel-raised: #f7f5f1;--field: #fbfaf8;--hover: #e9e6df;--ink: #1b1a17;--on-ink: #f7f5f1;--dim: #57534b;--edge: #cfcac0;--edge-strong: #8c867b;--accent: #ad3416;--on-accent: #ffffff;--focus: #ad3416;--pass: #2b6a3b;--warn: #855400;--fail: #b0311a;--paper: #fffdf8;--paper-ink: #1b1a17;--paper-dim: #6a655b;--paper-line: #d8d3c8;--sans: system-ui, -apple-system, "Segoe UI", "Helvetica Neue", "Noto Sans", "Liberation Sans", sans-serif;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "URW Palladio L", Georgia, serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", "DejaVu Sans Mono", monospace;--radius: 6px;--paper-shadow: 0 1px 1px rgb(40 30 10 / .08), 0 8px 18px -6px rgb(40 30 10 / .22), 0 28px 60px -24px rgb(40 30 10 / .35)}@media (prefers-color-scheme: dark){:root{--desk: #131312;--desk-line: rgb(255 250 235 / .035);--panel: #1b1b19;--panel-raised: #222220;--field: #121211;--hover: #2a2a27;--ink: #ece9e2;--on-ink: #141413;--dim: #a8a398;--edge: #353430;--edge-strong: #77736a;--accent: #ff8f6b;--on-accent: #1c0b05;--focus: #ff8f6b;--pass: #86cf95;--warn: #e9b95a;--fail: #ff8f6b;--paper-shadow: 0 1px 1px rgb(0 0 0 / .5), 0 10px 24px -8px rgb(0 0 0 / .65), 0 34px 70px -30px rgb(0 0 0 / .8)}}@media (prefers-contrast: more){:root{--dim: #36332e;--edge: #6f6a60;--edge-strong: #36332e;--paper-dim: #3f3b34}}@media (prefers-contrast: more) and (prefers-color-scheme: dark){:root{--dim: #d6d2c9;--edge: #8e897f;--edge-strong: #d6d2c9}}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--desk);color:var(--ink);font:400 1rem/1.5 var(--sans);overflow-x:hidden}.desk{min-height:100vh;background-color:var(--desk);background-image:radial-gradient(120% 70% at 50% -10%,rgb(255 255 255 / .22),transparent 60%),linear-gradient(var(--desk-line) 1px,transparent 1px),linear-gradient(90deg,var(--desk-line) 1px,transparent 1px);background-size:100% 100%,24px 24px,24px 24px}@media (prefers-color-scheme: dark){.desk{background-image:radial-gradient(120% 70% at 50% -10%,rgb(255 250 235 / .04),transparent 60%),linear-gradient(var(--desk-line) 1px,transparent 1px),linear-gradient(90deg,var(--desk-line) 1px,transparent 1px)}}.shell,.footer{max-width:92rem;margin:0 auto;padding:1.25rem clamp(1rem,3vw,2.5rem) 1.5rem}.footer{padding-bottom:3rem}@media (max-width: 699px){.shell{padding-top:.9rem}}.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.mono{font-family:var(--mono)}h1,h2,h3,p{overflow-wrap:break-word}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}fieldset{margin:0;padding:0;border:0;min-width:0}.legend{display:block;padding:0;margin:0 0 .45rem;font-size:.8125rem;font-weight:600}.masthead{display:grid;gap:1rem 2rem;align-items:end;padding:.75rem 0 1.5rem}@media (min-width: 900px){.masthead{grid-template-columns:minmax(0,1fr) auto}}.eyebrow{display:flex;align-items:center;gap:.55rem;margin:0 0 .6rem;font:500 .75rem/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.eyebrow:before{content:"";width:.85rem;height:.85rem;border:1.5px solid var(--accent);border-radius:50%;background:linear-gradient(var(--accent),var(--accent)) center / 1.5px 100% no-repeat,linear-gradient(var(--accent),var(--accent)) center / 100% 1.5px no-repeat}.masthead__words{min-width:0}.masthead__title{margin:0;max-width:19ch;font-family:var(--serif);font-weight:600;font-size:clamp(1.75rem,1.15rem + 2.2vw,2.85rem);line-height:1.04;letter-spacing:-.015em;text-wrap:balance}.masthead__lede{margin:.65rem 0 0;max-width:58ch;color:var(--dim);font-size:.9375rem}.masthead__tools{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}.tabs{display:flex;gap:3px;padding:3px;border:1px solid var(--edge-strong);border-radius:var(--radius);background:var(--panel)}.tab{display:grid;min-height:2.75rem;padding:.4rem 1.1rem;border:0;border-radius:4px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.tab:hover{background:var(--hover)}.tab[aria-selected=true]{background:var(--ink);color:var(--on-ink)}.tab__label{font-weight:600;font-size:.9375rem;line-height:1.25}.tab__hint{font:400 .6875rem/1.3 var(--mono);opacity:.8}.tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}@media (max-width: 899px){.masthead__tools{align-items:flex-start}.tools{justify-content:flex-start}}@media (max-width: 699px){.masthead{gap:.75rem;padding:0 0 .75rem}.eyebrow{margin-bottom:.45rem}.masthead__tools{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.4rem}.tabs{flex:1 1 12rem}.tab{min-height:2.6rem}.tab__label{font-size:.875rem}.tools{flex-wrap:nowrap}.tools .btn__label{display:none}.tools .btn{min-width:2.5rem;min-height:2.6rem;padding:.3rem .5rem}.masthead__lede{font-size:.875rem;line-height:1.45}.tab{flex:1 1 0;justify-items:center;text-align:center;padding:.35rem .5rem}.tab__hint{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.5rem;padding:.5rem .95rem;border:1px solid var(--edge-strong);border-radius:4px;background:var(--panel-raised);color:var(--ink);font:500 .9375rem/1.2 var(--sans);text-align:center;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.btn:hover:not(:disabled){background:var(--hover);border-color:var(--ink)}.btn--primary{border-color:var(--ink);background:var(--ink);color:var(--on-ink)}.btn--primary:hover:not(:disabled){background:var(--ink);box-shadow:0 0 0 2px var(--panel),0 0 0 3px var(--ink)}.btn--small{min-height:2rem;padding:.3rem .65rem;font-size:.8125rem;gap:.35rem}.btn--compact .btn__label{display:none}.btn:disabled{cursor:not-allowed;opacity:.48}.btn[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.icon{width:1.1em;height:1.1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.card{border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel)}.card+.card{margin-top:.7rem}.card__head{display:flex;align-items:center;gap:.8rem;min-height:3.1rem;padding:.7rem 1rem;list-style:none;cursor:pointer;border-radius:var(--radius)}.card__head::-webkit-details-marker{display:none}.card__head:hover .card__title{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}.card__head--static{cursor:default}.card__head--static:hover .card__title{text-decoration:none}.card__num{font:500 .75rem/1 var(--mono);letter-spacing:.04em;color:var(--accent)}.card__title{margin:0;font:600 1rem/1.25 var(--sans)}.card__meta{min-width:0;max-width:55%;margin-left:auto;overflow:hidden;color:var(--dim);font:400 .75rem/1.3 var(--mono);text-overflow:ellipsis;white-space:nowrap}.card__chevron{width:1rem;height:1rem;margin-left:.25rem;color:var(--dim);transition:transform .16s ease}.card[open]>.card__head .card__chevron{transform:rotate(180deg)}.card[open]>.card__head{border-bottom:1px dashed var(--edge);border-radius:var(--radius) var(--radius) 0 0}.card__body{padding:.4rem 1rem 1.1rem}.card--static .card__body{padding-top:1rem}.notice{margin:0 0 .75rem;padding:.65rem .85rem;border-left:3px solid var(--warn);border-radius:0 4px 4px 0;background:var(--panel);font-size:.875rem}.choice{position:relative;display:block;min-width:0}.choice__input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.choice__input:disabled{cursor:not-allowed}.choice__box{display:flex;align-items:center;gap:.5rem;height:100%;border:1px solid var(--edge);border-radius:4px;background:var(--panel-raised);color:var(--ink);font-size:.875rem;line-height:1.25;transition:border-color .12s ease,background-color .12s ease}.choice__input:hover+.choice__box{border-color:var(--edge-strong)}.choice__input:checked+.choice__box{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.choice__input:focus-visible+.choice__box{outline:2px solid var(--focus);outline-offset:2px}.choice__input:disabled+.choice__box{opacity:.5}.choice__img{display:block;flex:none;background:var(--paper);border-radius:2px}.choice__label{min-width:0;overflow-wrap:anywhere}.choice__hint{color:var(--dim);font-size:.75rem}.segments{margin-top:.9rem}.segments__grid{display:flex;flex-wrap:wrap;gap:.3rem}.segments .choice__box{min-height:2.25rem;padding:.35rem .75rem}.segments .choice__input:checked+.choice__box{background:var(--ink);color:var(--on-ink)}.chips__grid{display:flex;flex-wrap:wrap;gap:.4rem;align-items:stretch}.chips .choice__box{min-height:2.35rem;padding:.35rem .85rem;border-radius:999px;white-space:nowrap}.chips .choice__input:checked+.choice__box{background:var(--ink);color:var(--on-ink)}.more{display:flex;min-width:9rem}.more__select.input{min-height:2.35rem;padding-top:.3rem;padding-bottom:.3rem;border-radius:999px;font-size:.875rem}.more[data-active=true] .more__select{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);font-weight:600}@media (max-width: 699px){.chips__grid{flex-wrap:nowrap;overflow-x:auto;margin:0 -1rem;padding:.15rem 1rem .5rem;scrollbar-width:thin}.chips .choice{flex:none}}.swatches{margin-top:.9rem}.swatches__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.4rem,1fr));gap:.45rem}.swatches .choice__box{flex-direction:column;justify-content:flex-start;gap:.35rem;padding:.45rem .35rem .5rem;text-align:center;font-size:.75rem}.swatches .choice__img{width:3rem;height:3rem}.gallery,.gallery__set{min-width:0}.gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.25rem,1fr));gap:.5rem;margin-top:.4rem}.gallery__category{grid-column:1 / -1;margin:.75rem 0 0;font:500 .6875rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.gallery__category:first-child{margin-top:.25rem}.choice--preset .choice__box{flex-direction:column;gap:.4rem;padding:.45rem .4rem .55rem;text-align:center;font-size:.75rem}.choice--preset .choice__img{width:100%;max-width:5rem;height:auto;aspect-ratio:1;object-fit:contain}.gallery__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:1rem}.gallery__actions .field__hint{flex:1 1 14rem}.field{display:grid;grid-template-columns:minmax(0,1fr);gap:.3rem;margin-top:.9rem}.field__select{overflow:hidden;margin:-3px;padding:3px}.field__label{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:0;font-size:.8125rem;font-weight:600}.field__hint{margin:0;color:var(--dim);font-size:.8125rem}.field__hint--error{color:var(--fail)}.field__issues{display:grid;gap:.3rem;margin:.15rem 0 0;padding:0;list-style:none}.field__extras{display:flex;flex-wrap:wrap;gap:.4rem}.field--check{gap:.2rem}.field--list .list{display:grid;gap:.4rem}.list__row{display:flex;gap:.4rem;align-items:center}.list__row .input{flex:1;min-width:0}.input{width:100%;min-width:0;max-width:100%;min-height:2.6rem;padding:.5rem .7rem;border:1px solid var(--edge-strong);border-radius:4px;background:var(--field);color:var(--ink);font:inherit;font-size:1rem}.input:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--ink)}.input[aria-invalid=true]{border-color:var(--fail);box-shadow:inset 3px 0 0 var(--fail)}.input::placeholder{color:var(--dim);opacity:.85}.input--area{min-height:5.5rem;resize:vertical}.input--mono{font-family:var(--mono);font-size:.875rem}.input--hex{width:6.5rem;font-family:var(--mono);font-size:.875rem}.input--number{max-width:11rem;font-family:var(--mono)}.input--select{cursor:pointer;overflow:hidden;text-overflow:ellipsis}.tick{display:inline-flex;align-items:center;gap:.55rem;min-height:2.25rem;margin-top:.6rem;font-size:.875rem;cursor:pointer}.tick input{width:1.15rem;height:1.15rem;margin:0;accent-color:var(--ink)}.tag{display:inline-block;padding:.2rem .35rem;border:1px solid var(--edge-strong);border-radius:3px;color:var(--dim);font:500 .625rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}.note{display:flex;align-items:flex-start;gap:.45rem;margin:0;font-size:.8125rem;line-height:1.4}.note .icon{width:1rem;height:1rem;margin-top:.1rem}.note--error{color:var(--fail)}.note--warning{color:var(--warn)}.note--info{color:var(--dim)}p.note{display:block;margin-top:.75rem}.slider{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.15rem .75rem;margin-top:.9rem}.slider__label{font-size:.8125rem;font-weight:600}.slider__value{color:var(--dim);font:400 .8125rem/1.2 var(--mono)}.slider__input{grid-column:1 / -1;width:100%;min-height:1.6rem;margin:0;accent-color:var(--ink)}.colour-well{width:2.75rem;height:2.5rem;padding:.15rem;border:1px solid var(--edge-strong);border-radius:4px;background:var(--field);cursor:pointer}.content,.form,.form__group{display:grid;min-width:0}.content__action-text{font-weight:500}.content__description{margin:.6rem 0 0;color:var(--dim);font-size:.8125rem}.content__action{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:1.1rem 0 0;padding:.55rem .8rem;border-left:3px solid var(--accent);border-radius:0 4px 4px 0;background:var(--panel-raised);font-size:.9375rem}.content__action-label{color:var(--dim);font:500 .6875rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.content__notes{display:grid}.form__group--named{margin-top:1.1rem;padding-top:.6rem;border-top:1px dashed var(--edge)}.form__group--named>.legend{color:var(--dim);font:500 .6875rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.advanced{margin-top:1rem}.advanced__head{display:flex;align-items:center;min-height:2.25rem;list-style:none;font-size:.875rem;font-weight:600;cursor:pointer}.advanced__head::-webkit-details-marker{display:none}.advanced__head:after,.encoding__title:after{content:"+";margin-left:.4rem;color:var(--dim);font:500 .875rem/1 var(--mono)}.advanced[open]>.advanced__head:after,.encoding[open] .encoding__title:after{content:"\2212"}.advanced__body{padding-left:.75rem;border-left:2px solid var(--edge)}.notes{margin-top:1rem}.notes__title{margin:1.1rem 0 .45rem;color:var(--dim);font:500 .6875rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.notes__list{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.encoding{margin-top:1.1rem;padding-top:.7rem;border-top:1px solid var(--edge)}.encoding__head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.3rem .8rem;min-height:2.5rem;list-style:none;cursor:pointer;border-radius:4px}.encoding__head::-webkit-details-marker{display:none}.encoding__title{font-size:.8125rem;font-weight:600}.encoding__reading{grid-column:1 / -1;color:var(--dim);font:400 .75rem/1.3 var(--mono)}.meter{position:relative;display:block;height:.45rem;overflow:hidden;border-radius:999px;background:var(--edge)}.meter__fill{position:absolute;inset:0;background:var(--ink);transform:scaleX(var(--fill, 0));transform-origin:left center;transition:transform .2s ease}.meter[data-level=high] .meter__fill{background:var(--warn)}.encoding__body{padding-top:.25rem}.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.4rem 1rem;margin:.75rem 0 0}.facts dt{font-size:.8125rem;font-weight:600}.facts dd{margin:0;font-size:.875rem;overflow-wrap:anywhere}.facts--mono dd{font:400 .8125rem/1.45 var(--mono)}.panel{display:grid}.panel__part+.panel__part{margin-top:1.1rem;padding-top:.2rem;border-top:1px dashed var(--edge)}.params,.paint,.paint__body{display:grid}.ink{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.ink__label{min-width:4.5rem;font-size:.8125rem;font-weight:600}.ink .field__hint{flex-basis:100%}.stops{display:grid;gap:.6rem;margin:.6rem 0 0;padding:0;list-style:none}.stops__row{padding-top:.25rem;border-top:1px dashed var(--edge)}.stops__row>.btn{margin-top:.5rem}.stops+.btn{justify-self:start;margin-top:.75rem}.contrast{margin-top:1.25rem;padding:.8rem .9rem;border:1px solid var(--edge);border-radius:4px;background:var(--panel-raised)}.contrast__row{display:flex;align-items:center;gap:.85rem}.contrast__swatch{display:grid;flex:none;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--edge);border-radius:3px;background:var(--bg, #ffffff)}.contrast__fg{width:1.2rem;height:1.2rem;background:var(--fg, #000000)}.contrast__ratio{margin:0;font:500 1.0625rem/1.3 var(--mono)}.contrast__verdict{margin:0;font-size:.8125rem}.contrast[data-level=good] .contrast__verdict{color:var(--pass)}.contrast[data-level=fair] .contrast__verdict{color:var(--warn)}.contrast[data-level=poor] .contrast__verdict{color:var(--fail)}.logo__upload{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin-top:1rem}.logo__upload .field__hint{flex:1 1 14rem}.logo__settings{display:grid}.logo__level{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:1rem}.frame__text{display:grid}.check__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;margin-top:.4rem}.check__status{margin:0;font-weight:600}.check[data-status=unavailable] .check__status{color:var(--dim)}.check[data-verdict=pass] .check__status{color:var(--pass)}.check[data-verdict=warn] .check__status{color:var(--warn)}.check[data-verdict=fail] .check__status{color:var(--fail)}.check[data-depth=quick] .check__status{font-weight:500}.check:not([data-status=running]) .check__progress,.bulk:not([data-status=running]) .check__progress{display:none}.check__progress{position:relative;display:block;height:3px;margin-top:.75rem;overflow:hidden;background:var(--edge)}.check__progress-fill{position:absolute;inset:0;background:var(--accent);transform:scaleX(var(--fill, 0));transform-origin:left center;transition:transform .16s linear}.check__detail{display:grid}.check__limit{margin:.8rem 0 0;font:400 .875rem/1.45 var(--mono)}.checks{display:grid;gap:.55rem;margin:.9rem 0 0;padding:0;list-style:none}.checks__row{display:grid;grid-template-columns:1rem minmax(0,1fr) auto;align-items:baseline;gap:.15rem .55rem;font-size:.875rem}.checks__row .icon{align-self:center}.checks__name{font-weight:600}.checks__word{font:500 .75rem/1.2 var(--mono)}.checks__sentence,.checks__numbers{grid-column:2 / -1;color:var(--dim);font-size:.8125rem}.checks__numbers{font-family:var(--mono);font-size:.75rem}.checks--captures .checks__row{grid-template-columns:1rem minmax(0,1fr) auto}[data-result=pass]>.icon,.checks__row[data-result=pass] .checks__word{color:var(--pass)}[data-result=warn]>.icon,.checks__row[data-result=warn] .checks__word{color:var(--warn)}[data-result=fail]>.icon,.checks__row[data-result=fail] .checks__word{color:var(--fail)}.fixes{margin-top:.25rem}.fixes__list{display:flex;flex-wrap:wrap;gap:.45rem}.export__options{display:grid}.export>.btn--primary{justify-self:start;margin-top:1.1rem}@media (max-width: 699px){.export>.btn--primary{display:none}}.library__save{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.library__save .field{flex:1 1 100%;margin-bottom:.25rem}.library__list{display:grid;gap:.45rem;margin:.9rem 0 0;padding:0;list-style:none}.library__item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .75rem;border:1px solid var(--edge);border-radius:4px;background:var(--panel-raised)}.library__about{min-width:0}.library__name{display:block;font-weight:600;overflow-wrap:anywhere}.library__when{display:block;color:var(--dim);font:400 .75rem/1.4 var(--mono)}.library__palette{display:flex;flex-wrap:wrap;gap:3px;margin-top:.35rem}.library__ink{width:1rem;height:1rem;border:1px solid var(--edge-strong);border-radius:2px;background:var(--ink-swatch, transparent);forced-color-adjust:none}.library__actions,.library__files{display:flex;flex-wrap:wrap;gap:.4rem}.library__files{margin-top:.9rem}.library>.note{margin-top:.75rem}.mode{display:block}.create{display:grid;gap:1.5rem;align-items:start}.create__controls{min-width:0}.proof-sentinel{display:block;height:0}.proof-spacer{display:none}@media (min-width: 700px){.create{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem}.create__controls{grid-column:1;grid-row:1}.create__proof{position:sticky;top:1rem;grid-column:2;grid-row:1}}@media (min-width: 1100px){.create{grid-template-columns:minmax(27rem,36rem) minmax(0,1fr);gap:2.25rem}}.proof{display:grid;gap:.8rem}.proof__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem}.proof__bar .segments{margin:0 auto 0 0}.proof__bar .segments .choice__box{min-height:2rem;padding:.25rem .65rem;font-size:.8125rem}.proof__desk{display:flex;justify-content:center}.proof__sheet{position:relative;width:fit-content;max-width:100%;padding:1.9rem 1.9rem 1rem 1.1rem;border-radius:2px;background:var(--paper);box-shadow:var(--paper-shadow);color:var(--paper-ink);forced-color-adjust:none}.proof__sheet[data-surround=dark]{--paper-ink: #e9e5dc;--paper-dim: #a59f93;--paper-line: #45423c;background:#1d1c1a}.proof__sheet[data-size=true]{min-width:min(100%,20rem);overflow:auto}.proof__registration{position:absolute;top:.5rem;left:50%;width:14px;height:14px;fill:none;stroke:var(--paper-dim);stroke-width:1;transform:translate(-50%)}.proof__frame{position:relative;display:grid;grid-template-columns:18px 14px max-content;grid-template-rows:18px 14px max-content}.proof__corner{grid-column:1;grid-row:1;align-self:end;justify-self:end;width:7px;height:7px;border-right:1px solid var(--paper-dim);border-bottom:1px solid var(--paper-dim)}.ruler{display:block;overflow:visible;color:var(--paper-dim)}.ruler path{fill:none;stroke:currentColor;stroke-width:1}.ruler text{fill:currentColor;font:8px var(--mono)}.ruler--top{grid-column:3;grid-row:1}.ruler--left{grid-column:1;grid-row:3}.proof__stage{position:relative;grid-column:3;grid-row:3;width:min(calc(100vw - 6rem),calc(100vh - 25rem),34rem);min-width:9rem;aspect-ratio:1 / var(--ratio, 1)}.proof__sheet[data-size=true] .proof__stage{width:var(--true-width, 10rem);min-width:0}@media (min-width: 700px){.proof__stage{width:min(calc(50vw - 7rem),calc(100vh - 25rem),34rem)}}@media (min-width: 1100px){.proof__stage{width:min(calc(100vw - 48rem),calc(100vh - 25.5rem),38rem);min-width:14rem}}.proof__stage[data-ground=transparent]{background:repeating-conic-gradient(#dcd8cf 0% 25%,#fff 0% 50%) 0 0 / 12px 12px}.proof__img{display:block;width:100%;height:100%}.proof__stage[data-state=sample] .proof__img{opacity:.3;filter:grayscale(1)}.proof__quiet{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.proof__quiet rect{fill:none;stroke:var(--accent);stroke-width:1;stroke-dasharray:4 3;opacity:.75}.proof__sheet[data-surround=dark] .proof__quiet rect{stroke:#ff8f6b}.crop{position:absolute;width:0;height:0;grid-column:3;grid-row:3;color:var(--paper-ink)}.crop:before,.crop:after{content:"";position:absolute;background:currentColor}.crop:before{width:1px;height:10px}.crop:after{width:10px;height:1px}.crop--tl{top:0;left:0}.crop--tr{top:0;right:0}.crop--bl{bottom:0;left:0}.crop--br{right:0;bottom:0}.crop--tl:before,.crop--tr:before{bottom:3px;left:-.5px}.crop--bl:before,.crop--br:before{top:3px;left:-.5px}.crop--tl:after,.crop--bl:after{top:-.5px;right:3px}.crop--tr:after,.crop--br:after{top:-.5px;left:3px}.proof__badge{position:absolute;top:.5rem;left:50%;z-index:2;padding:.3rem .55rem;border-radius:2px;background:var(--accent);color:var(--on-accent);font:700 .6875rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;transform:translate(-50%);white-space:nowrap}.proof__stage[data-state=sample] .proof__badge{top:50%;background:var(--paper-ink);color:var(--paper);transform:translate(-50%,-50%)}.proof__slug{contain:inline-size;display:flex;flex-wrap:wrap;gap:.15rem .9rem;margin:.9rem 0 0 32px;color:var(--paper-dim);font:400 .6875rem/1.4 var(--mono);letter-spacing:.02em}.proof__slug-label{color:var(--paper-ink);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.proof__note{margin:0;color:var(--dim);font-size:.8125rem;text-align:center}.proof__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.card__body>.proof__actions{justify-content:flex-start;margin-top:1rem}@keyframes proof-print{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}@keyframes proof-roller{0%{top:0;opacity:1}88%{opacity:1}to{top:100%;opacity:0}}.proof__stage--printing .proof__img{animation:proof-print .82s cubic-bezier(.3,.6,.2,1) both}.proof__stage--printing:after{content:"";position:absolute;left:-8px;right:-8px;z-index:3;height:2px;background:var(--accent);box-shadow:0 0 0 1px #fff9;animation:proof-roller .82s cubic-bezier(.3,.6,.2,1) both}.strip{display:grid;gap:.4rem}.strip__title{margin:0;color:var(--dim);font:500 .6875rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.strip__row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;margin:0;padding:0;list-style:none}.strip__caption{margin:0;color:var(--dim);font-size:.75rem}.strip[data-stale=true] .strip__row{opacity:.6}.capture{display:grid;gap:.2rem;min-width:0;font-size:.6875rem;line-height:1.25}.capture__view{position:relative;display:grid;place-items:center;overflow:hidden;aspect-ratio:1;border-bottom:4px solid var(--edge);border-radius:2px 2px 0 0;background:var(--paper);forced-color-adjust:none}.capture[data-result=pass] .capture__view{border-bottom-color:var(--pass)}.capture[data-result=partial] .capture__view{border-bottom-color:var(--warn)}.capture[data-result=fail] .capture__view{border-bottom-color:var(--fail)}.capture__img{display:block;width:86%;height:86%;object-fit:contain}.capture--far .capture__img{width:34%;height:34%}.capture--soft .capture__img{filter:blur(1.4px)}.capture--angle .capture__img{transform:perspective(110px) rotateY(40deg) rotateX(12deg) scale(.8)}.capture--dim .capture__view{background:#6d6a63}.capture--dim .capture__img{filter:brightness(.4) contrast(.85)}.capture--glare .capture__view:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 46% 36% at 64% 36%,#fffffff5,#ffffff80 45%,#fff0 75%)}.capture--ink .capture__img{filter:blur(.7px) brightness(.78) contrast(2.6)}.capture__name{font-weight:600;overflow-wrap:anywhere}.capture__result{display:flex;align-items:center;gap:.2rem;color:var(--dim);font:400 .625rem/1.2 var(--mono)}.capture__result .icon{width:.85rem;height:.85rem}.capture[data-result=pass] .capture__result{color:var(--pass)}.capture[data-result=partial] .capture__result{color:var(--warn)}.capture[data-result=fail] .capture__result{color:var(--fail)}@media (max-width: 699px){.strip__row{grid-template-columns:repeat(auto-fill,minmax(4.25rem,1fr))}.create{display:flex;flex-direction:column;align-items:stretch;gap:0}.create__proof{order:-2}.proof-spacer{order:-1;flex:none}.create__proof{position:sticky;top:0;z-index:20;margin:0 -1rem .75rem;padding:.25rem 1rem .5rem;border-bottom:1px solid transparent}.proof__note{display:none}.card__body>.proof__bar{justify-content:flex-start;margin-top:.75rem}.proof-spacer{display:block;height:0}.proof__stage{width:min(calc(100vw - 7rem),8.5rem);min-width:0}.proof__sheet{padding:1.25rem 1.25rem .6rem .7rem}.proof__slug{margin-top:.5rem;font-size:.625rem;gap:0 .6rem}.create__proof[data-compact=true]{background:var(--desk);border-bottom-color:var(--edge);box-shadow:0 8px 18px -12px #00000059}.create__proof[data-compact=true] .proof__bar,.create__proof[data-compact=true] .proof__note,.create__proof[data-compact=true] .proof__registration,.create__proof[data-compact=true] .ruler,.create__proof[data-compact=true] .proof__corner,.create__proof[data-compact=true] .crop{display:none}.create__proof[data-compact=true] .proof__desk{justify-content:flex-start}.create__proof[data-compact=true] .proof__sheet{display:flex;align-items:center;gap:.9rem;width:100%;padding:.5rem .75rem}.create__proof[data-compact=true] .proof__frame{display:block}.create__proof[data-compact=true] .proof__stage{width:4.75rem}.create__proof[data-compact=true] .proof__slug{contain:none;flex:1 1 auto;margin:0;font-size:.6875rem}.create__proof[data-compact=true] .proof__badge{top:auto;bottom:-.2rem;font-size:.5625rem;padding:.2rem .3rem}}.dock{display:none}@media (max-width: 699px){body[data-mode=create] .dock{position:fixed;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--edge);background:var(--panel)}body[data-mode=create]{padding-bottom:4.5rem}}.dock__note{min-width:0;overflow:hidden;color:var(--dim);font-size:.75rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dock .btn{flex:none}.toast{position:fixed;bottom:1.25rem;left:50%;z-index:40;max-width:min(34rem,calc(100vw - 2rem));margin:0;padding:.65rem .95rem;border-radius:4px;background:var(--ink);color:var(--on-ink);font-size:.875rem;opacity:0;pointer-events:none;transform:translate(-50%,.75rem);transition:opacity .18s ease,transform .18s ease}.toast[data-shown=true]{opacity:1;transform:translate(-50%)}@media (max-width: 699px){body[data-mode=create] .toast{bottom:5.25rem}}.veil{position:fixed;inset:0;z-index:50;display:none;place-items:center;padding:1rem;background:#14120e73;pointer-events:none}.veil[data-shown=true]{display:grid}.veil__card{max-width:28rem;padding:1.5rem 2rem;border:2px dashed var(--accent);border-radius:8px;background:var(--paper);color:var(--paper-ink);text-align:center}.veil__title{margin:0;font:600 1.5rem/1.2 var(--serif)}.veil__text{margin:.4rem 0 0;color:var(--paper-dim)}.calibrate{width:min(38rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:1.25rem 1.4rem;border:1px solid var(--edge-strong);border-radius:8px;background:var(--panel);color:var(--ink)}.calibrate::backdrop{background:#14120e80}.calibrate__title{margin:0;font:600 1.35rem/1.2 var(--serif)}.calibrate__help{margin:.5rem 0 0;color:var(--dim);font-size:.875rem}.calibrate__bench{margin-top:1rem;padding:1rem 0;overflow-x:auto}.calibrate__card{border:2px solid var(--accent);border-radius:12px;background:repeating-linear-gradient(-45deg,transparent 0 6px,rgb(173 52 22 / .08) 6px 12px)}.calibrate__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.1rem}.scan,.scan__inputs,.results{min-width:0}.scan__intro{margin-bottom:1.25rem}.mode__title{margin:0;font:600 clamp(1.4rem,1.1rem + 1vw,1.85rem) / 1.15 var(--serif)}.mode__lede{max-width:60ch;margin:.4rem 0 0;color:var(--dim)}.scan__grid{display:grid;gap:1.25rem;align-items:start}@media (min-width: 900px){.scan__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.viewfinder{position:relative;display:grid;place-items:center;overflow:hidden;aspect-ratio:4 / 3;border-radius:4px;background:#0f0f0e;forced-color-adjust:none}.viewfinder__video{width:100%;height:100%;object-fit:contain}.viewfinder[data-live=false] .viewfinder__video,.viewfinder[data-live=refused] .viewfinder__video{opacity:0}.viewfinder__frame{position:absolute;inset:16% 26%;border:2px solid rgb(255 255 255 / .6);border-radius:8px}.viewfinder[data-live=refused] .viewfinder__frame{border-style:dashed;opacity:.45}.viewfinder__outline{position:absolute;inset:0;width:100%;height:100%}.viewfinder__outline polygon{fill:#ff8f6b2e;stroke:#ff8f6b;stroke-width:6;stroke-linejoin:round}.viewfinder__controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:.85rem}.viewfinder__status{flex:1 1 14rem;margin:0;color:var(--dim);font-size:.875rem}.dropzone{display:grid;justify-items:center;gap:.6rem;margin-top:1rem;padding:1.25rem 1rem;border:1.5px dashed var(--edge-strong);border-radius:var(--radius);text-align:center}.dropzone[data-over=true]{border-color:var(--accent);background:var(--panel-raised)}.dropzone--compact{margin-top:0}.dropzone__icon{width:2rem;height:2rem;color:var(--dim)}.dropzone__text{margin:0;font-weight:600}.results__head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.results__title{margin:0;font:600 1.35rem/1.2 var(--serif)}.results__status{margin:.3rem 0 .75rem;color:var(--dim)}.results__list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.results__card+.results__card{margin-top:0}.results__symbol{margin:0;color:var(--dim);font:400 .75rem/1.3 var(--mono)}.results__type{margin:0;font-weight:600}.results__value{overflow-wrap:anywhere}.results__value--secret{font-family:var(--mono);letter-spacing:.1em}.results__secret{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem}.results__host{margin:0;font:500 1rem/1.4 var(--mono);overflow-wrap:anywhere}.results__text{max-height:14rem;margin:0;padding:.75rem .85rem;overflow:auto;border-radius:3px;background:var(--paper);color:var(--paper-ink);font:400 .875rem/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.results__actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem}.steps{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}@media (min-width: 1100px){.steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.step+.step{margin-top:0}.bulk__summary{margin:.65rem 0 0;color:var(--dim);font:400 .8125rem/1.4 var(--mono)}.mapping{display:grid;grid-template-columns:minmax(0,1fr);gap:.15rem}.mapping__row{display:grid;grid-template-columns:minmax(0,1fr);gap:.3rem;margin-top:.7rem}.preview{display:grid;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none}.preview__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:.2rem .75rem;padding:.45rem .65rem;border:1px solid var(--edge);border-radius:4px;background:var(--panel-raised);font-size:.8125rem}.preview__number{color:var(--dim);font-family:var(--mono)}.preview__name{font-family:var(--mono);overflow-wrap:anywhere}.preview__state{display:inline-flex;align-items:center;gap:.25rem}.preview__row[data-result=pass] .preview__state{color:var(--pass)}.preview__row[data-result=fail] .preview__state{color:var(--fail)}.preview__issues{grid-column:1 / -1;margin:0;padding-left:1.1rem;color:var(--dim)}.preview__more{color:var(--dim);font-size:.8125rem}.bulk__output{display:grid;grid-template-columns:minmax(0,1fr)}.bulk__run{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}.bulk[data-status=running] .check__progress-fill{background:var(--ink)}.about__body{display:grid;gap:.5rem 2rem}@media (min-width: 900px){.about__body{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}.about__part:last-child{grid-column:1 / -1}}.about__line{margin:.6rem 0 0;font-size:.875rem}.about__line .mono{margin-left:.4rem}.licence{max-height:16rem;margin:.6rem 0 0;padding:.75rem .9rem;overflow:auto;border:1px solid var(--edge);border-radius:4px;background:var(--panel-raised);font:400 .6875rem/1.5 var(--mono);white-space:pre-wrap}.strip-host,.actions-host,.proof__bar-host{display:grid}.strip-host:empty,.actions-host:empty,.proof__bar-host:empty{display:none}@media (forced-colors: active){.choice__input:checked+.choice__box,.tab[aria-selected=true],.btn[aria-pressed=true]{outline:3px solid Highlight;outline-offset:-3px}.meter__fill,.check__progress-fill{background:Highlight}.capture__view,.proof__sheet,.viewfinder{border:1px solid CanvasText}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.print-sheet{display:none}@media print{@page{margin:12mm}body{background:#fff}body>:not(.print-sheet){display:none!important}.print-sheet{display:block}.print-sheet__img{display:block;height:auto;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
10
+ </style>
11
+ </head>
12
+ <body>
13
+ <div class="desk">
14
+ <main class="shell" id="app"></main>
15
+ <footer class="footer">
16
+ <details class="about card">
17
+ <summary class="card__head">
18
+ <span class="card__num">00</span>
19
+ <h2 class="card__title" id="about-title"></h2>
20
+ </summary>
21
+ <div class="card__body about__body">
22
+ <section class="about__part" aria-labelledby="facts-title">
23
+ <h3 class="notes__title" id="facts-title"></h3>
24
+ <dl class="facts">
25
+ <dt>Network</dt>
26
+ <dd id="fact-network">
27
+ None. There is no fetch, XMLHttpRequest, WebSocket, EventSource or sendBeacon in this
28
+ file, and its security policy refuses every connection.
29
+ </dd>
30
+ <dt>Storage</dt>
31
+ <dd id="fact-storage">
32
+ None. It keeps no cookies, no local or session storage, no database and no cache. A
33
+ library is a file you save yourself.
34
+ </dd>
35
+ </dl>
36
+ <p class="field__hint" id="check-it"></p>
37
+ </section>
38
+ <section class="about__part">
39
+ <p class="about__line">
40
+ <span id="version-label"></span> <span class="mono" id="version"></span>
41
+ </p>
42
+ <p class="about__line">
43
+ <span id="source-label"></span>
44
+ <span class="mono">github.com/hexpro-dev/qr-code-studio</span>
45
+ </p>
46
+ </section>
47
+ <section class="about__part" aria-labelledby="licence-title">
48
+ <h3 class="notes__title" id="licence-title"></h3>
49
+ <p class="field__hint" id="licence-intro"></p>
50
+ <pre class="licence" id="font-licence" tabindex="0" role="region" aria-labelledby="licence-title"></pre>
51
+ </section>
52
+ </div>
53
+ </details>
54
+ </footer>
55
+ </div>
56
+ <script>"use strict";(()=>{var K=class extends Error{code;params;constructor(t,n,r={},o){super(n,o),this.code=t,this.params=r,this.name=new.target.name}};function bu(e){return e instanceof K}var bn=class extends K{constructor(){super("cancelled","That was stopped before it finished.")}},Gs=class extends K{bitsNeeded;bitsAvailable;constructor(t,n){super("encode/too-much-data","That is too much to fit in one code at these settings. Shorten it, lower the error correction, or allow a larger code.",{bitsNeeded:t,bitsAvailable:n}),this.bitsNeeded=t,this.bitsAvailable=n}},Xt=class extends K{reason;constructor(t){super("decode/unreadable","Part of this code is too damaged to read, even with its error correction.",{stage:"reed-solomon"}),this.reason=t}},Ao=class extends K{constructor(t){super("archive/malformed","This file is damaged and cannot be opened.",{format:t})}},lr=class extends K{limit;constructor(t,n="bytes"){super("archive/too-large","This is larger than this tool will handle in one go.",{limit:t,unit:n}),this.limit=t}},qr=class extends K{constructor(t,n){super("design/unknown-entry","This refers to something this version of the studio does not include.",{kind:t,id:n})}};var xu;function Jv(){if(xu!==void 0)return xu;let e=new Uint32Array(256);for(let t=0;t<256;t+=1){let n=t;for(let r=0;r<8;r+=1)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return xu=e,e}function Io(e,t=0){if(!Number.isInteger(t)||t<0||t>4294967295)throw new RangeError("a CRC-32 seed is an unsigned 32 bit integer");let n=Jv(),r=(t^4294967295)>>>0;for(let o=0;o<e.length;o+=1)r=n[(r^e[o])&255]^r>>>8;return(r^4294967295)>>>0}function wu(e){let t=1,n=0;for(let r=0;r<e.length;){let o=Math.min(r+5552,e.length);for(;r<o;r+=1)t+=e[r],n+=t;t%=65521,n%=65521}return n*65536+t>>>0}function ku(e,t){let n=e.length,r=new Uint8Array(n),o=[];for(let p=0;p<n;p+=1)e[p]>0&&o.push(p);let s=o.length;if(!Number.isInteger(t)||t<1||t>30||s>1<<t)throw new RangeError(`${s} symbols do not fit in codes of at most ${t} bits`);if(s===0)return r;if(s===1)return r[o[0]]=1,r;o.sort((p,h)=>e[p]-e[h]||p-h);let i=s+t*s,a=new Float64Array(i),l=new Int32Array(i).fill(-1),c=new Int32Array(i);for(let p=0;p<s;p+=1)a[p]=e[o[p]];let u=s,d=2*s-2,m=Array.from({length:s},(p,h)=>h);for(let p=1;p<t;p+=1){let h=[],g=m.length>>>1,y=0,b=0,x=-1;for(;h.length<d&&(y<s||b<g);){if(x<0&&b<g){let w=m[2*b],k=m[2*b+1];a[u]=a[w]+a[k],l[u]=w,c[u]=k,x=u,u+=1}y<s&&(x<0||a[y]<=a[x])?(h.push(y),y+=1):(h.push(x),x=-1,b+=1)}m=h}let f=m.slice(0,d);for(;f.length>0;){let p=f.pop();if(l[p]<0){let h=o[p];r[h]=r[h]+1}else f.push(l[p],c[p])}return r}function vu(e,t){let n=0;for(let r=0;r<t;r+=1)n=n<<1|e>>>r&1;return n}function Po(e){let t=new Uint16Array(16);for(let s of e)t[s]=t[s]+1;t[0]=0;let n=new Uint16Array(16),r=0;for(let s=1;s<16;s+=1)r=r+t[s-1]<<1,n[s]=r;let o=new Uint16Array(e.length);for(let s=0;s<e.length;s+=1){let i=e[s];i!==0&&(o[s]=vu(n[i],i),n[i]=n[i]+1)}return o}var ka=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],va=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Sa=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],Ma=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Ru=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],_s=286,Co=30,Qs=19,Hr=15,eS=7,Ws=256,Iu=65535,Ea=32768,ba=Ea-1,Yp=15,tS=1<<Yp,xn=3,xa=4,wa=258,nS=4096,Su=16383,rS={1:{lazy:!1,good:4,maxLazy:4,nice:8,chain:4},6:{lazy:!0,good:8,maxLazy:16,nice:128,chain:128},9:{lazy:!0,good:32,maxLazy:258,nice:258,chain:4096}},Mu,Eu;function oS(){if(Mu)return Mu;let e=new Uint8Array(wa+1);for(let t=0;t<ka.length;t+=1){let n=ka[t],r=1<<va[t];for(let o=n;o<n+r&&o<=wa;o+=1)e[o]=t}return e[wa]=28,Mu=e,e}function sS(){if(Eu)return Eu;let e=new Uint8Array(Ea+1);for(let t=0;t<Sa.length;t+=1){let n=Sa[t],r=1<<Ma[t];for(let o=n;o<n+r;o+=1)e[o]=t}return Eu=e,e}function Zp(){let e=new Uint8Array(288);return e.fill(8,0,144),e.fill(9,144,256),e.fill(7,256,280),e.fill(8,280,288),e}function Tu(e,t){let n=0;for(let o of e)o>0&&(n+=1);if(n>=2)return ku(e,t);let r=e.slice();for(let o=0;o<r.length&&n<2;o+=1)r[o]===0&&(r[o]=1,n+=1);return ku(r,t)}var Au=class{out;size=0;buffer=0;count=0;constructor(t){this.out=new Uint8Array(Math.max(64,t))}get pending(){return this.count}bits(t,n){for(this.buffer|=t<<this.count,this.count+=n;this.count>=8;)this.byte(this.buffer&255),this.buffer>>>=8,this.count-=8}align(){this.count>0&&(this.byte(this.buffer&255),this.buffer=0,this.count=0)}copy(t,n,r){this.reserve(r-n),this.out.set(t.subarray(n,r),this.size),this.size+=r-n}finish(){return this.align(),this.out.slice(0,this.size)}byte(t){this.reserve(1),this.out[this.size]=t,this.size+=1}reserve(t){if(this.size+t<=this.out.length)return;let n=this.out.length*2;for(;n<this.size+t;)n*=2;let r=new Uint8Array(n);r.set(this.out.subarray(0,this.size)),this.out=r}};function $p(e,t,n,r,o){let s=n;do{let i=Math.min(Iu,r-s),a=s+i===r;e.bits(o&&a?1:0,3),e.align(),e.bits(i,16),e.bits(i^65535,16),e.copy(t,s,s+i),s+=i}while(s<r)}function iS(e,t){let n=0,r=e,o=t;do{let s=Math.min(Iu,o);n+=3+(8-(r+3&7)&7)+32+8*s,r=0,o-=s}while(o>0);return n}function Qp(e,t,n,r){let o=-1,s=e[0],i=0,a=s===0?138:7,l=s===0?3:4;for(let c=0;c<t;c+=1){let u=s;if(s=c+1<t?e[c+1]:-1,i+=1,!(i<a&&u===s)){if(i<l)for(let d=0;d<i;d+=1)n.push(u),r.push(0);else u!==0?(u!==o&&(n.push(u),r.push(0),i-=1),n.push(16),r.push(i-3)):i<=10?(n.push(17),r.push(i-3)):(n.push(18),r.push(i-11));i=0,o=u,s===0?(a=138,l=3):u===s?(a=6,l=3):(a=7,l=4)}}}var Wp=[2,3,7];function aS(e,t,n,r){let o=oS(),s=sS(),i=new Uint32Array(_s),a=new Uint32Array(Co),l=0;for(let A=0;A<n.count;A+=1){let O=n.dist[A];if(O===0){i[n.lit[A]]=i[n.lit[A]]+1;continue}let D=o[n.lit[A]],N=s[O];i[257+D]=i[257+D]+1,a[N]=a[N]+1,l+=va[D]+Ma[N]}i[Ws]=1;let c=Tu(i,Hr),u=Tu(a,Hr),d=_s;for(;d>257&&c[d-1]===0;)d-=1;let m=Co;for(;m>1&&u[m-1]===0;)m-=1;let f=[],p=[];Qp(c,d,f,p),Qp(u,m,f,p);let h=new Uint32Array(Qs);for(let A of f)h[A]=h[A]+1;let g=Tu(h,eS),y=Qs;for(;y>4&&g[Ru[y-1]]===0;)y-=1;let b=17+3*y+l;for(let A=0;A<Qs;A+=1)b+=h[A]*g[A],A>=16&&(b+=h[A]*Wp[A-16]);let x=3+l,w=Zp();for(let A=0;A<_s;A+=1)b+=i[A]*c[A],x+=i[A]*w[A];for(let A=0;A<Co;A+=1)b+=a[A]*u[A],x+=a[A]*5;let k=iS(e.pending,n.end-n.start);if(k<x&&k<b){$p(e,t,n.start,n.end,r);return}let S,E,R,C;if(x<=b)e.bits(r?3:2,3),E=w,S=Po(w),C=new Uint8Array(Co).fill(5),R=Po(C);else{e.bits(r?5:4,3),e.bits(d-257,5),e.bits(m-1,5),e.bits(y-4,4);for(let O=0;O<y;O+=1)e.bits(g[Ru[O]],3);let A=Po(g);for(let O=0;O<f.length;O+=1){let D=f[O];e.bits(A[D],g[D]),D>=16&&e.bits(p[O],Wp[D-16])}E=c,S=Po(c),C=u,R=Po(u)}for(let A=0;A<n.count;A+=1){let O=n.dist[A],D=n.lit[A];if(O===0){e.bits(S[D],E[D]);continue}let N=o[D];e.bits(S[257+N],E[257+N]);let T=va[N];T>0&&e.bits(D-ka[N],T);let I=s[O];e.bits(R[I],C[I]);let U=Ma[I];U>0&&e.bits(O-Sa[I],U)}e.bits(S[Ws],E[Ws])}function lS(e,t,n){let r=e.length,o=new Int32Array(tS).fill(-1),s=new Int32Array(Ea),i=new Uint16Array(Su),a=new Uint16Array(Su),l=0,c=0,u=0,d=b=>{aS(n,e,{lit:i,dist:a,count:l,start:c,end:u},b),c=u,l=0},m=(b,x,w)=>{l===Su&&d(!1),i[l]=b,a[l]=x,l+=1,u+=w},f=b=>Math.imul(e[b]|e[b+1]<<8|e[b+2]<<16|e[b+3]<<24,2654435761)>>>32-Yp,p=b=>{let x=f(b);s[b&ba]=o[x],o[x]=b},h=0,g=0,y=(b,x,w)=>{h=xn-1,g=0;let k=Math.min(wa,r-b);if(w>=k)return;let S=Math.min(t.nice,k),E=b-Ea,R=Math.max(w,xn-1),C=w>=t.good?t.chain>>>2:t.chain;for(let A=x;A>=0&&A>=E&&C>0;C-=1){if(e[A+R]===e[b+R]&&e[A]===e[b]&&e[A+1]===e[b+1]){let O=2;for(;O<k&&e[A+O]===e[b+O];)O+=1;if(O>R&&(R=O,h=O,g=b-A,O>=S))return}A=s[A&ba]}};if(t.lazy){let b=0,x=xn-1,w=0,k=!1;for(;b<r;){let S=xn-1,E=0;if(b+xa<=r){let R=f(b);x<t.maxLazy&&(y(b,o[R],x),S=h,E=g,S===xn&&E>nS&&(S=xn-1)),s[b&ba]=o[R],o[R]=b}if(x>=xn&&S<=x){m(x,w,x);let R=b-1+x;for(let C=b+1;C<R&&C+xa<=r;C+=1)p(C);b=R,k=!1,x=xn-1}else k&&m(e[b-1],0,1),k=!0,x=S,w=E,b+=1}k&&m(e[r-1],0,1)}else{let b=0;for(;b<r;){if(b+xa<=r){let x=f(b);if(y(b,o[x],xn-1),s[b&ba]=o[x],o[x]=b,h>=xn){let w=h;if(m(w,g,w),w<=t.maxLazy)for(let k=b+1;k<b+w&&k+xa<=r;k+=1)p(k);b+=w;continue}}m(e[b],0,1),b+=1}}d(!0)}function Jp(e){let t=e?.level??6;if(t!==0&&t!==1&&t!==6&&t!==9)throw new TypeError("the deflate level is 0, 1, 6 or 9");return t}function Ys(e,t){let n=Jp(t),r=e.length+5*(Math.floor(e.length/Iu)+1),o=new Au(n===0?r:e.length>>>1);return n===0?$p(o,e,0,e.length,!0):lS(e,rS[n],o),o.finish()}function No(e,t){let n=Jp(t),r=Ys(e,{level:n}),o=120,i=(n<=1?0:n===6?2:3)<<6;i+=(31-(o*256+i)%31)%31;let a=new Uint8Array(r.length+6);a[0]=o,a[1]=i,a.set(r,2);let l=wu(e);return a[r.length+2]=l>>>24,a[r.length+3]=l>>>16&255,a[r.length+4]=l>>>8&255,a[r.length+5]=l&255,a}var cS=9;function xt(){throw new Ao("deflate")}function Xs(e,t,n,r){let o=new Uint16Array(Hr+1);for(let f=0;f<n;f+=1){let p=e[t+f];o[p]=o[p]+1}o[0]=0;let s=1,i=0;for(let f=1;f<=Hr;f+=1)s=s*2-o[f],s<0&&xt(),o[f]>0&&(i=f);s>0&&i>0&&(r||i!==1)&&xt();let a=new Uint16Array(Hr+2);for(let f=1;f<=Hr;f+=1)a[f+1]=a[f]+o[f];let l=new Uint16Array(n);for(let f=0;f<n;f+=1){let p=e[t+f];p!==0&&(l[a[p]]=f,a[p]=a[p]+1)}let c=Math.max(1,Math.min(cS,i)),u=new Uint16Array(1<<c),d=0,m=0;for(let f=1;f<=c;f+=1){for(let p=0;p<o[f];p+=1){let h=l[m]<<4|f,g=vu(d,f);for(let y=g;y<u.length;y+=1<<f)u[y]=h;d+=1,m+=1}d<<=1}return{counts:o,symbols:l,table:u,root:c}}var Xp;function uS(){return Xp??={litlen:Xs(Zp(),0,288,!1),dist:Xs(new Uint8Array(32).fill(5),0,32,!1)},Xp}function eh(e,t,n){if(!Number.isSafeInteger(n)||n<0)throw new RangeError("maxOutput is a whole number of bytes");let r=t,o=0,s=0,i=new Uint8Array(Math.min(n,Math.max(1024,Math.min((e.length-t)*4,1<<22)))),a=0,l=p=>{for(;s<p;)r>=e.length&&xt(),o|=e[r]<<s,r+=1,s+=8},c=p=>{l(p);let h=o&(1<<p)-1;return o>>>=p,s-=p,h},u=p=>{if(a+p<=i.length)return;if(a+p>n)throw new lr(n);let h=new Uint8Array(Math.min(n,Math.max(a+p,i.length*2)));h.set(i.subarray(0,a)),i=h},d=p=>{for(;s<p.root&&r<e.length;)o|=e[r]<<s,r+=1,s+=8;let h=p.table[o&(1<<p.root)-1],g=h&15;if(g!==0&&g<=s)return o>>>=g,s-=g,h>>>4;let y=0,b=0,x=0;for(let w=1;w<=Hr;w+=1){y|=c(1);let k=p.counts[w];if(y-b<k)return p.symbols[x+y-b];x+=k,b=b+k<<1,y<<=1}return xt()},m=new Uint8Array(_s+Co),f=!1;for(;!f;){f=c(1)===1;let p=c(2);if(p===0){r-=s>>>3,o=0,s=0,r+4>e.length&&xt();let y=e[r]|e[r+1]<<8,b=e[r+2]|e[r+3]<<8;(y^65535)!==b&&xt(),r+=4,r+y>e.length&&xt(),u(y),i.set(e.subarray(r,r+y),a),a+=y,r+=y;continue}let h,g;if(p===1)({litlen:h,dist:g}=uS());else if(p===2){let y=c(5)+257,b=c(5)+1,x=c(4)+4;(y>_s||b>Co)&&xt();let w=new Uint8Array(Qs);for(let E=0;E<x;E+=1)w[Ru[E]]=c(3);let k=Xs(w,0,Qs,!0),S=y+b;m.fill(0);for(let E=0;E<S;){let R=d(k);if(R<16){m[E]=R,E+=1;continue}let C=0,A;R===16?(E===0&&xt(),C=m[E-1],A=3+c(2)):R===17?A=3+c(3):A=11+c(7),E+A>S&&xt(),m.fill(C,E,E+A),E+=A}m[Ws]===0&&xt(),h=Xs(m,0,y,!1),g=Xs(m,y,b,!1)}else return xt();for(;;){let y=d(h);if(y<256){u(1),i[a]=y,a+=1;continue}if(y===Ws)break;let b=y-257;b>=29&&xt();let x=ka[b]+c(va[b]),w=d(g);w>=30&&xt();let k=Sa[w]+c(Ma[w]);k>a&&xt(),u(x);for(let S=0;S<x;S+=1)i[a]=i[a-k],a+=1}}return{output:i.slice(0,a),end:r-(s>>>3)}}function Ta(e,t){let{output:n,end:r}=eh(e,0,t.maxOutput);return r!==e.length&&xt(),n}function th(e,t){let n=()=>{throw new Ao("zlib")};e.length<2&&n();let r=e[0],o=e[1];((r&15)!==8||r>>>4>7||(r*256+o)%31!==0||o&32)&&n();let{output:s,end:i}=eh(e,2,t.maxOutput);i+4!==e.length&&n();let a=e[i]*16777216+(e[i+1]<<16)+(e[i+2]<<8)+e[i+3]>>>0;return wu(s)!==a&&n(),s}function P(e,t,n="error",r){return r===void 0?{code:e,path:t,severity:n}:{code:e,path:t,severity:n,params:r}}function qn(e){return e.some(t=>t.severity==="error")}var dS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",oh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function sh(e){let t=new Int16Array(128).fill(-1);for(let n=0;n<e.length;n+=1)t[e.charCodeAt(n)]=n;return t}function mS(e,t,n){let r="",o=0;for(;o+2<e.length;o+=3){let i=e[o]<<16|e[o+1]<<8|e[o+2];r+=t[i>>18]+t[i>>12&63]+t[i>>6&63]+t[i&63]}let s=e.length-o;if(s===1){let i=e[o]<<16;r+=t[i>>18]+t[i>>12&63]+(n?"==":"")}else if(s===2){let i=e[o]<<16|e[o+1]<<8;r+=t[i>>18]+t[i>>12&63]+t[i>>6&63]+(n?"=":"")}return r}function ih(e,t,n){let r=e;if(n){if(e.length%4!==0)return null;e.endsWith("==")?r=e.slice(0,-2):e.endsWith("=")&&(r=e.slice(0,-1))}if(r.length%4===1)return null;let o=new Uint8Array(Math.floor(r.length*3/4)),s=0,i=0,a=0;for(let l=0;l<r.length;l+=1){let c=r.charCodeAt(l),u=c<128?t[c]:-1;if(u<0)return null;i=(i<<6|u)&16777215,s+=6,s>=8&&(s-=8,o[a]=i>>s&255,a+=1)}return i&(1<<s)-1?null:o}var nh,rh;function Lo(e){return nh??=sh(dS),ih(e,nh,!0)}function ah(e){return mS(e,oh,!1)}function lh(e){return rh??=sh(oh),ih(e,rh,!1)}var fS=["schema","version","name","symbol","symbology","ecLevel","boostEc","minVersion","maxVersion","mask","segmentation","kanji","eci","quietZone","background","modules","shape","paint","light","regions","finder","sub-finder","corner-finder","outer","inner","outerPaint","innerPaint","logo","source","size","clear","padding","plate","frame","ref","text","content","fontId","output","sizeMm","sizeBasis","dpi","colourSpace","assets","png","width","height","kind","id","params","ink","srgb","cmyk","angle","cx","cy","radius","stops","offset","space"],ch=new Map(fS.map((e,t)=>[e,t]));function pS(e,t){let n=ch.get(e),r=ch.get(t);return n!==void 0&&r!==void 0?n-r:n!==void 0?-1:r!==void 0?1:e<t?-1:1}function Kr(e){if(Array.isArray(e))return`[${e.map(t=>t===void 0?"null":Kr(t)).join(",")}]`;if(typeof e=="object"&&e!==null){let t=e;return`{${Object.keys(t).filter(r=>t[r]!==void 0).sort(pS).map(r=>`${JSON.stringify(r)}:${Kr(t[r])}`).join(",")}}`}return JSON.stringify(e)??"null"}var Oo=Object.freeze({qr:4,micro:2,rmqr:2}),he=Object.freeze({quietZone:20,stops:16,assets:4,assetBytes:512*1024,assetSide:1024,name:80,caption:200,sizeMm:{min:5,max:2e3},dpi:{min:72,max:2400},logoSize:{min:.05,max:.4},logoPadding:{min:0,max:4},centre:{min:-1,max:2},radius:{min:.01,max:4},depth:32});function cr(){return{schema:"qr-design",version:1,symbol:{symbology:"qr",ecLevel:"M"},quietZone:4,background:{kind:"solid",ink:"#ffffff"},modules:{shape:{id:"square"},paint:{kind:"solid",ink:"#000000"},light:null},regions:{},logo:null,frame:null,output:{colourSpace:"srgb"}}}var hS=[];function Zs(e){return new K("design/unsupported-schema","This design was made by a different version of the studio and cannot be opened here.",e===void 0?{}:{version:e})}function Pu(e,t){if(t>he.depth)throw new K("design/invalid","This design file nests too deeply to be a design.",{limit:he.depth});if(Array.isArray(e))return e.map(n=>{let r=Pu(n,t+1);return r===void 0?null:r});if(typeof e=="object"&&e!==null){let n={};for(let r of Object.keys(e)){if(r==="__proto__")continue;let o=Pu(e[r],t+1);o!==void 0&&(n[r]=o)}return n}if(typeof e=="string"||typeof e=="boolean"||e===null)return e;if(typeof e=="number")return Number.isFinite(e)?e:null}function yS(e,t,n){if(typeof e!="object"||e===null||Array.isArray(e))throw Zs();let r=e;if(r.schema!=="qr-design")throw Zs();let o=r.version;if(typeof o!="number"||!Number.isInteger(o))throw Zs();if(o<1||o>n)throw Zs(o>=0&&o<=1e3?o:void 0);let s=Pu(r,0);for(let i=o;i<n;i+=1){let a=t.find(l=>l.from===i);if(a===void 0)throw Zs(i);s={...a.migrate(s),version:i+1}}return s}function Aa(e){return yS(e,hS,1)}var dh=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/;function uh(e,t){if(typeof e!="string"||!dh.test(e))throw new TypeError(`${t} must be kebab-case: lowercase words of letters and digits joined by hyphens`)}var Mt=class{kind;entries=new Map;ordered=Object.freeze([]);names=Object.freeze([]);registrations=0;constructor(t,n=[]){uh(t,"a registry kind"),this.kind=t;for(let r of n)this.register(r)}get version(){return this.registrations}register(t){if(uh(t.id,`a ${this.kind} id`),this.entries.has(t.id))throw new TypeError(`this ${this.kind} registry already has an entry with that id`);this.entries.set(t.id,t),this.ordered=Object.freeze([...this.ordered,t]),this.names=Object.freeze([...this.names,t.id]),this.registrations+=1}get(t){return this.entries.get(t)}require(t){let n=this.entries.get(t);if(n===void 0){let r=typeof t=="string"&&t.length<=64&&dh.test(t)?t:"";throw new qr(this.kind,r)}return n}has(t){return this.entries.has(t)}list(){return this.ordered}ids(){return this.names}};var gS=/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;function an(e){if(typeof e!="string"||!gS.test(e))throw new TypeError("parseColour: a colour is written #rgb, #rgba, #rrggbb or #rrggbbaa in hex digits.");let t=e.slice(1),n=t.length<=4,r=s=>n?parseInt(t[s],16)*17:parseInt(t.slice(s*2,s*2+2),16),o=t.length===4||t.length===8;return{r:r(0),g:r(1),b:r(2),a:o?r(3)/255:1}}function Ia(e){return(e<16?"0":"")+e.toString(16)}function mh(e){Do(e,"formatColour");let t=`#${Ia(e.r)}${Ia(e.g)}${Ia(e.b)}`;return e.a===1?t:t+Ia(Math.round(e.a*255))}function Cu(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=255}function Do(e,t){if(typeof e!="object"||e===null)throw new TypeError(`${t}: a colour is an object with r, g, b and a.`);if(!Cu(e.r)||!Cu(e.g)||!Cu(e.b))throw new TypeError(`${t}: r, g and b are whole numbers from 0 to 255.`);if(typeof e.a!="number"||!(e.a>=0&&e.a<=1))throw new TypeError(`${t}: a is a number from 0 to 1.`)}function bS(e){let t={};return e.min!==void 0&&(t.min=e.min),e.max!==void 0&&(t.max=e.max),t}function $s(e,t){switch(e.kind){case"number":case"angle":case"integer":return typeof t!="number"||!Number.isFinite(t)?{code:"design.issue.not-a-number"}:e.kind==="integer"&&!Number.isInteger(t)?{code:"design.issue.not-an-integer"}:e.min!==void 0&&t<e.min||e.max!==void 0&&t>e.max?{code:"design.issue.out-of-range",params:bS(e)}:null;case"boolean":return typeof t=="boolean"?null:{code:"design.issue.not-a-boolean"};case"select":return typeof t=="string"&&(e.options??[]).some(n=>n.value===t)?null:{code:"design.issue.invalid-option"};case"colour":if(typeof t!="string")return{code:"design.issue.invalid-colour"};try{return an(t),null}catch{return{code:"design.issue.invalid-colour"}}}}function mt(e,t){let n={};for(let r of e){let o=t!==void 0&&Object.prototype.hasOwnProperty.call(t,r.key)?t[r.key]:void 0;n[r.key]=o!==void 0&&$s(r,o)===null?o:r.default}return Object.freeze(n)}function J(e,t){return e[t]}function jo(e,t){return e[t]}var Me=3.141592653589793,La=6.283185307179586,xS=1.5707963267341256,wS=6077100506303966e-26,kS=20222662487111665e-37,vS=84784276603689e-45,SS=.6366197723675814,Na=.7853981633974483,MS=16e5,ES=12246467991473532e-32,Pa=1.5707963267948966,fh=6123233995736766e-32,bh=.6931471803691238,xh=19082149292705877e-26,TS=1.4426950408889634,RS=1.4142135623730951,ju=709.782712893384,Bu=-745.1332191019411,wh=1/134217728,AS=0x40000000000000,ph=134217729,hh;function kh(){return hh??=new DataView(new ArrayBuffer(8)),hh}function zu(e){let t=kh();t.setFloat64(0,e);let n=t.getUint32(0)>>>20&2047;return n===0?zu(e*AS)-54:n-1023}function Nu(e){let t=kh();return t.setUint32(0,e+1023<<20),t.setUint32(4,0),t.getFloat64(0)}function Js(e,t){let n=e,r=t;for(;r>1e3;)n*=Nu(1e3),r-=1e3;for(;r<-1e3;)n*=Nu(-1e3),r+=1e3;return n*Nu(r)}var ur=0;function Gr(e,t){let n=e+t,r=n-e;return ur=e-(n-r)+(t-r),n}function dr(e,t,n){let r=ph*e,o=r-(r-e),s=e-o;r=ph*t;let i=r-(r-t),a=t-i;return o*i-n+o*a+s*i+s*a}var IS=-1/6,PS=1/120,CS=-1/5040,NS=1/362880,LS=-1/39916800,OS=1/6227020800,DS=-1/1307674368e3,jS=1/355687428096e3,BS=1/24,FS=-1/720,US=1/40320,zS=-1/3628800,VS=1/479001600,qS=-1/87178291200,HS=1/20922789888e3,KS=-1/6402373705728e3;function ei(e,t){let n=e*e,r=n*e,o=PS+n*(CS+n*(NS+n*(LS+n*(OS+n*(DS+n*jS)))));return e-(n*(.5*t-r*o)-t-r*IS)}function ti(e,t){let n=e*e,r=n*(BS+n*(FS+n*(US+n*(zS+n*(VS+n*(qS+n*(HS+n*KS))))))),o=.5*n,s=1-o;return s+(1-s-o+(n*r-e*t))}var Yt=0,wn=0;function GS(e){let t=Math.round(e*SS),n=e-t*xS,r=Gr(n,-(t*wS)),o=ur,s=Gr(r,-(t*kS));return o+=ur-t*vS,Yt=s+o,wn=o-(Yt-s),t}var Fu=1216,Uu=128,Ca;function _S(){if(Ca)return Ca;let e=Fu+Uu+64,t=1n<<BigInt(e),n=o=>{let s=o*o,i=t/o,a=i;for(let l=1n;i!==0n;l+=1n)i/=s,a+=(l&1n?-i:i)/(2n*l+1n);return a},r=16n*n(5n)-4n*n(239n);return Ca={twoOverPi:(1n<<BigInt(e+Fu+1))/r,pio2:r>>BigInt(e-Uu+1)},Ca}function QS(e){let t=e.toString(16);return(t.length-1)*4+(32-Math.clz32(parseInt(t[0],16)))}function WS(e){let{twoOverPi:t,pio2:n}=_S(),r=Math.abs(e),o=zu(r)-52,s=BigInt(Js(r,-o)),i=Fu-o,a=BigInt(i),l=s*t&(1n<<a+2n)-1n,c=l+(1n<<a-1n)>>a,d=(l-(c<<a))*n,m=d<0n?-d:d,f=Math.max(0,QS(m)-110),p=m>>BigInt(f),h=Number(p),g=Number(p-BigInt(h)),y=f-i-Uu,b=d<0n!=e<0?-1:1,x=b*Js(h,y),w=b*Js(g,y);Yt=x+w,wn=w-(Yt-x);let k=Number(c&3n);return e<0?4-k&3:k}function vh(e){return Math.abs(e)<MS?GS(e)&3:WS(e)}function je(e){let t=Math.abs(e);if(!(t<1/0))return Number.NaN;if(t<wh)return e;if(t<=Na)return ei(e,0);switch(vh(e)){case 0:return ei(Yt,wn);case 1:return ti(Yt,wn);case 2:return-ei(Yt,wn);default:return-ti(Yt,wn)}}function Be(e){let t=Math.abs(e);if(!(t<1/0))return Number.NaN;if(t<wh)return 1;if(t<=Na)return ti(e,0);switch(vh(e)){case 0:return ti(Yt,wn);case 1:return-ei(Yt,wn);case 2:return-ti(Yt,wn);default:return ei(Yt,wn)}}var XS=[0,.12435499454676144,.24497866312686414,.35877067027057225,.4636476090008061,.5585993153435624,.6435011087932844,.7188299996216245,.7853981633974483],YS=[0,-31253241424539383e-34,10698755618734451e-33,-24623815582638635e-33,22698777452961687e-33,-54556305485916264e-34,15834785051444286e-33,-21478388444456983e-33,3061616997868383e-32];function yh(e){let t=e*e,n=1/21;return n=-1/19+t*n,n=1/17+t*n,n=-1/15+t*n,n=1/13+t*n,n=-1/11+t*n,n=1/9+t*n,n=-1/7+t*n,n=1/5+t*n,n=-1/3+t*n,e*t*n}function gh(e){let t=Math.round(e*8);if(t===0)return e+yh(e);let n=t/8,r=(e-n)/(1+e*n);return XS[t]+(YS[t]+(r+yh(r)))}function _r(e,t){if(e!==e||t!==t)return Number.NaN;let n=Math.abs(t),r=Math.abs(e),o=e<0||Object.is(e,-0),s;if(r===0)s=t>0||Object.is(t,0)?0:Me;else if(n===0)s=Pa;else if(n===1/0)s=r===1/0?t>0?Na:3*Na:t>0?0:Me;else if(r===1/0)s=Pa;else if(r<=n){let i=gh(r/n);s=t>0?i:Me-(i-ES)}else{let i=gh(n/r);s=t>0?Pa-(i-fh):Pa+(i+fh)}return o?-s:s}var ZS=25822498780869086e104,$S=38725919148493183e-137,Lu=2409919865102884e-196,Ou=4149515568880993e165;function Du(e,t){let n=e*e,r=t*t,o=Gr(n,r),s=ur+dr(e,e,n)+dr(t,t,r),i=Math.sqrt(o),a=i*i;return i+(o-a-dr(i,i,a)+s)/(2*i)}function Ae(e,t){let n=Math.abs(e),r=Math.abs(t);if(n===1/0||r===1/0)return 1/0;if(n!==n||r!==r)return Number.NaN;if(n<r){let o=n;n=r,r=o}return r===0?n:n>ZS?Du(n*Lu,r*Lu)*Ou:n<$S?Du(n*Ou,r*Ou)*Lu:Du(n,r)}var JS=1/2,eM=1/6,tM=1/24,nM=1/120,rM=1/720,oM=1/5040,sM=1/40320,iM=1/362880,aM=1/3628800,lM=1/39916800,cM=1/479001600,uM=1/6227020800,dM=1/87178291200,mM=1/1307674368e3;function Sh(e,t){let n=Math.round(e*TS),r=e-n*bh,o=Gr(r,t-n*xh),s=ur,i=mM;i=dM+o*i,i=uM+o*i,i=cM+o*i,i=lM+o*i,i=aM+o*i,i=iM+o*i,i=sM+o*i,i=oM+o*i,i=rM+o*i,i=nM+o*i,i=tM+o*i,i=eM+o*i,i=JS+o*i;let a=o*o*i,l=o+a;return Js(1+(l+s*(1+l)),n)}function Mh(e){return e!==e?Number.NaN:e>ju?1/0:e<Bu?0:Sh(e,0)}var fM=2/3,pM=2/5,hM=2/7,yM=2/9,gM=2/11,bM=2/13,xM=2/15,wM=2/17,kM=2/19,vM=2/21,SM=2/23,MM=2/25,Eh=0;function EM(e){let t=zu(e),n=Js(e,-t);n>RS&&(n*=.5,t+=1);let r=n-1,o=r/(2+r),s=o*o,i=MM;i=SM+s*i,i=vM+s*i,i=kM+s*i,i=wM+s*i,i=xM+s*i,i=bM+s*i,i=gM+s*i,i=yM+s*i,i=hM+s*i,i=pM+s*i,i=fM+s*i,i*=s;let a=r*r,l=.5*a,c=.5*dr(r,r,a),u=o*(l+i)+t*xh-c,d=Gr(t*bh,r),m=ur,f=Gr(d,-l);m+=ur;let p=Gr(f,u);m+=ur;let h=p+m;return Eh=m-(h-p),h}function TM(e,t){let n=i=>i>=2004168360008973e-307&&i<6696928794914171e284,r=1,o=e;for(let i=Math.abs(t);;){if(i&1){let l=r*o;if(!n(l)||dr(r,o,l)!==0)return;r=l}if(i>>>=1,i===0)break;let a=o*o;if(!n(a)||dr(o,o,a)!==0)return;o=a}if(t>0)return r;let s=1/r;return n(s)&&s*r===1&&dr(s,r,1)===0?s:void 0}function Oa(e,t){if(t===0)return 1;if(e!==e||t!==t)return Number.NaN;if(e<0)throw new RangeError("pow takes a base of zero or more");if(e===0)return t>0?0:1/0;if(t===1/0)return e>1?1/0:e<1?0:Number.NaN;if(t===-1/0)return e>1?0:e<1?1/0:Number.NaN;if(e===1/0)return t>0?1/0:0;if(e===1||t===1)return e;if(t===.5)return Math.sqrt(e);if(Number.isInteger(t)&&Math.abs(t)<=64){let a=TM(e,t);if(a!==void 0)return a}let n=EM(e),r=Eh,o=t*n;if(o>ju+1)return 1/0;if(o<Bu-1)return 0;let s=dr(t,n,o)+t*r,i=o+s;return i>ju?1/0:i<Bu?0:Sh(o,s)}function zt(e){return typeof e=="string"?an(e):{...an(e.srgb),cmyk:[e.cmyk[0],e.cmyk[1],e.cmyk[2],e.cmyk[3]]}}function kn(e){let t=(e%360+360)%360;if(t===0)return[1,0];if(t===90)return[0,1];if(t===180)return[-1,0];if(t===270)return[0,-1];let n=t*(Me/180);return[Be(n),je(n)]}function Vu(e){return e.map(t=>({offset:t.offset,colour:zt(t.ink)}))}function qu(e,t,n){let[r,o]=kn(e),s=(n.width*Math.abs(r)+n.height*Math.abs(o))/2,i=n.x+n.width/2,a=n.y+n.height/2;return{kind:"linear",x1:i-r*s,y1:a-o*s,x2:i+r*s,y2:a+o*s,stops:t}}function Hu(e,t){return e.kind==="solid"?"symbol":e.kind==="entry"?t.get(e.ref.id)?.space??"symbol":e.space}function Et(e,t,n,r){switch(e.kind){case"solid":return{kind:"solid",colour:zt(e.ink)};case"linear":return qu(e.angle,Vu(e.stops),t);case"radial":return{kind:"radial",cx:t.x+e.cx*t.width,cy:t.y+e.cy*t.height,r:e.radius*Math.max(t.width,t.height),stops:Vu(e.stops)};case"conic":return{kind:"conic",cx:t.x+e.cx*t.width,cy:t.y+e.cy*t.height,angle:e.angle,stops:Vu(e.stops)};case"entry":{let o=n.require(e.ref.id);return o.resolve(mt(o.params,e.ref.params),t,r)}}}function ue(e,t,n,r,o,s=e){return Object.freeze({key:e,kind:"number",labelKey:`design.param.${s}`,default:t,min:n,max:r,step:o})}function Th(e,t,n,r,o=e){return Object.freeze({key:e,kind:"integer",labelKey:`design.param.${o}`,default:t,min:n,max:r,step:1})}function Rh(e,t,n=e){return Object.freeze({key:e,kind:"angle",labelKey:`design.param.${n}`,default:t,min:0,max:360,step:1})}function Qr(e,t,n=e){return Object.freeze({key:e,kind:"colour",labelKey:`design.param.${n}`,default:t})}function Ah(e,t,n,r=e){return Object.freeze({key:e,kind:"select",labelKey:`design.param.${r}`,default:t,options:Object.freeze(n.map(o=>Object.freeze({value:o,labelKey:`design.option.${o}`})))})}function Ih(e){return Object.freeze({...e,params:Object.freeze([...e.params])})}var RM=Ih({id:"palette-scatter",labelKey:"design.fill.palette-scatter",params:[Qr("colour-1","#14213d"),Qr("colour-2","#2b4c7e"),Qr("colour-3","#6a1b4d"),Qr("colour-4","#1d5c4a"),Th("count",3,2,4)],space:"module",resolve(e,t,n){let r=n.int(J(e,"count"))+1;return{kind:"solid",colour:an(jo(e,`colour-${r}`))}}}),AM=Ih({id:"two-tone-diagonal",labelKey:"design.fill.two-tone-diagonal",params:[Qr("colour-1","#14213d"),Qr("colour-2","#7a1f3d"),Rh("angle",45),ue("split",.5,.2,.8,.05)],space:"symbol",resolve(e,t){let n=an(jo(e,"colour-1")),r=an(jo(e,"colour-2")),o=J(e,"split");return qu(J(e,"angle"),[{offset:0,colour:n},{offset:o,colour:n},{offset:o,colour:r},{offset:1,colour:r}],t)}}),Ph=Object.freeze([RM,AM]);function Da(e,t){if(!Array.isArray(e)||e.length!==6)throw new TypeError(`${t}: a matrix is six numbers, a b c d e f.`);for(let n=0;n<6;n+=1)if(!Number.isFinite(e[n]))throw new TypeError(`${t}: matrix entry ${n} is not a finite number.`)}function Wr(e,t,n){if(!Number.isFinite(e))throw new TypeError(`${t}: ${n} is not a finite number.`)}function Ch(){return[1,0,0,1,0,0]}function Nh(e,t){Da(e,"multiply"),Da(t,"multiply");let[n,r,o,s,i,a]=e,[l,c,u,d,m,f]=t;return[n*l+o*c,r*l+s*c,n*u+o*d,r*u+s*d,n*m+o*f+i,r*m+s*f+a]}function ja(e,t){return Wr(e,"translate","tx"),Wr(t,"translate","ty"),[1,0,0,1,e,t]}function Ku(e,t=0,n=0){if(!Number.isInteger(e))throw new TypeError("rotateQuarter: turns is a whole number of quarter turns.");Wr(t,"rotateQuarter","cx"),Wr(n,"rotateQuarter","cy");let r=(e%4+4)%4;return Oh(r===0?1:r===2?-1:0,r===1?1:r===3?-1:0,t,n)}function Lh(e,t=0,n=0){Wr(e,"rotate","degrees"),Wr(t,"rotate","cx"),Wr(n,"rotate","cy");let r=e%360;if(r%90===0)return Ku(r/90,t,n);let o=r*(Me/180);return Oh(Be(o),je(o),t,n)}function Oh(e,t,n,r){return[e,t,-t,e,n-e*n+t*r,r-t*n-e*r]}function Dh(e){return e[0]===1&&e[1]===0&&e[2]===0&&e[3]===1&&e[4]===0&&e[5]===0}var ri=0,ni=1,Fh=2,IM=3,oi=4,PM=[1,1,2,3,0],jh=.5522847498307936;function Bh(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Ba(e,t){if(typeof e!="object"||e===null)throw new TypeError(`${t}: a path is an object with commands and points.`);let{commands:n,points:r}=e;if(!Bh(n)||!Bh(r))throw new TypeError(`${t}: a path's commands and points must both be number arrays.`);let o=0;for(let s=0;s<n.length;s+=1){let i=n[s];if(!Number.isInteger(i)||i<ri||i>oi)throw new TypeError(`${t}: command ${s} is not one of the five path commands.`);o+=PM[i]*2}if(r.length!==o)throw new TypeError(`${t}: the commands need ${o} coordinates and the path has ${r.length}.`);for(let s=0;s<r.length;s+=1)if(!Number.isFinite(r[s]))throw new TypeError(`${t}: coordinate ${s} is not a finite number.`)}function Vt(e,t,n="walkPath"){Ba(e,n);let{commands:r,points:o}=e,s=0,i=0,a=0,l=!1,c=!1,u=!1,d=(f,p)=>{i=f,a=p,l=!0,c=!0,u=!1},m=()=>{c&&t.move(i,a),c=!1,u=!0};for(let f=0;f<r.length;f+=1){let p=r[f];if(p===oi){u&&t.close(),l&&d(i,a);continue}let h=o[s],g=o[s+1];if(p===ri||p===ni&&!l){d(h,g),s+=2;continue}l||d(h,g),m(),p===ni?(t.line(h,g),s+=2):p===Fh?(t.quad(h,g,o[s+2],o[s+3]),s+=4):(t.cubic(h,g,o[s+2],o[s+3],o[s+4],o[s+5]),s+=6)}}function Ue(e,t,n){if(!Number.isFinite(e))throw new TypeError(`PathBuilder.${t}: ${n} is not a finite number.`)}var ee=class{commands=[];points=[];matrix=Ch();plain=!0;startX=0;startY=0;hasCurrent=!1;pending=!1;segments=0;get empty(){return this.segments===0}moveTo(t,n){Ue(t,"moveTo","x"),Ue(n,"moveTo","y");let[r,o]=this.apply(t,n);return this.begin(r,o),this}lineTo(t,n){return Ue(t,"lineTo","x"),Ue(n,"lineTo","y"),this.hasCurrent?(this.segment(ni,t,n),this):this.moveTo(t,n)}quadTo(t,n,r,o){return Ue(t,"quadTo","cx"),Ue(n,"quadTo","cy"),Ue(r,"quadTo","x"),Ue(o,"quadTo","y"),this.hasCurrent||this.moveTo(t,n),this.segment(Fh,t,n,r,o),this}cubicTo(t,n,r,o,s,i){return Ue(t,"cubicTo","c1x"),Ue(n,"cubicTo","c1y"),Ue(r,"cubicTo","c2x"),Ue(o,"cubicTo","c2y"),Ue(s,"cubicTo","x"),Ue(i,"cubicTo","y"),this.hasCurrent||this.moveTo(t,n),this.segment(IM,t,n,r,o,s,i),this}close(){return this.hasCurrent?(this.pending||this.commands.push(oi),this.begin(this.startX,this.startY),this):this}rect(t,n,r,o){return Ue(t,"rect","x"),Ue(n,"rect","y"),Ue(r,"rect","w"),Ue(o,"rect","h"),this.moveTo(t,n).lineTo(t+r,n).lineTo(t+r,n+o).lineTo(t,n+o).close()}roundedRect(t,n,r,o,s){Ue(t,"roundedRect","x"),Ue(n,"roundedRect","y"),Ue(r,"roundedRect","w"),Ue(o,"roundedRect","h");let i=typeof s=="number"?[s,s,s,s]:s;if(!Array.isArray(i)||i.length!==4)throw new TypeError("PathBuilder.roundedRect: radii is one number or four.");let a=Math.min(Math.abs(r),Math.abs(o))/2,l=i.map((y,b)=>(Ue(y,"roundedRect",`radius ${b}`),Math.min(Math.max(y,0),a))),c=r<0?-1:1,u=o<0?-1:1,d=t+r,m=n+o,f=t+c*l[0],p=n;this.moveTo(f,p);let h=(y,b)=>{y===f&&b===p||(this.lineTo(y,b),f=y,p=b)},g=(y,b,x,w,k,S,E)=>{if(E===0){h(y,b);return}let R=y-x*E,C=b-w*E,A=y+k*E,O=b+S*E,D=jh*E;h(R,C),this.cubicTo(R+x*D,C+w*D,A-k*D,O-S*D,A,O),f=A,p=O};return g(d,n,c,0,0,u,l[1]),g(d,m,0,u,-c,0,l[2]),g(t,m,-c,0,0,-u,l[3]),l[0]>0&&g(t,n,0,-u,c,0,l[0]),this.close()}circle(t,n,r){Ue(t,"circle","cx"),Ue(n,"circle","cy"),Ue(r,"circle","r");let o=jh*r;return this.moveTo(t+r,n).cubicTo(t+r,n+o,t+o,n+r,t,n+r).cubicTo(t-o,n+r,t-r,n+o,t-r,n).cubicTo(t-r,n-o,t-o,n-r,t,n-r).cubicTo(t+o,n-r,t+r,n-o,t+r,n).close()}polygon(t){if(!Array.isArray(t)||t.length%2!==0)throw new TypeError("PathBuilder.polygon: points is a list of x, y pairs.");for(let n=0;n<t.length;n+=1)Ue(t[n],"polygon",`coordinate ${n}`);if(t.length===0)return this;this.moveTo(t[0],t[1]);for(let n=2;n<t.length;n+=2)this.lineTo(t[n],t[n+1]);return this.close()}transform(t){return Da(t,"PathBuilder.transform"),this.matrix=[t[0],t[1],t[2],t[3],t[4],t[5]],this.plain=Dh(this.matrix),this}append(t){return Vt(t,{move:(n,r)=>this.moveTo(n,r),line:(n,r)=>this.lineTo(n,r),quad:(n,r,o,s)=>this.quadTo(n,r,o,s),cubic:(n,r,o,s,i,a)=>this.cubicTo(n,r,o,s,i,a),close:()=>this.close()},"PathBuilder.append"),this}build(){let t=this.commands.length,n=this.points.length;return this.pending&&(t-=1,n-=2),{commands:Uint8Array.from(this.commands.slice(0,t)),points:Float64Array.from(this.points.slice(0,n))}}apply(t,n){if(this.plain)return[t,n];let r=this.matrix,o=r[0]*t+r[2]*n+r[4],s=r[1]*t+r[3]*n+r[5];if(!Number.isFinite(o)||!Number.isFinite(s))throw new TypeError("PathBuilder: a point overflowed to infinity through the transform.");return[o,s]}begin(t,n){this.pending&&(this.commands.pop(),this.points.length-=2),this.commands.push(ri),this.points.push(t,n),this.startX=t,this.startY=n,this.hasCurrent=!0,this.pending=!0}segment(t,...n){let r=[];for(let o=0;o<n.length;o+=2)r.push(...this.apply(n[o],n[o+1]));this.commands.push(t),this.points.push(...r),this.pending=!1,this.segments+=1}};function CM(e){let t=e/4*(Me/180);return 4/3*(je(t)/Be(t))}var ft=class{startX;startY;atX;atY;segments=[];constructor(t,n){this.startX=t,this.startY=n,this.atX=t,this.atY=n}lineTo(t,n){return t===this.atX&&n===this.atY?this:(this.segments.push({kind:"line",x:t,y:n}),this.atX=t,this.atY=n,this)}cubicTo(t,n,r,o,s,i){return this.segments.push({kind:"cubic",c1x:t,c1y:n,c2x:r,c2y:o,x:s,y:i}),this.atX=s,this.atY=i,this}arc(t,n,r,o,s){let[i,a]=kn(o);this.lineTo(t+r*i,n+r*a);let l=s-o,c=Math.max(1,Math.ceil(Math.abs(l)/90-1e-9)),u=l/c,d=CM(u)*r;for(let m=0;m<c;m+=1){let f=o+u*m,p=o+u*(m+1),[h,g]=kn(f),[y,b]=kn(p);this.cubicTo(t+r*h-d*g,n+r*g+d*h,t+r*y+d*b,n+r*b-d*y,t+r*y,n+r*b)}return this}emit(t,n=!1){if(!n){t.moveTo(this.startX,this.startY);for(let o of this.segments)o.kind==="line"?t.lineTo(o.x,o.y):t.cubicTo(o.c1x,o.c1y,o.c2x,o.c2y,o.x,o.y);t.close();return}let r=[[this.startX,this.startY]];for(let o of this.segments)r.push([o.x,o.y]);t.moveTo(this.atX,this.atY);for(let o=this.segments.length-1;o>=0;o-=1){let s=this.segments[o],[i,a]=r[o];s.kind==="line"?t.lineTo(i,a):t.cubicTo(s.c2x,s.c2y,s.c1x,s.c1y,i,a)}t.close()}};function De(e,t,n,r,o){let s=Math.min(n,r)/2,[i,a,l,c]=o.map(d=>Math.min(Math.max(d,0),s)),u=new ft(e+i,t);return a>0?u.arc(e+n-a,t+a,a,-90,0):u.lineTo(e+n,t),l>0?u.arc(e+n-l,t+r-l,l,0,90):u.lineTo(e+n,t+r),c>0?u.arc(e+c,t+r-c,c,90,180):u.lineTo(e,t+r),i>0?u.arc(e+i,t+i,i,180,270):u.lineTo(e,t),u}function Qe(e,t,n){return new ft(e,t-n).arc(e,t,n,-90,270)}function Xr(e,t,n,r){return new ft(e+n,t).cubicTo(e+n,t+.909*r,e+.909*n,t+r,e,t+r).cubicTo(e-.909*n,t+r,e-n,t+.909*r,e-n,t).cubicTo(e-n,t-.909*r,e-.909*n,t-r,e,t-r).cubicTo(e+.909*n,t-r,e+n,t-.909*r,e+n,t)}function Ze(e){let t=new ft(e[0],e[1]);for(let n=2;n<e.length;n+=2)t.lineTo(e[n],e[n+1]);return t}function Fa(e,t,n,r,o){let s=Math.min(Math.max(o,0),Math.min(n,r)/2);return Ze([e+s,t,e+n-s,t,e+n,t+s,e+n,t+r-s,e+n-s,t+r,e+s,t+r,e,t+r-s,e,t+s])}function Gu(e,t,n,r,o){let s=Math.min(Math.max(o,0),Math.min(n,r)/2),i=e+n,a=t+r;return new ft(e+s,t).lineTo(i-s,t).arc(i,t,s,180,90).lineTo(i,a-s).arc(i,a,s,270,180).lineTo(e+s,a).arc(e,a,s,360,270).lineTo(e,t+s).arc(e,t,s,90,0)}function Uh(e,t,n,r,o){let s=o+1,i=Math.sqrt(s*s-1),a=e+1,l=t+1,c=e+n-1,u=t+r-1;if(i<=1)return Ze([a,l,c,l,c,u,a,u]);let d=_r(1,i)*180/Me;return new ft(e+i,l).lineTo(e+n-i,l).arc(e+n,t,s,180-d,90+d).lineTo(c,t+r-i).arc(e+n,t+r,s,270-d,180+d).lineTo(e+i,u).arc(e,t+r,s,360-d,270+d).lineTo(a,t+i).arc(e,t,s,90-d,d)}function si(e,t,n,r,o,s){let i=[];for(let a=0;a<n*2;a+=1){let[l,c]=kn(s+a*180/n),u=a%2===0?r:o;i.push(e+u*l,t+u*c)}return Ze(i)}function zh(e,t,n,r,o){let s=[];for(let i=0;i<n;i+=1){let[a,l]=kn(o+i*360/n);s.push(e+r*a,t+r*l)}return Ze(s)}function tt(e,t,n,r,o){let s=o/2,i=_r(r-t,n-e)*180/Me,[a,l]=kn(i+90);return new ft(e-a*s,t-l*s).lineTo(n-a*s,r-l*s).arc(n,r,s,i-90,i+90).lineTo(e+a*s,t+l*s).arc(e,t,s,i+90,i+270)}function ln(e,t,n){t.emit(e),n.emit(e,!0)}function un(e){let t=e.symbolSize.width+2*e.quietZone,n=e.symbolSize.height+2*e.quietZone;return{w:t,h:n,u:Math.sqrt(t*n)}}function vn(e,t){return{kind:"path",path:e.build(),paint:t,role:"frame"}}function Ua(e,t){return Math.min(e,t/(1-Math.SQRT1_2)*.98)}function Hn(e,t,n,r){e.rect(t+r.w,n,-r.w,r.h)}function cn(e,t,n,r,o="centre"){return{x:e,y:t,width:n,height:r,align:o}}function dn(e){return Object.freeze({...e,params:Object.freeze([...e.params])})}var NM=dn({id:"none",labelKey:"design.frame.none",params:[],text:null,layout(e){let t=un(e);return{width:t.w,height:t.h,symbol:{x:0,y:0},nodes:[],textBox:null}}});function Vh(e,t){return dn({id:e,labelKey:`design.frame.${e}`,params:[ue("border",.05,.02,.1,.01),ue("band",.2,.14,.32,.01),ue("radius",.05,0,.12,.01)],text:{maxLines:1,maxChars:24},layout(n){let r=un(n),o=J(n.params,"border")*r.u,s=J(n.params,"band")*r.u,i=Ua(J(n.params,"radius")*r.u,o),a=r.w+2*o,l=r.h+2*o+s,c=t?o+s:o,u=new ee;return De(0,0,a,l,[i,i,i,i]).emit(u),Hn(u,o,c,r),{width:a,height:l,symbol:{x:o,y:c},nodes:[vn(u,n.paint)],textBox:t?cn(o,o,r.w,s-o):cn(o,o+r.h+o,r.w,s-o)}}})}var LM=dn({id:"rounded-card",labelKey:"design.frame.rounded-card",params:[ue("padding",.09,.06,.14,.01),ue("radius",.1,.04,.2,.01),ue("caption",.16,.12,.24,.01)],text:{maxLines:2,maxChars:40},layout(e){let t=un(e),n=J(e.params,"padding")*t.u,r=Ua(J(e.params,"radius")*t.u,n),o=J(e.params,"caption")*t.u,s=t.w+2*n,i=t.h+2*n+o,a=new ee;return De(0,0,s,i,[r,r,r,r]).emit(a),Hn(a,n,n,t),{width:s,height:i,symbol:{x:n,y:n},nodes:[vn(a,e.paint)],textBox:cn(n,n+t.h+n/2,t.w,o)}}}),OM=dn({id:"speech-bubble",labelKey:"design.frame.speech-bubble",params:[ue("border",.05,.03,.1,.01),ue("radius",.1,.04,.16,.01),ue("tail",.14,.08,.2,.01)],text:{maxLines:1,maxChars:20},layout(e){let t=un(e),n=J(e.params,"border")*t.u,r=Ua(J(e.params,"radius")*t.u,n),o=J(e.params,"tail")*t.u,s=t.w+2*n,i=t.h+2*n,a=new ee;De(0,0,s,i,[r,r,r,r]).emit(a),Hn(a,n,n,t);let l=Math.max(r,s*.16);Ze([l,i-n/2,l+o,i-n/2,l,i+o]).emit(a);let c=o*.3;return{width:s,height:i+o,symbol:{x:n,y:n},nodes:[vn(a,e.paint)],textBox:cn(l+o+c,i+c*.5,s-(l+o+c),o-c,"start")}}}),DM=dn({id:"ticket",labelKey:"design.frame.ticket",params:[ue("border",.06,.04,.1,.01),ue("stub",.22,.16,.3,.01),ue("notch",.05,.03,.07,.005)],text:{maxLines:1,maxChars:24},layout(e){let t=un(e),n=J(e.params,"border")*t.u,r=J(e.params,"stub")*t.u,o=Math.min(J(e.params,"notch")*t.u,n*1.4),s=t.w+2*n,i=t.h+2*n,a=i+r,l=new ee;new ft(0,0).lineTo(s,0).lineTo(s,i-o).arc(s,i,o,270,90).lineTo(s,a).lineTo(0,a).lineTo(0,i+o).arc(0,i,o,90,-90).emit(l),Hn(l,n,n,t);let c=o*.35,u=o*2,d=Math.max(1,Math.floor((s-2*u)/(c*3))),m=(s-2*u)/d;for(let f=0;f<=d;f+=1)Qe(u+f*m,i,c).emit(l,!0);return{width:s,height:a,symbol:{x:n,y:n},nodes:[vn(l,e.paint)],textBox:cn(n,i+r*.25,t.w,r*.5)}}}),jM=dn({id:"polaroid",labelKey:"design.frame.polaroid",params:[ue("border",.05,.04,.08,.01),ue("band",.24,.18,.3,.01)],text:{maxLines:1,maxChars:24},layout(e){let t=un(e),n=J(e.params,"border")*t.u,r=J(e.params,"band")*t.u,o=t.w+2*n,s=t.h+n+r,i=t.u*.01,a=new ee;return De(0,0,o,s,[i,i,i,i]).emit(a),Hn(a,n,n,t),{width:o,height:s,symbol:{x:n,y:n},nodes:[vn(a,e.paint)],textBox:cn(n,n+t.h+r*.2,t.w,r*.6)}}}),BM=dn({id:"badge-circle",labelKey:"design.frame.badge-circle",params:[ue("border",.05,.02,.1,.01)],text:{maxLines:1,maxChars:16},layout(e){let t=un(e),n=J(e.params,"border")*t.u,r=Math.sqrt(t.w*t.w+t.h*t.h)/2+n,o=r*2,s=r-t.w/2,i=r-t.h/2,a=new ee;Qe(r,r,r).emit(a),Hn(a,s,i,t);let l=r-t.h/2,c=r+t.h/2+l*.15,u=l*.45,d=c+u-r,m=r-n,f=Math.sqrt(Math.max(m*m-d*d,0))*.9;return{width:o,height:o,symbol:{x:s,y:i},nodes:[vn(a,e.paint)],textBox:cn(r-f,c,f*2,u)}}}),FM=dn({id:"phone",labelKey:"design.frame.phone",params:[ue("bezel",.06,.04,.1,.01),ue("radius",.14,.08,.2,.01)],text:{maxLines:1,maxChars:20},layout(e){let t=un(e),n=J(e.params,"bezel")*t.u,r=Ua(J(e.params,"radius")*t.u,n),o=t.u*.16,s=t.u*.22,i=t.w+2*n,a=o+t.h+s,l=new ee;De(0,0,i,a,[r,r,r,r]).emit(l),Hn(l,n,o,t);let c=t.u*.03;return De(i*.39,o*.42,i*.22,c,[c/2,c/2,c/2,c/2]).emit(l,!0),De(i*.35,o+t.h+s*.72,i*.3,c,[c/2,c/2,c/2,c/2]).emit(l,!0),{width:i,height:a,symbol:{x:n,y:o},nodes:[vn(l,e.paint)],textBox:cn(n,o+t.h+s*.14,t.w,s*.46)}}}),UM=dn({id:"hang-tag",labelKey:"design.frame.hang-tag",params:[ue("border",.06,.04,.1,.01),ue("caption",.14,.1,.2,.01)],text:{maxLines:2,maxChars:32},layout(e){let t=un(e),n=J(e.params,"border")*t.u,r=J(e.params,"caption")*t.u,o=t.u*.24,s=t.w+2*n,i=o+t.h+n+r,a=Math.min(t.u*.2,o,s/2),l=new ee;return Ze([a,0,s-a,0,s,a,s,i,0,i,0,a]).emit(l),Hn(l,n,o,t),Qe(s/2,o*.45,t.u*.05).emit(l,!0),{width:s,height:i,symbol:{x:n,y:o},nodes:[vn(l,e.paint)],textBox:cn(n,o+t.h+n/2,t.w,r)}}}),zM=dn({id:"corner-brackets",labelKey:"design.frame.corner-brackets",params:[ue("gap",.015,0,.05,.005),ue("thickness",.035,.02,.06,.005),ue("arm",.18,.1,.3,.01)],text:{maxLines:1,maxChars:24},layout(e){let t=un(e),n=J(e.params,"gap")*t.u,r=J(e.params,"thickness")*t.u,o=Math.min(J(e.params,"arm")*t.u,(t.w+2*r)/2,(t.h+2*r)/2),s=n+r,i=t.u*.14,a=t.w+2*s,l=t.h+2*s,c=new ee;for(let[u,d,m,f]of[[0,0,1,1],[a,0,-1,1],[a,l,-1,-1],[0,l,1,-1]]){let p=[u,d,u+m*o,d,u+m*o,d+f*r,u+m*r,d+f*r,u+m*r,d+f*o,u,d+f*o];if(m*f<0){let h=[];for(let g=p.length-2;g>=0;g-=2)h.push(p[g],p[g+1]);Ze(h).emit(c)}else Ze(p).emit(c)}return{width:a,height:l+i,symbol:{x:s,y:s},nodes:[vn(c,e.paint)],textBox:cn(s,l+i*.15,t.w,i*.7)}}}),VM=dn({id:"stamp",labelKey:"design.frame.stamp",params:[ue("border",.07,.05,.1,.005),ue("caption",.14,.1,.2,.01)],text:{maxLines:1,maxChars:20},layout(e){let t=un(e),n=J(e.params,"border")*t.u,r=J(e.params,"caption")*t.u,o=t.w+2*n,s=t.h+2*n+r,i=n*.4,a=i*2.6,l=new ft(0,0),c=d=>{let m=Math.max(1,Math.floor((d-a)/a)),f=(d-(m-1)*a)/2;return Array.from({length:m},(p,h)=>f+h*a)};for(let d of c(o))l.lineTo(d-i,0).arc(d,0,i,180,0);l.lineTo(o,0);for(let d of c(s))l.lineTo(o,d-i).arc(o,d,i,270,90);l.lineTo(o,s);for(let d of c(o).reverse())l.lineTo(d+i,s).arc(d,s,i,360,180);l.lineTo(0,s);for(let d of c(s).reverse())l.lineTo(0,d+i).arc(0,d,i,90,-90);let u=new ee;return l.emit(u),Hn(u,n,n,t),{width:o,height:s,symbol:{x:n,y:n},nodes:[vn(u,e.paint)],textBox:cn(n,n+t.h+r*.15,t.w,r*.7)}}}),qh=Object.freeze([NM,Vh("banner-bottom",!1),Vh("banner-top",!0),LM,OM,DM,jM,BM,FM,UM,zM,VM]);var qM=.08,xe=qM;function HM([e,t]){let n=new ee;t(n);let r=n.build();return Object.freeze({id:e,labelKey:`design.icon.${e}`,path:r})}function ai(e,t,n,r,o,s){ln(e,De(t,n,r,o,[s,s,s,s]),De(t+xe,n+xe,r-2*xe,o-2*xe,[s-xe,s-xe,s-xe,s-xe]))}function za(e,t,n,r){ln(e,Qe(t,n,r),Qe(t,n,r-xe))}function ii(e,t,n,r){let[o,s]=kn(r);return[e+n*o,t+n*s]}function Hh(e,t,n,r,o,s){let[i,a]=ii(t,n,r+xe/2,o),[l,c]=ii(t,n,r,s),[u,d]=ii(t,n,r,o);new ft(i,a).arc(t,n,r+xe/2,o,s).arc(l,c,xe/2,s,s+180).arc(t,n,r-xe/2,s,o).arc(u,d,xe/2,o+180,o+360).emit(e)}function KM(e,t){return _r(e,t)*180/Me}var GM=["link",e=>{e.transform(Lh(-45,.5,.5));for(let[t,n]of[[.2,.36],[.64,.8]])ln(e,tt(t,.5,n,.5,.32),tt(t,.5,n,.5,.32-2*xe));tt(.36,.5,.64,.5,xe).emit(e),e.transform([1,0,0,1,0,0])}],_M=["wifi",e=>{for(let t of[.2,.36,.52])Hh(e,.5,.82,t-xe/2,225,315);Qe(.5,.82,.07).emit(e)}],QM=["mail",e=>{ai(e,.1,.22,.8,.56,.08),tt(.18,.31,.5,.55,xe).emit(e),tt(.5,.55,.82,.31,xe).emit(e)}],WM=["phone",e=>{ai(e,.28,.1,.44,.8,.09),tt(.43,.2,.57,.2,.04).emit(e),Qe(.5,.78,.045).emit(e)}],XM=["chat",e=>{ai(e,.1,.14,.8,.56,.12),Ze([.24,.66,.4,.66,.22,.88]).emit(e);for(let t of[.33,.5,.67])Qe(t,.42,.055).emit(e)}],YM=["location-pin",e=>{let s=(i,a)=>{let l=a-.4,c=KM(Math.sqrt(l*l-i*i),i),[u,d]=ii(.5,.4,i,90+c);return new ft(.5,a).lineTo(u,d).arc(.5,.4,i,90+c,450-c).lineTo(.5,a)};ln(e,s(.3,.9),s(.3-xe,.9-xe*(.9-.4)/.3)),za(e,.5,.4,.12)}],ZM=["calendar",e=>{ai(e,.12,.18,.76,.7,.08),De(.12,.18,.76,.18,[.08,.08,0,0]).emit(e),tt(.32,.1,.32,.24,xe).emit(e),tt(.68,.1,.68,.24,xe).emit(e);for(let t of[.52,.7])for(let n of[.32,.5,.68])De(n-.05,t-.05,.1,.1,[.02,.02,.02,.02]).emit(e)}],$M=["contact-card",e=>{ai(e,.08,.2,.84,.6,.08),za(e,.32,.42,.09),Hh(e,.32,.7,.13,200,340),tt(.54,.4,.78,.4,xe).emit(e),tt(.54,.56,.72,.56,xe).emit(e)}],JM=["cart",e=>{tt(.1,.2,.22,.2,xe).emit(e),tt(.22,.2,.32,.64,xe).emit(e),tt(.32,.64,.8,.64,xe).emit(e),ln(e,Ze([.24,.28,.9,.28,.82,.56,.3,.56]),Ze([.34,.36,.79,.36,.76,.48,.37,.48])),Qe(.38,.8,.07).emit(e),Qe(.74,.8,.07).emit(e)}],eE=["food",e=>{tt(.34,.12,.34,.88,xe).emit(e);for(let t of[.22,.46])tt(t,.12,t,.36,xe).emit(e);De(.18,.34,.32,.1,[0,0,.05,.05]).emit(e),tt(.68,.5,.68,.88,xe).emit(e),new ft(.64,.56).lineTo(.64,.24).cubicTo(.64,.16,.7,.1,.78,.1).lineTo(.78,.56).emit(e)}],tE=["star",e=>{let o=nE(.44,.198),s=(o-xe)/o;ln(e,si(.5,.54,5,.44,.198,-90),si(.5,.54,5,.44*s,.198*s,-90))}];function nE(e,t){let[n,r]=[0,-e],[o,s]=ii(0,0,t,-54),i=o-n,a=s-r;return Math.abs(n*a-r*i)/Math.sqrt(i*i+a*a)}var rE=["heart",e=>{let t=n=>{let r=1-n*2.6,o=(u,d)=>[.5+(u-.5)*r,.52+(d-.52)*r],s=(u,d)=>o(u,d),[i,a]=s(.5,.86),l=new ft(i,a),c=(u,d,m)=>{l.cubicTo(u[0],u[1],d[0],d[1],m[0],m[1])};return c(s(.3,.7),s(.08,.52),s(.08,.34)),c(s(.08,.2),s(.18,.12),s(.3,.12)),c(s(.4,.12),s(.47,.18),s(.5,.26)),c(s(.53,.18),s(.6,.12),s(.7,.12)),c(s(.82,.12),s(.92,.2),s(.92,.34)),c(s(.92,.52),s(.7,.7),s(.5,.86)),l};ln(e,t(0),t(xe))}],oE=["play",e=>{za(e,.5,.5,.4),Ze([.42,.33,.68,.5,.42,.67]).emit(e)}],sE=["music",e=>{Qe(.3,.74,.1).emit(e),Qe(.7,.66,.1).emit(e),tt(.38,.74,.38,.22,xe).emit(e),tt(.78,.66,.78,.14,xe).emit(e),Ze([.34,.18,.82,.1,.82,.24,.34,.32]).emit(e)}],iE=["shop",e=>{let t=.13333333333333333,n=new ft(.1,.18).lineTo(.9,.18).lineTo(.9,.34);for(let r of[.9-t,.9-3*t,.9-5*t])n.arc(r,.34,t,0,180);n.lineTo(.1,.18).emit(e),ln(e,Ze([.16,.4,.84,.4,.84,.86,.16,.86]),Ze([.16+xe,.4,.84-xe,.4,.84-xe,.86-xe,.16+xe,.86-xe])),De(.4,.58,.2,.28,[.03,.03,0,0]).emit(e)}],aE=["info",e=>{za(e,.5,.5,.4),Qe(.5,.31,.055).emit(e),tt(.5,.46,.5,.7,.1).emit(e)}],lE=[GM,_M,QM,WM,XM,YM,ZM,$M,JM,eE,tE,rE,oE,sE,iE,aE];function Kh(){return Object.freeze(lE.map(HM))}var cE=Object.freeze([[0,-1],[1,-1],[1,0],[1,1],[0,1],[-1,1],[-1,0],[-1,-1]]);function li(e,t,n){let r=new Uint8Array(e*t);for(let o=0;o<t;o+=1)for(let s=0;s<e;s+=1){let i=0;for(let a=0;a<8;a+=1){let[l,c]=cE[a],u=s+l,d=o+c;u>=0&&d>=0&&u<e&&d<t&&n[d*e+u]===1&&(i|=1<<a)}r[o*e+s]=i}return r}function Sn(e,t){return(e&t)!==0}function Pt(e){return Object.freeze({...e,params:Object.freeze([...e.params])})}var _u=Pt({id:"square",labelKey:"design.module.square",params:[],connects:!1,fillsCell:()=>!0,path(e,t){t.rect(0,0,1,1)}}),uE=Pt({id:"rounded",labelKey:"design.module.rounded",params:[ue("radius",.3,0,.5,.05)],connects:!1,fillsCell:e=>J(e,"radius")===0,path({params:e},t){De(0,0,1,1,[J(e,"radius"),J(e,"radius"),J(e,"radius"),J(e,"radius")]).emit(t)}}),dE=Pt({id:"dot",labelKey:"design.module.dot",params:[ue("size",.9,.6,1,.05)],connects:!1,family:"dot",path({params:e},t){Qe(.5,.5,J(e,"size")/2).emit(t)}}),mE=Pt({id:"diamond",labelKey:"design.module.diamond",params:[ue("size",1,.7,1,.05)],connects:!1,family:"dot",path({params:e},t){let n=J(e,"size")/2;Ze([.5,.5-n,.5+n,.5,.5,.5+n,.5-n,.5]).emit(t)}}),fE=Pt({id:"squircle",labelKey:"design.module.squircle",params:[ue("size",.96,.7,1,.02)],connects:!1,path({params:e},t){let n=J(e,"size")/2;Xr(.5,.5,n,n).emit(t)}}),pE=Pt({id:"hex",labelKey:"design.module.hex",params:[ue("size",.96,.75,1,.02),Ah("orientation","pointy",["pointy","flat"])],connects:!1,family:"hex",path({params:e},t){let n=J(e,"size")/2,r=jo(e,"orientation")==="pointy"?-90:0;zh(.5,.5,6,n,r).emit(t)}});function Xh(e,t,n){let r=J(e.params,"thickness"),o=r/2,s=Sn(e.neighbours,n?64:1)?0:o,i=Sn(e.neighbours,n?4:16)?0:o,a=.5-r/2;n?De(0,a,1,r,[s,i,i,s]).emit(t):De(a,0,r,1,[s,s,i,i]).emit(t)}var hE=Pt({id:"bars-horizontal",labelKey:"design.module.bars-horizontal",params:[ue("thickness",.8,.6,1,.05)],connects:!0,path(e,t){Xh(e,t,!0)}}),yE=Pt({id:"bars-vertical",labelKey:"design.module.bars-vertical",params:[ue("thickness",.8,.6,1,.05)],connects:!0,path(e,t){Xh(e,t,!1)}}),gE=Pt({id:"fluid",labelKey:"design.module.fluid",params:[ue("radius",.5,.2,.5,.05)],connects:!0,path({neighbours:e,params:t},n){let r=J(t,"radius"),o=Sn(e,1),s=Sn(e,4),i=Sn(e,16),a=Sn(e,64);De(0,0,1,1,[o||a?0:r,o||s?0:r,i||s?0:r,i||a?0:r]).emit(n)}}),bE=Pt({id:"classy",labelKey:"design.module.classy",params:[ue("radius",.45,.2,.5,.05)],connects:!0,path({neighbours:e,params:t},n){let r=J(t,"radius"),o=Sn(e,1)||Sn(e,64)?0:r,s=Sn(e,16)||Sn(e,4)?0:r;De(0,0,1,1,[o,0,s,0]).emit(n)}}),xE=Pt({id:"cross",labelKey:"design.module.cross",params:[ue("thickness",.6,.4,.8,.05)],connects:!1,path({params:e},t){let n=.5-J(e,"thickness")/2,r=1-n;Ze([n,0,r,0,r,n,1,n,1,r,r,r,r,1,n,1,n,r,0,r,0,n,n,n]).emit(t)}}),wE=Pt({id:"tiny-square",labelKey:"design.module.tiny-square",params:[ue("scale",.7,.55,1,.05)],connects:!1,family:"dot",fillsCell:e=>J(e,"scale")===1,path({params:e},t){let n=J(e,"scale"),r=(1-n)/2;t.rect(r,r,n,n)}}),kE=18,vE=.64,SE=Pt({id:"mosaic",labelKey:"design.module.mosaic",params:[ue("jitter",.6,0,1,.05)],connects:!1,family:"dot",path({params:e,prng:t},n){let r=J(e,"jitter"),o=(t.next()*2-1)*kE*r,s=t.next()*r,i=o*(Me/180),a=Be(i),l=je(i),c=1/(Math.abs(a)+Math.abs(l)),d=(c-s*(c-vE))/2,m=[];for(let[f,p]of[[-d,-d],[d,-d],[d,d],[-d,d]])m.push(.5+f*a-p*l,.5+f*l+p*a);Ze(m).emit(n)}}),ME=Pt({id:"star",labelKey:"design.module.star",params:[ue("inner",.55,.45,.7,.01)],connects:!1,family:"dot",path({params:e},t){si(.5,.5+.04774575140626314,5,.5,.5*J(e,"inner"),-90).emit(t)}}),Yh=Object.freeze([_u,uE,dE,mE,fE,pE,hE,yE,gE,bE,xE,wE,SE,ME]);var pt=["L","M","Q","H"],mr=["M","Q","H"],Zh=["H"];function _(e){return{kind:"solid",ink:e}}function Qu(e,t,n){return{kind:"linear",angle:e,space:"symbol",stops:[{offset:0,ink:t},{offset:1,ink:n}]}}function ve(e,t,n,r,o){return{outer:n===void 0?{id:e}:{id:e,params:n},inner:r===void 0?{id:t}:{id:t,params:r},...o?.outer===void 0?{}:{outerPaint:o.outer},...o?.inner===void 0?{}:{innerPaint:o.inner}}}function EE(e){let t={schema:"qr-design",version:1,symbol:{symbology:"qr",ecLevel:e.ecLevel??"M"},quietZone:4,background:e.background,modules:{shape:e.shape,paint:e.paint,light:null},regions:{finder:e.eyes,"sub-finder":e.subEyes??e.eyes,"corner-finder":e.eyes},logo:e.logo??null,frame:e.frame??null,output:{colourSpace:e.colourSpace??"srgb"}};return Object.freeze({id:e.id,labelKey:`design.preset.${e.id}`,category:e.category,design:t,minSizeMm:e.sizesMm[e.ecLevel??"M"],sizesMm:Object.freeze({...e.sizesMm}),ecLevels:e.ecLevels})}var qt=ve("square","square-centre"),He=_("#ffffff");function TE(){return[{id:"classic-black",category:"classic",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"square"},paint:_("#000000"),background:He,eyes:qt},{id:"classic-navy",category:"classic",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"square"},paint:_("#0b1f3a"),background:He,eyes:qt},{id:"classic-soft-corners",category:"classic",sizesMm:{L:22,M:25,Q:28,H:31},ecLevels:pt,shape:{id:"rounded",params:{radius:.15}},paint:_("#111111"),background:He,eyes:ve("rounded","rounded-centre",{radius:.75},{radius:.35})},{id:"classic-ink-blue",category:"classic",sizesMm:{M:25,Q:28,H:29},ecLevels:["M","Q","H"],shape:{id:"square"},paint:_("#0b3d91"),background:_("#f7f9fc"),eyes:qt},{id:"classic-octagon",category:"classic",sizesMm:{L:22,M:25,Q:28},ecLevels:["L","M","Q"],shape:{id:"square"},paint:_("#1c2430"),background:He,eyes:ve("octagon","octagon-centre")},{id:"rounded-graphite",category:"rounded",sizesMm:{L:22,M:25,Q:28},ecLevels:["L","M","Q"],shape:{id:"rounded",params:{radius:.3}},paint:_("#222831"),background:He,eyes:ve("rounded","rounded-centre",void 0,{radius:.25})},{id:"rounded-ocean",category:"rounded",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"rounded",params:{radius:.35}},paint:_("#0a3d62"),background:_("#f1f7fb"),eyes:ve("extra-rounded","rounded-centre",void 0,{radius:.6})},{id:"rounded-forest",category:"rounded",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"squircle"},paint:_("#1b4332"),background:_("#f4f9f4"),eyes:ve("squircle","squircle-centre")},{id:"rounded-plum",category:"rounded",sizesMm:{L:22,M:25,Q:28},ecLevels:["L","M","Q"],shape:{id:"rounded",params:{radius:.4}},paint:_("#3c1642"),background:_("#fdf7ff"),eyes:ve("cushion","rounded-centre",void 0,{radius:.5},{inner:_("#6b1d5e")})},{id:"rounded-terracotta",category:"rounded",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"rounded",params:{radius:.25}},paint:_("#6e2a12"),background:_("#fff8f2"),eyes:ve("extra-rounded","leaf-centre")},{id:"rounded-link",category:"rounded",sizesMm:{H:29},ecLevels:Zh,ecLevel:"H",shape:{id:"rounded",params:{radius:.3}},paint:_("#0a3d62"),background:He,eyes:ve("extra-rounded","squircle-centre"),logo:{source:{kind:"icon",id:"link"},size:.2,clear:"box",padding:1,plate:{paint:He,shape:"rounded"},paint:_("#0a3d62")}},{id:"midnight-dots",category:"dots",sizesMm:{M:26,Q:31,H:30},ecLevels:mr,shape:{id:"dot",params:{size:.95}},paint:_("#10173a"),background:He,eyes:ve("squircle","leaf-centre")},{id:"charcoal-dots",category:"dots",sizesMm:{M:25,Q:29},ecLevels:["M","Q"],shape:{id:"dot",params:{size:.98}},paint:_("#262626"),background:_("#fafafa"),eyes:ve("cushion","square-centre")},{id:"teal-dots",category:"dots",sizesMm:{M:26,Q:31,H:30},ecLevels:mr,shape:{id:"dot",params:{size:.95}},paint:_("#064e57"),background:_("#effaf9"),eyes:ve("squircle","squircle-centre",void 0,void 0,{inner:_("#0b3b40")})},{id:"berry-dots",category:"dots",sizesMm:{M:26,Q:34,H:31},ecLevels:mr,shape:{id:"dot",params:{size:.94}},paint:_("#5b0e2d"),background:_("#fff5f8"),eyes:ve("squircle","rounded-centre")},{id:"confetti-dots",category:"dots",sizesMm:{M:26,Q:30,H:29},ecLevels:mr,shape:{id:"dot",params:{size:.98}},paint:{kind:"entry",ref:{id:"palette-scatter",params:{"colour-1":"#14213d","colour-2":"#6a1b4d","colour-3":"#1d5c4a","colour-4":"#7a3b00",count:4}}},background:He,eyes:ve("squircle","rounded-centre",void 0,void 0,{outer:_("#14213d"),inner:_("#14213d")})},{id:"hex-pro-blue",category:"hex",sizesMm:{M:25,Q:40,H:30},ecLevels:mr,shape:{id:"hex",params:{size:1}},paint:_("#0a4f96"),background:He,eyes:ve("squircle","rounded-centre",void 0,void 0,{outer:_("#333333")})},{id:"hex-graphite",category:"hex",sizesMm:{M:25,Q:31},ecLevels:["M","Q"],shape:{id:"hex",params:{size:1,orientation:"flat"}},paint:_("#1f2933"),background:He,eyes:qt},{id:"hex-honey",category:"hex",sizesMm:{M:25,Q:31,H:31},ecLevels:mr,shape:{id:"hex",params:{size:1}},paint:_("#3d2600"),background:_("#fff8e7"),eyes:ve("squircle","octagon-centre")},{id:"hex-night",category:"hex",sizesMm:{M:25,Q:31,H:31},ecLevels:mr,shape:{id:"hex",params:{size:1}},paint:_("#0d1b2a"),background:_("#eef2f7"),eyes:ve("squircle","octagon-centre")},{id:"fluid-ink",category:"fluid",sizesMm:{L:22,M:38,Q:33},ecLevels:["L","M","Q"],shape:{id:"fluid"},paint:_("#111827"),background:He,eyes:ve("extra-rounded","rounded-centre",void 0,{radius:.6})},{id:"fluid-lagoon",category:"fluid",sizesMm:{L:22,M:37},ecLevels:["L","M"],shape:{id:"fluid",params:{radius:.4}},paint:Qu(45,"#0b3954","#055c5e"),background:He,eyes:ve("extra-rounded","squircle-centre",void 0,void 0,{outer:_("#0b3954")})},{id:"fluid-aubergine",category:"fluid",sizesMm:{L:24,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"fluid"},paint:_("#3b0d3b"),background:_("#fbf5fb"),eyes:ve("squircle","squircle-centre")},{id:"classy-slate",category:"fluid",sizesMm:{L:22,M:25,Q:28},ecLevels:["L","M","Q"],shape:{id:"classy"},paint:_("#263238"),background:He,eyes:ve("squircle","leaf-centre")},{id:"cobalt-bars",category:"fluid",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"bars-vertical"},paint:_("#0d2c6c"),background:He,eyes:ve("rounded","rounded-centre",void 0,{radius:.25})},{id:"poster-yellow",category:"bold",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"square"},paint:_("#000000"),background:_("#ffd23f"),eyes:qt,frame:{ref:{id:"banner-bottom"},paint:_("#000000")}},{id:"bold-tomato",category:"bold",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"rounded",params:{radius:.2}},paint:_("#1a1a1a"),background:_("#ffe3d8"),eyes:ve("rounded","square-centre",void 0,void 0,{outer:_("#8a1c0a")}),frame:{ref:{id:"rounded-card"},paint:_("#c2410c")}},{id:"bold-crosses",category:"bold",sizesMm:{M:25,Q:28,H:31},ecLevels:mr,shape:{id:"cross",params:{thickness:.6}},paint:_("#101010"),background:He,eyes:qt},{id:"slate-bars",category:"bold",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"bars-horizontal",params:{thickness:.85}},paint:_("#0f172a"),background:_("#f1f5f9"),eyes:ve("square","rounded-centre",void 0,{radius:.25})},{id:"red-badge",category:"bold",sizesMm:{M:25,Q:28},ecLevels:["M","Q"],shape:{id:"square"},paint:_("#111111"),background:He,eyes:ve("square","square-centre",void 0,void 0,{outer:_("#8b1111")}),frame:{ref:{id:"badge-circle"},paint:_("#b91c1c")}},{id:"chat-bubble",category:"bold",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"rounded",params:{radius:.35}},paint:_("#1e1b4b"),background:He,eyes:ve("rounded","rounded-centre",void 0,{radius:.25}),frame:{ref:{id:"speech-bubble"},paint:_("#1e1b4b")}},{id:"minimal-tiny",category:"minimal",sizesMm:{M:32},ecLevels:["M"],shape:{id:"tiny-square",params:{scale:.7}},paint:_("#222222"),background:He,eyes:qt},{id:"minimal-diamond",category:"minimal",sizesMm:{M:25,H:40},ecLevels:["M","H"],shape:{id:"diamond"},paint:_("#2d2d2d"),background:_("#fbfbf8"),eyes:ve("cushion","square-centre")},{id:"minimal-brackets",category:"minimal",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"square"},paint:_("#1c1c1c"),background:He,eyes:qt,frame:{ref:{id:"corner-brackets"},paint:_("#1c1c1c")}},{id:"minimal-stars",category:"minimal",sizesMm:{M:25},ecLevels:["M"],shape:{id:"star",params:{inner:.65}},paint:_("#1e1b4b"),background:He,eyes:ve("square","square-centre"),subEyes:qt},{id:"sunset-gradient",category:"colour",sizesMm:{L:22,M:25,Q:28,H:35},ecLevels:pt,shape:{id:"rounded",params:{radius:.3}},paint:Qu(45,"#5c1530","#87300f"),background:_("#fff8f0"),eyes:ve("rounded","rounded-centre",void 0,{radius:.25},{outer:_("#4a0d24"),inner:_("#4a0d24")})},{id:"deep-sea-gradient",category:"colour",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"squircle"},paint:Qu(90,"#0b3c5d","#1b4d3e"),background:He,eyes:ve("squircle","squircle-centre",void 0,void 0,{outer:_("#0b3c5d")})},{id:"two-tone",category:"colour",sizesMm:{M:25,Q:28},ecLevels:["M","Q"],shape:{id:"square"},paint:{kind:"entry",ref:{id:"two-tone-diagonal",params:{"colour-1":"#14213d","colour-2":"#6b1d3a",angle:45}}},background:He,eyes:qt},{id:"violet-glow",category:"colour",sizesMm:{L:22,M:25,Q:31,H:37},ecLevels:pt,shape:{id:"dot",params:{size:.95}},paint:{kind:"radial",cx:.5,cy:.5,radius:.7,space:"symbol",stops:[{offset:0,ink:"#4c1d95"},{offset:1,ink:"#2a0a4a"}]},background:_("#fdfbff"),eyes:ve("cushion","squircle-centre",void 0,void 0,{outer:_("#2a0a4a")})},{id:"mosaic-tiles",category:"colour",sizesMm:{M:26},ecLevels:["M"],shape:{id:"mosaic"},paint:{kind:"entry",ref:{id:"palette-scatter",params:{"colour-1":"#1d3557","colour-2":"#3d1f4f","colour-3":"#264027",count:3}}},background:_("#fbfaf6"),eyes:ve("square","square-centre",void 0,void 0,{outer:_("#1d3557"),inner:_("#1d3557")})},{id:"teal-and-rust",category:"colour",sizesMm:{L:22,M:25,Q:28},ecLevels:["L","M","Q"],shape:{id:"rounded",params:{radius:.2}},paint:_("#064e57"),background:He,eyes:ve("extra-rounded","circle-centre",void 0,void 0,{outer:_("#7c2d12"),inner:_("#7c2d12")})},{id:"shop-tag",category:"colour",sizesMm:{H:29},ecLevels:Zh,ecLevel:"H",shape:{id:"squircle"},paint:_("#14532d"),background:He,eyes:ve("squircle","squircle-centre"),logo:{source:{kind:"icon",id:"shop"},size:.2,clear:"shape",padding:1,plate:{paint:He,shape:"circle"},paint:_("#14532d")},frame:{ref:{id:"hang-tag"},paint:_("#14532d")}},{id:"print-black",category:"print",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"square"},paint:_({srgb:"#000000",cmyk:[0,0,0,1]}),background:_({srgb:"#ffffff",cmyk:[0,0,0,0]}),eyes:qt,colourSpace:"cmyk"},{id:"print-navy",category:"print",sizesMm:{L:22,M:25,Q:28,H:29},ecLevels:pt,shape:{id:"square"},paint:_({srgb:"#13294b",cmyk:[1,.75,.2,.55]}),background:_({srgb:"#ffffff",cmyk:[0,0,0,0]}),eyes:qt,colourSpace:"cmyk"},{id:"print-ticket",category:"print",sizesMm:{M:25,Q:28,H:30},ecLevels:["M","Q","H"],shape:{id:"rounded",params:{radius:.2}},paint:_({srgb:"#1a1a1a",cmyk:[0,0,0,.9]}),background:_({srgb:"#ffffff",cmyk:[0,0,0,0]}),eyes:ve("rounded","rounded-centre",void 0,{radius:.25}),frame:{ref:{id:"ticket"},paint:_({srgb:"#7f1d1d",cmyk:[0,.9,.8,.5]})},colourSpace:"cmyk"},{id:"print-stamp",category:"print",sizesMm:{M:25,Q:28,H:30},ecLevels:["M","Q","H"],shape:{id:"square"},paint:_({srgb:"#1f2a44",cmyk:[.9,.7,.3,.6]}),background:_({srgb:"#fffdf7",cmyk:[0,0,.03,0]}),eyes:qt,frame:{ref:{id:"stamp"},paint:_({srgb:"#1f2a44",cmyk:[.9,.7,.3,.6]})},colourSpace:"cmyk"}]}function $h(){return Object.freeze(TE().map(EE))}var Kn=Object.freeze(["concentric-7","concentric-5","corner-l"]),Yr=Object.freeze(["concentric-7","concentric-5"]),RE=Object.freeze(["concentric-7"]);function Wu(e){return e==="concentric-5"?5:7}function ci(e,t){return e*Wu(t)/7}function AE(e){e.polygon([0,0,3,0,3,1,1,1,1,3,0,3])}function IE(e,t){De(0,0,3,1,[t,.5,.5,0]).emit(e),De(0,0,1,3,[t,0,.5,.5]).emit(e)}function PE(e){return Object.freeze(Object.fromEntries(Object.entries(e).map(([t,n])=>[t,Object.freeze([...n])])))}function fr(e){return Object.freeze({id:e.id,labelKey:`design.region.${e.id}`,params:Object.freeze([...e.params]),kinds:e.kinds,part:"outer",...e.ringKind===void 0?{}:{ringKind:e.ringKind},...e.unpaired===void 0?{}:{unpaired:PE(e.unpaired)},path(t,n){if(t.kind==="corner-l"){let s=e.corner(t);s===null?AE(n):IE(n,s);return}let[r,o]=e.ring(Wu(t.kind),t);ln(n,r,o)}})}function Va(e,t,n){return[De(0,0,e,e,[t,t,t,t]),De(1,1,e-2,e-2,[n,n,n,n])]}var CE=Object.freeze([fr({id:"square",params:[],kinds:Kn,unpaired:{square:["leaf-centre","flower-centre"],dot:["squircle-centre","leaf-centre","octagon-centre","scooped-centre","flower-centre"],hex:["squircle-centre","leaf-centre","octagon-centre","scooped-centre","flower-centre"]},ring:e=>Va(e,0,0),corner:()=>null}),fr({id:"rounded",params:[ue("radius",1,.5,1.5,.05)],kinds:Kn,unpaired:{square:["flower-centre"],dot:["rounded-centre","squircle-centre","flower-centre"],hex:["rounded-centre","squircle-centre","flower-centre"]},ring:(e,{kind:t,params:n})=>{let r=ci(J(n,"radius"),t);return Va(e,r,Math.max(r-1,0))},corner:({params:e})=>Math.min(J(e,"radius"),1)}),fr({id:"extra-rounded",params:[ue("radius",2.5,2,2.5,.05)],kinds:Kn,unpaired:{dot:["square-centre","rounded-centre","circle-centre","octagon-centre","scooped-centre","flower-centre"],hex:["square-centre","rounded-centre","circle-centre","octagon-centre","scooped-centre","flower-centre"]},ring:(e,{kind:t,params:n})=>{let r=ci(J(n,"radius"),t);return Va(e,r,r-1)},corner:()=>1}),fr({id:"circle",params:[],kinds:Kn,ringKind:"round",ring:e=>[Qe(e/2,e/2,e/2),Qe(e/2,e/2,e/2-1)],corner:()=>1}),fr({id:"squircle",params:[],kinds:Kn,unpaired:{dot:["square-centre","circle-centre","flower-centre"],hex:["circle-centre","leaf-centre","flower-centre"]},ring:e=>[Xr(e/2,e/2,e/2,e/2),Xr(e/2,e/2,e/2-1,e/2-1)],corner:()=>1}),fr({id:"cushion",params:[ue("radius",1.25,1,1.5,.05)],kinds:Kn,unpaired:{square:["flower-centre"],dot:["leaf-centre","octagon-centre","scooped-centre","flower-centre"],hex:["leaf-centre","octagon-centre","scooped-centre","flower-centre"]},ring:(e,{kind:t,params:n})=>{let r=ci(J(n,"radius"),t);return Va(e,r,Math.max(r-.5,0))},corner:()=>.75}),Object.freeze({id:"dot-ring",labelKey:"design.region.dot-ring",params:Object.freeze([ue("size",.94,.9,1,.02)]),kinds:Kn,part:"outer",ringKind:"dotted",path({kind:e,params:t},n){let r=J(t,"size")/2;if(e==="corner-l"){for(let[s,i]of[[0,0],[1,0],[2,0],[0,1],[0,2]])Qe(s+.5,i+.5,r).emit(n);return}let o=Wu(e);for(let s=0;s<o;s+=1)for(let i=0;i<o;i+=1)(i===0||i===o-1)&&(s===0||s===o-1)?Xr(i+.5,s+.5,r,r).emit(n):(i===0||s===0||i===o-1||s===o-1)&&Qe(i+.5,s+.5,r).emit(n)}}),fr({id:"octagon",params:[ue("cut",1.1,.8,1.4,.05)],kinds:Kn,unpaired:{square:["flower-centre"],dot:["square-centre","rounded-centre","squircle-centre","leaf-centre","octagon-centre","scooped-centre","flower-centre"],hex:["square-centre","rounded-centre","squircle-centre","leaf-centre","octagon-centre","scooped-centre","flower-centre"]},ring:(e,{kind:t,params:n})=>{let r=ci(J(n,"cut"),t);return[Fa(0,0,e,e,r),Fa(1,1,e-2,e-2,Math.max(r+Math.SQRT2-2,0))]},corner:()=>null}),fr({id:"scooped",params:[ue("bite",.8,.5,1,.05)],kinds:Kn,unpaired:{square:["flower-centre"],dot:["square-centre","leaf-centre","octagon-centre","scooped-centre","flower-centre"],hex:["leaf-centre","octagon-centre","scooped-centre","flower-centre"]},ring:(e,{kind:t,params:n})=>{let r=ci(J(n,"bite"),t);return[Gu(0,0,e,e,r),Uh(0,0,e,e,r)]},corner:()=>null})]);function pr(e){let t=`${e.id}-centre`;return Object.freeze({id:t,labelKey:`design.region.${t}`,params:Object.freeze([...e.params]),kinds:e.kinds,part:"inner",path(n,r){if(n.kind==="corner-l")return;let o=n.kind==="concentric-5"?1:3,s=e.centre(2,o,n);for(let i of Array.isArray(s)?s:[s])i.emit(r)}})}function qa(e,t){return e*t/3}var NE=Object.freeze([pr({id:"square",params:[],kinds:Yr,centre:(e,t)=>De(e,e,t,t,[0,0,0,0])}),pr({id:"rounded",params:[ue("radius",.5,.25,.75,.05)],kinds:Yr,centre:(e,t,{params:n})=>{let r=qa(J(n,"radius"),t);return De(e,e,t,t,[r,r,r,r])}}),pr({id:"circle",params:[],kinds:Yr,centre:(e,t)=>Qe(e+t/2,e+t/2,t/2)}),pr({id:"squircle",params:[],kinds:Yr,centre:(e,t)=>Xr(e+t/2,e+t/2,t/2,t/2)}),pr({id:"leaf",params:[ue("radius",1.2,.75,1.5,.05)],kinds:Yr,centre:(e,t,{params:n})=>{let r=qa(J(n,"radius"),t);return De(e,e,t,t,[r,0,r,0])}}),pr({id:"octagon",params:[ue("cut",.6,.45,.9,.05)],kinds:Yr,centre:(e,t,{params:n})=>Fa(e,e,t,t,qa(J(n,"cut"),t))}),pr({id:"scooped",params:[ue("bite",.45,.3,.6,.05)],kinds:Yr,centre:(e,t,{params:n})=>Gu(e,e,t,t,qa(J(n,"bite"),t))}),pr({id:"flower",params:[ue("petal",.6,.55,.7,.01)],kinds:RE,centre:(e,t,{params:n})=>{let r=e+t/2,o=t/3*J(n,"petal"),s=[Qe(r,r,t/2-o*.75)],i=t/2-o,a=t/2*Math.SQRT2-o;for(let l=0;l<8;l+=1){let c=l%2===0?i:a/Math.SQRT2,u=[1,1,0,-1,-1,-1,0,1][l],d=[0,1,1,1,0,-1,-1,-1][l];s.push(Qe(r+u*c,r+d*c,o))}return s}})]),Jh=Object.freeze([...CE,...NE]);function Ha(){return{moduleShapes:new Mt("module-shape",Yh),regionShapes:new Mt("region-shape",Jh),fills:new Mt("fill",Ph),frames:new Mt("frame",qh),icons:new Mt("icon",Kh()),presets:new Mt("preset",$h())}}var ey=32;function it(e,t,n){if(typeof e!="number"||!Number.isFinite(e))throw new TypeError(`${t}: ${n} is not a finite number.`);return e}function Ka(e){return e.a===0?{kind:"none"}:{kind:"solid",colour:e}}function LE(e,t){if(!Array.isArray(e))throw new TypeError(`${t}: stops is a list.`);let n=[],r=0;for(let o=0;o<e.length;o+=1){let s=e[o];if(typeof s!="object"||s===null)throw new TypeError(`${t}: stop ${o} is not a stop.`);let i=it(s.offset,t,`stop ${o} offset`);Do(s.colour,`${t}: stop ${o}`),r=Math.max(r,Math.min(Math.max(i,0),1)),n.push({offset:r,colour:s.colour})}return n}function ny(e,t){if(typeof e!="object"||e===null)throw new TypeError(`${t}: a paint is an object with a kind.`);if(e.kind==="solid")return Do(e.colour,t),Ka(e.colour);if(e.kind!=="linear"&&e.kind!=="radial"&&e.kind!=="conic")throw new TypeError(`${t}: the paint kind is not solid, linear, radial or conic.`);let n=LE(e.stops,t),r=n[n.length-1];if(e.kind==="linear"){let a=it(e.x1,t,"x1"),l=it(e.y1,t,"y1"),c=it(e.x2,t,"x2"),u=it(e.y2,t,"y2");return r===void 0?{kind:"none"}:n.length===1||a===c&&l===u?Ka(r.colour):{kind:"linear",x1:a,y1:l,x2:c,y2:u,stops:n}}if(e.kind==="radial"){let a=it(e.cx,t,"cx"),l=it(e.cy,t,"cy"),c=it(e.r,t,"r");if(c<0)throw new TypeError(`${t}: a radial gradient's r cannot be negative.`);return r===void 0?{kind:"none"}:n.length===1||c===0?Ka(r.colour):{kind:"radial",cx:a,cy:l,r:c,stops:n}}let o=it(e.cx,t,"cx"),s=it(e.cy,t,"cy"),i=it(e.angle,t,"angle");return r===void 0?{kind:"none"}:n.length===1?Ka(r.colour):{kind:"conic",cx:o,cy:s,angle:i,stops:n}}function ry(e){let t=!1;return Vt(e,{move(){},line(){t=!0},quad(){t=!0},cubic(){t=!0},close(){}},"draws"),t}function Xu(e,t){if(typeof e!="object"||e===null)throw new TypeError(`${t}: image is an object with width, height and data.`);let{width:n,height:r}=e,o=e.data;if(!Number.isInteger(n)||n<1||!Number.isInteger(r)||r<1)throw new TypeError(`${t}: the image's width and height are whole numbers, 1 or more.`);if(!(o instanceof Uint8ClampedArray)&&!(o instanceof Uint8Array))throw new TypeError(`${t}: the image's data is a Uint8ClampedArray.`);if(o.length!==n*r*4)throw new TypeError(`${t}: the image's data is not four bytes a pixel.`)}function ty(e,t){return e===void 0?null:(Ba(e,`${t}: clip`),ry(e)?e:void 0)}function OE(e,t,n){if(typeof e!="object"||e===null)throw new TypeError(`${t}: a node is an object with a kind.`);if(e.kind==="path"){Ba(e.path,t);let r=ny(e.paint,`${t}: paint`);return r.kind==="none"||!ry(e.path)?null:{kind:"path",path:e.path,paint:r}}if(e.kind==="image"){Xu(e.image,t);let r=it(e.x,t,"x"),o=it(e.y,t,"y"),s=it(e.width,t,"width"),i=it(e.height,t,"height");if(s<0||i<0)throw new TypeError(`${t}: an image's width and height cannot be negative.`);let a=ty(e.clip,t);return a===void 0||s===0||i===0?null:{kind:"image",image:e.image,x:r,y:o,width:s,height:i,clip:a}}if(e.kind==="group"){if(n>=ey)throw new TypeError(`${t}: groups nest more than ${ey} deep.`);let r=e.opacity===void 0?1:Math.min(Math.max(it(e.opacity,t,"opacity"),0),1),o=ty(e.clip,t),s=oy(e.children,t,n+1);return o===void 0||r===0||s.length===0?null:{kind:"group",children:s,clip:o,opacity:r}}throw new TypeError(`${t}: the node kind is not path, image or group.`)}function oy(e,t,n){if(!Array.isArray(e))throw new TypeError(`${t}: children is a list of nodes.`);let r=[];for(let o=0;o<e.length;o+=1){let s=OE(e[o],`${t} > ${o}`,n);s!==null&&r.push(s)}return r}function Bo(e,t){if(typeof e!="object"||e===null)throw new TypeError(`${t}: a scene is an object.`);let n=it(e.width,t,"scene width"),r=it(e.height,t,"scene height");if(n<=0||r<=0)throw new TypeError(`${t}: the scene's width and height are more than zero.`);let o=null;if(e.unitsPerMm!==void 0&&(o=it(e.unitsPerMm,t,"unitsPerMm"),o<=0))throw new TypeError(`${t}: unitsPerMm is more than zero.`);if(e.title!==void 0&&typeof e.title!="string")throw new TypeError(`${t}: title is a string.`);let s=e.background===null||e.background===void 0?{kind:"none"}:ny(e.background,`${t}: background`);return{width:n,height:r,unitsPerMm:o,background:s,layers:oy(e.layers,`${t}: layer`,0),title:e.title??null}}var di=Uint8Array.from([137,80,78,71,13,10,26,10]),sy=1<<20;function Fo(e,t){let n=new Uint8Array(t.length+12),r=new DataView(n.buffer);r.setUint32(0,t.length);for(let o=0;o<4;o+=1)n[4+o]=e.charCodeAt(o);return n.set(t,8),r.setUint32(n.length-4,Io(n.subarray(4,n.length-4))),n}function DE(e){let t=0;for(let o of e)t+=o.length;let n=new Uint8Array(t),r=0;for(let o of e)n.set(o,r),r+=o.length;return n}var Yu=class{keys=new Uint32Array(1024);used=new Uint8Array(1024);indices=new Int32Array(1024);found=[];index(t){let n=Math.imul(t,2654435761)>>>22;for(;this.used[n]===1;){if(this.keys[n]===t)return this.indices[n];n=n+1&1023}return this.found.length>256?-1:(this.used[n]=1,this.keys[n]=t,this.indices[n]=this.found.length,this.found.push(t),this.found.length-1)}};function jE(e){let{data:t}=e,n=new Yu,r=!0,o=!0,s=!0,i=!0,a=!0,l=!1;for(let u=0;u<t.length;u+=4){let d=t[u],m=t[u+1],f=t[u+2],p=t[u+3];p!==255&&(r=!1),d!==m||m!==f?o=!1:(d%17!==0&&(a=!1),d%85!==0&&(i=!1),d!==0&&d!==255&&(s=!1)),!l&&n.index((d<<24|m<<16|f<<8|p)>>>0)<0&&(l=!0)}return{opaque:r,grey:o,greyBits:s?1:i?2:a?4:8,palette:l?null:n.found,colours:n}}function BE(e){return e<=2?1:e<=4?2:e<=16?4:8}var ui=Uint8Array.from({length:256},(e,t)=>t<128?t:256-t);function iy(e,t,n){let r=e+t-n,o=Math.abs(r-e),s=Math.abs(r-t),i=Math.abs(r-n);return o<=s&&o<=i?e:s<=i?t:n}function FE(e,t,n,r,o){let s=e.length,i=[0,0,0,0,0];for(let l=0;l<s;l+=1){let c=e[l],u=l>=n?e[l-n]:0,d=t[l],m=l>=n?t[l-n]:0;i[0]=i[0]+ui[c],i[1]=i[1]+ui[c-u&255],i[2]=i[2]+ui[c-d&255],i[3]=i[3]+ui[c-(u+d>>1)&255],i[4]=i[4]+ui[c-iy(u,d,m)&255]}let a=0;for(let l=1;l<5;l+=1)i[l]<i[a]&&(a=l);r[o]=a;for(let l=0;l<s;l+=1){let c=e[l],u=l>=n?e[l-n]:0,d=t[l],m=l>=n?t[l-n]:0,f=0;a===1?f=u:a===2?f=d:a===3?f=u+d>>1:a===4&&(f=iy(u,d,m)),r[o+1+l]=c-f&255}}function UE(e,t){let{width:n,data:r}=e,o=(a,l)=>(c,u)=>{if(a===8){for(let m=0;m<n;m+=1)u[m]=l(m,c);return}u.fill(0);let d=8/a;for(let m=0;m<n;m+=1){let f=Math.floor(m/d);u[f]=u[f]|l(m,c)<<8-a*(m%d+1)}};if(t.opaque&&t.grey){let a=t.greyBits,l=255/((1<<a)-1);return{colourType:0,bitDepth:a,bpp:1,adaptive:a===8,fill:o(a,(c,u)=>r[(u*n+c)*4]/l),extra:[],stride:Math.ceil(n*a/8)}}if(t.palette!==null){let a=t.palette,l=x=>a[x]&255,c=a.map((x,w)=>w),u=c.filter(x=>l(x)!==255),d=c.filter(x=>l(x)===255),m=[...u,...d],f=new Uint8Array(m.length);m.forEach((x,w)=>{f[x]=w});let p=new Uint8Array(m.length*3),h=new Uint8Array(u.length);m.forEach((x,w)=>{let k=a[x];p[w*3]=k>>>24,p[w*3+1]=k>>>16&255,p[w*3+2]=k>>>8&255,w<h.length&&(h[w]=k&255)});let g=BE(m.length),y=t.colours,b=[Fo("PLTE",p)];return h.length>0&&b.push(Fo("tRNS",h)),{colourType:3,bitDepth:g,bpp:1,adaptive:!1,fill:o(g,(x,w)=>{let k=(w*n+x)*4,S=(r[k]<<24|r[k+1]<<16|r[k+2]<<8|r[k+3])>>>0;return f[y.index(S)]}),extra:b,stride:Math.ceil(n*g/8)}}let s=t.grey?2:t.opaque?3:4;return{colourType:t.grey?4:t.opaque?2:6,bitDepth:8,bpp:s,adaptive:!0,fill:(a,l)=>{for(let c=0;c<n;c+=1){let u=(a*n+c)*4;s===2?(l[c*2]=r[u],l[c*2+1]=r[u+3]):(l[c*s]=r[u],l[c*s+1]=r[u+1],l[c*s+2]=r[u+2],s===4&&(l[c*4+3]=r[u+3]))}},extra:[],stride:n*s}}function Gn(e,t={}){if(Xu(e,"encodePng"),typeof t!="object"||t===null)throw new TypeError("encodePng: options is an object.");let{dpi:n,level:r}=t;if(r!==void 0&&r!==0&&r!==1&&r!==6&&r!==9)throw new TypeError("encodePng: level is 0, 1, 6 or 9.");let o=-1;if(n!==void 0&&(o=typeof n=="number"?Math.round(n*1e4/254):Number.NaN,!(o>=1&&o<=2147483647)))throw new TypeError("encodePng: dpi is a positive number of pixels per inch.");let{width:s,height:i}=e,a=UE(e,jE(e)),l=a.stride+1,c=new Uint8Array(l*i),u=new Uint8Array(a.stride),d=new Uint8Array(a.stride);for(let g=0;g<i;g+=1)if(a.fill(g,u),a.adaptive){FE(u,d,a.bpp,c,g*l);let y=d;d=u,u=y}else c.set(u,g*l+1);let m=new Uint8Array(13),f=new DataView(m.buffer);f.setUint32(0,s),f.setUint32(4,i),m[8]=a.bitDepth,m[9]=a.colourType;let p=[di,Fo("IHDR",m)];if(o>0){let g=new Uint8Array(9),y=new DataView(g.buffer);y.setUint32(0,o),y.setUint32(4,o),g[8]=1,p.push(Fo("pHYs",g))}p.push(...a.extra);let h=No(c,r===void 0?{}:{level:r});for(let g=0;g<h.length;g+=sy)p.push(Fo("IDAT",h.subarray(g,Math.min(g+sy,h.length))));return p.push(Fo("IEND",new Uint8Array(0))),DE(p)}var ay={id:"plex-sans-regular",labelKey:"text.font.plex-sans-regular",unitsPerEm:1e3,ascender:1025,descender:-275,lineGap:0,glyphCount:371,length:25786,data:"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"},ly={id:"plex-sans-bold",labelKey:"text.font.plex-sans-bold",unitsPerEm:1e3,ascender:1025,descender:-275,lineGap:0,glyphCount:643,length:70808,data:"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"},cy=`Copyright \xA9 2017 IBM Corp. with Reserved Font Name "Plex"
57
+
58
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
59
+
60
+ This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
61
+
62
+
63
+ -----------------------------------------------------------
64
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
65
+ -----------------------------------------------------------
66
+
67
+ PREAMBLE
68
+ The goals of the Open Font License (OFL) are to stimulate worldwide
69
+ development of collaborative font projects, to support the font creation
70
+ efforts of academic and linguistic communities, and to provide a free and
71
+ open framework in which fonts may be shared and improved in partnership
72
+ with others.
73
+
74
+ The OFL allows the licensed fonts to be used, studied, modified and
75
+ redistributed freely as long as they are not sold by themselves. The
76
+ fonts, including any derivative works, can be bundled, embedded,
77
+ redistributed and/or sold with any software provided that any reserved
78
+ names are not used by derivative works. The fonts and derivatives,
79
+ however, cannot be released under any other type of license. The
80
+ requirement for fonts to remain under this license does not apply
81
+ to any document created using the fonts or their derivatives.
82
+
83
+ DEFINITIONS
84
+ "Font Software" refers to the set of files released by the Copyright
85
+ Holder(s) under this license and clearly marked as such. This may
86
+ include source files, build scripts and documentation.
87
+
88
+ "Reserved Font Name" refers to any names specified as such after the
89
+ copyright statement(s).
90
+
91
+ "Original Version" refers to the collection of Font Software components as
92
+ distributed by the Copyright Holder(s).
93
+
94
+ "Modified Version" refers to any derivative made by adding to, deleting,
95
+ or substituting -- in part or in whole -- any of the components of the
96
+ Original Version, by changing formats or by porting the Font Software to a
97
+ new environment.
98
+
99
+ "Author" refers to any designer, engineer, programmer, technical
100
+ writer or other person who contributed to the Font Software.
101
+
102
+ PERMISSION & CONDITIONS
103
+ Permission is hereby granted, free of charge, to any person obtaining
104
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
105
+ redistribute, and sell modified and unmodified copies of the Font
106
+ Software, subject to the following conditions:
107
+
108
+ 1) Neither the Font Software nor any of its individual components,
109
+ in Original or Modified Versions, may be sold by itself.
110
+
111
+ 2) Original or Modified Versions of the Font Software may be bundled,
112
+ redistributed and/or sold with any software, provided that each copy
113
+ contains the above copyright notice and this license. These can be
114
+ included either as stand-alone text files, human-readable headers or
115
+ in the appropriate machine-readable metadata fields within text or
116
+ binary files as long as those fields can be easily viewed by the user.
117
+
118
+ 3) No Modified Version of the Font Software may use the Reserved Font
119
+ Name(s) unless explicit written permission is granted by the corresponding
120
+ Copyright Holder. This restriction only applies to the primary font name as
121
+ presented to the users.
122
+
123
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
124
+ Software shall not be used to promote, endorse or advertise any
125
+ Modified Version, except to acknowledge the contribution(s) of the
126
+ Copyright Holder(s) and the Author(s) or with their explicit written
127
+ permission.
128
+
129
+ 5) The Font Software, modified or unmodified, in part or in whole,
130
+ must be distributed entirely under this license, and must not be
131
+ distributed under any other license. The requirement for fonts to
132
+ remain under this license does not apply to any document created
133
+ using the Font Software.
134
+
135
+ TERMINATION
136
+ This license becomes null and void if any of the above conditions are
137
+ not met.
138
+
139
+ DISCLAIMER
140
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
141
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
142
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
143
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
144
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
145
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
146
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
147
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
148
+ OTHER DEALINGS IN THE FONT SOFTWARE.`;var Zu=class extends K{table;reason;constructor(t,n){super("font/malformed","This font file is damaged, or is not a TrueType font this tool can read.",{table:t,reason:n}),this.table=t,this.reason=n}};function Ct(e,t){throw new Zu(e,t)}var uy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",$u;function zE(){if($u!==void 0)return $u;let e=new Int8Array(128).fill(-1);for(let t=0;t<uy.length;t+=1)e[uy.charCodeAt(t)]=t;return $u=e,e}function dy(e){let t=zE();e.length%4!==0&&Ct("compiled","truncated");let n=e.endsWith("==")?2:e.endsWith("=")?1:0,r=new Uint8Array(e.length/4*3-n),o=0;for(let s=0;s<e.length;s+=4){let i=0;for(let a=0;a<4;a+=1){let l=e.charCodeAt(s+a),d=s+4===e.length&&l===61&&a>=4-n?0:l<128?t[l]:-1;d<0&&Ct("compiled","out-of-range"),i=i*64+d}o<r.length&&(r[o++]=i>>16&255),o<r.length&&(r[o++]=i>>8&255),o<r.length&&(r[o++]=i&255)}return r}function VE(e,t){let{points:n,onCurve:r,ends:o}=e,s=0;for(let i of o)qE(n,r,s,i,t),s=i}function qE(e,t,n,r,o){if(r-n<2)return;let s=p=>e[p*2],i=p=>e[p*2+1],a=r-1,l,c,u=n;t[n]===1?(l=s(n),c=i(n),u=n+1):t[a]===1?(l=s(a),c=i(a),a-=1):(l=(s(n)+s(a))/2,c=(i(n)+i(a))/2),o.moveTo(l,c);let d=!1,m=0,f=0;for(let p=u;p<=a;p+=1){let h=s(p),g=i(p);if(t[p]===1){d?o.quadTo(m,f,h,g):o.lineTo(h,g),d=!1;continue}d&&o.quadTo(m,f,(m+h)/2,(f+g)/2),m=h,f=g,d=!0}d&&o.quadTo(m,f,l,c),o.close()}function my(e){let t=new ee;return VE(e,t),t.build()}var HE=1114111;function fy(e){let t=new Map,n=new Map,r=(s,i)=>{if(!Number.isInteger(s)||s<0||s>=e.glyphCount)throw new TypeError(`Font.${i}: that is not a glyph number in this font.`)},o=s=>{r(s,"outline");let i=t.get(s);return i===void 0&&(i=e.outline(s),t.set(s,i)),i};return Object.freeze({id:e.id,labelKey:e.labelKey,unitsPerEm:e.unitsPerEm,ascender:e.ascender,descender:e.descender,lineGap:e.lineGap,glyphCount:e.glyphCount,glyphIndex(s){return!Number.isInteger(s)||s<0||s>HE?0:e.glyphIndex(s)},advance(s){return r(s,"advance"),e.advance(s)},kerning(s,i){return r(s,"kerning"),r(i,"kerning"),e.kerning(s,i)},outline:o,path(s){r(s,"path");let i=n.get(s);return i===void 0&&(i=my(o(s)),n.set(s,i)),i}})}var KE=1,GE=8,Ju=class{constructor(t){this.bytes=t}at=0;get done(){return this.at===this.bytes.length}u(){let t=0,n=1;for(let r=0;r<5;r+=1){this.at>=this.bytes.length&&Ct("compiled","truncated");let o=this.bytes[this.at++];if(t+=(o&127)*n,o<128)return t;n*=128}return Ct("compiled","out-of-range")}s(){let t=this.u();return t%2===0?t/2:-(t+1)/2}};function _E(e){let t;try{t=Ta(dy(e.data),{maxOutput:e.length})}catch(y){if(bu(y)&&y.code==="font/malformed")throw y;return Ct("compiled","truncated")}let n=new Ju(t);n.u()!==KE&&Ct("compiled","unsupported");let r=n.u();r!==e.glyphCount&&Ct("compiled","out-of-range");let o=y=>y>=0&&y<r?y:Ct("compiled","out-of-range"),s=n.u(),i=new Uint32Array(s),a=new Uint16Array(s),l=-1,c=-1;for(let y=0;y<s;y+=1)l+=n.u()+1,c+=n.s()+1,i[y]=l,a[y]=o(c);let u=new Uint16Array(r);for(let y=0;y<r;y+=1)u[y]=n.u();let d=[];for(let y=0;y<r;y+=1){let b=n.u(),x=Math.floor(b/2);if(b%2===1){let A=[];for(let O=0;O<x;O+=1)A.push({glyph:o(n.u()),dx:n.s(),dy:n.s()});d.push({kind:"composite",parts:A});continue}let w=[],k=0;for(let A=0;A<x;A+=1)k+=n.u(),w.push(k);let S=new Float64Array(k*2),E=new Uint8Array(k),R=0,C=0;for(let A=0;A<k;A+=1){let O=n.u();E[A]=O%2;let D=Math.floor(O/2);R+=D%2===0?D/2:-(D+1)/2,C+=n.s(),S[A*2]=R,S[A*2+1]=C}d.push({kind:"simple",outline:{points:S,onCurve:E,ends:w}})}let m=n.u(),f=n.u(),p=new Uint16Array(r),h=new Uint16Array(r);for(let y=0;y<r;y+=1)p[y]=n.u(),p[y]>=m&&Ct("compiled","out-of-range");for(let y=0;y<r;y+=1)h[y]=n.u(),h[y]>=f&&Ct("compiled","out-of-range");let g=new Int16Array(m*f);for(let y=0;y<f;y+=1)for(let b=0;b<m;b+=1)g[b*f+y]=n.s();return n.done||Ct("compiled","out-of-range"),{codes:i,glyphsOf:a,advances:u,glyphs:d,left:p,right:h,rightCount:f,matrix:g}}function py(e,t,n){let r=e.glyphs[t];if(r.kind==="simple")return r.outline;n>=GE&&Ct("compiled","too-large");let o=[],s=[],i=[];for(let a of r.parts){let l=py(e,a.glyph,n+1),c=s.length;for(let u=0;u<l.onCurve.length;u+=1)o.push(l.points[u*2]+a.dx,l.points[u*2+1]+a.dy),s.push(l.onCurve[u]);for(let u of l.ends)i.push(c+u)}return{points:Float64Array.from(o),onCurve:Uint8Array.from(s),ends:i}}function ed(e){let t,n=()=>(t??=_E(e),t);return fy({id:e.id,labelKey:e.labelKey,unitsPerEm:e.unitsPerEm,ascender:e.ascender,descender:e.descender,lineGap:e.lineGap,glyphCount:e.glyphCount,glyphIndex(r){let{codes:o,glyphsOf:s}=n(),i=0,a=o.length-1;for(;i<=a;){let l=i+a>>>1,c=o[l];if(c===r)return s[l];c<r?i=l+1:a=l-1}return 0},advance:r=>n().advances[r],kerning(r,o){let{left:s,right:i,rightCount:a,matrix:l}=n();return l[s[r]*a+i[o]]},outline:r=>py(n(),r,0)})}var Uo=Object.freeze(["plex-sans-regular","plex-sans-bold"]),hy;function QE(){return hy??=Object.freeze([ed(ay),ed(ly)]),hy}function Mn(){return new Mt("font",QE())}var Zr=0x4000000000000,yy=8192;function gy(e){return e>Zr?Zr:e<-Zr?-Zr:e}function by(e,t,n){let r=Math.ceil(Math.sqrt(t*e/n));return r>=1?r>yy?yy:r:1}function xy(e,t,n){if(e===void 0)return!1;let r=e.x+e.width,o=e.y+e.height,s=!0,i=!0,a=!0,l=!0;for(let c=0;c<t.length;c+=1){let u=t[c],d=n[c];u>=e.x&&(s=!1),u<=r&&(i=!1),d>=e.y&&(a=!1),d<=o&&(l=!1)}return s||i||a||l}function Ga(e,t,n){let{matrix:r,cull:o}=t,s=t.tolerance;if(!(s>0)||!Number.isFinite(s))throw new TypeError("flattenPath: tolerance is a positive finite number.");let i=r?r[0]:1,a=r?r[1]:0,l=r?r[2]:0,c=r?r[3]:1,u=r?r[4]:0,d=r?r[5]:0,m=(k,S)=>gy(i*k+l*S+u),f=(k,S)=>gy(a*k+c*S+d),p=0,h=0,g=0,y=0,b=!1,x=()=>{b&&(g!==p||y!==h)&&n(g,y,p,h),b=!1},w=(k,S)=>{n(g,y,k,S),g=k,y=S};Vt(e,{move(k,S){x(),p=m(k,S),h=f(k,S),g=p,y=h,b=!0},line(k,S){w(m(k,S),f(k,S))},quad(k,S,E,R){let C=g,A=y,O=m(k,S),D=f(k,S),N=m(E,R),T=f(E,R);if(xy(o,[C,O,N],[A,D,T])){w(N,T);return}let I=C-2*O+N,U=A-2*D+T,q=by(Math.sqrt(I*I+U*U),.25,s);for(let H=1;H<q;H+=1){let W=H/q,$=1-W,be=$*$,X=2*$*W,ne=W*W;w(be*C+X*O+ne*N,be*A+X*D+ne*T)}w(N,T)},cubic(k,S,E,R,C,A){let O=g,D=y,N=m(k,S),T=f(k,S),I=m(E,R),U=f(E,R),q=m(C,A),H=f(C,A);if(xy(o,[O,N,I,q],[D,T,U,H])){w(q,H);return}let W=O-2*N+I,$=D-2*T+U,be=N-2*I+q,X=T-2*U+H,ne=Math.max(Math.sqrt(W*W+$*$),Math.sqrt(be*be+X*X)),me=by(ne,.75,s);for(let fe=1;fe<me;fe+=1){let ke=fe/me,Oe=1-ke,gt=Oe*Oe*Oe,ie=3*Oe*Oe*ke,Ce=3*Oe*ke*ke,qe=ke*ke*ke;w(gt*O+ie*N+Ce*I+qe*q,gt*D+ie*T+Ce*U+qe*H)}w(q,H)},close(){x()}},"flattenPath"),x()}var WE=1/64,wy=1e-9,XE=4096,YE=64,ky=1e-12;function ZE(e,t,n,r,o){let s=t<n?t:n,i=t<n?n:t,a=o*r,l=Math.floor(s);if(i<=l+1){let m=(t+n)*.5-l;e[l]=e[l]+a*(1-m),e[l+1]=e[l+1]+a*m;return}let c=i-s,u=Math.ceil(i)-1,d=0;for(let m=l;m<=u;m+=1){let f=m>s?m:s,p=m+1<i?m+1:i,h=(f-s)/c+(p-f)/c*(m+1-(f+p)*.5);e[m]=e[m]+a*(h-d),d=h}e[u+1]=e[u+1]+a*(1-d)}var _a=class{data=new Float64Array(256);length=0;push(t){if(this.length===this.data.length){let n=new Float64Array(this.data.length*2);n.set(this.data),this.data=n}this.data[this.length]=t,this.length+=1}};function zo(e,t,n,r,o){return o===t?e:o===r?n:e+(o-t)/(r-t)*(n-e)}function td(e,t){for(let n=1;n<e.length;n+=1){let r=e[n],o=t(r),s=n-1;for(;s>=0&&t(e[s])>o;)e[s+1]=e[s],s-=1;e[s+1]=r}}var Qa=class{constructor(t){this.width=t;this.acc=new Float64Array(t+2)}acc;bandTop=new Float64Array(64);bandBottom=new Float64Array(64);bandXTop=new Float64Array(64);bandXBottom=new Float64Array(64);bandMin=new Float64Array(64);bandMax=new Float64Array(64);grow(t){if(t<=this.bandTop.length)return;let n=this.bandTop.length;for(;n<t;)n*=2;let r=o=>{let s=new Float64Array(n);return s.set(o),s};this.bandTop=r(this.bandTop),this.bandBottom=r(this.bandBottom),this.bandXTop=r(this.bandXTop),this.bandXBottom=r(this.bandXBottom),this.bandMin=r(this.bandMin),this.bandMax=r(this.bandMax)}},Wa=class e{constructor(t,n){this.scratch=t;this.height=n;this.width=t.width}lines=new _a;directions=[];flats=new _a;ready=!1;byRow=new Int32Array(0);rowStart=new Int32Array(0);flatByRow=new Int32Array(0);flatRowStart=new Int32Array(0);active=[];nextRow=0;touchedLo=0;touchedHi=0;splitsLeft=0;start=0;end=0;width;static fromPath(t,n,r,o,s){let i=new e(n,r),a=n.width;return Ga(t,{matrix:[o,0,0,s,0,0],tolerance:WE,cull:{x:0,y:0,width:a,height:r}},(l,c,u,d)=>i.addLine(l,c,u,d)),i}addLine(t,n,r,o){let{width:s,height:i}=this;if(n===o){if(n<=0||n>=i||Math.floor(n)===n)return;let g=Math.min(Math.max(Math.min(t,r),0),s),y=Math.min(Math.max(Math.max(t,r),0),s);if(g===y)return;this.flats.push(n),this.flats.push(g),this.flats.push(y);return}let a=n<o,l=a?t:r,c=a?n:o,u=a?r:t,d=a?o:n;if(d<=0||c>=i)return;let m=c<0?0:c,f=d>i?i:d,p=zo(l,c,u,d,m),h=zo(l,c,u,d,f);this.splitAtSides(p,m,h,f,a?1:-1)}splitAtSides(t,n,r,o,s){let i=t,a=n,l=t<=r?[0,this.width]:[this.width,0];for(let c of l)if(i<c&&r>c||i>c&&r<c){let u=a+(c-i)/(r-i)*(o-a);u>a&&u<o&&(this.keepPiece(i,a,c,u,s),i=c,a=u)}this.keepPiece(i,a,r,o,s)}keepPiece(t,n,r,o,s){let i=(t+r)*.5;if(i>this.width)return;let a=i<0;this.lines.push(a?0:t),this.lines.push(n),this.lines.push(a?0:r),this.lines.push(o),this.directions.push(s)}prepare(){this.ready=!0;let{height:t}=this,n=this.directions.length,r=this.lines.data;this.rowStart=new Int32Array(t+1);for(let l=0;l<n;l+=1){let c=Math.floor(r[l*4+1]);this.rowStart[c+1]=this.rowStart[c+1]+1}for(let l=0;l<t;l+=1)this.rowStart[l+1]=this.rowStart[l+1]+this.rowStart[l];this.byRow=new Int32Array(n);let o=this.rowStart.slice(0,t);for(let l=0;l<n;l+=1){let c=Math.floor(r[l*4+1]);this.byRow[o[c]]=l,o[c]=o[c]+1}let s=this.flats.length/3,i=this.flats.data;this.flatRowStart=new Int32Array(t+1);for(let l=0;l<s;l+=1){let c=Math.floor(i[l*3]);this.flatRowStart[c+1]=this.flatRowStart[c+1]+1}for(let l=0;l<t;l+=1)this.flatRowStart[l+1]=this.flatRowStart[l+1]+this.flatRowStart[l];this.flatByRow=new Int32Array(s);let a=this.flatRowStart.slice(0,t);for(let l=0;l<s;l+=1){let c=Math.floor(i[l*3]);this.flatByRow[a[c]]=l,a[c]=a[c]+1}}emit(t,n,r,o){ZE(this.scratch.acc,t,n,r,o);let s=Math.floor(t<n?t:n),i=Math.ceil(t<n?n:t)+2;s<this.touchedLo&&(this.touchedLo=s),i>this.touchedHi&&(this.touchedHi=i)}coverage(t,n){this.ready||this.prepare();let{width:r}=this,o=this.lines.data;for(;this.nextRow<=t&&this.nextRow<this.height;){let w=this.rowStart[this.nextRow],k=this.rowStart[this.nextRow+1];for(let S=w;S<k;S+=1)this.active.push(this.byRow[S]);this.nextRow+=1}let s=t,i=t+1,a=0;for(let w=0;w<this.active.length;w+=1){let k=this.active[w];o[k*4+3]>s&&(this.active[a]=k,a+=1)}this.active.length=a;let l=this.flatRowStart[t],c=this.flatRowStart[t+1];if(a===0&&l===c)return!1;let u=this.scratch;u.grow(a);for(let w=0;w<a;w+=1){let k=this.active[w],S=o[k*4],E=o[k*4+1],R=o[k*4+2],C=o[k*4+3],A=E>s?E:s,O=C<i?C:i,D=zo(S,E,R,C,A),N=zo(S,E,R,C,O);u.bandTop[w]=A,u.bandBottom[w]=O,u.bandXTop[w]=D,u.bandXBottom[w]=N,u.bandMin[w]=D<N?D:N,u.bandMax[w]=D<N?N:D}this.sortActive(a);let d=this.flats.data,m=[];for(let w=l;w<c;w+=1)m.push(this.flatByRow[w]);td(m,w=>d[w*3+1]),this.touchedLo=r+2,this.touchedHi=-1;let f=0,p=0,h=0,g=[];for(;p<a||h<m.length;){g.length=0;let w=-1/0,k=!1;for(;;){let S=p<a?u.bandMin[p]:1/0,E=h<m.length?m[h]:-1,R=E>=0?d[E*3+1]:1/0,C=S<=R?S:R;if(C===1/0||k&&C>w)break;if(k=!0,S<=R){g.push(p);let A=u.bandMax[p];A>w&&(w=A),p+=1}else{let A=d[E*3+2];A>w&&(w=A),h+=1}}f=this.cluster(g,f)}if(this.touchedHi<0)return!1;let y=this.touchedLo,b=u.acc;this.start=y<r?y:r,this.end=this.start;let x=0;for(let w=y;w<r;w+=1){if(w>=this.touchedHi&&x===0){this.end=w;break}x+=b[w],b[w]=0,x<ky?x=0:x>1-ky&&(x=1),n[w]=x,this.end=w+1}for(let w=r;w<this.touchedHi&&w<b.length;w+=1)b[w]=0;return this.end>this.start}sortActive(t){let{active:n}=this,{bandTop:r,bandBottom:o,bandXTop:s,bandXBottom:i,bandMin:a,bandMax:l}=this.scratch;for(let c=1;c<t;c+=1){let u=a[c];if(a[c-1]<=u)continue;let d=n[c],m=r[c],f=o[c],p=s[c],h=i[c],g=l[c],y=c-1;for(;y>=0&&a[y]>u;)n[y+1]=n[y],r[y+1]=r[y],o[y+1]=o[y],s[y+1]=s[y],i[y+1]=i[y],a[y+1]=a[y],l[y+1]=l[y],y-=1;n[y+1]=d,r[y+1]=m,o[y+1]=f,s[y+1]=p,i[y+1]=h,a[y+1]=u,l[y+1]=g}}cluster(t,n){let r=this.scratch;if(t.length===0)return n;if(t.length===1){let l=t[0],c=n+this.directions[this.active[l]];return n===0!=(c===0)&&this.emit(r.bandXTop[l],r.bandXBottom[l],r.bandBottom[l]-r.bandTop[l],n===0?1:-1),c}let o=[];for(let l of t)o.push(r.bandTop[l],r.bandBottom[l]);td(o,l=>l);let s=n,i=!0,a=o[0];this.splitsLeft=XE;for(let l=1;l<o.length;l+=1){let c=o[l];if(c===a)continue;let u=[];for(let d of t)r.bandTop[d]<=a&&r.bandBottom[d]>=c&&u.push(this.active[d]);if(u.length>0){let d=this.subBand(u,a,c,n);i&&(s=d,i=!1)}a=c}return s}subBand(t,n,r,o,s=!1){let i=this.lines.data,a=t.length,l=[],c=[];for(let f of t){let p=i[f*4],h=i[f*4+1],g=i[f*4+2],y=i[f*4+3];l.push(zo(p,h,g,y,n)),c.push(zo(p,h,g,y,r))}let u=[];for(let f=0;f<a;f+=1)u.push(f);td(u,f=>l[f]+c[f]);let d=1/0;for(let f=0;f+1<a&&!s;f+=1){let p=u[f],h=u[f+1],g=l[p]-l[h],y=c[p]-c[h];if(g<=0&&y<=0)continue;let b=n+(r-n)*(g/(g-y));b>n+wy&&b<r-wy&&b<d&&(d=b)}if(d!==1/0){if(this.splitsLeft===0)return this.strips(t,n,r,o);this.splitsLeft-=1;let f=this.subBand(t,n,d,o);return this.subBand(t,d,r,o),f}let m=o;for(let f of u){let p=m+this.directions[t[f]];m===0!=(p===0)&&this.emit(l[f],c[f],r-n,m===0?1:-1),m=p}return m}strips(t,n,r,o){let s=Math.max(1,Math.ceil((r-n)*YE)),i=o;for(let a=0;a<s;a+=1){let l=a===0?n:n+(r-n)*a/s,c=a+1===s?r:n+(r-n)*(a+1)/s,u=this.subBand(t,l,c,o,!0);a===0&&(i=u)}return i}};function nd(e){let t=e.length,n={offsets:new Float64Array(t),r:new Float64Array(t),g:new Float64Array(t),b:new Float64Array(t),a:new Float64Array(t)};for(let r=0;r<t;r+=1){let o=e[r];n.offsets[r]=o.offset,n.r[r]=o.colour.r/255,n.g[r]=o.colour.g/255,n.b[r]=o.colour.b/255,n.a[r]=o.colour.a}return n}function rd(e,t,n){let{offsets:r}=e,o=r.length-1;if(!(t>r[0])){n[0]=e.r[0],n[1]=e.g[0],n[2]=e.b[0],n[3]=e.a[0];return}if(t>=r[o]){n[0]=e.r[o],n[1]=e.g[o],n[2]=e.b[o],n[3]=e.a[o];return}let s=0;for(;s<o-1&&r[s+1]<=t;)s+=1;let i=r[s],a=(t-i)/(r[s+1]-i);n[0]=e.r[s]+(e.r[s+1]-e.r[s])*a,n[1]=e.g[s]+(e.g[s+1]-e.g[s])*a,n[2]=e.b[s]+(e.b[s+1]-e.b[s])*a,n[3]=e.a[s]+(e.a[s+1]-e.a[s])*a}function $E(e,t,n){let r=(_r(t,e)-n)/La;return r-Math.floor(r)}function od(e){return e%360*(Me/180)}function mi(e,t,n,r,o,s){let i=1-s;e[t]=n+e[t]*i,e[t+1]=r+e[t+1]*i,e[t+2]=o+e[t+2]*i,e[t+3]=s+e[t+3]*i}var fi=class{colour=new Float64Array(4);ramp;offsetAt;constructor(t){if(t.kind==="solid"){let{r:n,g:r,b:o,a:s}=t.colour;this.colour[0]=n/255*s,this.colour[1]=r/255*s,this.colour[2]=o/255*s,this.colour[3]=s,this.ramp=null,this.offsetAt=null;return}if(this.ramp=nd(t.stops),t.kind==="linear"){let{x1:n,y1:r}=t,o=t.x2-n,s=t.y2-r,i=o*o+s*s;this.offsetAt=(a,l)=>((a-n)*o+(l-r)*s)/i}else if(t.kind==="radial"){let{cx:n,cy:r,r:o}=t;this.offsetAt=(s,i)=>{let a=s-n,l=i-r;return Math.sqrt(a*a+l*l)/o}}else{let{cx:n,cy:r}=t,o=od(t.angle);this.offsetAt=(s,i)=>$E(s-n,i-r,o)}}composite(t,n,r,o,s,i){let a=this.colour,l=this.offsetAt;if(l===null){let u=a[0],d=a[1],m=a[2],f=a[3];for(let p=r;p<o;p+=1){let h=n[p];h!==0&&mi(t,p*4,u*h,d*h,m*h,f*h)}return}let c=this.ramp;for(let u=r;u<o;u+=1){let d=n[u];if(d===0)continue;rd(c,l((u+.5)*i,s),a);let m=a[3];mi(t,u*4,a[0]*m*d,a[1]*m*d,a[2]*m*d,m*d)}}};var vy=268435456;function Sy(e,t){if(typeof e!="number"||!Number.isInteger(e)||e<1)throw new TypeError(`rasterise: ${t} is a whole number of pixels, 1 or more.`);return e}function Tt(e,t){if(typeof t!="object"||t===null)throw new TypeError("rasterise: options gives at least the width in pixels.");let n=Bo(e,"rasterise"),r=Sy(t.width,"width"),o=t.height===void 0?Math.max(1,Math.round(r*n.height/n.width)):Sy(t.height,"height");if(t.background!==void 0&&Do(t.background,"rasterise: background"),r*o>vy)throw new K("render/surface-too-large","That picture is too large to draw here. Choose a smaller size.",{width:r,height:o,maxPixels:vy});let s=r/n.width,i=o/n.height,a=n.width/r,l=n.height/o,c=new Qa(r),u=E=>Wa.fromPath(E,c,o,s,i),d=0,m=(E,R)=>{if(R>d&&(d=R),E.kind==="path")return{kind:"path",edges:u(E.path),paint:new fi(E.paint)};let C=E.clip===null?null:u(E.clip);if(E.kind==="image"){let A=new ee().rect(E.x,E.y,E.width,E.height).build();return{kind:"image",box:u(A),clip:C,node:E}}return{kind:"group",children:E.children.map(A=>m(A,R+1)),clip:C,opacity:E.opacity}},f=n.layers.map(E=>m(E,0)),p=n.background.kind==="none"?null:new fi(n.background),h=[];for(let E=0;E<=d+1;E+=1)h.push({row:new Float64Array(r*4),cover:new Float64Array(r),clip:new Float64Array(r)});let g=new Float64Array(r).fill(1),y=new Float64Array(4);if(t.background!==void 0){let{r:E,g:R,b:C,a:A}=t.background;y[0]=E/255*A,y[1]=R/255*A,y[2]=C/255*A,y[3]=A}let b=new Uint8ClampedArray(r*o*4),x=new Float64Array(4),w=(E,R,C,A)=>{let O=h[R];if(!E.box.coverage(C,O.cover))return;let D=E.box.start,N=E.box.end;if(E.clip!==null){if(!E.clip.coverage(C,O.clip))return;D=Math.max(D,E.clip.start),N=Math.min(N,E.clip.end)}let{node:T}=E,{image:I}=T,U=I.data,q=I.width,H=I.height,W=My(((C+.5)*l-T.y)/T.height*H-.5,H),$=Math.min(Math.max(Math.floor(W),0),H-1),be=Math.min(Math.max(Math.floor(W)+1,0),H-1),X=Math.min(Math.max(W-Math.floor(W),0),1);for(let ne=D;ne<N;ne+=1){let me=O.cover[ne];if(E.clip!==null&&(me*=O.clip[ne]),me===0)continue;let fe=My(((ne+.5)*a-T.x)/T.width*q-.5,q),ke=Math.min(Math.max(Math.floor(fe),0),q-1),Oe=Math.min(Math.max(Math.floor(fe)+1,0),q-1),gt=Math.min(Math.max(fe-Math.floor(fe),0),1);x.fill(0),Xa(x,U,($*q+ke)*4,(1-gt)*(1-X)),Xa(x,U,($*q+Oe)*4,gt*(1-X)),Xa(x,U,(be*q+ke)*4,(1-gt)*X),Xa(x,U,(be*q+Oe)*4,gt*X),mi(A,ne*4,x[0]*me,x[1]*me,x[2]*me,x[3]*me)}},k=(E,R,C,A)=>{let O=h[R];if(E.kind==="path"){if(!E.edges.coverage(C,O.cover))return;E.paint.composite(A,O.cover,E.edges.start,E.edges.end,(C+.5)*l,a);return}if(E.kind==="image"){w(E,R,C,A);return}if(E.clip===null&&E.opacity===1){for(let I of E.children)k(I,R+1,C,A);return}let D=0,N=r;if(E.clip!==null){if(!E.clip.coverage(C,O.clip))return;D=E.clip.start,N=E.clip.end}let T=h[R+1].row;T.fill(0);for(let I of E.children)k(I,R+1,C,T);for(let I=D;I<N;I+=1){let U=E.opacity*(E.clip===null?1:O.clip[I]);if(U===0)continue;let q=I*4;mi(A,q,T[q]*U,T[q+1]*U,T[q+2]*U,T[q+3]*U)}},S=new Float64Array(r*4);for(let E=0;E<o;E+=1){for(let R=0;R<r;R+=1)S.set(y,R*4);p!==null&&p.composite(S,g,0,r,(E+.5)*l,a);for(let R of f)k(R,0,E,S);JE(S,b,E*r*4,r)}return{width:r,height:o,data:b}}function My(e,t){return e>=-1?e>t?t:e:-1}function Xa(e,t,n,r){if(r===0)return;let o=t[n+3]/255*r;e[0]=e[0]+t[n]/255*o,e[1]=e[1]+t[n+1]/255*o,e[2]=e[2]+t[n+2]/255*o,e[3]=e[3]+o}function Ya(e){let t=e*255+.5;return t>0?t>=255?255:Math.floor(t):0}function JE(e,t,n,r){for(let o=0;o<r;o+=1){let s=o*4,i=e[s+3],a=Ya(i);if(a===0)continue;let l=n+s;t[l]=Ya(e[s]/i),t[l+1]=Ya(e[s+1]/i),t[l+2]=Ya(e[s+2]/i),t[l+3]=a}}var Ey=4096,eT=1.2,tT=24,sd=1e-9,nT=32,rT=10,oT=13;function id(e,t){if(typeof e!="number"||!Number.isFinite(e)||e<=0)throw new TypeError(`layoutText: ${t} is a finite number more than zero.`);return e}function Za(e,t){if(typeof e!="number"||!Number.isFinite(e))throw new TypeError(`layoutText: ${t} is a finite number.`);return e}function sT(e,t,n){let r=[],o=[],s=0,i=new Set;for(let a=0;a<e.length;){let l=e.codePointAt(a),c=a+(l>65535?2:1);if(l===rT)r.push({start:s,items:o}),o=[],s=c;else if(l!==oT){let u=t.glyphIndex(l);u===0&&!i.has(l)&&(i.add(l),n.push(l)),o.push({at:a,end:c,glyph:u===0?-1:u,space:l===nT})}a=c}return r.push({start:s,items:o}),r}function Ty(e,t,n){let r=0,o=t;for(let s of n)o>=0&&(r+=e.kerning(o,s)),r+=e.advance(s),o=s;return{width:r,last:o}}function iT(e){let t=[],n=[],r=[];for(let o of e)o.space?(r.length>0&&(t.push({space:n,word:r}),n=[],r=[]),n.push(o)):r.push(o);return r.length>0&&t.push({space:n,word:r}),t}var Ry=e=>e.filter(t=>t.glyph>=0).map(t=>t.glyph);function aT(e,t,n){let r=[];for(let o of t){let s=iT(o.items);if(s.length===0){r.push({start:o.start,end:o.start,glyphs:[],width:0});continue}let i=null;for(let a of s){let l=Ry(a.word),c=a.word[0],u=a.word[a.word.length-1].end;if(i!==null){let m=[...Ry(a.space),...l],f=Ty(e,i.last,m);if(i.width+f.width<=n){i.glyphs.push(...m),i.width+=f.width,i.last=f.last,i.end=u;continue}r.push(i)}let d=Ty(e,-1,l);i={start:c.at,end:u,glyphs:l,width:d.width,last:d.last}}r.push(i)}return r}function ad(e,t){let{font:n,box:r}=e,o=t/n.unitsPerEm,s=r.width*(1+sd)/o,i=aT(n,e.paragraphs,s),a=i.reduce((c,u)=>Math.max(c,u.width),0),l=i.length<=e.maxLines&&a<=s&&i.length*e.lineHeight*t<=r.height*(1+sd)+sd;return{lines:i,fits:l}}function Ay(e,t){if(typeof e!="string")throw new TypeError("layoutText: text is a string.");if(e.length>Ey)throw new TypeError(`layoutText: a caption is at most ${Ey} code units.`);if(typeof t!="object"||t===null)throw new TypeError("layoutText: options gives at least the font, the size and the box.");let n=t.fonts??Mn();if(typeof t.fontId!="string")throw new TypeError("layoutText: fontId is a string.");let r=n.require(t.fontId),o=id(t.size,"size"),s=t.box;if(typeof s!="object"||s===null)throw new TypeError("layoutText: box is an object.");let i=Za(s.x,"box.x"),a=Za(s.y,"box.y"),l=Za(s.width,"box.width"),c=Za(s.height,"box.height");if(l<0||c<0)throw new TypeError("layoutText: the box cannot have a negative size.");let u=t.align??"centre";if(u!=="start"&&u!=="centre"&&u!=="end")throw new TypeError("layoutText: align is start, centre or end.");let d=t.maxLines??1;if(!Number.isInteger(d)||d<1)throw new TypeError("layoutText: maxLines is a whole number, 1 or more.");let m=id(t.lineHeight??eT,"lineHeight"),f=t.shrinkToFit??!1;if(typeof f!="boolean")throw new TypeError("layoutText: shrinkToFit is true or false.");let p=id(t.minSize??o/2,"minSize");if(p>o)throw new TypeError("layoutText: minSize cannot be more than size.");let h=e.normalize("NFC"),g=[],y=h.length===0?[]:sT(h,r,g),b={font:r,paragraphs:y,box:{x:i,y:a,width:l,height:c},maxLines:d,lineHeight:m},x=o,w=ad(b,o);if(!w.fits&&f){let D=ad(b,p);if(!D.fits)x=p,w=D;else{let N=p,T=o,I=D;for(let U=0;U<tT;U+=1){let q=(N+T)/2,H=ad(b,q);H.fits?(N=q,I=H):T=q}x=N,w=I}}let k=w.lines.slice(0,d),S=x/r.unitsPerEm,E=m*x,R=a+(c-k.length*E)/2,C=(E-(r.ascender-r.descender)*S)/2+r.ascender*S,A=[],O=[];return k.forEach((D,N)=>{let T=D.width*S,I=u==="start"?i:u==="end"?i+l-T:i+(l-T)/2,U=R+N*E+C,q=new ee,H=0,W=-1;for(let $ of D.glyphs)W>=0&&(H+=r.kerning(W,$)),q.transform([S,0,0,-S,I+H*S,U]).append(r.path($)),H+=r.advance($),W=$;O.push(q.build()),A.push(Object.freeze({text:h.slice(D.start,D.end),start:D.start,end:D.end,x:I,baseline:U,width:T}))}),Object.freeze({paths:Object.freeze(O),lines:Object.freeze(A),missing:Object.freeze(g),overflow:!w.fits,size:x})}var lT=1.2,cT=24,uT=16384,dT={kind:"solid",ink:"#ffffff"};function ld(e){let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r>=55296&&r<=56319){let o=e.charCodeAt(n+1);o>=56320&&o<=57343&&(n+=1)}t+=1}return t}function mT(e,t){let n=Math.min(cT/t.width,Math.sqrt(uT/(e.width*e.height))),r=Math.max(1,Math.ceil(e.width*n)),o=Math.max(1,Math.ceil(e.height*n)),s=Tt({width:r/n,height:o/n,background:null,layers:[...e.nodes,...e.over??[]]},{width:r,height:o}),i=(f,p)=>s.data[(p*r+f)*4+3]/255,a=0,l=0,c=Math.max(0,Math.ceil(t.x*n-.5)),u=Math.min(r-1,Math.floor((t.x+t.width)*n-.5)),d=Math.max(0,Math.ceil(t.y*n-.5)),m=Math.min(o-1,Math.floor((t.y+t.height)*n-.5));for(let f=d;f<=m;f+=1)for(let p=c;p<=u;p+=1)a+=i(p,f),l+=1;if(l===0){let f=Math.min(r-1,Math.floor((t.x+t.width/2)*n)),p=Math.min(o-1,Math.floor((t.y+t.height/2)*n));return i(f,p)>=.5}return a/l>=.5}function Iy(e){let{frame:t,layout:n,text:r}=e,o=["frame","text"],s=[],i=n.textBox,a=t.text;if(a===null||i===null||!(i.width>0)||!(i.height>0))return s.push(P("design.issue.caption-unsupported",o,"warning")),{nodes:[],issues:s};let l=ld(r.content),c=Math.min(a.maxChars,he.caption);if(l>c)return s.push(P("design.issue.too-long",[...o,"content"],"warning",{length:l,max:c})),{nodes:[],issues:s};let u=e.fonts??Mn(),d=u.get(r.fontId);if(d===void 0)return s.push(P("design.issue.font-unavailable",[...o,"fontId"],"warning")),{nodes:[],issues:s};let m=Math.max(lT,(d.ascender-d.descender)/d.unitsPerEm),f=i.height/m,p=Ay(r.content,{fonts:u,fontId:d.id,size:f,box:i,align:i.align,maxLines:a.maxLines,lineHeight:m,shrinkToFit:!0,minSize:f/(2*a.maxLines)});p.missing.length>0&&s.push(P("design.issue.caption-missing-glyphs",[...o,"content"],"warning",{count:p.missing.length})),p.overflow&&s.push(P("design.issue.caption-overflow",[...o,"content"],"warning"));let h=new ee;for(let w of p.paths)h.append(w);if(h.empty)return{nodes:[],issues:s};let g={x:i.x,y:i.y,width:i.width,height:i.height},y=r.paint===void 0?null:e.paint(r.paint),b;y!==null?b=Et(y,g,e.registries.fills,e.prng):mT(n,i)?b=Et(e.background??dT,g,e.registries.fills,e.prng):b=e.framePaint;let x={kind:"path",path:h.build(),paint:b,role:"caption"};return p.overflow?{nodes:[{kind:"group",children:[x],clip:new ee().rect(i.x,i.y,i.width,i.height).build()}],issues:s}:{nodes:[x],issues:s}}var ud=.35,fT=.6,Py=4;function Vo(e){return e.ringKind??"cornered"}function pi(e,t,n,r=0,o=0,s=new ee){let i=new ee;return e.path({kind:t,params:n},i),s.transform([1,0,0,1,r,o]).append(i.build()).build()}function pT(e){let t=[];for(let s=0;s+1<e.length;s+=1){let i=e[s],a=e[s+1];i>=.5!=a>=.5&&t.push(s+.5+(.5-i)/(a-i))}let n=e[0],r=e[e.length-1];if(n>=.5&&t.unshift(0),r>=.5&&t.push(e.length),t.length<2)return null;let o=[];for(let s=1;s<t.length;s+=1)o.push(t[s]-t[s-1]);return o}function hT(e,t){let n=e.reduce((i,a)=>i+a,0),r=t.reduce((i,a)=>i+a,0),o=n/r,s=o*ud;return e.every((i,a)=>Math.abs(i-t[a]*o)<t[a]*s)}function yT(e,t,n,r,o,s,i,a){let l=(f,p,h,g,y,b)=>(h-f)*(b-p)-(g-p)*(y-f),c=l(e,t,n,r,o,s),u=l(e,t,n,r,i,a),d=l(o,s,i,a,e,t),m=l(o,s,i,a,n,r);return(c>0&&u<0||c<0&&u>0)&&(d>0&&m<0||d<0&&m>0)?0:Math.min($a(e,t,o,s,i,a),$a(n,r,o,s,i,a),$a(o,s,e,t,n,r),$a(i,a,e,t,n,r))}function $a(e,t,n,r,o,s){let i=o-n,a=s-r,l=i*i+a*a,c=l===0?0:Math.min(Math.max(((e-n)*i+(t-r)*a)/l,0),1),u=n+c*i-e,d=r+c*a-t;return Math.sqrt(u*u+d*d)}function Cy(e){let t=[];return Ga(e,{tolerance:.002},(n,r,o,s)=>{t.push(n,r,o,s)}),t}function gT(e,t){let n=Cy(e),r=Cy(t),o=1/0;for(let s=0;s<n.length;s+=4)for(let i=0;i<r.length;i+=4){let a=yT(n[s],n[s+1],n[s+2],n[s+3],r[i],r[i+1],r[i+2],r[i+3]);a<o&&(o=a)}return o}function cd(e){return e.toFixed(3)}function bT(e,t,n,r,o){let s=o==="concentric-7"?7:5,i=o==="concentric-7"?[1,1,3,1,1]:[1,1,1,1,1],a=pi(e,o,t,1,1),l=pi(n,o,r,1,1),c=new ee().append(a).append(l).build(),u=s+2,d=u*Py,m=Tt({width:u,height:u,background:null,layers:[{kind:"path",path:c,paint:{kind:"solid",colour:{r:0,g:0,b:0,a:1}}}]},{width:d}),f=(b,x)=>m.data[(x*d+b)*4+3]/255,p=[];o==="concentric-7"&&Vo(e)==="dotted"&&p.push({rule:"ring-not-traceable",detail:`${o}: a ring of dots, whose sides a reader cannot trace`});let h=d/2,g=[];for(let b of[h-1,h])g.push({name:`row ${b}`,samples:Array.from({length:d},(x,w)=>f(w,b)),axis:!0}),g.push({name:`column ${b}`,samples:Array.from({length:d},(x,w)=>f(b,w)),axis:!0});g.push({name:"diagonal",samples:Array.from({length:d},(b,x)=>f(x,x)),axis:!1}),g.push({name:"anti-diagonal",samples:Array.from({length:d},(b,x)=>f(x,d-1-x)),axis:!1});for(let b of g){let x=pT(b.samples);if(x===null||x.length!==5){p.push({rule:"finder-runs",detail:`${o} ${b.name}: ${x===null?0:x.length} runs where 5 are needed`});continue}if(b.axis){let w=x.map(S=>S/Py),k=w.findIndex((S,E)=>Math.abs(S-i[E])>ud);k!==-1&&p.push({rule:"finder-runs",detail:`${o} ${b.name}: run ${k} is ${cd(w[k])} modules where ${i[k]} is needed`})}hT(x,i)||p.push({rule:"finder-runs",detail:`${o} ${b.name}: runs ${x.map(cd).join(":")} are outside ${i.join(":")} by more than ${ud} of a module`})}let y=gT(a,l);return y<fT&&p.push({rule:"light-ring",detail:`${o}: the light ring narrows to ${cd(y)} modules`}),p}var Ny=new WeakMap;function hr(e){return e?.family??"square"}function yr(e,t,n,r,o,s="square"){if(o==="concentric-7"&&e.unpaired?.[s]?.includes(n.id)===!0)return!1;let i=Ny.get(e);i===void 0&&(i=new WeakMap,Ny.set(e,i));let a=i.get(n);a===void 0&&(a=new Map,i.set(n,a));let l=`${o}|${JSON.stringify(t)}|${JSON.stringify(r)}`,c=a.get(l);return c===void 0&&(c=bT(e,t,n,r,o).length===0,a.set(l,c)),c}var V=Symbol("bad"),hi=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,Ly=/^[A-Za-z][A-Za-z0-9_-]{0,31}$/,xT=Object.freeze({qr:/^(?:[1-9]|[1-3][0-9]|40)$/,micro:/^M[1-4]$/,rmqr:/^R(?:7|9|11|13|15|17)x(?:27|43|59|77|99|139)$/}),wT=Object.freeze({qr:7,micro:3,rmqr:0}),kT=Object.freeze({finder:"concentric-7","sub-finder":"concentric-5","corner-finder":"corner-l"});function $r(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ee(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function dd(e,t=[]){for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if((r<32||r>=127&&r<160)&&!t.includes(r))return n}return-1}var md=class{constructor(t,n){this.registries=t;this.fontRegistry=n}issues=[];errors=0;fontRegistry;get fonts(){return this.fontRegistry??=Mn(),this.fontRegistry}error(t,n,r){return this.errors+=1,this.issues.push(P(t,n,"error",r)),V}warn(t,n,r){this.issues.push(P(t,n,"warning",r))}record(t,n,r){if(!$r(t))return this.error("design.issue.not-an-object",n);let o=0;for(let s of Object.keys(t))r.includes(s)||(Ly.test(s)?this.warn("design.issue.unknown-key",[...n,s]):o+=1);return o>0&&this.warn("design.issue.unknown-key",n,{count:o}),t}number(t,n,r,o="design.issue.out-of-range"){if(typeof t!="number"||!Number.isFinite(t))return this.error("design.issue.not-a-number",n);if(r.integer===!0&&!Number.isInteger(t))return this.error("design.issue.not-an-integer",n);if(r.min!==void 0&&t<r.min||r.max!==void 0&&t>r.max){let s={};return r.min!==void 0&&(s.min=r.min),r.max!==void 0&&(s.max=r.max),this.error(o,n,s)}return t}boolean(t,n){return typeof t=="boolean"?t:this.error("design.issue.not-a-boolean",n)}option(t,n,r){return typeof t=="string"&&r.includes(t)?t:this.error("design.issue.invalid-option",n)}angle(t,n){let r=this.number(t,n,{});return r===V?V:r>=0&&r<360?r:(this.warn("design.issue.angle-normalised",n),(r%360+360)%360)}ink(t,n){if(typeof t=="string")try{return an(t),t}catch{return this.error("design.issue.invalid-colour",n)}let r=this.record(t,n,["srgb","cmyk"]);if(r===V)return V;let o=V,s=r.srgb;typeof s=="string"?o=this.ink(s,[...n,"srgb"]):this.error("design.issue.invalid-colour",[...n,"srgb"]);let i=r.cmyk,a=V;if(!Array.isArray(i)||i.length!==4)this.error("design.issue.cmyk",[...n,"cmyk"]);else{let l=i.map((c,u)=>this.number(c,[...n,"cmyk",u],{min:0,max:1}));l.includes(V)||(a=l)}return o===V||a===V?V:{srgb:o,cmyk:a}}stops(t,n){if(!Array.isArray(t))return this.error("design.issue.not-a-list",n);if(t.length<2||t.length>he.stops)return this.error("design.issue.stop-count",n,{min:2,max:he.stops});let r=[],o=!1,s=0;return t.forEach((i,a)=>{let l=[...n,a],c=this.record(i,l,["offset","ink"]);if(c===V){o=!0;return}let u=this.number(c.offset,[...l,"offset"],{min:0,max:1}),d=this.ink(c.ink,[...l,"ink"]);if(u!==V&&u<s&&(this.error("design.issue.stop-order",[...l,"offset"]),o=!0),u===V||d===V){o=!0;return}s=u,r.push({offset:u,ink:d})}),o?V:r}space(t,n){return Ee(t,"space")?this.option(t.space,[...n,"space"],["symbol","module"]):(this.warn("design.issue.filled-default",[...n,"space"]),"symbol")}paint(t,n){if(!$r(t))return this.error("design.issue.not-an-object",n);let r=this.option(t.kind,[...n,"kind"],["solid","linear","radial","conic","entry"]);if(r===V)return V;let o={min:he.centre.min,max:he.centre.max};switch(r){case"solid":{this.record(t,n,["kind","ink"]);let s=this.ink(t.ink,[...n,"ink"]);return s===V?V:{kind:r,ink:s}}case"linear":{this.record(t,n,["kind","angle","stops","space"]);let s=this.angle(t.angle,[...n,"angle"]),i=this.stops(t.stops,[...n,"stops"]),a=this.space(t,n);return s===V||i===V||a===V?V:{kind:r,angle:s,stops:i,space:a}}case"radial":{this.record(t,n,["kind","cx","cy","radius","stops","space"]);let s=this.number(t.cx,[...n,"cx"],o),i=this.number(t.cy,[...n,"cy"],o),a=this.number(t.radius,[...n,"radius"],he.radius),l=this.stops(t.stops,[...n,"stops"]),c=this.space(t,n);return s===V||i===V||a===V||l===V||c===V?V:{kind:r,cx:s,cy:i,radius:a,stops:l,space:c}}case"conic":{this.record(t,n,["kind","cx","cy","angle","stops","space"]);let s=this.number(t.cx,[...n,"cx"],o),i=this.number(t.cy,[...n,"cy"],o),a=this.angle(t.angle,[...n,"angle"]),l=this.stops(t.stops,[...n,"stops"]),c=this.space(t,n);return s===V||i===V||a===V||l===V||c===V?V:{kind:r,cx:s,cy:i,angle:a,stops:l,space:c}}case"entry":{this.record(t,n,["kind","ref"]);let s=this.ref(t.ref,[...n,"ref"],this.registries.fills,"fill");return s===V?V:{kind:r,ref:s.ref}}}}ref(t,n,r,o){let s=this.record(t,n,["id","params"]);if(s===V)return V;let i=s.id,a=typeof i=="string"?r.get(i):void 0;if(a===void 0)return this.error("design.issue.unknown-entry",[...n,"id"],typeof i=="string"&&i.length<=64&&hi.test(i)?{kind:o,id:i}:{kind:o});if(!Ee(s,"params"))return{ref:{id:a.id},entry:a};let l=this.record(s.params,[...n,"params"],a.params.map(d=>d.key));if(l===V)return V;let c={},u=!1;for(let d of a.params){if(!Ee(l,d.key))continue;let m=$s(d,l[d.key]);m!==null?(this.error(m.code,[...n,"params",d.key],m.params),u=!0):c[d.key]=l[d.key]}return u?V:{ref:{id:a.id,params:c},entry:a}}text(t,n,r){if(typeof t!="string")return this.error("design.issue.not-text",n);let o=ld(t);return o>r?this.error("design.issue.too-long",n,{length:o,max:r}):t}};function vT(e,t){let n=["symbol"],r=e.record(t,n,["symbology","ecLevel","boostEc","minVersion","maxVersion","mask","segmentation"]);if(r===V)return V;let o=!1,s=r.symbology;if(typeof s!="string"||s.length>32||!hi.test(s))return e.error("design.issue.symbology",[...n,"symbology"]),V;let i={symbology:s};if(Ee(r,"ecLevel")){let l=e.option(r.ecLevel,[...n,"ecLevel"],["L","M","Q","H"]);l===V?o=!0:i.ecLevel=l}if(Ee(r,"boostEc")){let l=e.boolean(r.boostEc,[...n,"boostEc"]);l===V?o=!0:i.boostEc=l}let a=xT[s]??/^[A-Za-z0-9]{1,16}$/;for(let l of["minVersion","maxVersion"]){if(!Ee(r,l))continue;let c=r[l];typeof c!="string"||!a.test(c)?(e.error("design.issue.version-name",[...n,l]),o=!0):i[l]=c}if(s==="qr"&&i.minVersion!==void 0&&i.maxVersion!==void 0&&Number(i.minVersion)>Number(i.maxVersion)&&(e.error("design.issue.version-range",[...n,"maxVersion"]),o=!0),Ee(r,"mask")){let l=r.mask,c=wT[s]??7;l==="auto"?i.mask="auto":typeof l!="number"||!Number.isInteger(l)||l<0||l>c?(e.error("design.issue.mask",[...n,"mask"],{max:c}),o=!0):i.mask=l}if(Ee(r,"segmentation")){let l=[...n,"segmentation"],c=e.record(r.segmentation,l,["kanji","eci"]);if(c===V)o=!0;else{let u={};if(Ee(c,"kanji")){let d=e.option(c.kanji,[...l,"kanji"],["never","when-smaller","always"]);d===V?o=!0:u.kanji=d}if(Ee(c,"eci")){let d=e.option(c.eci,[...l,"eci"],["auto","never","utf-8"]);d===V?o=!0:u.eci=d}i.segmentation=u}}return o?V:i}function ST(e,t){let n=["modules"],r=e.record(t,n,["shape","paint","light"]);if(r===V)return V;let o=Ee(r,"shape")?e.ref(r.shape,[...n,"shape"],e.registries.moduleShapes,"module-shape"):e.error("design.issue.required",[...n,"shape"]),s=Ee(r,"paint")?e.paint(r.paint,[...n,"paint"]):e.error("design.issue.required",[...n,"paint"]),i=null;if(!Ee(r,"light"))e.warn("design.issue.filled-default",[...n,"light"]);else if(r.light!==null){let a=[...n,"light"],l=e.record(r.light,a,["shape","paint"]);if(l===V)i=V;else{let c=Ee(l,"shape")?e.ref(l.shape,[...a,"shape"],e.registries.moduleShapes,"module-shape"):e.error("design.issue.required",[...a,"shape"]),u=Ee(l,"paint")?e.paint(l.paint,[...a,"paint"]):e.error("design.issue.required",[...a,"paint"]);i=c===V||u===V?V:{shape:c.ref,paint:u}}}return o===V||s===V||i===V?V:{shape:o.ref,paint:s,light:i}}function MT(e,t,n){let r=["regions"];if(t===void 0)return e.warn("design.issue.filled-default",r),{};let o=["finder","sub-finder","corner-finder"],s=e.record(t,r,o);if(s===V)return V;let i={},a=!1;for(let l of o){if(!Ee(s,l))continue;let c=[...r,l],u=e.record(s[l],c,["outer","inner","outerPaint","innerPaint"]);if(u===V){a=!0;continue}let d=b=>{if(!Ee(u,b))return e.error("design.issue.required",[...c,b]);let x=e.ref(u[b],[...c,b],e.registries.regionShapes,"region-shape");return x===V?V:x.entry.part!==b?e.error("design.issue.region-part",[...c,b,"id"],{part:b}):x},m=d("outer"),f=d("inner"),p=Ee(u,"outerPaint")?e.paint(u.outerPaint,[...c,"outerPaint"]):void 0,h=Ee(u,"innerPaint")?e.paint(u.innerPaint,[...c,"innerPaint"]):void 0;if(m===V||f===V||p===V||h===V){a=!0;continue}let g=kT[l];for(let[b,x]of[["outer",m],["inner",f]])b==="inner"&&g==="corner-l"||x.entry.kinds.includes(g)||e.issues.push(P("design.issue.region-kind",[...c,b],"info",{kind:g}));(g==="concentric-7"||g==="concentric-5")&&!(g==="concentric-7"&&Vo(m.entry)==="dotted")&&m.entry.kinds.includes(g)&&f.entry.kinds.includes(g)&&!yr(m.entry,mt(m.entry.params,m.ref.params),f.entry,mt(f.entry.params,f.ref.params),g,n)&&e.warn("design.issue.region-pair",c,{kind:g});let y={outer:m.ref,inner:f.ref};p!==void 0&&(y.outerPaint=p),h!==void 0&&(y.innerPaint=h),i[l]=y}return a?V:i}function ET(e,t,n){let r=["logo"];if(t===void 0)return e.warn("design.issue.filled-default",r),null;if(t===null)return null;let o=e.record(t,r,["source","size","clear","padding","plate","paint"]);if(o===V)return V;let s=!1,i=null,a=e.record(o.source,[...r,"source"],["kind","id"]);if(a===V)s=!0;else{let f=e.option(a.kind,[...r,"source","kind"],["icon","asset"]),p=a.id;f===V?s=!0:f==="icon"?typeof p=="string"&&e.registries.icons.has(p)?i={kind:f,id:p}:(e.error("design.issue.unknown-entry",[...r,"source","id"],typeof p=="string"&&p.length<=64&&hi.test(p)?{kind:"icon",id:p}:{kind:"icon"}),s=!0):typeof p=="string"&&n!==null&&Ee(n,p)?i={kind:f,id:p}:(e.error("design.issue.asset-missing",[...r,"source","id"]),s=!0)}let l=e.number(o.size,[...r,"size"],he.logoSize),c=e.option(o.clear,[...r,"clear"],["none","box","shape"]),u=e.number(o.padding,[...r,"padding"],he.logoPadding),d=null;if(!Ee(o,"plate"))e.warn("design.issue.filled-default",[...r,"plate"]);else if(o.plate!==null){let f=[...r,"plate"],p=e.record(o.plate,f,["paint","shape"]);if(p===V)d=V;else{let h=e.paint(p.paint,[...f,"paint"]),g=e.option(p.shape,[...f,"shape"],["square","rounded","circle"]);d=h===V||g===V?V:{paint:h,shape:g}}}let m;return Ee(o,"paint")&&(i!==null&&i.kind==="asset"?e.warn("design.issue.logo-paint-ignored",[...r,"paint"]):m=e.paint(o.paint,[...r,"paint"])),s||i===null||l===V||c===V||u===V||d===V||m===V?V:m===void 0?{source:i,size:l,clear:c,padding:u,plate:d}:{source:i,size:l,clear:c,padding:u,plate:d,paint:m}}function TT(e,t){let n=["frame"];if(t===void 0)return e.warn("design.issue.filled-default",n),null;if(t===null)return null;let r=e.record(t,n,["ref","paint","text"]);if(r===V)return V;let o=e.ref(r.ref,[...n,"ref"],e.registries.frames,"frame"),s=Ee(r,"paint")?e.paint(r.paint,[...n,"paint"]):void 0,i;if(Ee(r,"text")&&o!==V){let l=[...n,"text"],c=o.entry.text;if(c===null)e.warn("design.issue.caption-unsupported",l);else{let u=e.record(r.text,l,["content","fontId","paint"]);if(u===V)i=V;else{let d=e.text(u.content,[...l,"content"],Math.min(c.maxChars,he.caption)),m=d!==V;if(d!==V){let g=dd(d,[10]),y=d.split(`
149
+ `).length;g!==-1?(e.error("design.issue.control-character",[...l,"content"],{position:g}),m=!1):y>c.maxLines&&(e.error("design.issue.too-many-lines",[...l,"content"],{lines:y,max:c.maxLines}),m=!1)}let f=u.fontId,p=typeof f=="string"&&f.length<=64&&hi.test(f);p?e.fonts.has(f)||e.warn("design.issue.font-unavailable",[...l,"fontId"]):e.error("design.issue.font-id",[...l,"fontId"]);let h=Ee(u,"paint")?e.paint(u.paint,[...l,"paint"]):void 0;if(!m||!p||h===V)i=V;else{let g={content:d,fontId:f};i=h===void 0?g:{...g,paint:h}}}}}if(o===V||s===V||i===V)return V;let a={ref:o.ref};return s!==void 0&&(a.paint=s),i!==void 0&&(a.text=i),a}function RT(e,t){let n=["output"];if(t===void 0)return e.warn("design.issue.filled-default",n),{colourSpace:"srgb"};let r=e.record(t,n,["sizeMm","sizeBasis","dpi","colourSpace"]);if(r===V)return V;let o={colourSpace:"srgb"},s=!1;if(Ee(r,"sizeMm")){let i=e.number(r.sizeMm,[...n,"sizeMm"],he.sizeMm);i===V?s=!0:o.sizeMm=i}if(Ee(r,"sizeBasis")){let i=e.option(r.sizeBasis,[...n,"sizeBasis"],["artwork","symbol"]);i===V?s=!0:o.sizeBasis=i}if(Ee(r,"dpi")){let i=e.number(r.dpi,[...n,"dpi"],{...he.dpi,integer:!0});i===V?s=!0:o.dpi=i}if(!Ee(r,"colourSpace"))e.warn("design.issue.filled-default",[...n,"colourSpace"]);else{let i=e.option(r.colourSpace,[...n,"colourSpace"],["srgb","cmyk"]);i===V?s=!0:o.colourSpace=i}return s?V:o}function AT(e){if(e.length<33)return null;for(let r=0;r<8;r+=1)if(e[r]!==di[r])return null;if(String.fromCharCode(e[12],e[13],e[14],e[15])!=="IHDR")return null;let n=r=>(e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3])>>>0;return{width:n(16),height:n(20)}}function IT(e,t){let n=["assets"];if(t===void 0)return null;if(!$r(t))return e.error("design.issue.not-an-object",n);let r=Object.keys(t);if(r.length>he.assets)return e.error("design.issue.too-many-assets",n,{count:r.length,max:he.assets});let o={},s=!1;for(let i of r){if(i.length>32||!hi.test(i)){e.error("design.issue.asset-id",Ly.test(i)?[...n,i]:n),s=!0;continue}let a=[...n,i],l=e.record(t[i],a,["png","width","height"]);if(l===V){s=!0;continue}let c={min:1,max:he.assetSide,integer:!0},u=e.number(l.width,[...a,"width"],c),d=e.number(l.height,[...a,"height"],c),m=l.png,f=null;typeof m!="string"?e.error("design.issue.asset-encoding",[...a,"png"]):m.length>Math.ceil(he.assetBytes/3)*4?e.error("design.issue.asset-too-large",[...a,"png"],{max:he.assetBytes}):(f=Lo(m),f===null&&e.error("design.issue.asset-encoding",[...a,"png"]));let p=f===null?null:AT(f);if(f!==null&&p===null&&e.error("design.issue.asset-not-png",[...a,"png"]),p!==null&&u!==V&&d!==V&&(p.width!==u||p.height!==d)&&(e.error("design.issue.asset-mismatch",[...a,"png"]),s=!0),p===null||u===V||d===V){s=!0;continue}o[i]={png:m,width:u,height:d}}return s?V:o}function En(e,t,n={}){if(typeof t!="object"||t===null)throw new TypeError("validateDesign: registries is the design registries.");if(typeof n!="object"||n===null)throw new TypeError("validateDesign: options is an object.");let r=new md(t,n.fonts),o=["schema","version","symbol","quietZone","background","modules","regions","logo","frame","output","assets","name"];if(!$r(e))return r.error("design.issue.not-an-object",[]),{design:null,issues:r.issues};if(e.schema!=="qr-design")return r.error("design.issue.schema",["schema"]),{design:null,issues:r.issues};if(e.version!==1)return r.error("design.issue.unsupported-version",["version"],{supported:1}),{design:null,issues:r.issues};r.record(e,[],o);let s=Ee(e,"symbol")?vT(r,e.symbol):r.error("design.issue.required",["symbol"]),i=Ee(e,"quietZone")?r.number(e.quietZone,["quietZone"],{min:0,max:he.quietZone,integer:!0}):r.error("design.issue.required",["quietZone"]);if(s!==V&&i!==V){let S=Oo[s.symbology];S!==void 0&&i<S&&r.warn("design.issue.quiet-zone-small",["quietZone"],{min:S})}let a=V;Ee(e,"background")?a=e.background===null?null:r.paint(e.background,["background"]):r.error("design.issue.required",["background"]);let l=Ee(e,"modules")?ST(r,e.modules):r.error("design.issue.required",["modules"]),c=MT(r,e.regions,l===V?"square":hr(t.moduleShapes.get(l.shape.id))),u=IT(r,e.assets),d=$r(e.assets)?e.assets:null,m=ET(r,e.logo,d),f=TT(r,e.frame),p=RT(r,e.output),h;Ee(e,"name")&&(h=r.text(e.name,["name"],he.name),h!==V&&dd(h)!==-1&&(h=r.error("design.issue.control-character",["name"],{position:dd(h)})));let g=$r(e.logo)&&$r(e.logo.source)&&e.logo.source.kind==="asset"?e.logo.source.id:void 0,b=u===V?null:(S=>{if(S===null)return null;let E=null;for(let R of Object.keys(S))R===g?(E??={},E[R]=S[R]):r.warn("design.issue.unused-asset",["assets",R]);return E})(u),x=c===V?void 0:c.finder,w=x===void 0?void 0:t.regionShapes.get(x.outer.id);if(w!==void 0&&w.kinds.includes("concentric-7")&&!(s!==V&&(s.symbology==="micro"||s.symbology==="rmqr"))){let S=Vo(w);S==="dotted"?r.error("design.issue.ring-not-traceable",["regions","finder","outer"]):S==="round"&&r.warn("design.issue.ring-round",["regions","finder","outer"])}if(s!==V&&c!==V&&(s.symbology==="micro"||s.symbology==="rmqr"))for(let S of["finder","sub-finder","corner-finder"]){let E=c[S];if(E===void 0)continue;E.outer.id==="square"&&(S!=="sub-finder"||E.inner.id==="square-centre")||r.issues.push(P("design.issue.region-corners",["regions",S],"info"))}return s!==V&&f!==V&&f!==null&&s.symbology==="rmqr"&&f.ref.id!=="none"&&r.warn("design.issue.frame-unsupported",["frame"]),r.errors>0||s===V||i===V||a===V||l===V||c===V||u===V||m===V||f===V||p===V||h===V?{design:null,issues:r.issues}:{design:{schema:"qr-design",version:1,symbol:s,quietZone:i,background:a,modules:l,regions:c,logo:m,frame:f,output:p,...b===null?{}:{assets:b},...h===void 0?{}:{name:h}},issues:r.issues}}var fd="v1.",Ja=4096,el=32768;function qo(e,t={}){return new K("design/invalid","This design link is damaged or incomplete.",{reason:e,...t})}function Dy(e){if(typeof e!="object"||e===null)throw new TypeError("designLink: design is a design document.");let t=[],{assets:n,...r}=e,o=r;typeof n=="object"&&n!==null&&Object.keys(n).length>0&&t.push(P("design.issue.link-assets-dropped",["assets"],"warning"));let s=e.logo?.source;typeof s=="object"&&s!==null&&s.kind==="asset"&&(o={...o,logo:null},t.length===0&&t.push(P("design.issue.link-assets-dropped",["assets"],"warning")));let i=new TextEncoder().encode(Kr(o));if(i.length>el)throw new K("design/invalid","This design is too large to put in a link.",{reason:"size",bytes:i.length,limit:el});let a=fd+ah(Ys(i,{level:9}));if(a.length>Ja)throw new K("design/invalid","This design is too large to put in a link.",{reason:"size",length:a.length,limit:Ja});return{link:a,issues:t}}function yi(e,t=Ha()){if(typeof e!="string")throw new TypeError("decodeDesignLink: fragment is a string.");let n=e.startsWith("#")?e.slice(1):e;if(n.length>Ja)throw qo("length",{limit:Ja});if(!n.startsWith(fd))throw/^v[0-9]{1,3}\./.test(n)?new K("design/unsupported-schema","This design link was made by a different version of the studio and cannot be opened here."):qo("prefix");let r=lh(n.slice(fd.length));if(r===null)throw qo("encoding");let o;try{o=Ta(r,{maxOutput:el})}catch(c){throw Oy(qo("compression",{limit:el}),c)}let s;try{s=JSON.parse(new TextDecoder("utf-8",{fatal:!0}).decode(o))}catch(c){throw Oy(qo("json"),c)}let i=Aa(s),{design:a,issues:l}=En(i,t);if(a===null)throw qo("content",{issues:l.filter(c=>c.severity==="error").length});return a}function Oy(e,t){return new K(e.code,e.message,e.params,{cause:t})}function ae(e){return{ok:!0,value:e}}function Y(e){return{ok:!1,error:e}}function tl(e){try{return ae(e())}catch(t){if(t instanceof K)return Y(t);throw t}}function jy(e){let{stage:t,feature:n}=e.params;return e.code==="decode/unsupported"?typeof n=="string"?`decode.unsupported.${n}`:"decode.unsupported":e.code==="decode/not-found"?t==="geometry"?"decode.not-found.geometry":"decode.not-found":typeof t=="string"?`decode.unreadable.${t}`:"decode.unreadable"}var nl=Object.freeze({checkNames:Object.freeze({"quiet-zone":"verify.check-name.quiet-zone",contrast:"verify.check-name.contrast",polarity:"verify.check-name.polarity","function-patterns":"verify.check-name.function-patterns","logo-budget":"verify.check-name.logo-budget","module-size":"verify.check-name.module-size","finder-shape":"verify.check-name.finder-shape","colour-red-channel":"verify.check-name.colour-red-channel","reader-support":"verify.check-name.reader-support"}),gradeNames:Object.freeze({MOD:"verify.check-name.modulation"}),statuses:Object.freeze({pass:"verify.status.pass",warn:"verify.status.warn",fail:"verify.status.fail"}),verdicts:Object.freeze({pass:"verify.verdict.pass",warn:"verify.verdict.warn",fail:"verify.verdict.fail"}),baselineFailed:"verify.baseline.fail",missingEntry:"verify.error.missing-entry",axes:Object.freeze({distance:Object.freeze({name:"verify.axis.distance",ok:"verify.axis.distance.ok",short:"verify.axis.distance.short"}),focus:Object.freeze({name:"verify.axis.focus",ok:"verify.axis.focus.ok",short:"verify.axis.focus.short"}),motion:Object.freeze({name:"verify.axis.motion",ok:"verify.axis.motion.ok",short:"verify.axis.motion.short"}),noise:Object.freeze({name:"verify.axis.noise",ok:"verify.axis.noise.ok",short:"verify.axis.noise.short"}),angle:Object.freeze({name:"verify.axis.angle",ok:"verify.axis.angle.ok",short:"verify.axis.angle.short"}),light:Object.freeze({name:"verify.axis.light",ok:"verify.axis.light.ok",short:"verify.axis.light.short"}),glare:Object.freeze({name:"verify.axis.glare",ok:"verify.axis.glare.ok",short:"verify.axis.glare.short"}),ink:Object.freeze({name:"verify.axis.ink",ok:"verify.axis.ink.ok",short:"verify.axis.ink.short"}),contrast:Object.freeze({name:"verify.axis.contrast",ok:"verify.axis.contrast.ok",short:"verify.axis.contrast.short"})})});function By(e){let t=nl.gradeNames;return(e.grade===void 0?void 0:t[e.grade])??nl.checkNames[e.id]}var Le=Object.freeze({contentInvalid:"studio.issue.content-invalid",contentEmpty:"studio.issue.content-empty",designLocked:"studio.issue.design-locked",constrained:"studio.issue.constrained",unknownType:"studio.issue.unknown-type",readOnlyType:"studio.issue.read-only-type",unknownField:"studio.issue.unknown-field",fieldValue:"studio.issue.field-value",unknownPreset:"studio.issue.unknown-preset",patchPath:"studio.issue.patch-path",designFile:"studio.issue.design-file",designLink:"studio.issue.design-link",rawTooLong:"studio.issue.raw-too-long",unknownFix:"studio.issue.unknown-fix",conditions:"studio.issue.conditions",quietZoneBelowMinimum:"studio.issue.quiet-zone-below-minimum",exportSizeConstrained:"studio.issue.export-size-constrained",exportOption:"studio.issue.export-option",documentRepaired:"studio.issue.document-repaired"});function hd(e){return`studio.category.${e}`}function yd(e){return`studio.preset-category.${e}`}function gd(e){return`studio.group.${e}`}function bd(e,t){return By({id:e,grade:t})}function xd(e){return`studio.axis.${e}`}function gr(e){return`error.${e.replace("/",".")}`}function Ho(e,t){let n=e.params[t];return typeof n=="string"&&/^[a-z0-9-]+$/.test(n)?n:void 0}var pd=Object.freeze({"library/unavailable:blocked":"dom.library.error.blocked","library/corrupt:missing":"dom.library.error.missing","library/quota:file-full":"dom.library.error.file-full","design/invalid:kit":"dom.library.error.kit"});function gi(e){let t=`${e.code}:${String(e.params.reason)}`;if(Object.prototype.hasOwnProperty.call(pd,t))return pd[t];switch(e.code){case"encode/too-much-data":return"encode.too-much-data";case"encode/unsupported-feature":{let n=Ho(e,"feature");return n===void 0?gr(e.code):`encode.unsupported-feature.${n}`}case"encode/unsupported-content":{let n=Ho(e,"reason");return n===void 0?gr(e.code):`encode.unsupported-content.${n}`}case"decode/not-found":case"decode/unreadable":case"decode/unsupported":return jy(e);case"batch/malformed-csv":{let n=Ho(e,"reason");return n===void 0?gr(e.code):`batch.malformed-csv.${n}`}case"batch/too-many-rows":return"batch.too-many-rows";case"batch/unknown-column":return"batch.unknown-column";case"platform/unavailable":return Ho(e,"feature")==="text-encoding"?"batch.encoding-unavailable":gr(e.code);case"font/malformed":return"text.font.malformed";case"font/missing-glyphs":return"text.font.missing-glyphs";case"render/surface-too-large":return e.params.maxMm===void 0?gr(e.code):"render.print.too-large";case"render/format-unavailable":return Ho(e,"format")==="eps"&&Ho(e,"reason")==="transparency"?"render.eps.transparency":gr(e.code);default:return gr(e.code)}}function Fe(e){return{code:e.code,messageKey:gi(e),params:e.params}}function Jr(e,t){return P(gi(e),t,"error",e.params)}function $e(e,t){return e instanceof K?e:new K(t,"That could not be done.",{},{cause:e})}var PT="url",eo=Object.freeze({sizeMm:25,dpi:null,distanceMm:null}),CT=["create","scan","bulk"],wd=new Set(["number","integer","amount","latitude","longitude"]);function vd(e){return e.default!==void 0?e.default:e.multiple===!0?Object.freeze([]):e.kind==="boolean"?!1:wd.has(e.kind)?null:""}function NT(e,t){return t===null?wd.has(e.kind):e.multiple===!0?Array.isArray(t):Array.isArray(t)?!1:e.kind==="boolean"?typeof t=="boolean":wd.has(e.kind)?typeof t=="number":typeof t!="string"?!1:e.kind==="select"&&t!==""?(e.options??[]).some(n=>n.value===t):!0}function rl(e){return e===null||typeof e=="string"||typeof e=="boolean"||typeof e=="number"?!0:Array.isArray(e)&&e.every(t=>typeof t=="string")}function bi(e,t={}){let n={};for(let r of e.fields){let o=Object.prototype.hasOwnProperty.call(t,r.key)?t[r.key]:void 0;n[r.key]=o!==void 0&&NT(r,o)?o:vd(r)}return Object.freeze(n)}function Ko(e,t,n){let r;try{r=Aa(e)}catch(o){return{design:null,issues:[Jr($e(o,"design/invalid"),[])]}}try{return En(r,t.design,n===void 0?{}:{fonts:n})}catch(o){return{design:null,issues:[Jr($e(o,"design/invalid"),[])]}}}function kd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function LT(e){if(e===null)return null;if(typeof e=="number"&&Number.isFinite(e)&&e>0)return e}function br(e,t){if(!kd(e))return{conditions:t,bad:e===void 0?[]:[["conditions"]]};let n=[],r={...t};for(let o of["sizeMm","dpi","distanceMm"]){if(!Object.prototype.hasOwnProperty.call(e,o)||e[o]===void 0)continue;let s=LT(e[o]);s===void 0?n.push(["conditions",o]):r[o]=s}return{conditions:r,bad:n}}function Go(e){let t=e.payloads.get(PT)??e.payloads.list()[0];if(t===void 0)throw new TypeError("createStudio: the payload registry has no content types.");return Object.freeze({mode:"create",typeId:t.id,fields:bi(t),design:cr(),conditions:eo})}function Fy(e,t,n){let r=Go(t);if(!kd(e))return{document:r,issues:[P(Le.documentRepaired,[],"warning")]};let o=[],s=CT.includes(e.mode)?e.mode:r.mode;e.mode!==void 0&&s!==e.mode&&o.push(P(Le.documentRepaired,["mode"],"warning"));let i=typeof e.typeId=="string"?t.payloads.get(e.typeId):void 0,a=i!==void 0&&i.generate!==!1?i:t.payloads.require(r.typeId);a!==i&&o.push(P(Le.documentRepaired,["typeId"],"warning"));let l={};if(kd(e.fields))for(let[f,p]of Object.entries(e.fields))rl(p)&&(l[f]=p);let c=bi(a,l),u=Ko(e.design,t,n);u.design===null&&o.push(P(Le.documentRepaired,["design"],"warning"));let{conditions:d,bad:m}=br(e.conditions,r.conditions);for(let f of m)o.push(P(Le.documentRepaired,f,"warning"));return{document:Object.freeze({mode:s,typeId:a.id,fields:c,design:u.design??r.design,conditions:d}),issues:o}}function Uy(e,t){let n=Go(t);try{let r=yi(e,t.design);return{document:Object.freeze({...n,design:r}),issues:[]}}catch(r){let o=$e(r,"design/invalid");return{document:n,issues:[P(Le.designLink,[],"warning",{code:o.code})]}}}var zy="qr-code";function Sd(e){if(typeof e!="string")return zy;let n=[...e.normalize("NFC").replace(/[^\p{L}\p{N} _-]+/gu," ").replace(/\s+/g," ").trim().replace(/^[-_ .]+|[-_ .]+$/g,"")].slice(0,64).join("").trim();return n===""?zy:n}function Vy(e,t){return`${Sd(e)}.${t}`}var OT=6e4;function xi(e){return new K("platform/unavailable","This browser cannot do that here.",{feature:e})}function DT(e,t,n={}){let r=n.document??(typeof document>"u"?void 0:document),o=n.url??(typeof URL<"u"&&typeof URL.createObjectURL=="function"?URL:void 0);if(r===void 0||o===void 0)return Y(xi("download"));let s=n.setTimeout??((l,c)=>setTimeout(l,c)),i=o.createObjectURL(e),a=r.createElement("a");return a.href=i,a.download=t,a.rel="noopener",a.style.display="none",r.body.appendChild(a),a.click(),a.remove(),s(()=>o.revokeObjectURL(i),OT),ae(null)}function _n(e,t,n,r={}){return DT(new Blob([e],{type:n}),t,r)}function qy(){return typeof navigator<"u"?navigator.clipboard:void 0}async function Hy(e,t={}){let n=t.clipboard??qy(),r=t.ClipboardItem??(typeof ClipboardItem=="function"?ClipboardItem:void 0);if(n?.write===void 0||r===void 0)return Y(xi("clipboard"));let o=e instanceof Blob?e:new Blob([e],{type:"image/png"});try{return await n.write([new r({"image/png":o})]),ae(null)}catch{return Y(xi("clipboard"))}}async function _o(e,t={}){let n=t.clipboard??qy();if(n?.writeText===void 0)return Y(xi("clipboard"));try{return await n.writeText(e),ae(null)}catch{return Y(xi("clipboard"))}}var Xy="qr-library",Rd=1,wi=".qrlibrary.json",jT="application/json",Nt=Object.freeze({fileBytes:32*1024*1024,designs:500,kits:100,name:80,palette:32,presets:32,depth:40}),nt=Object.freeze({tooLarge:"dom.library.issue.too-large",tooDeep:"dom.library.issue.too-deep",notJson:"dom.library.issue.not-json",notLibrary:"dom.library.issue.not-a-library",version:"dom.library.issue.version",unknownKey:"dom.library.issue.unknown-key",tooMany:"dom.library.issue.too-many",unreadable:"dom.library.issue.unreadable",content:"dom.library.issue.content",corrupt:"dom.library.issue.corrupt",blocked:"dom.library.error.blocked",missing:"dom.library.error.missing",fileFull:"dom.library.error.file-full",kit:"dom.library.error.kit"}),BT=Object.freeze(["fields","content","text","payload"]),FT=["name","savedAt","typeId","design","conditions"],Yy=["palette","logo","presets"],UT=["name","savedAt",...Yy],zT=["sizeMm","dpi","distanceMm"],VT=["schema","version","designs","kits"],qT=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,HT=/^[A-Za-z][A-Za-z0-9_-]{0,31}$/;var Md="logo";function Tn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function KT(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Re(e){return Object.freeze(e)}function Zy(e){return BT.includes(e)}function Ed(e,t){let n=Object.keys(e);return n.some(Zy)?nt.content:n.some(r=>!t.includes(r))?nt.corrupt:t.every(r=>KT(e,r))?null:nt.corrupt}function GT(e){return e<32||e>=127&&e<160||e===8232||e===8233||e>=8234&&e<=8238||e>=8294&&e<=8297||e>=55296&&e<=57343}function Ad(e){let t="",n=0,r=!1;for(let o of e){if(GT(o.codePointAt(0))||/\s/.test(o)){r=n>0;continue}if(r){if(n+1>=Nt.name)break;t+=" ",n+=1,r=!1}if(t+=o,n+=1,n>=Nt.name)break}return t}function Ky(e){return typeof e=="string"&&e.length<=Nt.name*2&&Ad(e)===e}function Id(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0}function Td(e){return typeof e=="string"&&e.length<=64&&qT.test(e)}function Gy(e){let t=e();if(!Id(t))throw new TypeError("now: a clock gives milliseconds since 1970.");return Math.floor(t)}function _T(){return new K("library/corrupt","That saved item is no longer in the library.",{reason:"missing"})}function _y(){return new K("design/invalid","This brand kit has a colour, logo or preset the studio cannot use.",{reason:"kit"})}function Qy(){return new K("library/quota","This library holds as much as one file can. Remove something, or save it and start another.",{reason:"file-full"})}var Pj=Object.freeze({"library/unavailable:blocked":nt.blocked,"library/corrupt:missing":nt.missing,"library/quota:file-full":nt.fileFull,"design/invalid:kit":nt.kit});function $y(e,t){if(!Tn(e)||!Tn(e.registries))throw new TypeError(`${t}: deps.registries is the registries the studio was given.`);return e}function QT(e){let{registries:t,fonts:n}=$y(e,"libraryRecords"),r=null,o=()=>r??=Go(t).design,s=d=>Ko(d,t,n).design;function i(d){let m=o(),f=s({...m,modules:{...m.modules,paint:{kind:"solid",ink:d}}});return f===null?null:f.modules.paint.ink}function a(d){let m=s({...o(),logo:{source:{kind:"asset",id:Md},size:.2,clear:"box",padding:1,plate:null},assets:{[Md]:d}});return m===null?null:m.assets[Md]}function l(d,m){let{palette:f,logo:p,presets:h}=d;if(!Array.isArray(f)||f.length>Nt.palette||!Array.isArray(h)||h.length>Nt.presets)return null;let g=[];for(let x of f){let w=i(x);if(w===null)return null;g.push(w)}let y=p===null?null:a(p);if(p!==null&&y===null)return null;let b=[];for(let x of h){if(!Td(x))return null;if(!t.design.presets.has(x)){if(m)return null;continue}b.includes(x)||b.push(x)}return Re({palette:Re(g),logo:y,presets:Re(b)})}let c=Re({store:"designs",max:Nt.designs,check(d){let m={entry:null,problem:nt.corrupt};if(!Tn(d))return m;let f=Ed(d,FT);if(f!==null)return{entry:null,problem:f};let{name:p,savedAt:h,typeId:g,conditions:y}=d;if(!Ky(p)||!Id(h)||!Td(g)||!Tn(y)||!Object.keys(y).every(w=>zT.includes(w)))return m;let b=br(y,eo);if(b.bad.length>0)return m;let x=s(d.design);return x===null?m:{entry:Re({name:p,savedAt:h,typeId:g,design:x,conditions:b.conditions}),problem:null}},summary(d,m){return Re({id:d,name:m.name,savedAt:m.savedAt,typeId:m.typeId})},item(d,m){let f=Re({mode:"create",typeId:m.typeId,fields:Re({}),design:m.design,conditions:m.conditions});return Re({...c.summary(d,m),document:f})}}),u=Re({store:"kits",max:Nt.kits,check(d){let m={entry:null,problem:nt.corrupt};if(!Tn(d))return m;let f=Ed(d,UT);if(f!==null)return{entry:null,problem:f};let{name:p,savedAt:h}=d;if(!Ky(p)||!Id(h))return m;let g=l(d,!1);return g===null?m:{entry:Re({name:p,savedAt:h,...g}),problem:null}},summary(d,m){return Re({id:d,name:m.name,savedAt:m.savedAt})},item(d,m){let f=Re({palette:m.palette,logo:m.logo,presets:m.presets});return Re({...u.summary(d,m),kit:f})}});return Re({designs:c,kits:u,designIn(d,m){if(!Tn(d)||!Tn(d.document))throw new TypeError("save: the item is { name, document }.");if(typeof d.name!="string")throw new TypeError("save: name is a string.");let f=d.document;if(!Td(f.typeId))throw new TypeError("save: the document's typeId is a content type id.");let p=Ko(f.design,t,n);if(p.design===null)return Y(new K("design/invalid","This design has problems to fix before it can be saved.",{count:p.issues.filter(g=>g.severity==="error").length}));let{conditions:h}=br(f.conditions,eo);return ae(Re({name:Ad(d.name),savedAt:m,typeId:f.typeId,design:p.design,conditions:h}))},kitIn(d,m){if(!Tn(d)||!Tn(d.kit))throw new TypeError("saveKit: the item is { name, kit }.");if(typeof d.name!="string")throw new TypeError("saveKit: name is a string.");if(Ed(d.kit,Yy)!==null)return Y(_y());let f=l(d.kit,!0);return f===null?Y(_y()):ae(Re({name:Ad(d.name),savedAt:m,...f}))}})}function WT(e,t,n){return P(n,[e,t],"warning")}function XT(e){let t={schema:Xy,version:Rd,designs:e.designs,kits:e.kits};return`${JSON.stringify(t,null," ")}
150
+ `}function YT(e,t){let n=0,r=!1;for(let o=0;o<e.length;o+=1){let s=e.charCodeAt(o);if(r)s===92?o+=1:s===34&&(r=!1);else if(s===34)r=!0;else if(s===91||s===123){if(n+=1,n>t)return!0}else(s===93||s===125)&&(n-=1)}return!1}function to(e,t=[],n){return{library:null,issues:[P(e,t,"error",n)]}}function Wy(e,t,n){let r=t.store;if(!Array.isArray(e))return P(nt.notLibrary,[r],"error");if(e.length>t.max)return P(nt.tooMany,[r],"error",{count:e.length,max:t.max});let o=[];return e.forEach((s,i)=>{let a=t.check(s);a.problem!==null?n.push(WT(r,i,a.problem)):o.push(a.entry)}),o}function ZT(e,t){if(e.length>Nt.fileBytes)return to(nt.tooLarge,[],{max:Nt.fileBytes});let n=e.charCodeAt(0)===65279?e.slice(1):e;if(YT(n,Nt.depth))return to(nt.tooDeep,[],{limit:Nt.depth});let r;try{r=JSON.parse(n)}catch{return to(nt.notJson)}if(!Tn(r)||r.schema!==Xy)return to(nt.notLibrary);if(r.version!==Rd)return to(nt.version,["version"],{supported:Rd});for(let a of Object.keys(r)){if(Zy(a))return to(nt.content,[a]);if(!VT.includes(a))return to(nt.unknownKey,HT.test(a)?[a]:[])}let o=[],s=Wy(r.designs,t.designs,o);if(!Array.isArray(s))return{library:null,issues:[s]};let i=Wy(r.kits,t.kits,o);return Array.isArray(i)?{library:{designs:s,kits:i},issues:o}:{library:null,issues:[i]}}function Qo(e=[]){return{entries:new Map(e.map((t,n)=>[String(n+1),t])),next:e.length+1}}function ol(e,t){if(typeof e!="string")throw new TypeError(`${t}: id is a string.`);return e}function Jy(e){let t=$y(e,"createFileLibrary"),n=QT(t),r=e.now??Date.now,o=e.download??_n,s=e.readText??(f=>f.text()),i=Qo(),a=Qo(),l=!1;function c(f,p){return[...f.entries].map(([h,g])=>p.summary(h,g))}function u(f,p,h){if(f.entries.size>=p.max)return Y(Qy());let g=String(f.next);return f.next+=1,f.entries.set(g,h),l=!0,ae(p.summary(g,h))}function d(f,p,h){let g=f.entries.get(h);return g===void 0?Y(_T()):ae(p.item(h,g))}function m(f,p){return f.entries.delete(p)&&(l=!0),ae(null)}return Object.freeze({async probe(){return ae(Re({available:!0,enabled:!0,state:"file"}))},async enable(){return ae(null)},async disable(){return i=Qo(),a=Qo(),l=!1,ae(null)},async list(){return ae(Re(c(i,n.designs)))},async contents(){return ae(Re({designs:Re(c(i,n.designs)),kits:Re(c(a,n.kits)),skipped:Re([])}))},async save(f){let p=n.designIn(f,Gy(r));return p.ok?u(i,n.designs,p.value):p},async load(f){return d(i,n.designs,ol(f,"load"))},async remove(f){return m(i,ol(f,"remove"))},async listKits(){return ae(Re(c(a,n.kits)))},async saveKit(f){let p=n.kitIn(f,Gy(r));return p.ok?u(a,n.kits,p.value):p},async loadKit(f){return d(a,n.kits,ol(f,"loadKit"))},async removeKit(f){return m(a,ol(f,"removeKit"))},saveFile(f){let p=XT({designs:[...i.entries.values()],kits:[...a.entries.values()]}),h=new TextEncoder().encode(p);if(h.length>Nt.fileBytes)return Y(Qy());let g=`${Sd(f??"qr-library")}${wi}`,y=o(h,g,jT);return y.ok?(l=!1,ae(Re({filename:g}))):y},async openFile(f){if(typeof f!="object"||f===null||typeof f.size!="number")throw new TypeError("openFile: file is the Blob or File the person chose.");if(f.size>Nt.fileBytes)return Re({opened:!1,issues:Re([P(nt.tooLarge,[],"error",{max:Nt.fileBytes})])});let p;try{p=await s(f)}catch{p=null}if(typeof p!="string")return Re({opened:!1,issues:Re([P(nt.unreadable,[],"error")])});let h=ZT(p,n);return h.library===null?Re({opened:!1,issues:Re([...h.issues])}):(i=Qo(h.library.designs),a=Qo(h.library.kits),l=!1,Re({opened:!0,issues:Re([...h.issues])}))},hasUnsavedChanges(){return l}})}var Wo="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";var sl;function no(e){if(sl===void 0){sl=new Int8Array(128).fill(-1);for(let t=0;t<Wo.length;t+=1)sl[Wo.charCodeAt(t)]=t}return e<128?sl[e]:-1}var $T=["latin1","ascii","cp437","latin10","cp1252"],JT=new Map([[0,"cp437"],[1,"latin1"],[2,"cp437"],[3,"latin1"],[4,"iso-8859-2"],[5,"iso-8859-3"],[6,"iso-8859-4"],[7,"iso-8859-5"],[8,"iso-8859-6"],[9,"iso-8859-7"],[10,"iso-8859-8"],[11,"iso-8859-9"],[12,"iso-8859-10"],[13,"iso-8859-11"],[15,"iso-8859-13"],[16,"iso-8859-14"],[17,"iso-8859-15"],[18,"latin10"],[20,"shift_jis"],[21,"windows-1250"],[22,"windows-1251"],[23,"cp1252"],[24,"windows-1256"],[25,"utf-16be"],[26,"utf-8"],[27,"ascii"],[28,"big5"],[29,"gbk"],[30,"euc-kr"],[31,"gbk"],[32,"gb18030"],[33,"utf-16le"],[170,"ascii"],[899,"latin1"]]),eg=26,Pd=999999,eR=[199,252,233,226,228,224,229,231,234,235,232,239,238,236,196,197,201,230,198,244,246,242,251,249,255,214,220,162,163,165,8359,402,225,237,243,250,241,209,170,186,191,8976,172,189,188,161,171,187,9617,9618,9619,9474,9508,9569,9570,9558,9557,9571,9553,9559,9565,9564,9563,9488,9492,9524,9516,9500,9472,9532,9566,9567,9562,9556,9577,9574,9568,9552,9580,9575,9576,9572,9573,9561,9560,9554,9555,9579,9578,9496,9484,9608,9604,9612,9616,9600,945,223,915,960,931,963,181,964,934,920,937,948,8734,966,949,8745,8801,177,8805,8804,8992,8993,247,8776,176,8729,183,8730,8319,178,9632,160],tR=[160,260,261,321,8364,8222,352,167,353,169,536,171,377,173,378,379,176,177,268,322,381,8221,182,183,382,269,537,187,338,339,376,380,192,193,194,258,196,262,198,199,200,201,202,203,204,205,206,207,272,323,210,211,212,336,214,346,368,217,218,219,220,280,538,223,224,225,226,259,228,263,230,231,232,233,234,235,236,237,238,239,273,324,242,243,244,337,246,347,369,249,250,251,252,281,539,255],nR=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376];function Cd(e){let t="";for(let n=0;n<e.length;n+=1)t+=String.fromCharCode(e[n]);return t}function rR(e,t){if(t<128)return t;switch(e){case"cp437":return eR[t-128];case"latin10":return t<160?t:tR[t-160];case"cp1252":return t<160?nR[t-128]:t;default:return 65533}}function oR(e,t){if(e==="latin1")return Cd(t);let n="";for(let r=0;r<t.length;r+=1)n+=String.fromCharCode(rR(e,t[r]));return n}function tg(e,t){let n=JT.get(e);if(n===void 0)return;if($T.includes(n))return oR(n,t);let r;try{r=new TextDecoder(n,{ignoreBOM:!0})}catch{return}return r.decode(t)}function ng(e){try{return new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0}).decode(e)}catch{return}}function ki(e){if(!Number.isInteger(e)||e<0||e>Pd)throw new TypeError("an ECI designator is a whole number from 0 to 999999");return e<128?8:e<16384?16:24}function rg(e){let t=ki(e);return t===8?e:t===16?32768|e:12582912|e}var sR=[[129,159],[224,235]],og=60351,iR=135,aR=new Map([[33116,[8213,8212]],[33119,[65340,92]],[33120,[65374,12316]],[33121,[8741,8214]],[33148,[65293,8722]],[33167,[65509,165]],[33169,[65504,162]],[33170,[65505,163]],[33226,[65506,172]]]),Nd;function lR(){let e;try{e=new TextDecoder("shift_jis")}catch{return null}let t=new Map,n=new Uint8Array(2);for(let[r,o]of sR)for(let s=r;s<=o;s+=1)if(s!==iR)for(let i=64;i<=252;i+=1){let a=s<<8|i;if(i===127||a>og||aR.has(a))continue;n[0]=s,n[1]=i;let l=e.decode(n);l.length!==1||l==="\uFFFD"||t.set(l.charCodeAt(0),a)}return t}function sg(){return Nd===void 0&&(Nd=lR()),Nd}function ig(){return sg()!==null}function ag(e){return sg()?.get(e)}function lg(e){let t=e<=40956?e-33088:e-49472;return(t>>>8)*192+(t&255)}function Ld(e){let t=e&255,n=e>=33088&&e<=40956||e>=57408&&e<=og;return Number.isInteger(e)&&n&&t>=64&&t<=252&&t!==127}function cg(e){let t=Math.floor(e/192)*256+e%192,n=t+(t<7936?33088:49472);return Ld(n)?n:void 0}var cR=["numeric","alphanumeric","byte","kanji","eci","fnc1-first","fnc1-second","structured-append"],Od;function uR(e){Od??=new WeakMap;let t=Od.get(e);if(t===void 0){let n=new Map;for(let r of cR){let o=r==="eci"?e.eci:r==="structured-append"?e.structuredAppend:r==="fnc1-first"||r==="fnc1-second"?e.fnc1:e.modes.includes(r),s=e.modeIndicator(r);o&&s!==void 0&&n.set(s,r)}t=n,Od.set(e,t)}return t}function Lt(){return new K("decode/unreadable","This code was not made correctly, so what it holds cannot be read.",{stage:"segments"})}function ug(e,t){return new K("decode/unsupported","This code uses a character set this tool cannot read.",t===void 0?{stage:"segments",feature:e}:{stage:"segments",feature:e,eci:t})}var Dd=class{constructor(t,n){this.bytes=t;this.end=n}position=0;get remaining(){return this.end-this.position}get offset(){return this.position}read(t){if(t>this.remaining)throw Lt();let n=0;for(let r=0;r<t;r+=1){let o=this.position+r;n=n*2+(this.bytes[o>>>3]>>>7-(o&7)&1)}return this.position+=t,n}zeroAhead(t){let n=Math.min(t,this.remaining);for(let r=0;r<n;r+=1){let o=this.position+r;if(this.bytes[o>>>3]>>>7-(o&7)&1)return!1}return!0}};function dR(e){let t=e.read(8),n;if(!(t&128))n=t;else if((t&192)===128)n=(t&63)<<8|e.read(8);else if((t&224)===192)n=(t&31)<<16|e.read(16);else throw Lt();if(n>Pd)throw Lt();return n}function mR(e,t){switch(e){case"numeric":return 10*Math.floor(t/3)+[0,4,7][t%3];case"alphanumeric":return 11*Math.floor(t/2)+6*(t%2);case"byte":return 8*t;default:return 13*t}}function fR(e,t){return e.kind===t.kind&&(e.kind!=="eci"||t.kind==="eci"&&e.eci===t.eci)}function pR(e,t,n){let r=t,o=(s,i)=>{let a=String(s).padStart(i,"0");for(let l=0;l<i;l+=1)n.push(a.charCodeAt(l))};for(;r>=3;){let s=e.read(10);if(s>999)throw Lt();o(s,3),r-=3}if(r===2){let s=e.read(7);if(s>99)throw Lt();o(s,2)}else if(r===1){let s=e.read(4);if(s>9)throw Lt();o(s,1)}}function hR(e,t,n,r){let o=[],s=t;for(;s>=2;){let i=e.read(11);if(i>=45*45)throw Lt();o.push(Wo.charCodeAt(Math.floor(i/45)),Wo.charCodeAt(i%45)),s-=2}if(s===1){let i=e.read(6);if(i>=45)throw Lt();o.push(Wo.charCodeAt(i))}if(!n){for(let i of o)r.push(i);return}for(let i=0;i<o.length;i+=1){let a=o[i];a!==37?r.push(a):o[i+1]===37?(r.push(37),i+=1):r.push(29)}}function yR(e,t,n){for(let r=0;r<t;r+=1){let o=cg(e.read(13));if(o===void 0)throw Lt();n.push(o>>>8,o&255)}}function gR(e,t){let n=e.filter(c=>c.charset.kind==="default").map(c=>ng(Uint8Array.from(c.bytes))),r=n.some(c=>c===void 0),o,s=0,i="";for(let c of e){let u=Uint8Array.from(c.bytes),{charset:d}=c;if(d.kind==="default")i+=r?Cd(u):n[s],s+=1;else if(d.kind==="eci"){let m=tg(d.eci,u);if(m===void 0)throw ug("eci",d.eci);i+=m}else{if(o===void 0)try{o=new TextDecoder("shift_jis")}catch{throw ug("kanji")}i+=o.decode(u)}}let a=e.some(c=>c.charset.kind==="sjis"),l=t!==null?`eci-${t}`:r?"latin1-fallback":a?"shift-jis":"utf-8";return{text:i,textSource:l}}function Yo(e,t,n){if(!(e instanceof Uint8Array))throw new TypeError("readSegments takes a Uint8Array");if(!Number.isInteger(t)||t<0||t>e.length*8)throw new RangeError(`a stream of ${e.length} bytes holds 0 to ${e.length*8} bits`);let r=uR(n),o=new Dd(e,t),s=[],i=[],a=null,l=null,c=null,u=null,d=(h,g)=>{let y=i[i.length-1];if(y!==void 0&&fR(y.charset,h))for(let b of g)y.bytes.push(b);else i.push({charset:h,bytes:[...g]})};for(;!(o.remaining<n.modeIndicatorBits||o.zeroAhead(n.terminatorBits));){let h=r.get(o.read(n.modeIndicatorBits));if(h===void 0)throw Lt();if(h==="structured-append"){if(o.offset!==n.modeIndicatorBits)throw Lt();let x=o.read(4),w=o.read(4)+1,k=o.read(8);if(x>=w)throw Lt();a={index:x,total:w,parity:k};continue}if(h==="eci"){c=dR(o),u??=c;continue}if(h==="fnc1-first"||h==="fnc1-second"){if(l!==null||s.length>0)throw Lt();l=h==="fnc1-first"?"gs1":{applicationIndicator:o.read(8)};continue}let g=o.read(n.charCountBits(h));if(mR(h,g)>o.remaining)throw Lt();let y=[],b=c===null?{kind:"default"}:{kind:"eci",eci:c};if(h==="numeric")pR(o,g,y);else if(h==="alphanumeric")hR(o,g,l!==null,y);else if(h==="byte")for(let x=0;x<g;x+=1)y.push(o.read(8));else yR(o,g,y);d(h==="kanji"?{kind:"sjis"}:b,y),s.push(Object.freeze({mode:h,eci:c,length:g}))}let{text:m,textSource:f}=gR(i,u),p=[];for(let h of i)for(let g of h.bytes)p.push(g);return Object.freeze({text:m,bytes:Uint8Array.from(p),textSource:f,segments:Object.freeze(s),structuredAppend:a===null?null:Object.freeze(a),fnc1:l===null||l==="gs1"?l:Object.freeze(l)})}function dg(e){let t=e.size-1,n=new Uint32Array(t*2),r=new Uint32Array(e.size),o=new Uint8Array(e.size),s=1;for(let i=0;i<t;i+=1){if(s===0||o[s]===1)throw new TypeError(`${e.generator} does not generate ${e.name}`);o[s]=1,n[i]=s,n[i+t]=s,r[s]=i,s=e.timesGenerator(s)}return{exp:n,log:r}}function bR(e,t){let{size:n}=e,r=n-1,o=t?dg(e):void 0,s=()=>o??=dg(e),i=a=>{if((a|0)!==a||a<0||a>=n)throw new RangeError(`a ${e.name} element is an integer from 0 to ${r}`)};return Object.freeze({size:n,generator:e.generator,add(a,l){return i(a),i(l),e.add(a,l)},sub(a,l){return i(a),i(l),e.sub(a,l)},mul(a,l){if(i(a),i(l),a===0||l===0)return 0;let{exp:c,log:u}=s();return c[u[a]+u[l]]},div(a,l){if(i(a),i(l),l===0)throw new RangeError(`division by zero in ${e.name}`);if(a===0)return 0;let{exp:c,log:u}=s();return c[u[a]+r-u[l]]},inv(a){if(i(a),a===0)throw new RangeError(`0 has no inverse in ${e.name}`);let{exp:l,log:c}=s();return l[r-c[a]]},exp(a){if(!Number.isSafeInteger(a))throw new RangeError("a power of the generator is a whole number");return s().exp[(a%r+r)%r]},log(a){if(i(a),a===0)throw new RangeError(`log(0) is undefined in ${e.name}`);return s().log[a]}})}function xR(e,t,n){return{size:1<<e,generator:n,name:`GF(2^${e})`,add:(o,s)=>o^s,sub:(o,s)=>o^s,timesGenerator(o){let s=0;for(let i=0;i<e;i+=1)n>>>i&1&&(s^=o<<i);for(let i=2*e-2;i>=e;i-=1)s>>>i&1&&(s^=t<<i-e);return s}}}var mg=bR(xR(8,285,2),!1);function pg(e,t){let{field:n,ecCount:r,firstRoot:o}=e;if(!Number.isInteger(r)||r<1)throw new RangeError("a Reed-Solomon code has at least one check symbol");if(!Number.isSafeInteger(o))throw new RangeError("the first root of a Reed-Solomon code is a whole power");if(t>n.size-1)throw new RangeError(`a block in a field of ${n.size} elements is at most ${n.size-1} symbols, not ${t}`)}function Fd(e){let t=e.field.size-1;return(e.firstRoot%t+t)%t}var jd;function wR(e){let{field:t,ecCount:n}=e,r=Fd(e);jd??=new WeakMap;let o=jd.get(t);o===void 0&&(o=new Map,jd.set(t,o));let s=`${n}:${r}`,i=o.get(s);if(i!==void 0)return i;let a=[1];for(let c=0;c<n;c+=1){let u=t.exp(r+c),d=new Array(a.length+1);d[0]=a[0];for(let m=1;m<a.length;m+=1)d[m]=t.sub(a[m],t.mul(u,a[m-1]));d[a.length]=t.sub(0,t.mul(u,a[a.length-1])),a=d}let l=Object.freeze(a);return o.set(s,l),l}function hg(e,t){pg(e,t.length+e.ecCount);let{field:n,ecCount:r}=e,o=wR(e),s=new Array(r).fill(0);for(let i=0;i<t.length;i+=1){let a=n.add(t[i],s[0]);for(let l=0;l<r-1;l+=1)s[l]=n.sub(s[l+1],n.mul(a,o[l+1]));s[r-1]=n.sub(0,n.mul(a,o[r]))}return s.map(i=>n.sub(0,i))}function Bd(e,t,n){let r=0;for(let o=t.length-1;o>=0;o-=1)r=e.add(e.mul(r,n),t[o]);return r}function kR(e,t,n){let r=0,o=n;for(let s=t;s>0;s>>>=1)s&1&&(r=e.add(r,o)),o=e.add(o,o);return r}function fg(e,t){let{field:n,ecCount:r}=e,o=Fd(e),s=new Array(r);for(let i=0;i<r;i+=1){let a=n.exp(o+i),l=0;for(let c=0;c<t.length;c+=1)l=n.add(n.mul(l,a),t[c]);s[i]=l}return s}function Ud(e,t,n={}){let{field:r,ecCount:o}=e,s=t.length;pg(e,s);let i=Fd(e);if(s<o)throw new RangeError(`a block with ${o} check symbols is at least that long, not ${s}`);let a=new Array(s);for(let O=0;O<s;O+=1){let D=t[O];if((D|0)!==D||D<0||D>=r.size)throw new RangeError(`symbol ${O} is not an element of a field of ${r.size}`);a[O]=D}let l=n.erasures??[],c=new Set;for(let O of l){if(!Number.isInteger(O)||O<0||O>=s)throw new RangeError(`an erasure is a position in the block, 0 to ${s-1}`);if(c.has(O))throw new TypeError(`position ${O} is listed as an erasure twice`);c.add(O)}let{maxErrors:u}=n;if(u!==void 0&&(!Number.isInteger(u)||u<0))throw new RangeError("maxErrors is a whole number of errors");let d=l.length;if(d>o)throw new Xt("too-many-erasures");let m=fg(e,a);if(m.every(O=>O===0))return{codewords:a,errors:0,erasures:d};let f=O=>s-1-O,p=[1];for(let O of l){let D=r.exp(f(O)),N=new Array(p.length+1).fill(0);for(let T=0;T<p.length;T+=1)N[T]=r.add(N[T],p[T]),N[T+1]=r.sub(N[T+1],r.mul(D,p[T]));p=N}let h=p.slice(),g=p.slice(),y=d,b=1,x=1;for(let O=d;O<o;O+=1){let D=0;for(let I=0;I<=y&&I<h.length;I+=1)D=r.add(D,r.mul(h[I],m[O-I]));if(D===0){b+=1;continue}let N=r.div(D,x),T=new Array(Math.max(h.length,g.length+b)).fill(0);for(let I=0;I<h.length;I+=1)T[I]=h[I];for(let I=0;I<g.length;I+=1)T[I+b]=r.sub(T[I+b],r.mul(N,g[I]));2*y<=O+d?(g=h,y=O+1+d-y,x=D,b=1):b+=1,h=T}let w=y-d;if(2*w+d>o)throw new Xt("too-many-errors");if(u!==void 0&&w>u)throw new Xt("over-limit");let k=h.length-1;for(;k>0&&h[k]===0;)k-=1;if(k!==y)throw new Xt("no-solution");h=h.slice(0,k+1);let S=[];for(let O=0;O<s;O+=1)Bd(r,h,r.exp(-f(O)))===0&&S.push(O);if(S.length!==k)throw new Xt("no-solution");let E=new Array(o).fill(0);for(let O=0;O<o;O+=1)for(let D=0;D<h.length&&O+D<o;D+=1)E[O+D]=r.add(E[O+D],r.mul(m[O],h[D]));let R=new Array(k);for(let O=1;O<=k;O+=1)R[O-1]=kR(r,O,h[O]);let C=0,A=!1;for(let O of S){let D=f(O),N=r.exp(-D),T=Bd(r,R,N),I=r.sub(0,r.mul(r.exp(D*(1-i)),r.div(Bd(r,E,N),T)));a[O]=r.sub(a[O],I),!c.has(O)&&(A||=I===0,C+=1)}if(A||fg(e,a).some(O=>O!==0))throw new Xt("no-solution");return{codewords:a,errors:C,erasures:d}}var vR=Object.freeze({L:0,M:1,Q:2,H:3}),yg=Object.freeze({M:0,L:1,H:2,Q:3}),zd=Object.freeze(["L","M","Q","H"]),Vd=Object.freeze(["M","L","H","Q"]),SR=[[7,1,19,0,0],[10,1,16,0,0],[13,1,13,0,0],[17,1,9,0,0],[10,1,34,0,0],[16,1,28,0,0],[22,1,22,0,0],[28,1,16,0,0],[15,1,55,0,0],[26,1,44,0,0],[18,2,17,0,0],[22,2,13,0,0],[20,1,80,0,0],[18,2,32,0,0],[26,2,24,0,0],[16,4,9,0,0],[26,1,108,0,0],[24,2,43,0,0],[18,2,15,2,16],[22,2,11,2,12],[18,2,68,0,0],[16,4,27,0,0],[24,4,19,0,0],[28,4,15,0,0],[20,2,78,0,0],[18,4,31,0,0],[18,2,14,4,15],[26,4,13,1,14],[24,2,97,0,0],[22,2,38,2,39],[22,4,18,2,19],[26,4,14,2,15],[30,2,116,0,0],[22,3,36,2,37],[20,4,16,4,17],[24,4,12,4,13],[18,2,68,2,69],[26,4,43,1,44],[24,6,19,2,20],[28,6,15,2,16],[20,4,81,0,0],[30,1,50,4,51],[28,4,22,4,23],[24,3,12,8,13],[24,2,92,2,93],[22,6,36,2,37],[26,4,20,6,21],[28,7,14,4,15],[26,4,107,0,0],[22,8,37,1,38],[24,8,20,4,21],[22,12,11,4,12],[30,3,115,1,116],[24,4,40,5,41],[20,11,16,5,17],[24,11,12,5,13],[22,5,87,1,88],[24,5,41,5,42],[30,5,24,7,25],[24,11,12,7,13],[24,5,98,1,99],[28,7,45,3,46],[24,15,19,2,20],[30,3,15,13,16],[28,1,107,5,108],[28,10,46,1,47],[28,1,22,15,23],[28,2,14,17,15],[30,5,120,1,121],[26,9,43,4,44],[28,17,22,1,23],[28,2,14,19,15],[28,3,113,4,114],[26,3,44,11,45],[26,17,21,4,22],[26,9,13,16,14],[28,3,107,5,108],[26,3,41,13,42],[30,15,24,5,25],[28,15,15,10,16],[28,4,116,4,117],[26,17,42,0,0],[28,17,22,6,23],[30,19,16,6,17],[28,2,111,7,112],[28,17,46,0,0],[30,7,24,16,25],[24,34,13,0,0],[30,4,121,5,122],[28,4,47,14,48],[30,11,24,14,25],[30,16,15,14,16],[30,6,117,4,118],[28,6,45,14,46],[30,11,24,16,25],[30,30,16,2,17],[26,8,106,4,107],[28,8,47,13,48],[30,7,24,22,25],[30,22,15,13,16],[28,10,114,2,115],[28,19,46,4,47],[28,28,22,6,23],[30,33,16,4,17],[30,8,122,4,123],[28,22,45,3,46],[30,8,23,26,24],[30,12,15,28,16],[30,3,117,10,118],[28,3,45,23,46],[30,4,24,31,25],[30,11,15,31,16],[30,7,116,7,117],[28,21,45,7,46],[30,1,23,37,24],[30,19,15,26,16],[30,5,115,10,116],[28,19,47,10,48],[30,15,24,25,25],[30,23,15,25,16],[30,13,115,3,116],[28,2,46,29,47],[30,42,24,1,25],[30,23,15,28,16],[30,17,115,0,0],[28,10,46,23,47],[30,10,24,35,25],[30,19,15,35,16],[30,17,115,1,116],[28,14,46,21,47],[30,29,24,19,25],[30,11,15,46,16],[30,13,115,6,116],[28,14,46,23,47],[30,44,24,7,25],[30,59,16,1,17],[30,12,121,7,122],[28,12,47,26,48],[30,39,24,14,25],[30,22,15,41,16],[30,6,121,14,122],[28,6,47,34,48],[30,46,24,10,25],[30,2,15,64,16],[30,17,122,4,123],[28,29,46,14,47],[30,49,24,10,25],[30,24,15,46,16],[30,4,122,18,123],[28,13,46,32,47],[30,48,24,14,25],[30,42,15,32,16],[30,20,117,4,118],[28,40,47,7,48],[30,43,24,22,25],[30,10,15,67,16],[30,19,118,6,119],[28,18,47,31,48],[30,34,24,34,25],[30,20,15,61,16]];function gg(e,t){let n=SR[(e-1)*4+vR[t]];if(n===void 0)throw new TypeError("there is no QR version or level like that");let[r,o,s,i,a]=n;return{ecPerBlock:r,group1Blocks:o,group1Data:s,group2Blocks:i,group2Data:a}}function bg(e,t){return e===1?t==="L"?3:t==="M"?2:1:e===2&&t==="L"?2:e===3&&t==="L"?1:0}var il=Object.freeze([26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706]),Hj=Object.freeze([0,7,7,7,7,7,0,0,0,0,0,0,0,3,3,3,3,3,3,3,4,4,4,4,4,4,4,3,3,3,3,3,3,3,0,0,0,0,0,0]),xg=Object.freeze([[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]]);function wg(e){return{field:mg,ecCount:e,firstRoot:0}}var qd;function Zo(e,t){let n=`${e}${t}`;qd??=new Map;let r=qd.get(n);if(r===void 0){let o=gg(e,t),s=[...Array.from({length:o.group1Blocks},()=>({dataCount:o.group1Data,ecCount:o.ecPerBlock})),...Array.from({length:o.group2Blocks},()=>({dataCount:o.group2Data,ecCount:o.ecPerBlock}))].map(a=>Object.freeze(a)),i=s.reduce((a,l)=>a+l.dataCount,0);r=Object.freeze({blocks:Object.freeze(s),totalCodewords:il[e-1],p:bg(e,t),lastDataCodewordBits:8,dataBits:i*8}),qd.set(n,r)}return r}function al(e,t){return Math.floor((e-t)/2)}var Hd;function ll(e){Hd??=new WeakMap;let t=Hd.get(e);if(t!==void 0)return t;let n=e.blocks.reduce((l,c)=>l+c.dataCount+c.ecCount,0),r=new Int32Array(n),o=new Int32Array(n),s=0,i=(l,c)=>{let u=Math.max(...e.blocks.map(l));for(let d=0;d<u;d+=1)e.blocks.forEach((m,f)=>{d>=l(m)||(r[s]=f,o[s]=c(m)+d,s+=1)})};i(l=>l.dataCount,()=>0),i(l=>l.ecCount,l=>l.dataCount);let a=Object.freeze({block:r,offset:o});return Hd.set(e,a),a}function $o(e,t){let n=t.blocks.reduce((a,l)=>a+l.dataCount,0);if(e.length!==n)throw new RangeError(`this block layout takes ${n} data codewords, not ${e.length}`);let r=[],o=0;for(let a of t.blocks){let l=new Uint8Array(a.dataCount+a.ecCount),c=e.subarray(o,o+a.dataCount);l.set(c),l.set(hg(wg(a.ecCount),c),a.dataCount),r.push(l),o+=a.dataCount}let s=ll(t),i=new Uint8Array(s.block.length);for(let a=0;a<i.length;a+=1)i[a]=r[s.block[a]][s.offset[a]];return i}function cl(e,t,n){let r=ll(t);if(e.length!==r.block.length)throw new RangeError(`this block layout has ${r.block.length} codewords, not ${e.length}`);let o=t.blocks.map(u=>new Uint8Array(u.dataCount+u.ecCount)),s=t.blocks.map(()=>[]);for(let u=0;u<e.length;u+=1){let d=r.block[u],m=r.offset[u];o[d][m]=e[u],n!==void 0&&n[u]!==0&&s[d].push(m)}let i=[],a=[],l=[],c=0;return t.blocks.forEach((u,d)=>{let m=o[d],f=s[d].sort((y,b)=>y-b),p=u.ecCount-t.p,h=wg(u.ecCount),g;if(f.length>0&&f.length<=p)try{g=Ud(h,m,{erasures:f,maxErrors:Math.floor((p-f.length)/2)})}catch{}g??=Ud(h,m,{maxErrors:al(u.ecCount,t.p)}),i.push(g.errors),a.push(al(u.ecCount,t.p)),c+=g.erasures;for(let y=0;y<u.dataCount;y+=1)l.push(g.codewords[y])}),{data:Uint8Array.from(l),errorsPerBlock:Object.freeze(i),capacityPerBlock:Object.freeze(a),erasuresUsed:c}}function MR(e){return e===32?4294967296:1<<e>>>0}function ER(e){if(!Number.isInteger(e)||e<0||e>32)throw new RangeError("a bit field is 0 to 32 bits wide")}var ul=class{bytes=new Uint8Array(32);bitLength=0;get length(){return this.bitLength}append(t,n){if(ER(n),!Number.isInteger(t)||t<0||t>=MR(n))throw new RangeError(`the value does not fit in ${n} bits`);this.reserve(n);for(let r=n-1;r>=0;r-=1)this.push(t>>>r&1)}appendBits(t){let n=t.bitLength;this.reserve(n);let r=t.bytes;for(let o=0;o<n;o+=1)this.push(r[o>>>3]>>>7-(o&7)&1)}bit(t){if(!Number.isInteger(t)||t<0||t>=this.bitLength)throw new RangeError(`bit ${t} is outside a buffer of ${this.bitLength} bits`);return this.bytes[t>>>3]>>>7-(t&7)&1}toBytes(){return this.bytes.slice(0,this.bitLength+7>>>3)}reserve(t){let n=this.bitLength+t+7>>>3;if(n<=this.bytes.length)return;let r=this.bytes.length*2;for(;r<n;)r*=2;let o=new Uint8Array(r);o.set(this.bytes),this.bytes=o}push(t){if(t!==0){let n=this.bitLength>>>3;this.bytes[n]=this.bytes[n]|128>>>(this.bitLength&7)}this.bitLength+=1}};var wt=class e{width;height;data;constructor(t,n,r){if(!Number.isInteger(t)||t<1||!Number.isInteger(n)||n<1)throw new RangeError("a matrix is at least 1 by 1 with whole-number sides");if(this.width=t,this.height=n,r===void 0){this.data=new Uint8Array(t*n);return}if(r.length!==t*n)throw new RangeError(`a ${t} by ${n} matrix holds ${t*n} modules, not ${r.length}`);for(let o=0;o<r.length;o+=1)if(r[o]>1)throw new RangeError(`module ${o} is neither 0 nor 1`);this.data=new Uint8Array(r)}get(t,n){return this.data[this.index(t,n)]}set(t,n,r){this.data[this.index(t,n)]=r?1:0}xor(t,n){let r=this.index(t,n);this.data[r]=this.data[r]^1}setRegion(t,n,r,o,s){if(!Number.isInteger(r)||!Number.isInteger(o)||r<0||o<0||!Number.isInteger(t)||!Number.isInteger(n)||t<0||n<0||t+r>this.width||n+o>this.height)throw new RangeError(`a ${r} by ${o} region at ${t}, ${n} does not fit a ${this.width} by ${this.height} matrix`);let i=s?1:0;for(let a=n;a<n+o;a+=1)this.data.fill(i,a*this.width+t,a*this.width+t+r)}clone(){let t=new e(this.width,this.height);return t.data.set(this.data),t}inverted(){let t=new e(this.width,this.height);for(let n=0;n<this.data.length;n+=1)t.data[n]=this.data[n]^1;return t}mirrored(){let{width:t,height:n}=this;if(t===n){let o=new e(t,n);for(let s=0;s<n;s+=1)for(let i=0;i<t;i+=1)o.data[i*t+s]=this.data[s*t+i];return o}let r=new e(t,n);for(let o=0;o<n;o+=1){let s=o*t;for(let i=0;i<t;i+=1)r.data[s+t-1-i]=this.data[s+i]}return r}countDark(){let t=0;for(let n=0;n<this.data.length;n+=1)t+=this.data[n];return t}equals(t){if(t.width!==this.width||t.height!==this.height)return!1;for(let n=0;n<this.data.length;n+=1)if(this.data[n]!==t.data[n])return!1;return!0}index(t,n){if((t|0)!==t||(n|0)!==n||t<0||n<0||t>=this.width||n>=this.height)throw new RangeError(`${t}, ${n} is outside a ${this.width} by ${this.height} matrix`);return n*this.width+t}};function TR(e){return 31-Math.clz32(e)}function xr(e,t,n){if(!Number.isInteger(n)||n<2||n>2147483647)throw new RangeError("a BCH generator is a polynomial of degree 1 or more, below 2^31");let r=TR(n);if(!Number.isInteger(t)||t<1||t+r>31)throw new RangeError(`with ${r} check bits, a codeword has 1 to ${31-r} data bits`);if(!Number.isInteger(e)||e<0||e>=1<<t)throw new RangeError(`the data does not fit in ${t} bits`);let o=t+r,s=e<<r;for(let i=o-1;i>=r;i-=1)s>>>i&1&&(s^=n<<i-r);return e<<r|s}function RR(e){let t=e>>>0,n=0;for(;t!==0;)t=(t&t-1)>>>0,n+=1;return n}function kg(e,t){if(!Number.isInteger(e)||e<0||e>4294967295)throw new RangeError(`${t} is an unsigned 32 bit integer`)}function wr(e,t,n){if(kg(e,"a received word"),!Number.isInteger(n)||n<0)throw new RangeError("a distance is a whole number of bits");let r=-1,o=1/0,s=!1;for(let i=0;i<t.length;i+=1){let a=t[i];kg(a,"a table entry");let l=RR(e^a);l<o?(r=i,o=l,s=!1):l===o&&(s=!0)}if(!(r<0||s||o>n))return{index:r,distance:o}}function Qn(e){let t=e>>>0;return t=Math.imul(t^t>>>16,569420461),t=Math.imul(t^t>>>15,1935289751),(t^t>>>15)>>>0}function vg(e){let t=e>>>0,n=()=>(t=t+2654435769>>>0,Qn(t));return[n(),n(),n(),n()]}function Sg(e,t){if(!Number.isInteger(e)||e<0||e>=4294967296)throw new RangeError(`${t} is an integer from 0 to 2^32 - 1`)}var Kd=class e{s0;s1;s2;s3;origin;constructor(t){this.origin=t,[this.s0,this.s1,this.s2,this.s3]=t}next(){return this.step()/4294967296}int(t){if(!Number.isInteger(t)||t<1||t>4294967296)throw new RangeError("int() takes a bound from 1 to 2^32");let n=4294967296-4294967296%t;for(;;){let r=this.step();if(r<n)return r%t}}fork(t){Sg(t,"a fork label");let[n,r,o,s]=vg(t),[i,a,l,c]=this.origin,u=[Qn(i^n),Qn(a^r),Qn(l^o),Qn(c^s)];return u[0]|u[1]|u[2]|u[3]?new e(u):new e([Qn(a),Qn(l),Qn(c),Qn(i)])}step(){let t=this.s1,n=Math.imul(t,5),r=Math.imul(n<<7|n>>>25,9)>>>0,o=t<<9;return this.s2^=this.s0,this.s3^=t,this.s1^=this.s2,this.s0^=this.s3,this.s2^=o,this.s3=this.s3<<11|this.s3>>>21,r}};function Wn(e){return Sg(e,"a seed"),new Kd(vg(e))}function dl(e,t,n,r){let o=[];for(let a of e)for(let l=0;l<a.count;l+=1)o.push(Object.freeze({dataCount:a.dataCount,ecCount:t}));let s=0,i=0;for(let a of o)s+=a.dataCount+a.ecCount,i+=a.dataCount;return Object.freeze({blocks:Object.freeze(o),totalCodewords:s,p:n,lastDataCodewordBits:r,dataBits:i*8-(r===4?4:0)})}function kr(e){let t=0;for(let n of e.blocks)t+=n.dataCount;return t}function ml(e,t,n){let r=cl(t,e,n),{data:o}=r;if(e.lastDataCodewordBits===4&&o[o.length-1]&15)throw new Xt("no-solution");return r}var te=Object.freeze({data:0,finder:1,separator:2,timing:3,alignment:4,format:5,version:6,"dark-module":7,"sub-finder":8,"corner-finder":9}),aB=Object.freeze(Object.keys(te).sort((e,t)=>te[e]-te[t]));var Jo=class{width;height;roles;dark;constructor(t,n){this.width=t,this.height=n,this.roles=new Uint8Array(t*n).fill(te.data),this.dark=new Uint8Array(t*n)}set(t,n,r,o){let s=n*this.width+t;this.roles[s]=te[r],this.dark[s]=o?1:0}isData(t,n){return this.roles[n*this.width+t]===te.data}};function AR(e,t){let{width:n,height:r}=e,o=[],s=!0;for(let i=t;i>=0;i-=2){for(let a=0;a<r;a+=1){let l=s?r-1-a:a;for(let c of[i,i-1])c>=0&&e.isData(c,l)&&o.push(l*n+c)}s=!s}return Int32Array.from(o)}function fl(e,t,n){let r=new wt(e.width,e.height,e.dark);return Object.freeze({width:e.width,height:e.height,roles:e.roles,regions:Object.freeze(t.map(o=>Object.freeze({...o}))),template:r,order:AR(e,n)})}function pl(e,t){let n=new Int32Array(e.width*e.height).fill(-1),r=t.totalCodewords*8,o=t.lastDataCodewordBits===4?(kr(t)-1)*8+4:-1,s=0;for(let i of e.order)s===o&&(s+=4),s<r&&(n[i]=(s>>>3)*8+7-(s&7)),s+=1;return n}function hl(e,t){return Object.freeze({width:e.width,height:e.height,roles:e.roles,dataBits:t,regions:e.regions})}function yl(e,t,n){let r=e.template.clone(),{dataBits:o}=t;for(let s of e.order){let i=o[s];i>=0&&(n[i>>>3]>>>(i&7)&1)===1&&(r.data[s]=1)}return r}function gl(e,t,n){let{width:r}=t;for(let o of t.order)n(o%r,Math.floor(o/r))&&(e.data[o]=e.data[o]^1)}function bl(e,t,n,r,o,s){let{width:i}=t,a=new Uint8Array(r),l=new Uint8Array(r),{dataBits:c}=n;for(let u of t.order){let d=c[u];if(d<0)continue;let m=o(u%i,Math.floor(u/i))?1:0,f=e.data[u]^m,p=d>>>3;a[p]=a[p]|f<<(d&7),s!==void 0&&s[u]!==0&&(l[p]=1)}return{codewords:a,erased:l}}var Mg=Object.freeze(["M1","M2","M3","M4"]),vr={M1:{L:2},M2:{L:3,M:2},M3:{L:2,M:0},M4:{L:2,M:0,Q:0}};function Sr(e,t,n,r,o){return Object.freeze({ecLevel:e,symbolNumber:t,dataCodewords:n,ecCodewords:r,p:o})}var xl;function Eg(){if(xl!==void 0)return xl;let e=[{version:"M1",number:1,size:11,totalCodewords:5,lastDataCodewordBits:4,levels:[Sr("L",0,3,2,vr.M1.L)],modes:["numeric"],charCountBits:{numeric:3}},{version:"M2",number:2,size:13,totalCodewords:10,lastDataCodewordBits:8,levels:[Sr("L",1,5,5,vr.M2.L),Sr("M",2,4,6,vr.M2.M)],modes:["numeric","alphanumeric"],charCountBits:{numeric:4,alphanumeric:3}},{version:"M3",number:3,size:15,totalCodewords:17,lastDataCodewordBits:4,levels:[Sr("L",3,11,6,vr.M3.L),Sr("M",4,9,8,vr.M3.M)],modes:["numeric","alphanumeric","byte","kanji"],charCountBits:{numeric:5,alphanumeric:4,byte:4,kanji:3}},{version:"M4",number:4,size:17,totalCodewords:24,lastDataCodewordBits:8,levels:[Sr("L",5,16,8,vr.M4.L),Sr("M",6,14,10,vr.M4.M),Sr("Q",7,10,14,vr.M4.Q)],modes:["numeric","alphanumeric","byte","kanji"],charCountBits:{numeric:6,alphanumeric:5,byte:5,kanji:4}}];return xl=new Map(e.map(t=>[t.version,Object.freeze({...t,levels:Object.freeze(t.levels),modes:Object.freeze(t.modes),charCountBits:Object.freeze(t.charCountBits)})])),xl}function Zt(e){let t=Eg().get(e);if(t===void 0)throw new TypeError("a Micro QR version is one of M1, M2, M3 and M4");return t}function _d(e,t){let n=Zt(e).levels.find(r=>r.ecLevel===t);if(n===void 0)throw new TypeError("that error correction level is not available at this Micro QR version");return n}function Tg(e){for(let t of Eg().values())if(t.size===e)return t}var Gd;function es(e,t){let n=Zt(e),r=_d(e,t),o=`${n.version}-${r.ecLevel}`;Gd??=new Map;let s=Gd.get(o);return s===void 0&&(s=dl([{count:1,dataCount:r.dataCodewords}],r.ecCodewords,r.p,n.lastDataCodewordBits),Gd.set(o,s)),s}var wl=Object.freeze([[1,8],[2,8],[3,8],[4,8],[5,8],[6,8],[7,8],[8,8],[8,7],[8,6],[8,5],[8,4],[8,3],[8,2],[8,1]].map(e=>Object.freeze(e)));function IR(e){for(let t=0;t<8;t+=1)for(let n=0;n<8;n+=1){if(n===7||t===7){e.set(n,t,"separator",!1);continue}let r=Math.max(Math.abs(n-3),Math.abs(t-3));e.set(n,t,"finder",r!==2)}}function PR(e){let t=new Jo(e,e);for(let n=8;n<e;n+=1)t.set(n,0,"timing",n%2===0),t.set(0,n,"timing",n%2===0);IR(t);for(let[n,r]of wl)t.set(n,r,"format",!1);return fl(t,[{role:"finder",kind:"concentric-7",x:0,y:0,width:7,height:7,rotation:0}],e-1)}var Qd,Wd;function kl(e){let t=Zt(e);Qd??=new Map;let n=Qd.get(t.version);return n===void 0&&(n=PR(t.size),Qd.set(t.version,n)),n}function vl(e,t){let n=Zt(e),r=t??n.levels[0].ecLevel,o=es(n.version,r),s=o.lastDataCodewordBits===4?`${n.version}:${o.dataBits}`:n.version;Wd??=new Map;let i=Wd.get(s);if(i===void 0){let a=kl(n.version);i=hl(a,pl(a,o)),Wd.set(s,i)}return i}var CR=1335,NR=17477,Rg;function Ag(){return Rg??=Object.freeze(Array.from({length:32},(e,t)=>xr(t,5,CR)^NR)),Rg}function Ig(e,t){return Ag()[e*4+t]}function Pg(e,t){wl.forEach(([n,r],o)=>{e.set(n,r,(t>>>14-o&1)===1)})}function Cg(e){let t=0;for(let[n,r]of wl)t=t<<1|e.get(n,r);return t}function Ng(e,t){let n=wr(e,Ag(),t);if(n!==void 0)return{symbolNumber:n.index>>>2,mask:n.index&3,distance:n.distance}}var Xd=Object.freeze([(e,t)=>t%2===0,(e,t)=>(Math.floor(t/2)+Math.floor(e/3))%2===0,(e,t)=>(e*t%2+e*t%3)%2===0,(e,t)=>((e+t)%2+e*t%3)%2===0]);function Lg(e){let t=e.width-1,n=0,r=0;for(let o=1;o<=t;o+=1)n+=e.get(t,o),r+=e.get(o,t);return n<=r?n*16+r:r*16+n}var Yd;function Zd(e){let t=Zt(e);Yd??=new Map;let n=Yd.get(t.version);if(n!==void 0)return n;let{modes:r,charCountBits:o}=t;return n=Object.freeze({modes:r,modeIndicatorBits:t.number-1,modeIndicator(s){let i=r.indexOf(s);return i<0?void 0:i},charCountBits(s){let i=o[s];if(i===void 0)throw new TypeError("this Micro QR version cannot carry that mode");return i},terminatorBits:t.number*2+1,eci:!1,fnc1:!1,structuredAppend:!1}),Yd.set(t.version,n),n}var LR=Object.freeze({size:"This grid is not a size this kind of code comes in.",mismatch:"The size of this code and the version it says it is do not match.",format:"The part of this code that says how it was made is too damaged to read."});function Mr(e){return new K("decode/unreadable",LR[e],{stage:e==="format"?"format":"version"})}function Sl(e,t){if(!(e instanceof wt))throw new TypeError("read takes a BitMatrix");if(typeof t?.strict!="boolean")throw new TypeError("read needs { strict: boolean }");OR(e,t.erasures)}function OR(e,t){if(t!==void 0&&(!(t instanceof Uint8Array)||t.length!==e.width*e.height))throw new TypeError("erasures is a Uint8Array with one entry per module of the matrix")}function DR(e,t){return new wt(e.width,e.height,t.map(r=>r===0?0:1)).mirrored().data}function Ml(e,t,n,r){try{return r(e,n,!1)}catch(o){if(t||!(o instanceof K))throw o;try{return r(e.mirrored(),n===void 0?void 0:DR(e,n),!0)}catch(s){throw s instanceof K?o:s}}}var Og="micro",jR=Object.freeze({label:"symbology.micro.label",notPhoneReadable:"symbology.micro.not-phone-readable",detectionOnly:"symbology.micro.detection-only"}),Dg=Object.freeze([0,1,2,3]);function BR(e){if(e!=="auto"&&(!Number.isInteger(e)||e<0||e>3))throw new TypeError("a Micro QR mask is 0, 1, 2, 3 or 'auto'")}function FR(e,t,n,r){let o=Zt(t),s=_d(t,n),i=es(t,n);if(!(e instanceof Uint8Array)||e.length!==kr(i))throw new TypeError(`${o.version}-${s.ecLevel} takes ${kr(i)} data codewords`);if(i.lastDataCodewordBits===4&&e[e.length-1]&15)throw new TypeError(`the last data codeword of ${o.version} is 4 bits, in the high nibble`);BR(r);let a=$o(e,i),l=kl(t),c=vl(t,n),u=yl(l,c,a),d;for(let f of r==="auto"?Dg:[r]){let p=u.clone();gl(p,l,Xd[f]),Pg(p,Ig(s.symbolNumber,f));let h=Lg(p);(d===void 0||h>d.score)&&(d={matrix:p,mask:f,score:h})}let m=d;return Object.freeze({symbology:Og,version:o.version,ecLevel:s.ecLevel,mask:m.mask,matrix:m.matrix,layout:c,blocks:i,codewords:a})}function UR(e,t,n,r){let o=e.width===e.height?Tg(e.width):void 0;if(o===void 0)throw Mr("size");let s=Ng(Cg(e),t?1:3);if(s===void 0)throw Mr("format");let i=o.levels.find(u=>u.symbolNumber===s.symbolNumber);if(i===void 0)throw Mr("mismatch");let a=es(o.version,i.ecLevel),l=bl(e,kl(o.version),vl(o.version,i.ecLevel),a.totalCodewords,Xd[s.mask],n),c=ml(a,l.codewords,n&&l.erased);return Object.freeze({version:o.version,ecLevel:i.ecLevel,mask:s.mask,blocks:a,data:c.data,errorsPerBlock:c.errorsPerBlock,capacityPerBlock:c.capacityPerBlock,erasuresUsed:c.erasuresUsed,formatErrors:s.distance,mirrored:r})}function zR(e,t){Sl(e,t);let{strict:n}=t;return Ml(e,n,n?void 0:t.erasures,(r,o,s)=>UR(r,n,o,s))}function VR(e,t){let n=zR(e,t);return Object.freeze({version:n.version,ecLevel:n.ecLevel,mask:n.mask,bitstream:Yo(n.data,n.blocks.dataBits,Zd(n.version)),errorsPerBlock:n.errorsPerBlock,capacityPerBlock:n.capacityPerBlock,erasuresUsed:n.erasuresUsed,formatErrors:n.formatErrors,mirrored:n.mirrored})}function jg(){return Object.freeze({id:Og,labelKey:jR.label,quietZone:2,phoneReadable:!1,versions:Mg,ecLevels(e){return Object.freeze(Zt(e).levels.map(t=>t.ecLevel))},size(e){let{size:t}=Zt(e);return{width:t,height:t}},profile:Zd,blocks:es,layout:vl,masks(e){return Zt(e),Dg},build:FR,read:VR})}var qR={numeric:1,alphanumeric:2,"structured-append":3,byte:4,"fnc1-first":5,eci:7,kanji:8,"fnc1-second":9},HR={numeric:[10,12,14],alphanumeric:[9,11,13],byte:[8,16,16],kanji:[8,10,12]},KR=Object.freeze(["numeric","alphanumeric","byte","kanji"]);function GR(e){if(!Number.isInteger(e)||e<1||e>40)throw new TypeError("a QR version is a whole number from 1 to 40");return e<=9?0:e<=26?1:2}var Bg;function $d(e){return Object.freeze({modes:KR,modeIndicatorBits:4,modeIndicator:t=>qR[t],charCountBits:t=>{let n=HR[t];if(n===void 0)throw new TypeError("that is not a QR mode");return n[e]},terminatorBits:4,eci:!0,fnc1:!0,structuredAppend:!0})}function El(e){let t=GR(e);return Bg??=Object.freeze([$d(0),$d(1),$d(2)]),Bg[t]}var _R=1335,QR=21522,WR=7973;function Jd(e,t){return xr(yg[e]<<3|t,5,_R)^QR}function em(e){return xr(e,6,WR)}var Fg,Ug;function XR(){return Fg??=Object.freeze(Array.from({length:32},(e,t)=>Jd(Vd[t>>>3],t&7))),Fg}function YR(){return Ug??=Object.freeze(Array.from({length:34},(e,t)=>em(t+7))),Ug}function tm(e,t){let n=wr(e,XR(),t);if(n!==void 0)return{ecLevel:Vd[n.index>>>3],mask:n.index&7,distance:n.distance}}function nm(e,t){let n=wr(e,YR(),t);return n===void 0?void 0:{version:n.index+7,distance:n.distance}}var rm;function om(e){return 17+4*e}function ZR(e){let t=om(e),n=new Uint8Array(t*t),r=new Uint8Array(t*t),o=(y,b)=>b*t+y,s=(y,b,x,w)=>{n[o(y,b)]=x,r[o(y,b)]=w?1:0};for(let y=8;y<t-8;y+=1)s(y,6,te.timing,y%2===0),s(6,y,te.timing,y%2===0);let i=xg[e-1];for(let y of i)for(let b of i)if(!(b<=8&&y<=8||b<=8&&y>=t-9||b>=t-9&&y<=8))for(let w=-2;w<=2;w+=1)for(let k=-2;k<=2;k+=1)s(b+k,y+w,te.alignment,Math.max(Math.abs(k),Math.abs(w))!==1);let a=[[0,0],[t-7,0],[0,t-7]];for(let[y,b]of a)for(let x=-1;x<=7;x+=1)for(let w=-1;w<=7;w+=1){let k=y+w,S=b+x;if(k<0||S<0||k>=t||S>=t)continue;let E=w>=0&&w<=6&&x>=0&&x<=6,R=E&&(w===0||w===6||x===0||x===6),C=w>=2&&w<=4&&x>=2&&x<=4;s(k,S,E?te.finder:te.separator,R||C)}let l=Int32Array.from([[0,8],[1,8],[2,8],[3,8],[4,8],[5,8],[7,8],[8,8],[8,7],[8,5],[8,4],[8,3],[8,2],[8,1],[8,0]].map(([y,b])=>o(y,b))),c=new Int32Array(15);for(let y=0;y<7;y+=1)c[y]=o(8,t-1-y);for(let y=0;y<8;y+=1)c[7+y]=o(t-8+y,8);for(let y of[...l,...c])n[y]=te.format;s(8,t-8,te["dark-module"],!0);let u=new Int32Array(e>=7?18:0),d=new Int32Array(e>=7?18:0);for(let y=0;y<u.length;y+=1)u[y]=o(Math.floor(y/3),t-11+y%3),d[y]=o(t-11+y%3,Math.floor(y/3)),n[u[y]]=te.version,n[d[y]]=te.version;let m=[],f=!0;for(let y=t-1;y>=1;y-=2){y===6&&(y=5);for(let b=0;b<t;b+=1){let x=f?t-1-b:b;for(let w=0;w<2;w+=1){let k=o(y-w,x);n[k]===te.data&&m.push(k)}}f=!f}let p=new Int32Array(t*t).fill(-1),h=il[e-1]*8;for(let y=0;y<h;y+=1)p[m[y]]=(y>>>3)*8+(7-(y&7));let g=Object.freeze(a.map(([y,b])=>Object.freeze({role:"finder",kind:"concentric-7",x:y,y:b,width:7,height:7,rotation:0})));return Object.freeze({version:e,size:t,layout:Object.freeze({width:t,height:t,roles:n,dataBits:p,regions:g}),template:r,placement:Int32Array.from(m),formatFirst:l,formatSecond:c,versionFirst:u,versionSecond:d})}function ts(e){if(!Number.isInteger(e)||e<1||e>40)throw new TypeError("a QR version is a whole number from 1 to 40");rm??=new Map;let t=rm.get(e);return t===void 0&&(t=ZR(e),rm.set(e,t)),t}var Tl=Object.freeze([(e,t)=>(e+t)%2===0,e=>e%2===0,(e,t)=>t%3===0,(e,t)=>(e+t)%3===0,(e,t)=>(Math.floor(e/2)+Math.floor(t/3))%2===0,(e,t)=>e*t%2+e*t%3===0,(e,t)=>(e*t%2+e*t%3)%2===0,(e,t)=>((e+t)%2+e*t%3)%2===0]),zg=3,$R=3,JR=40,eA=10;function Vg(e,t,n,r){let o=0,s=e[t],i=1;for(let a=1;a<r;a+=1){let l=e[t+a*n];if(l===s){i+=1;continue}i>=5&&(o+=zg+i-5),s=l,i=1}return i>=5&&(o+=zg+i-5),o}var tA=[1,0,1,1,1,0,1];function qg(e,t,n,r){let o=0,s=a=>e[t+a*n],i=(a,l)=>{if(a<0||l>r)return!1;for(let c=a;c<l;c+=1)if(s(c)!==0)return!1;return!0};for(let a=0;a+7<=r;a+=1){let l=!0;for(let c=0;c<7&&l;c+=1)l=s(a+c)===tA[c];l&&(i(a-4,a)||i(a+7,a+11))&&(o+=1)}return o*JR}function Hg(e,t){let n=0,r=0;for(let l=0;l<t;l+=1)n+=Vg(e,l*t,1,t)+Vg(e,l,t,t),r+=qg(e,l*t,1,t)+qg(e,l,t,t);let o=0;for(let l=0;l+1<t;l+=1)for(let c=0;c+1<t;c+=1){let u=l*t+c,d=e[u]+e[u+1]+e[u+t]+e[u+t+1];(d===0||d===4)&&(o+=1)}let s=o*$R,i=0;for(let l=0;l<e.length;l+=1)i+=e[l];let a=Math.floor(Math.abs(2*i-e.length)*10/e.length)*eA;return{rule1:n,rule2:s,rule3:r,rule4:a,total:n+s+r+a}}function nA(e,t,n){let r=Tl[n],{size:o,placement:s}=t;for(let i=0;i<s.length;i+=1){let a=s[i];r(Math.floor(a/o),a%o)&&(e[a]=e[a]^1)}}function rA(e,t,n,r){let o=Jd(n,r);for(let i=0;i<15;i+=1){let a=o>>>14-i&1;e[t.formatFirst[i]]=a,e[t.formatSecond[i]]=a}if(t.versionFirst.length===0)return;let s=em(t.version);for(let i=0;i<18;i+=1){let a=s>>>i&1;e[t.versionFirst[i]]=a,e[t.versionSecond[i]]=a}}function Kg(e,t,n,r){if(r!=="auto"&&(!Number.isInteger(r)||r<0||r>7))throw new TypeError("a QR mask is 0 to 7, or 'auto'");let o=ts(t),s=Zo(t,n),i=$o(e,s),a=Uint8Array.from(o.template),l=i.length*8;for(let m=0;m<l;m+=1)a[o.placement[m]]=i[m>>>3]>>>7-(m&7)&1;let c=-1,u=a,d=1/0;for(let m of r==="auto"?[0,1,2,3,4,5,6,7]:[r]){let f=a.slice();nA(f,o,m),rA(f,o,n,m);let p=r==="auto"?Hg(f,o.size).total:0;p<d&&(d=p,c=m,u=f)}return Object.freeze({symbology:"qr",version:String(t),ecLevel:n,mask:c,matrix:new wt(o.size,o.size,u),layout:o.layout,blocks:s,codewords:i})}var im=3,oA=1,sA={size:"This is not a size a QR code comes in.",version:"The size of this code and the version it says it is do not match.",format:"The part of this code that says how it was made is too damaged to read."};function am(e){return new K("decode/unreadable",sA[e],{stage:e==="format"?"format":"version"})}function Rl(e,t,n){let r=0;for(let o=0;o<t.length;o+=1){let s=e[t[o]];n?r=r*2+s:r+=s*(1<<o)}return r}function iA(e,t,n){let r=n?oA:im,o=tm(Rl(e,t.formatFirst,!0),r),s=tm(Rl(e,t.formatSecond,!0),r);if(n)return o===void 0||s===void 0?[]:o.ecLevel!==s.ecLevel||o.mask!==s.mask?[]:[{ecLevel:o.ecLevel,mask:o.mask,errors:Math.max(o.distance,s.distance)}];let i=[o,s].filter(l=>l!==void 0);i.sort((l,c)=>l.distance-c.distance);let a=[];for(let l of i)a.some(c=>c.ecLevel===l.ecLevel&&c.mask===l.mask)||a.push({ecLevel:l.ecLevel,mask:l.mask,errors:l.distance});return a}function aA(e,t,n){if(t.versionFirst.length===0)return;let r=[nm(Rl(e,t.versionFirst,!1),im),nm(Rl(e,t.versionSecond,!1),im)],o=r.some(i=>i?.version===t.version),s=r.some(i=>i!==void 0&&i.version!==t.version);if(n?!o||s:!o&&s)throw am("version")}function sm(e,t,n,r){let o=e.width,s=(o-17)/4;if(e.height!==o||!Number.isInteger(s)||s<1||s>40)throw am("size");let i=ts(s),a=e.data,l=iA(a,i,t);if(l.length===0)throw am("format");aA(a,i,t);let{placement:c}=i,u;for(let d of l){let m=Zo(s,d.ecLevel),f=Tl[d.mask],p=new Uint8Array(m.totalCodewords),h=n===void 0?void 0:new Uint8Array(m.totalCodewords);for(let b=0;b<p.length*8;b+=1){let x=c[b],w=a[x]^(f(Math.floor(x/o),x%o)?1:0);p[b>>>3]=p[b>>>3]|w<<7-(b&7),h!==void 0&&n[x]!==0&&(h[b>>>3]=1)}let g;try{g=cl(p,m,h)}catch(b){u??=b;continue}let y=Yo(g.data,m.dataBits,El(s));return Object.freeze({version:String(s),ecLevel:d.ecLevel,mask:d.mask,bitstream:y,errorsPerBlock:g.errorsPerBlock,capacityPerBlock:g.capacityPerBlock,erasuresUsed:g.erasuresUsed,formatErrors:d.errors,mirrored:r})}throw u}function lA(e,t){let n=new Uint8Array(e.length);for(let r=0;r<t;r+=1)for(let o=0;o<t;o+=1)n[o*t+r]=e[r*t+o];return n}function Gg(e,t){if(typeof t?.strict!="boolean")throw new TypeError("read needs { strict: boolean }");let{strict:n}=t,r=n?void 0:t.erasures;if(r!==void 0&&(!(r instanceof Uint8Array)||r.length!==e.data.length))throw new TypeError("erasures has one byte for every module of the matrix");if(n)return sm(e,!0,void 0,!1);try{return sm(e,!1,r,!1)}catch(o){if(o instanceof K&&o.params.stage==="segments"||e.width!==e.height)throw o;try{let s=r===void 0?void 0:lA(r,e.width);return sm(e.mirrored(),!1,s,!0)}catch{throw o}}}var Qg=Object.freeze(Array.from({length:40},(e,t)=>String(t+1))),cA=Object.freeze([0,1,2,3,4,5,6,7]);function ro(e){let t=Qg.indexOf(e);if(t<0)throw new TypeError("a QR version is '1' to '40'");return t+1}function _g(e){if(!zd.includes(e))throw new TypeError("a QR error correction level is 'L', 'M', 'Q' or 'H'");return e}function Wg(){return Object.freeze({id:"qr",labelKey:"symbology.qr.label",quietZone:4,phoneReadable:!0,versions:Qg,ecLevels:e=>(ro(e),zd),size:e=>{let t=om(ro(e));return{width:t,height:t}},profile:e=>El(ro(e)),blocks:(e,t)=>Zo(ro(e),_g(t)),layout:e=>ts(ro(e)).layout,masks:e=>(ro(e),cA),build:(e,t,n,r)=>Kg(e,ro(t),_g(n),r),read:(e,t)=>Gg(e,t)})}var uA=7973,dA=Object.freeze([129714,133755]),Xg;function Yg(){return Xg??=Object.freeze(dA.map(e=>Object.freeze(Array.from({length:64},(t,n)=>xr(n,6,uA)^e)))),Xg}function Zg(e,t,n){let r=Yg();t.forEach((o,s)=>{let i=r[s][n];o.forEach(([a,l],c)=>e.set(a,l,(i>>>17-c&1)===1))})}function lm(e,t){let n=0;for(let[r,o]of t)n=n<<1|e.get(r,o);return n}function $g(e,t){let n=Yg(),r=t?1:3,[o,s]=e.map((a,l)=>wr(a,n[l],r));if(t)return o===void 0||s===void 0||o.index!==s.index?void 0:{data:o.index,distance:Math.max(o.distance,s.distance)};if(o===void 0||s===void 0){let a=o??s;return a===void 0?void 0:{data:a.index,distance:a.distance}}if(o.index===s.index)return{data:o.index,distance:Math.min(o.distance,s.distance)};if(o.distance===s.distance)return;let i=o.distance<s.distance?o:s;return{data:i.index,distance:i.distance}}var tb=Object.freeze(["M","H"]),mA=[[7,43,104,7,1,0,10,1,0],[7,59,171,9,1,0,14,1,0],[7,77,261,12,1,0,22,1,0],[7,99,358,16,1,0,30,1,0],[7,139,545,24,1,0,44,2,0],[9,43,170,9,1,0,14,1,0],[9,59,267,12,1,0,22,1,0],[9,77,393,18,1,0,32,1,1],[9,99,532,24,1,0,44,2,0],[9,139,797,36,1,1,66,3,0],[11,27,122,8,1,0,10,1,0],[11,43,249,12,1,0,20,1,0],[11,59,376,16,1,0,32,1,1],[11,77,538,24,1,0,44,1,1],[11,99,719,32,1,1,60,1,1],[11,139,1062,48,2,0,90,3,0],[13,27,172,9,1,0,14,1,0],[13,43,329,14,1,0,28,1,0],[13,59,486,22,1,0,40,2,0],[13,77,684,32,1,1,56,1,1],[13,99,907,40,1,1,78,1,2],[13,139,1328,60,2,1,112,2,2],[15,43,409,18,1,0,36,1,1],[15,59,596,26,1,0,48,2,0],[15,77,830,36,1,1,72,2,1],[15,99,1095,48,2,0,88,4,0],[15,139,1594,72,2,1,130,1,4],[17,43,489,22,1,0,40,1,1],[17,59,706,32,2,0,60,2,0],[17,77,976,44,2,0,84,1,2],[17,99,1283,60,2,1,104,4,0],[17,139,1860,80,4,0,156,2,4]],fA=[[4,3,3,2],[5,5,4,3],[6,5,5,4],[7,6,5,5],[7,6,6,5],[5,5,4,3],[6,5,5,4],[7,6,5,5],[7,6,6,5],[8,7,6,6],[4,4,3,2],[6,5,5,4],[7,6,5,5],[7,6,6,5],[8,7,6,6],[8,7,7,6],[5,5,4,3],[6,6,5,5],[7,6,6,5],[7,7,6,6],[8,7,7,6],[8,8,7,7],[7,6,6,5],[7,7,6,5],[8,7,7,6],[8,7,7,6],[9,8,7,7],[7,6,6,5],[8,7,6,6],[8,7,7,6],[8,8,7,6],[9,8,8,7]],pA={27:[],43:[21],59:[19,39],77:[25,51],99:[23,49,75],139:[27,55,83,111]},hA=0;function Jg(e,t,n,r){let o=n+r,s=e-t,i=Math.floor(s/o);return dl([{count:n,dataCount:i},{count:r,dataCount:i+1}],t/o,hA,8)}var nb,Al;function cm(){if(Al!==void 0)return Al;let e=mA.map((t,n)=>{let[r,o,s,i,a,l,c,u,d]=t,m=Math.floor(s/8),[f,p,h,g]=fA[n];return Object.freeze({version:`R${r}x${o}`,indicator:n,width:o,height:r,totalCodewords:m,remainderBits:s%8,alignmentColumns:Object.freeze([...pA[o]]),charCountBits:Object.freeze({numeric:f,alphanumeric:p,byte:h,kanji:g}),levels:Object.freeze([Object.freeze({ecLevel:"M",blocks:Jg(m,i,a,l)}),Object.freeze({ecLevel:"H",blocks:Jg(m,c,u,d)})])})});return Al=Object.freeze(e),nb=new Map(e.map(t=>[t.version,t])),Al}function mn(e){cm();let t=nb.get(e);if(t===void 0)throw new TypeError("an rMQR version is one of the 32 sizes from R7x43 to R17x139");return t}function Il(e,t){let n=mn(e).levels.find(r=>r.ecLevel===t);if(n===void 0)throw new TypeError("rMQR has error correction levels M and H only");return n.blocks}function rb(e,t){return cm().find(n=>n.width===e&&n.height===t)}var eb;function ob(){return eb??=Object.freeze([...cm()].sort((e,t)=>e.width*e.height-t.width*t.height||e.indicator-t.indicator).map(e=>e.version)),eb}function yA(e,t){return Math.max(Math.abs(e-2),Math.abs(t-2))!==1}function gA(e,t){if(t===0&&e<=2||e===0&&t<=2)return!0;if(e===1&&t===1)return!1}function mm(){let e=[[11,3],[11,2],[11,1]];for(let t of[10,9,8])for(let n=5;n>=1;n-=1)e.push([t,n]);return e}function fm(e,t){let n=[[e-3,t-6],[e-4,t-6],[e-5,t-6]];for(let r of[e-6,e-7,e-8])for(let o=t-2;o>=t-6;o-=1)n.push([r,o]);return n}function bA(e){let{width:t,height:n,alignmentColumns:r}=e,o=new Jo(t,n);for(let i=3;i<=t-4;i+=1)o.set(i,0,"timing",i%2===0),o.set(i,n-1,"timing",i%2===0);for(let i=3;i<=n-4;i+=1){o.set(0,i,"timing",i%2===0),o.set(t-1,i,"timing",i%2===0);for(let a of r)o.set(a,i,"timing",i%2===0)}for(let i=0;i<8;i+=1)for(let a=0;a<8;a+=1){i<n&&(a<7&&i<7?o.set(a,i,"finder",Math.max(Math.abs(a-3),Math.abs(i-3))!==2):o.set(a,i,"separator",!1));let l=gA(a,i);l!==void 0&&(o.set(t-1-a,i,"corner-finder",l),o.set(a,n-1-i,"corner-finder",l)),a<5&&i<5&&o.set(t-1-a,n-1-i,"sub-finder",yA(a,i))}for(let i of r)for(let a=0;a<3;a+=1)for(let l=-1;l<=1;l+=1){let c=!(l===0&&a===1);o.set(i+l,a,"alignment",c),o.set(i+l,n-3+a,"alignment",c)}for(let[i,a]of mm())o.set(i,a,"format",!1);for(let[i,a]of fm(t,n))o.set(i,a,"format",!1);let s=[{role:"finder",kind:"concentric-7",x:0,y:0,width:7,height:7,rotation:0},{role:"sub-finder",kind:"concentric-5",x:t-5,y:n-5,width:5,height:5,rotation:0},{role:"corner-finder",kind:"corner-l",x:t-3,y:0,width:3,height:3,rotation:90}];return n>=11&&s.push({role:"corner-finder",kind:"corner-l",x:0,y:n-3,width:3,height:3,rotation:270}),fl(o,s,t-2)}var um,dm;function Pl(e){let t=mn(e);um??=new Map;let n=um.get(t.version);return n===void 0&&(n=bA(t),um.set(t.version,n)),n}function Cl(e){let t=mn(e);dm??=new Map;let n=dm.get(t.version);if(n===void 0){let r=Pl(t.version),o=t.levels[0].blocks;n=hl(r,pl(r,o)),dm.set(t.version,n)}return n}var xA=Object.freeze(["numeric","alphanumeric","byte","kanji"]),wA=Object.freeze({numeric:1,alphanumeric:2,byte:3,kanji:4,"fnc1-first":5,"fnc1-second":6,eci:7}),pm;function hm(e){let t=mn(e);pm??=new Map;let n=pm.get(t.version);if(n!==void 0)return n;let{charCountBits:r}=t;return n=Object.freeze({modes:xA,modeIndicatorBits:3,modeIndicator(o){return wA[o]},charCountBits(o){let s=r[o];if(s===void 0)throw new TypeError("rMQR has no mode by that name");return s},terminatorBits:3,eci:!0,fnc1:!0,structuredAppend:!1}),pm.set(t.version,n),n}var sb="rmqr",kA=Object.freeze({label:"symbology.rmqr.label",notPhoneReadable:"symbology.rmqr.not-phone-readable"}),ib=(e,t)=>(Math.floor(t/2)+Math.floor(e/3))%2===0,vA=Object.freeze([0]);function SA(e,t){return(t==="H"?32:0)+e}function ab(e,t){return[mm(),fm(e,t)]}function MA(e,t,n,r){let o=mn(t),s=Il(t,n);if(!(e instanceof Uint8Array)||e.length!==kr(s))throw new TypeError(`${o.version}-${n} takes ${kr(s)} data codewords`);if(r!=="auto"&&r!==0)throw new TypeError("rMQR has one mask: 0, or 'auto'");let i=$o(e,s),a=Pl(t),l=Cl(t),c=yl(a,l,i);return gl(c,a,ib),Zg(c,ab(o.width,o.height),SA(o.indicator,n)),Object.freeze({symbology:sb,version:o.version,ecLevel:n,mask:0,matrix:c,layout:l,blocks:s,codewords:i})}function EA(e,t,n,r){let o=rb(e.width,e.height);if(o===void 0)throw Mr("size");let[s,i]=ab(o.width,o.height),a=$g([lm(e,s),lm(e,i)],t);if(a===void 0)throw Mr("format");if((a.data&31)!==o.indicator)throw Mr("mismatch");let l=a.data>=32?"H":"M",c=Il(o.version,l),u=bl(e,Pl(o.version),Cl(o.version),c.totalCodewords,ib,n),d=ml(c,u.codewords,n&&u.erased);return Object.freeze({version:o.version,ecLevel:l,mask:0,blocks:c,data:d.data,errorsPerBlock:d.errorsPerBlock,capacityPerBlock:d.capacityPerBlock,erasuresUsed:d.erasuresUsed,formatErrors:a.distance,mirrored:r})}function TA(e,t){Sl(e,t);let{strict:n}=t;return Ml(e,n,n?void 0:t.erasures,(r,o,s)=>EA(r,n,o,s))}function RA(e,t){let n=TA(e,t);return Object.freeze({version:n.version,ecLevel:n.ecLevel,mask:n.mask,bitstream:Yo(n.data,n.blocks.dataBits,hm(n.version)),errorsPerBlock:n.errorsPerBlock,capacityPerBlock:n.capacityPerBlock,erasuresUsed:n.erasuresUsed,formatErrors:n.formatErrors,mirrored:n.mirrored})}function lb(){return Object.freeze({id:sb,labelKey:kA.label,quietZone:2,phoneReadable:!1,get versions(){return ob()},ecLevels(e){return mn(e),tb},size(e){let{width:t,height:n}=mn(e);return{width:t,height:n}},profile:hm,blocks:Il,layout:Cl,masks(e){return mn(e),vA},build:MA,read:RA})}function ns(){return new Mt("symbology",[Wg(),jg(),lb()])}function AA(e){let t=new Uint32Array(256);for(let l=0;l<e.data.length;l+=1)t[e.data[l]]+=1;let n=e.data.length,r=0;for(let l=0;l<256;l+=1)r+=l*t[l];let o=0,s=0,i=0,a=-1;for(let l=0;l<256;l+=1){if(s+=t[l],s===0)continue;let c=n-s;if(c===0)break;o+=l*t[l];let u=o/s-(r-o)/c,d=s*c*u*u;d>a&&(a=d,i=l)}return i}function vi(e){let t=AA(e),n=new Uint8Array(e.data.length);for(let r=0;r<n.length;r+=1)n[r]=e.data[r]<=t?1:0;return{width:e.width,height:e.height,bits:n,threshold:()=>t}}function IA(e){let{width:t,height:n,data:r}=e;if(t<8*3||n<8*3)return vi(e);let o=Math.ceil(t/8),s=Math.ceil(n/8),i=new Float64Array(o*s);for(let c=0;c<s;c+=1)for(let u=0;u<o;u+=1){let d=u*8,m=c*8,f=Math.min(d+8,t),p=Math.min(m+8,n),h=255,g=0;for(let b=m;b<p;b+=1)for(let x=d;x<f;x+=1){let w=r[b*t+x];w<h&&(h=w),w>g&&(g=w)}let y;if(g-h>24)y=h+g>>1;else if(u===0&&c===0)y=h>>1;else{let b=u>0?i[c*o+u-1]:0,x=c>0?i[(c-1)*o+u]:0,w=u>0&&c>0?i[(c-1)*o+u-1]:0,k=(u>0?1:0)+(c>0?1:0)+(u>0&&c>0?2:0);y=Math.round((b+x+2*w)/k)}i[c*o+u]=y}let a=new Float64Array(o*s);for(let c=0;c<s;c+=1)for(let u=0;u<o;u+=1){let d=0,m=0;for(let f=Math.max(0,c-1);f<=Math.min(s-1,c+1);f+=1)for(let p=Math.max(0,u-1);p<=Math.min(o-1,u+1);p+=1)d+=i[f*o+p],m+=1;a[c*o+u]=d/m}let l=new Uint8Array(t*n);for(let c=0;c<n;c+=1){let u=(c>>3)*o;for(let d=0;d<t;d+=1)l[c*t+d]=r[c*t+d]<=a[u+(d>>3)]?1:0}return{width:t,height:n,bits:l,threshold:(c,u)=>a[(u>>3)*o+(c>>3)]}}var cb=40;function PA(e){let{width:t,height:n,data:r}=e,o=Math.ceil(t/8),s=Math.ceil(n/8);if(t<cb||n<cb||o<5||s<5)return vi(e);let i=new Float64Array(o*s);for(let c=0;c<s;c+=1)for(let u=0;u<o;u+=1){let d=0,m=255,f=0,p=0;for(let g=c*8;g<Math.min(n,c*8+8);g+=1)for(let y=u*8;y<Math.min(t,u*8+8);y+=1){let b=r[g*t+y];d+=b,p+=1,b<m&&(m=b),b>f&&(f=b)}let h=d/p;if(f-m<=24&&(h=m/2,c>0&&u>0)){let g=(i[(c-1)*o+u]+2*i[c*o+u-1]+i[(c-1)*o+u-1])/4;m<g&&(h=g)}i[c*o+u]=h}let a=new Float64Array(o*s);for(let c=0;c<s;c+=1){let u=Math.min(Math.max(c,2),s-3);for(let d=0;d<o;d+=1){let m=Math.min(Math.max(d,2),o-3),f=0;for(let p=-2;p<=2;p+=1)for(let h=-2;h<=2;h+=1)f+=i[(u+p)*o+m+h];a[c*o+d]=f/25}}let l=new Uint8Array(t*n);for(let c=0;c<n;c+=1){let u=(c>>3)*o;for(let d=0;d<t;d+=1)l[c*t+d]=r[c*t+d]<=a[u+(d>>3)]?1:0}return{width:t,height:n,bits:l,threshold:(c,u)=>a[(u>>3)*o+(c>>3)]}}var ub=40,CA=2;function db(e){let{width:t,height:n,data:r}=e;if(t<ub||n<ub)return vi(e);let o=Math.ceil(t/8),s=Math.ceil(n/8),i=(h,g)=>Math.min(h*8,g-8),a=new Uint8Array(o*s);for(let h=0;h<s;h+=1){let g=i(h,n);for(let y=0;y<o;y+=1){let b=i(y,t),x=255,w=0;for(let k=g;k<g+8;k+=1)for(let S=b;S<b+8;S+=1){let E=r[k*t+S];E<x&&(x=E),E>w&&(w=E)}a[h*o+y]=w-x>24?w+x>>1:0}}let l=new Uint8Array(a.length),c=CA;for(let h=0;h<s;h+=1){let g=Math.min(Math.max(h,c),s-c-1);for(let y=0;y<o;y+=1){let b=Math.min(Math.max(y,c),o-c-1),x=a[h*o+y],w=x>0?2*x:0,k=x>0?2:0;for(let S=-c;S<=c;S+=1)for(let E=-c;E<=c;E+=1){let R=a[(g+S)*o+b+E];w+=R,R>0&&(k+=1)}l[h*o+y]=k>0?Math.floor(w/k):0}}let u=0;for(let h=l.length-1;h>=0;h-=1)l[h]>0?u=l[h]:l[h]=u;let d=0;for(let h=0;h<l.length;h+=1)l[h]>0?d=l[h]:l[h]=d;if(d===0)return vi(e);let m=(h,g,y)=>h>=g-8?y-1:Math.floor(h/8),f=(h,g)=>l[m(g,n,s)*o+m(h,t,o)],p=new Uint8Array(t*n);for(let h=0;h<n;h+=1)for(let g=0;g<t;g+=1)p[h*t+g]=r[h*t+g]<=f(g,h)?1:0;return{width:t,height:n,bits:p,threshold:f}}function NA(e,t=31,n=.2){let{width:r,height:o,data:s}=e,i=t>>1,a=r+1,l=new Float64Array(a*(o+1)),c=new Float64Array(a*(o+1));for(let f=0;f<o;f+=1){let p=0,h=0;for(let g=0;g<r;g+=1){let y=s[f*r+g];p+=y,h+=y*y,l[(f+1)*a+g+1]=l[f*a+g+1]+p,c[(f+1)*a+g+1]=c[f*a+g+1]+h}}let u=(f,p,h,g,y)=>f[y*a+g]-f[h*a+g]-f[y*a+p]+f[h*a+p],d=(f,p)=>{let h=Math.max(0,f-i),g=Math.max(0,p-i),y=Math.min(r,f+i+1),b=Math.min(o,p+i+1),x=(y-h)*(b-g),w=u(l,h,g,y,b)/x,k=Math.max(0,u(c,h,g,y,b)/x-w*w);return w*(1+n*(Math.sqrt(k)/128-1))},m=new Uint8Array(r*o);for(let f=0;f<o;f+=1)for(let p=0;p<r;p+=1)m[f*r+p]=s[f*r+p]<=d(p,f)?1:0;return{width:r,height:o,bits:m,threshold:d}}function mb(e,t){switch(t){case"hybrid":return IA(e);case"hybrid-mean":return PA(e);case"otsu":return vi(e);case"sauvola":return NA(e)}}function fb(e,t){let{uncertain:n}=e;if(n.length!==t.dataBits.length)return null;let r=new Uint8Array(n.length),o=new Set;for(let s=0;s<n.length;s+=1){if(n[s]===0)continue;let i=t.dataBits[s];i<0||(r[s]=1,o.add(i>>3))}return o.size===0?null:{flags:r,codewords:o.size}}var bb=Object.freeze({runs:.5,diagonals:.5}),xb=Object.freeze({runs:.35,diagonals:.5}),wb=Object.freeze({runs:.35,diagonals:.6});function An(e,t,n){return e.bits[n*e.width+t]===1}function Nl(e,t){let n=e[0],r=e[1],o=e[2],s=e[3],i=e[4],a=n+r+o+s+i;if(a<7)return!1;let l=a/7,c=l*t;return Math.abs(l-n)<c&&Math.abs(l-r)<c&&Math.abs(3*l-o)<3*c&&Math.abs(l-s)<c&&Math.abs(l-i)<c}function kb(e,t){return e-t[4]-t[3]-t[2]/2}function gm(e,t,n=32){let r=[],o=Math.max(1,Math.floor(e.height/512)),s=[0,0,0,0,0];for(let i=0;i<e.height;i+=o){s.fill(0);let a=0,l=c=>{if(!Nl(s,t.runs))return!1;let u=kb(c,s),d=s.reduce((f,p)=>f+p,0)/7,m=LA(e,Math.floor(u),i,Math.round(d*7),t.runs);return m===null||!OA(e,u,m,t.diagonals)?!1:(DA(r,u,m,d),!0)};for(let c=0;c<e.width;c+=1){if(An(e,c,i)){a%2===1&&(a+=1),s[a]=s[a]+1;continue}if(a%2===1){s[a]=s[a]+1;continue}if(a!==4){if(a===0&&s[0]===0)continue;a+=1,s[a]=s[a]+1;continue}l(c)?(s.fill(0),a=0):(s[0]=s[2],s[1]=s[3],s[2]=s[4],s[3]=1,s[4]=0,a=3)}a===4&&l(e.width)}return r.filter(i=>i.count>=2).sort((i,a)=>a.count-i.count).slice(0,n).map(({x:i,y:a,moduleSize:l,count:c})=>({x:i,y:a,moduleSize:l,count:c}))}function LA(e,t,n,r,o){let s=[0,0,0,0,0],i=n;for(;i>=0&&An(e,t,i);)s[2]=s[2]+1,i-=1;for(;i>=0&&!An(e,t,i)&&s[1]<r;)s[1]=s[1]+1,i-=1;for(;i>=0&&An(e,t,i)&&s[0]<r;)s[0]=s[0]+1,i-=1;for(i=n+1;i<e.height&&An(e,t,i);)s[2]=s[2]+1,i+=1;for(;i<e.height&&!An(e,t,i)&&s[3]<r;)s[3]=s[3]+1,i+=1;for(;i<e.height&&An(e,t,i)&&s[4]<r;)s[4]=s[4]+1,i+=1;return Nl(s,o)?kb(i,s):null}function pb(e,t,n,r,o){let s=[0,0,0,0,0],i=(a,l)=>a>=0&&l>=0&&a<e.width&&l<e.height;for(let a of[-1,1]){let l=a<0?t:t+r,c=a<0?n:n+o;for(let[u,d]of a<0?[[2,!0],[1,!1],[0,!0]]:[[2,!0],[3,!1],[4,!0]])for(;i(l,c)&&An(e,l,c)===d;)s[u]=s[u]+1,l+=a*r,c+=a*o}return s}function OA(e,t,n,r){let o=Math.floor(t-.5),s=Math.floor(n-.5);for(let i=s;i<=s+1;i+=1)for(let a=o;a<=o+1;a+=1)if(!(a<0||i<0||a>=e.width||i>=e.height||!An(e,a,i))&&Nl(pb(e,a,i,1,1),r)&&Nl(pb(e,a,i,1,-1),r))return!0;return!1}function DA(e,t,n,r){for(let o of e)if(Ae(o.x-t,o.y-n)<o.moduleSize*2&&Math.abs(o.moduleSize-r)<r*.5){let s=o.count+1;o.x=(o.x*o.count+t)/s,o.y=(o.y*o.count+n)/s,o.moduleSize=(o.moduleSize*o.count+r)/s,o.count=s;return}e.push({x:t,y:n,moduleSize:r,count:1})}var hb=.5;function ym(e,t){return Ae(e.x-t.x,e.y-t.y)}function yb(e,t,n){let r=n.x-t.x,o=n.y-t.y,s=Ae(r,o);if(s===0)return null;let i=r/s,a=o/s,l=0;for(let c=0;c<=s;c+=hb){let u=Math.floor(t.x+i*c),d=Math.floor(t.y+a*c);if(u<0||d<0||u>=e.width||d>=e.height)return null;let m=An(e,u,d);if(l===0&&!m)l=1;else if(l===1&&m)l=2;else if(l===2&&!m)return c-hb/2}return null}function gb(e,t,n){let r=yb(e,t,n);if(r===null)return null;let o=yb(e,t,{x:2*t.x-n.x,y:2*t.y-n.y});return o===null?r/3.5:(r+o)/7}function Si(e,t,n){let r=gb(e,t,n),o=gb(e,n,t);return r===null?o:o===null?r:Math.sqrt(r*o)}function jA(e,t,n){let r=ym(e,t),o=ym(t,n),s=ym(n,e),i,a,l;return o>=r&&o>=s?(i=e,a=t,l=n):s>=r&&s>=o?(i=t,a=e,l=n):(i=n,a=e,l=t),(a.x-i.x)*(l.y-i.y)-(a.y-i.y)*(l.x-i.x)>0?{topLeft:i,topRight:a,bottomLeft:l}:{topLeft:i,topRight:l,bottomLeft:a}}function vb(e,t=8){let n=[];for(let r=0;r<e.length;r+=1)for(let o=r+1;o<e.length;o+=1)for(let s=o+1;s<e.length;s+=1){let i=[e[r],e[o],e[s]],a=i.map(m=>m.moduleSize),l=(a[0]+a[1]+a[2])/3,c=Math.max(...a)-Math.min(...a);if(c>l*.7)continue;let u=jA(...i);if(!BA(u,l))continue;let d=i[0].count+i[1].count+i[2].count;n.push({triple:u,score:c/l-d/100})}return n.sort((r,o)=>r.score-o.score).slice(0,t).map(({triple:r})=>r)}function BA(e,t){let{topLeft:n,topRight:r,bottomLeft:o}=e,s=r.x-n.x,i=r.y-n.y,a=o.x-n.x,l=o.y-n.y,c=Ae(s,i),u=Ae(a,l);if(c===0||u===0||c>u*2||u>c*2||Math.abs((s*a+i*l)/(c*u))>.5)return!1;let d=(c+u)/2/t;return d>=10&&d<=220}var Er=180,Xn=180,FA=.12,Sb=.5,bm;function UA(){if(bm!==void 0)return bm;let e=new Float64Array(Xn);for(let t=0;t<Xn;t+=1){let n=t/Xn*(Me/2);e[t]=1/Math.max(Math.abs(Be(n)),Math.abs(je(n)))}return bm=e,e}function zA(e,t,n,r,o){let s=0;for(let i=0;i<=o;i+=Sb){let a=Math.floor(t.x+n*i),l=Math.floor(t.y+r*i);if(a<0||l<0||a>=e.width||l>=e.height)return Number.NaN;let c=e.bits[l*e.width+a]===1;if(s===0&&!c)s=1;else if(s===1&&c)s=2;else if(s===2&&!c)return i-Sb/2}return Number.NaN}function Mb(e,t){let n=UA(),r={x:t.x,y:t.y},o=t.moduleSize*8,s=new Float64Array(Er),i=0;for(let m=0;m<Er;m+=1){let f=m/Er*2*Me;s[m]=zA(e,r,Be(f),je(f),o),Number.isNaN(s[m])||(i+=1)}if(i<Er/2)return null;let a=Xn*4/Er,l=Number.POSITIVE_INFINITY,c=0,u=0;for(let m=0;m<Xn;m+=1){let f=0,p=0,h=0;for(let b=0;b<Er;b+=1){let x=s[b];if(Number.isNaN(x))continue;let w=((b*a-m)%Xn+Xn)%Xn,k=n[w];f+=x*k,p+=k*k,h+=x*x}let g=f/p,y=h-g*f;y<l&&(l=y,c=m,u=g)}return Math.sqrt(Math.max(0,l)/i)/u<=FA?qA(s,r,c/Xn*(Me/2),u):null}var VA=.5;function qA(e,t,n,r){let o=n,s=t.x,i=t.y,a=r;for(let u=0;u<3;u+=1){let d=new Float64Array(16),m=new Float64Array(4);for(let p=0;p<Er;p+=1){let h=e[p];if(Number.isNaN(h))continue;let g=p/Er*2*Me,y=Math.round((g-o)/(Me/2));if(Math.abs(g-o-y*Me/2)>VA)continue;let b=o+y*Me/2,x=Be(b),w=je(b),k=t.x+h*Be(g)-s,S=t.y+h*je(g)-i,E=[-w*k+x*S,-x,-w,-1],R=-(x*k+w*S);for(let C=0;C<4;C+=1){m[C]=m[C]+E[C]*R;for(let A=0;A<4;A+=1)d[C*4+A]=d[C*4+A]+E[C]*E[A]}}let f=HA(d,m);if(f===null)break;o+=f[0],s+=f[1],i+=f[2],a=f[3]}let l=Me/2,c=o-Math.floor(o/l)*l;return{centre:{x:s,y:i},angle:c,module:a/3.5}}function HA(e,t){let n=Array.from({length:4},(r,o)=>[e[o*4],e[o*4+1],e[o*4+2],e[o*4+3],t[o]]);for(let r=0;r<4;r+=1){let o=r;for(let s=r+1;s<4;s+=1)Math.abs(n[s][r])>Math.abs(n[o][r])&&(o=s);if(Math.abs(n[o][r])<1e-9)return null;[n[r],n[o]]=[n[o],n[r]];for(let s=0;s<4;s+=1){if(s===r)continue;let i=n[s][r]/n[r][r];for(let a=r;a<5;a+=1)n[s][a]=n[s][a]-i*n[r][a]}}return n.map((r,o)=>r[4]/r[o])}function Eb(e,t){let n=e.angle+t*Me/2;return{x:Be(n),y:je(n)}}function xm(e,t,n){return[t.x,n.x,e.x-3.5*(t.x+n.x),t.y,n.y,e.y-3.5*(t.y+n.y),0,0,1]}function wm(e,t){return t?{x:e.y,y:-e.x}:{x:-e.y,y:e.x}}function Rb(e){let{data:t,width:n,height:r}=e,o=new Uint8Array(n*r);for(let s=0,i=0;s<o.length;s+=1,i+=4){let a=t[i],l=t[i+1],c=t[i+2],u=t[i+3],d=a*306+l*601+c*117>>10;o[s]=u===255?d:Math.round(d*u/255+(255-u))}return{data:o,width:n,height:r}}function km(e){let t=Math.max(1,e.width>>1),n=Math.max(1,e.height>>1),r=new Uint8Array(t*n),o=e.width-1,s=e.height-1;for(let i=0;i<n;i+=1){let a=i*2*e.width,l=Math.min(i*2+1,s)*e.width;for(let c=0;c<t;c+=1){let u=c*2,d=Math.min(u+1,o),m=e.data[a+u]+e.data[a+d]+e.data[l+u]+e.data[l+d];r[i*t+c]=m>>2}}return{data:r,width:t,height:n}}function KA(e,t,n){let r=new Uint8Array(t*n),o=e.width/t,s=e.height/n;for(let i=0;i<n;i+=1){let a=i*s,l=Math.min(e.height,(i+1)*s),c=Math.ceil(l);for(let u=0;u<t;u+=1){let d=u*o,m=Math.min(e.width,(u+1)*o),f=Math.ceil(m),p=0,h=0;for(let g=Math.floor(a);g<c;g+=1){let y=Math.min(g+1,l)-Math.max(g,a),b=g*e.width;for(let x=Math.floor(d);x<f;x+=1){let w=(Math.min(x+1,m)-Math.max(x,d))*y;p+=e.data[b+x]*w,h+=w}}r[i*t+u]=Math.round(p/h)}}return{data:r,width:t,height:n}}function Ab(e,t){let n=e.width*t,r=e.height*t,o=new Uint8Array(n*r);for(let s=0;s<r;s+=1){let i=Math.min(e.height-1,Math.max(0,(s+.5)/t-.5)),a=Math.floor(i),l=Math.min(e.height-1,a+1),c=i-a;for(let u=0;u<n;u+=1){let d=Math.min(e.width-1,Math.max(0,(u+.5)/t-.5)),m=Math.floor(d),f=Math.min(e.width-1,m+1),p=d-m,h=e.data[a*e.width+m],g=e.data[a*e.width+f],y=e.data[l*e.width+m],b=e.data[l*e.width+f];o[s*n+u]=Math.round(h*(1-p)*(1-c)+g*p*(1-c)+y*(1-p)*c+b*p*c)}}return{data:o,width:n,height:r}}function Ib(e,t){let n=e.width*e.height;if(n<=t)return e;let r=Math.sqrt(t/n),o=Math.max(1,Math.floor(e.width*r)),s=Math.max(1,Math.floor(e.height*r));o*s>t&&(s===1?o=Math.max(1,Math.floor(t)):s=Math.max(1,Math.floor(t/o)));let i=e;for(;i.width>>1>=o&&i.height>>1>=s;)i=km(i);return i.width===o&&i.height===s?i:KA(i,o,s)}function Pb(e){let{data:t,width:n,height:r}=e,o=Math.max(1,Math.min(n,r)>>4),s=[];for(let[u,d]of[[0,0],[n-o,0],[0,r-o],[n-o,r-o]]){let m=0;for(let f=d;f<d+o;f+=1)for(let p=u;p<u+o;p+=1)m+=t[f*n+p];s.push(m/(o*o))}s.sort((u,d)=>u-d);let i=(s[1]+s[2])/2,a=new Uint32Array(256);for(let u=0;u<t.length;u+=1)a[t[u]]+=1;let l=Tb(a,t.length,.05),c=Tb(a,t.length,.95);return i<l+(c-l)*.35}function Tb(e,t,n){let r=t*n,o=0;for(let s=0;s<255;s+=1)if(o+=e[s],o>=r)return s;return 255}var Cb=.1,GA=4,vm=2;function Ob(e,t,n){return e.bits[n*e.width+t]===1}function Mi(e,t,n,r,o){let s=[],i=Math.floor(t.x),a=Math.floor(t.y);for(let l=Math.max(0,a-n);l<=Math.min(e.height-1,a+n);l+=1)for(let c=Math.max(0,i-n);c<=Math.min(e.width-1,i+n);c+=1){if(!Ob(e,c,l))continue;let u=_A(e,c,l,r);if(u===null)continue;let{point:d,score:m}=u,f=Ae(d.x-t.x,d.y-t.y)/r,p=s.findIndex(h=>Ae(h.point.x-d.x,h.point.y-d.y)<r);p<0?s.push({point:d,score:m,offset:f}):m<s[p].score&&(s[p]={point:d,score:m,offset:f})}return s.sort((l,c)=>{let u=Math.floor(l.score/Cb)-Math.floor(c.score/Cb);return u!==0?u:l.offset-c.offset}).slice(0,o)}function _A(e,t,n,r){let o=Ll(e,t,n,1,0,r);if(o===null||!Lb(o,r))return null;let s=Ll(e,t,n,0,1,r);if(s===null||!Lb(s,r))return null;let i=Ll(e,t,n,1,1,r),a=Ll(e,t,n,1,-1,r),l=o.error+s.error;l+=i===null?vm:i.error,l+=a===null?vm:a.error;let c=Nb(o.size,s.size),u=i===null||a===null?vm/2:Nb(i.size,a.size);return{point:{x:t+.5+o.offset,y:n+.5+s.offset},score:l/GA+c+u}}function Nb(e,t){return Math.abs(e-t)/((e+t)/2)}function Ll(e,t,n,r,o,s){let i=r!==0&&o!==0?Math.SQRT2:1,a=s*3/i,l=p=>{let h=0,g=0,y=!1,b=t+p*r,x=n+p*o;for(;b>=0&&x>=0&&b<e.width&&x<e.height;){let w=Ob(e,b,x);if(!y)w?h+=1:(y=!0,g+=1);else if(!w)g+=1;else return{centre:h,light:g};if(h>a||g>a)return null;b+=p*r,x+=p*o}return null},c=l(-1);if(c===null)return null;let u=l(1);if(u===null)return null;let d=[c.light,c.centre+1+u.centre,u.light],m=(d[0]+d[1]+d[2])/3,f=0;for(let p of d){let h=(p-m)/m;f+=h*h}return{runs:d,size:m*i,error:f,offset:(u.centre-c.centre)/2}}function Lb(e,t){let n=(e.runs[0]+e.runs[1]+e.runs[2])/3;for(let r of e.runs)if(Math.abs(r-n)>n*.6)return!1;return e.size>=t*.5&&e.size<=t*2.2}function Ke(e,t,n){let r=e[6]*t+e[7]*n+e[8];return{x:(e[0]*t+e[1]*n+e[2])/r,y:(e[3]*t+e[4]*n+e[5])/r}}function rs(e,t,n){let r=Ke(e,t,n),o=Ke(e,t+1,n),s=Ke(e,t,n+1);return(Ae(o.x-r.x,o.y-r.y)+Ae(s.x-r.x,s.y-r.y))/2}function Sm(e,t){return[e[0]*t[0]+e[1]*t[3]+e[2]*t[6],e[0]*t[1]+e[1]*t[4]+e[2]*t[7],e[0]*t[2]+e[1]*t[5]+e[2]*t[8],e[3]*t[0]+e[4]*t[3]+e[5]*t[6],e[3]*t[1]+e[4]*t[4]+e[5]*t[7],e[3]*t[2]+e[4]*t[5]+e[5]*t[8],e[6]*t[0]+e[7]*t[3]+e[8]*t[6],e[6]*t[1]+e[7]*t[4]+e[8]*t[7],e[6]*t[2]+e[7]*t[5]+e[8]*t[8]]}function QA(e){return[e[4]*e[8]-e[5]*e[7],e[2]*e[7]-e[1]*e[8],e[1]*e[5]-e[2]*e[4],e[5]*e[6]-e[3]*e[8],e[0]*e[8]-e[2]*e[6],e[2]*e[3]-e[0]*e[5],e[3]*e[7]-e[4]*e[6],e[1]*e[6]-e[0]*e[7],e[0]*e[4]-e[1]*e[3]]}function Db(e){let[t,n,r,o]=e,s=t.x-n.x+r.x-o.x,i=t.y-n.y+r.y-o.y;if(s===0&&i===0)return[n.x-t.x,r.x-n.x,t.x,n.y-t.y,r.y-n.y,t.y,0,0,1];let a=n.x-r.x,l=o.x-r.x,c=n.y-r.y,u=o.y-r.y,d=a*u-l*c,m=(s*u-l*i)/d,f=(a*i-s*c)/d;return[n.x-t.x+m*n.x,o.x-t.x+f*o.x,t.x,n.y-t.y+m*n.y,o.y-t.y+f*o.y,t.y,m,f,1]}function os(e,t){return Sm(Db(t),QA(Db(e)))}function jb(e,t){if(e.length<4||e.length!==t.length)return null;let n=m=>{let f=0,p=0;for(let g of m)f+=g.x/m.length,p+=g.y/m.length;let h=0;for(let g of m)h+=Math.sqrt((g.x-f)*(g.x-f)+(g.y-p)*(g.y-p));return h/=m.length,{scale:h>0?Math.SQRT2/h:1,cx:f,cy:p}},r=n(e),o=n(t),s=new Float64Array(64),i=new Float64Array(8),a=(m,f)=>{for(let p=0;p<8;p+=1){i[p]=i[p]+m[p]*f;for(let h=0;h<8;h+=1)s[p*8+h]=s[p*8+h]+m[p]*m[h]}};for(let m=0;m<e.length;m+=1){let f=(e[m].x-r.cx)*r.scale,p=(e[m].y-r.cy)*r.scale,h=(t[m].x-o.cx)*o.scale,g=(t[m].y-o.cy)*o.scale;a([f,p,1,0,0,0,-h*f,-h*p],h),a([0,0,0,f,p,1,-g*f,-g*p],g)}let l=WA(s,i,8);if(l===null)return null;let c=[l[0],l[1],l[2],l[3],l[4],l[5],l[6],l[7],1],u=[r.scale,0,-r.cx*r.scale,0,r.scale,-r.cy*r.scale,0,0,1],d=[1/o.scale,0,o.cx,0,1/o.scale,o.cy,0,0,1];return Sm(d,Sm(c,u))}function WA(e,t,n){let r=Array.from({length:n},(o,s)=>[...Array.from(e.subarray(s*n,s*n+n)),t[s]]);for(let o=0;o<n;o+=1){let s=o;for(let i=o+1;i<n;i+=1)Math.abs(r[i][o])>Math.abs(r[s][o])&&(s=i);if(Math.abs(r[s][o])<1e-12)return null;[r[o],r[s]]=[r[s],r[o]];for(let i=0;i<n;i+=1){if(i===o)continue;let a=r[i][o]/r[o][o];for(let l=o;l<=n;l+=1)r[i][l]=r[i][l]-a*r[o][l]}}return r.map((o,s)=>o[n]/o[s])}var Fb=.5,XA=2,YA=4,ZA=.25,Bb=3;function $A(e,t,n){let r=0,o=0;for(let s=8;s<n-8;s+=1){let i=s%2===0;for(let[a,l]of[[s,6],[6,s]]){let c=Ke(t,a+.5,l+.5),u=Math.floor(c.x),d=Math.floor(c.y);(u>=0&&d>=0&&u<e.width&&d<e.height&&e.bits[d*e.width+u]===1)===i&&(r+=1),o+=1}}return r/o}function JA(e,t){let{topLeft:n,topRight:r,bottomLeft:o}=t,s=Si(e,n,r),i=Si(e,n,o);return s!==null&&i!==null?(s+i)/2:s??i??(n.moduleSize+r.moduleSize+o.moduleSize)/3}function Ub(e,t){let{topLeft:n,topRight:r,bottomLeft:o}=t,s=JA(e,t),i=Ae(r.x-n.x,r.y-n.y)/(Si(e,n,r)??s),a=Ae(o.x-n.x,o.y-n.y)/(Si(e,n,o)??s);return(i+a)/2+7}function zb(e,t){let n=Math.round((e-17)/4)*4+17;return[n,n-4,n+4,n-8,n+8].filter(r=>t.has(r))}function oo(e,t,n){let{topLeft:r,topRight:o,bottomLeft:s}=t,i=e-3.5,a=n??{x:o.x+s.x-r.x,y:o.y+s.y-r.y},l=n===null?i:e-6.5;return os([{x:3.5,y:3.5},{x:i,y:3.5},{x:l,y:l},{x:3.5,y:i}],[r,o,a,s])}function Vb(e,t){let n=Ke(e,t,t),r=Ke(e,t+1,t);return Ae(r.x-n.x,r.y-n.y)}function Ei(e,t,n,r,o){if(n<25)return[];let s=n-6.5,i=Ke(t,s,s),a=Vb(t,s);if(!Number.isFinite(a)||!Number.isFinite(i.x)||a<=0)return[];let l=r===null?Math.max(4,Math.round(Math.min(a*6+n*a*.12,160))):Math.max(2,Math.round(r*a));return Mi(e,i,l,a,o).map(c=>c.point)}function Ol(e){let t=(e-17)/4;if(t<2)return[];let n=Math.floor(t/7)+2,r=t===32?26:Math.ceil((t*4+4)/(n*2-2))*2,o=[];for(let s=e-7;o.length<n-1;s-=r)o.unshift(s);return o}function eI(e,t,n){let{topLeft:r,topRight:o,bottomLeft:s}=t,i=[{x:3.5,y:3.5},{x:n-3.5,y:3.5},{x:3.5,y:n-3.5}],a=[r,o,s],l=oo(n,t,null),c=!1;for(let u of Ol(n)){let d=u+.5,m=Ke(l,d,d),f=Vb(l,d);if(!(f>0))break;let[p]=Mi(e,m,Math.max(2,Math.round(YA*f)),f,1);if(p===void 0||p.score>ZA)continue;i.push({x:d,y:d}),a.push(p.point);let h=jb(i,a);h!==null&&(l=h,c=!0)}return c?l:null}function qb(e,t,n){let r=null,o=-1;for(let s of zb(Ub(e,t),n).slice(0,3)){let i=oo(s,t,null),a=[];s<25&&a.push(i);for(let c of s<25?[]:[...Ei(e,i,s,XA,Bb),...Ei(e,i,s,null,Bb)]){let u=oo(s,t,c),[d]=Ei(e,u,s,2,1);a.push(d!==void 0&&Ae(d.x-c.x,d.y-c.y)>Fb?oo(s,t,d):u)}let l=s<25?null:eI(e,t,s);l!==null&&a.push(l);for(let c of a){let u=$A(e,c,s);u>o&&(o=u,r={width:s,height:s,transform:c})}}return r}function*Hb(e,t,n){for(let r of zb(Ub(e,t),n)){let o=oo(r,t,null);yield{width:r,height:r,transform:o};for(let s of Ei(e,o,r,null,3)){let i=oo(r,t,s),[a]=Ei(e,i,r,2,1);a!==void 0&&Ae(a.x-s.x,a.y-s.y)>Fb&&(yield{width:r,height:r,transform:oo(r,t,a)}),yield{width:r,height:r,transform:i}}}}function Kb(e,t){let n=0,r=0;for(let o=8;o<t-8;o+=1){let s=o%2===0?1:0;e[6*t+o]===s&&(n+=1),e[o*t+6]===s&&(n+=1),r+=2}return n/r}var Ti=.85,tI=.3;function Gb(e,t,n,r){let o=Ke(t,n+.5,r+.5),s=Math.floor(o.x),i=Math.floor(o.y);return s<0||i<0||s>=e.width||i>=e.height?null:e.bits[i*e.width+s]===1}function Mm(e,t,n){let r=0;for(let[o,s,i]of n)(Gb(e,t,o,s)??!1)===i&&(r+=1);return r/n.length}function _b(e,t,n){let r=Eb(e,t),o={x:r.x*e.module,y:r.y*e.module};return xm(e.centre,o,wm(o,n))}function nI(e){let t=[];for(let n=7;n<e+2;n+=1){let r=n<e&&n%2===0;t.push([n,0,r],[0,n,r])}return t}function Qb(e,t,n){let r=[];for(let o=0;o<4;o+=1){let s=_b(t,o,!1);for(let i of n){let a=Mm(e,s,nI(i));a<Ti||r.push({hypothesis:{width:i,height:i,transform:s,mirrored:!1},score:a})}}return r.sort((o,s)=>s.score-o.score).map(({hypothesis:o})=>o)}function rI(e,t,n){let r=!1,o=Math.max(...n);for(let s=7;s<=o+1;s+=1){let i=Gb(e,t,0,s)!==!0;if(i&&r)return n.has(s-1)?s-1:null;r=i}return null}function oI(e,t,n,r,o){let s=n-6,i=r-6,a=t.x-e.x,l=t.y-e.y,c=s*s+i*i,u=o?{x:(s*a-i*l)/c,y:(i*a+s*l)/c}:{x:(s*a+i*l)/c,y:(s*l-i*a)/c};return xm(e,u,wm(u,o))}function Wb(e,t,n,r){let o=new Set(n.map(i=>i.height)),s=[];for(let i of r?[!1,!0]:[!1])for(let a=0;a<4;a+=1){let l=_b(t,a,i),c=rI(e,l,o);if(c!==null)for(let{width:u}of n.filter(d=>d.height===c)){let d=Ke(l,u-2.5,c-2.5),m=Math.ceil((2+u*.04)*t.module),[f]=Mi(e,d,m,t.module,1);if(f===void 0||f.score>tI)continue;let p=oI(t.centre,f.point,u,c,i),h=[];for(let g=0;g<5;g+=1)h.push([u,c-1-g,!1],[u-1-g,c,!1]);Mm(e,p,h)<Ti||sI(e,p,u,c)<Ti||s.push({width:u,height:c,transform:p,mirrored:i})}}return s}function sI(e,t,n,r){let o=[];for(let s=8;s<=n-4;s+=1)o.push([s,0,s%2===0],[s,r-1,s%2===0]);return Mm(e,t,o)}var iI=.2,aI=8,lI=[[.5,.5],[.25,.5],[.75,.5],[.5,.25],[.5,.75]],cI=[[.5,.5]];function Xb(e,t,n,r,o){let{grey:s,binarised:i}=e,a=o.majorityVote?lI:cI,l=a.length,c=n*r,u=new Float32Array(c*l),d=new Uint8Array(c*l),[m,f,p,h,g,y,b,x,w]=t,k=0,S=Math.floor(c*o.outside);for(let D=0;D<r;D+=1)for(let N=0;N<n;N+=1){let T=D*n+N;for(let I=0;I<l;I+=1){let U=a[I],q=N+U[0],H=D+U[1],W=b*q+x*H+w,$=Math.floor((m*q+f*H+p)/W),be=Math.floor((h*q+g*H+y)/W),X=T*l+I;if(!($>=0&&be>=0&&$<s.width&&be<s.height)){if(u[X]=Number.NaN,I===0&&(k+=1,k>S))return null;continue}let ne=be*s.width+$,me=s.data[ne],fe=i.threshold($,be);u[X]=fe-me,d[X]=i.bits[ne]}}let E=uI(u,l),R=new wt(n,r),C=new Float32Array(c),A=new Uint8Array(c),O=1;for(let D=0;D<c;D+=1){let N=D*l;if(Number.isNaN(u[N])){A[D]=1,O=0;continue}let T=0,I=0,U=0;for(let $=0;$<l;$+=1){let be=u[N+$];Number.isNaN(be)||(T+=d[N+$],I+=Math.max(-E,Math.min(E,be)),U+=1)}let q=T*2>l;q&&(R.data[D]=1);let H=(q?I:-I)/U/E,W=Math.max(0,Math.min(1,H));C[D]=W,W<iI&&(A[D]=1),W<O&&(O=W)}return{matrix:R,confidence:C,uncertain:A,minConfidence:O}}function uI(e,t){let n=new Uint32Array(256),r=0;for(let a=0;a<e.length;a+=t){let l=e[a];Number.isNaN(l)||(n[Math.min(255,Math.floor(Math.abs(l)))]+=1,r+=1)}let o=r*.9,s=0,i=0;for(;i<255&&(s+=n[i],!(s>=o));i+=1);return Math.max(aI,i)}var $t=8,dI=24;function Jb(e){let{width:t,height:n,data:r}=e,o=new Uint8ClampedArray(t*n);for(let s=0,i=0;s<o.length;s+=1,i+=4)o[s]=.2126*r[i]+.7152*r[i+1]+.0722*r[i+2];return{width:t,height:n,data:new Uint8Array(o.buffer)}}function e0(e,t){let{width:n,height:r,data:o}=e,s=n*r,i=m=>m<s?o[m]:Number.NaN,a=Math.ceil(n/$t),l=Math.ceil(r/$t),c=new Uint8ClampedArray(a*l);for(let m=0;m<l;m+=1)for(let f=0;f<a;f+=1){let p=0,h=Number.POSITIVE_INFINITY,g=0;for(let b=0;b<$t;b+=1)for(let x=0;x<$t;x+=1){let w=i((m*$t+b)*n+f*$t+x);p+=w,h=Math.min(h,w),g=Math.max(g,w)}let y=p/($t*$t);if(g-h<=dI&&(y=h/2,m>0&&f>0)){let b=(c[(m-1)*a+f]+2*c[m*a+f-1]+c[(m-1)*a+f-1])/4;h<b&&(y=b)}c[m*a+f]=y}let u=new Uint8Array(s),d=new Float64Array(a*l);for(let m=0;m<l;m+=1){let f=Math.min(Math.max(m,2),l-3);for(let p=0;p<a;p+=1){let h=Math.min(Math.max(p,2),a-3),g=0;for(let b=-2;b<=2;b+=1)for(let x=-2;x<=2;x+=1)g+=c[(f+x)*a+h+b];let y=g/25;d[m*a+p]=y;for(let b=0;b<$t;b+=1)for(let x=0;x<$t;x+=1){let w=(m*$t+x)*n+p*$t+b;if(w>=s)continue;let k=i(w)<=y;u[w]=(t?!k:k)?1:0}}}return{width:n,height:r,bits:u,threshold:(m,f)=>d[(f>>3)*a+(m>>3)]}}var mI=5,fI=[1,1,3,1,1],pI=[1,1,1];function Yn(e,t,n){return t>=0&&n>=0&&t<e.width&&n<e.height&&e.bits[n*e.width+t]===1}function Zn(e,t){return Ae(e.x-t.x,e.y-t.y)}function Yb(e,t){let n=e.find(({bottom:r})=>t.endX>=r.startX&&t.startX<=r.endX);n!==void 0?n.bottom=t:e.push({top:t,bottom:t})}function hI(e){let t=[],n=[],r=[],o=[];for(let s=0;s<=e.height;s+=1){let i=0,a=!1,l=[0,0,0,0,0];for(let c=-1;c<=e.width;c+=1){let u=Yn(e,c,s);if(u===a){i+=1;continue}l.shift(),l.push(i),i=1,a=u;let[d,m,f,p,h]=l,g=(d+m+f+p+h)/7;if(!u&&Math.abs(d-g)<g&&Math.abs(m-g)<g&&Math.abs(f-3*g)<3*g&&Math.abs(p-g)<g&&Math.abs(h-g)<g){let b=c-p-h;Yb(r,{startX:b-f,endX:b,y:s})}let y=(f+p+h)/3;if(u&&Math.abs(f-y)<y&&Math.abs(p-y)<y&&Math.abs(h-y)<y){let b=c-h;Yb(o,{startX:b-p,endX:b,y:s})}}for(let c of r)c.bottom.y!==s&&c.bottom.y-c.top.y>=2&&t.push(c);r=r.filter(c=>c.bottom.y===s);for(let c of o)c.bottom.y!==s&&n.push(c);o=o.filter(c=>c.bottom.y===s)}return{finders:t,alignments:n}}function Zb(e,t,n,r){let o=[{x:Math.floor(t.x),y:Math.floor(t.y)}],s=Math.abs(n.y-t.y)>Math.abs(n.x-t.x),i=Math.floor(s?t.y:t.x),a=Math.floor(s?t.x:t.y),l=Math.floor(s?n.y:n.x),c=Math.floor(s?n.x:n.y),u=Math.abs(l-i),d=Math.abs(c-a),m=Math.floor(-u/2),f=i<l?1:-1,p=a<c?1:-1,h=!0;for(let y=i,b=a;y!==l+f;y+=f){let x=s?b:y,w=s?y:b;if(Yn(e,x,w)!==h&&(h=!h,o.push({x,y:w}),o.length===r+1))break;if(m+=d,m>0){if(b===c)break;b+=p,m-=u}}let g=[];for(let y=0;y<r;y+=1){let b=o[y],x=o[y+1];g.push(b!==void 0&&x!==void 0?Zn(b,x):0)}return g}function t0(e,t,n,r){let o=Math.ceil(r/2),s=Zb(e,t,n,o),i=Zb(e,t,{x:2*t.x-n.x,y:2*t.y-n.y},o),a=s.shift()+i.shift()-1;return[...i,a,...s]}function n0(e,t,n){let{x:r,y:o}=t,s=[{x:-1,y:o},{x:r,y:-1},{x:Math.max(0,r-o)-1,y:Math.max(0,o-r)-1},{x:Math.min(e.width,r+o)+1,y:Math.min(e.height,o+r)+1}],i=n.reduce((d,m)=>d+m,0),a=0,l=[];for(let d of s){let m=t0(e,t,d,n.length),f=m.reduce((h,g)=>h+g,0)/i,p=0;n.forEach((h,g)=>{let y=m[g]-h*f;p+=y*y}),a+=p*p,l.push(f)}let c=l.reduce((d,m)=>d+m,0)/l.length,u=0;for(let d of l)u+=(d-c)*(d-c)/c;return Math.sqrt(a)+u}function r0({top:e,bottom:t}){return{x:(e.startX+e.endX+t.startX+t.endX)/4,y:(e.y+t.y+1)/2}}function yI(e,t){let n=[];for(let o of t){let s=r0(o),i={x:Math.round(s.x),y:Math.round(s.y)};if(!Yn(e,i.x,i.y))continue;let{top:a,bottom:l}=o,c=(a.endX-a.startX+(l.endX-l.startX)+(l.y-a.y+1))/3;n.push({...s,size:c,score:n0(e,i,fI)})}n.sort((o,s)=>o.score-s.score);let r=null;for(let o=0;o<Math.min(mI,n.length);o+=1){let s=n[o],i=n.filter((l,c)=>c!==o).map(l=>({...l,score:l.score+(l.size-s.size)*(l.size-s.size)/s.size})).sort((l,c)=>l.score-c.score);if(i.length<2)continue;let a=s.score+i[0].score+i[1].score;(r===null||a<r.score)&&(r={points:[s,i[0],i[1]],score:a})}return r===null?null:r.points}function gI(e,t,n){let r=Zn(e,t),o=Zn(t,n),s=Zn(e,n),[i,a,l]=o>=r&&o>=s?[t,e,n]:s>=o&&s>=r?[e,t,n]:[e,n,t];return(l.x-a.x)*(i.y-a.y)-(l.y-a.y)*(i.x-a.x)<0?[a,i,l]:[a,l,i]}function bI(e,t,n,r){let o=(c,u)=>t0(e,c,u,5).reduce((d,m)=>d+m,0)/7,s=(o(t,r)+o(t,n)+o(r,t)+o(n,t))/4;if(s<1)return null;let i=Math.round(Zn(t,n)/s),a=Math.round(Zn(t,r)/s),l=Math.floor((i+a)/2)+7;return l%4===0?l+=1:l%4===2&&(l-=1),{size:l,module:s}}function $b(e,t,n,r,o){let s=bI(e,n,r,o);if(s===null)return null;let i={x:r.x-n.x+o.x,y:r.y-n.y+o.y},a=(Zn(n,o)+Zn(n,r))/2/s.module,l=1-3/a,c={x:n.x+l*(i.x-n.x),y:n.y+l*(i.y-n.y)},u=c;if(a>=15){let d=Number.POSITIVE_INFINITY;for(let m of t){let f=r0(m),p={x:Math.floor(f.x),y:Math.floor(f.y)};if(!Yn(e,p.x,p.y))continue;let h=n0(e,p,pI)+Zn(f,c);h<d&&(d=h,u=f)}}return{topLeft:n,topRight:r,bottomLeft:o,alignment:u,size:s.size}}function Em(e,t){let n=Math.round(t.y),r=Math.round(t.x);for(;Yn(e,r,n);)r-=1;let o=Math.round(t.x);for(;Yn(e,o,n);)o+=1;let s=(r+o)/2,i=Math.round(s),a=n;for(;Yn(e,i,a);)a-=1;let l=n;for(;Yn(e,i,l);)l+=1;return{x:s,y:(a+l)/2}}function o0(e){let{finders:t,alignments:n}=hI(e),r=yI(e,t);if(r===null)return[];let[o,s,i]=gI(r[0],r[1],r[2]),a=[],l=$b(e,n,o,s,i);l!==null&&a.push(l);let c=$b(e,n,Em(e,o),Em(e,s),Em(e,i));return c!==null&&a.push(c),a}function s0(e,t){let{size:n}=t;if(n<21||n>177||n%4!==1)return null;let r=os([{x:3.5,y:3.5},{x:n-3.5,y:3.5},{x:n-6.5,y:n-6.5},{x:3.5,y:n-3.5}],[t.topLeft,t.topRight,t.alignment,t.bottomLeft]),o=new wt(n,n);for(let s=0;s<n;s+=1)for(let i=0;i<n;i+=1){let a=Ke(r,i+.5,s+.5);Yn(e,Math.floor(a.x),Math.floor(a.y))&&(o.data[s*n+i]=1)}return o}var c0=45,u0=1;function is(e,t,n){return t<0||n<0||t>=e.width||n>=e.height?-1:e.bits[n*e.width+t]}function Rm(e,t){return{dx:-e.dy*t,dy:e.dx*t}}function i0(e,t,n,r){return is(e,t.x+n,t.y+r)!==is(e,t.x,t.y)}function xI(e,t,n,r,o){let s=0,i=is(e,t.x,t.y),a=n;for(;a>0&&s<r&&i!==-1;){s+=1;let l=is(e,t.x+s*t.dx,t.y+s*t.dy);l!==i&&(i=l,a-=1)}return o&&(s-=1),t.x+=s*t.dx,t.y+=s*t.dy,a===0}function wI(e,t,n){let r=Rm(t,n);if(!i0(e,t,r.dx,r.dy))t.dx=r.dx,t.dy=r.dy;else for(let o=0;i0(e,t,t.dx,t.dy);o+=1){if(o===2)return!1;let s=Rm(t,-n);t.dx=s.dx,t.dy=s.dy}return t.x+=t.dx,t.y+=t.dy,is(e,t.x,t.y)!==-1}function so(e,t,n,r,o){let s=Math.trunc(t.x),i=Math.trunc(t.y),a=Math.trunc(4*(n+1)*3/2),l=n*2,c={x:s,y:i,dx:1,dy:0};if(!xI(e,c,r,l,o))return[];let u=Rm(c,1);c.dx=u.dx,c.dy=u.dy;let d=o?-1:1,m=c.x,f=c.y,p=0,h=[];do{h.push({x:c.x+.5,y:c.y+.5});let g=c.x-s,y=c.y-i,b=Math.max(Math.abs(g),Math.abs(y));if(p|=1<<4+Math.trunc(g/b)+3*Math.trunc(y/b),!wI(e,c,d))return[];let x=Ae(c.x-s,c.y-i);if(x>l||x===0||h.length>a)return[]}while(c.x!==m||c.y!==f);return p===495?h:[]}function kI(e){let t=0,n=0;for(let c of e)t+=c.x/e.length,n+=c.y/e.length;let r=0,o=0,s=0;for(let c of e)r+=(c.x-t)*(c.x-t),o+=(c.y-n)*(c.y-n),s+=(c.x-t)*(c.y-n);let[i,a]=o>=r?[o,-s]:[s,-r],l=Ae(i,a);return l>0?{a:i/l,b:a/l,c:(i*t+a*n)/l}:null}function vI(e,t){return Math.abs(e.a*t.x+e.b*t.y-e.c)}function SI(e,t){let n=e.a*t.b-e.b*t.a;return{x:(e.c*t.b-e.b*t.c)/n,y:(e.a*t.c-e.c*t.a)/n}}function ss(e,t,n,r,o=!1){let s=t;for(let i=t+1;i<n;i+=1){let a=r(e[i]),l=r(e[s]);(a>l||o&&a===l)&&(s=i)}return s}function MI(e,t){let n=g=>Ae(g.x-e.x,g.y-e.y),r=t[ss(t,0,t.length,g=>-n(g))],o=ss(t,0,t.length,n,!0);if(n(r)>.85*n(t[o]))return null;let s=[...t.slice(o),...t.slice(0,o)],i=s.length,a=ss(s,Math.trunc(i*3/8),Math.trunc(i*5/8),n),l=s[0],c=s[a],u=Ae(c.x-l.x,c.y-l.y),d=g=>Math.abs((c.x-l.x)*(g.y-l.y)-(c.y-l.y)*(g.x-l.x))/u,m=ss(s,Math.trunc(i/8),Math.trunc(i*3/8),d),f=ss(s,Math.trunc(i*5/8),Math.trunc(i*7/8),d),p=[0,m,a,f,i],h=[];for(let g=0;g<4;g+=1){let y=s.slice(p[g]+1,p[g+1]),b=kI(y);if(b===null)return null;let x=Math.max(1,Math.min(8,y.length/8));if(y.length>3&&y.some(w=>vI(b,w)>x))return null;h.push(b)}return h.map((g,y)=>SI(g,h[(y+1)%4]))}function EI(e,t){let n=Number.POSITIVE_INFINITY,r=0;for(let o=0;o<4;o+=1){let s=e[o],i=e[(o+1)%4],a=Ae(i.x-s.x,i.y-s.y);n=Math.min(n,a),r=Math.max(r,a)}return n>=t&&n>r/3}function a0(e,t,n,r,o){let s=so(e,t,n,r,o);if(s.length===0)return null;let i=MI(t,s);return i!==null&&EI(i,2*(r-(o?1:0)))?i:null}function Tm(e,t,n){let r=a0(e,t,n,2,!1);if(r===null)return null;let o=a0(e,t,n,3,!0);if(o===null)return null;let s=r[0],i=ss(o,0,4,a=>-Ae(a.x-s.x,a.y-s.y));return r.map((a,l)=>{let c=o[(l+i)%4];return{x:(a.x+c.x)/2,y:(a.y+c.y)/2}})}function l0(e){let t=0,n=0;for(let r of e)t+=r.x/e.length,n+=r.y/e.length;return{x:t,y:n}}function TI(e,t,n){let r=so(e,t,n,1,!1);if(r.length===0)return t;let o=l0(r),s=o.x,i=o.y,a=1;for(let l of[2,3]){let c=so(e,o,n,l,!1);if(c.length===0)break;let u=l0(c);if(Ae(u.x-o.x,u.y-o.y)>n/6)break;s+=u.x,i+=u.y,a+=1}return{x:s/a,y:i/a}}function d0(e,t,n,r={x:0,y:0}){let o=[6,...Ol(n)],s=o.length-1,i=o.map(a=>o.map(l=>Ke(t,l+.5,a+.5)));for(let[a,l,c,u]of[[0,0,3.5,3.5],[s,0,n-3.5,3.5],[0,s,3.5,n-3.5]]){let d=7*rs(t,c,u),m=i[l],f=m[a],p=Math.round(d),h=TI(e,Ke(t,c,u),p),g=r.x===0&&r.y===0?Tm(e,h,p):Tm(e,h,p)&&Tm(e,{x:h.x+r.x,y:h.y+r.y},p);for(let y of g??[])Ae(y.x-f.x,y.y-f.y)<d/2&&(m[a]=y)}return i}function RI(e,t,n,r={x:0,y:0}){let o=[6,...Ol(n)],s=o.length-1,i=d0(e,t,n,r),a=(c,u)=>i[c][u],l=new wt(n,n);for(let c=0;c<s;c+=1)for(let u=0;u<s;u+=1){let d=o[u],m=o[u+1],f=o[c],p=o[c+1],h=os([{x:d+.5,y:f+.5},{x:m+.5,y:f+.5},{x:m+.5,y:p+.5},{x:d+.5,y:p+.5}],[a(c,u),a(c,u+1),a(c+1,u+1),a(c+1,u)]),g=c===0?0:f,y=c===s-1?n:p,b=u===0?0:d,x=u===s-1?n:m;for(let w=g;w<y;w+=1)for(let k=b;k<x;k+=1){let S=Ke(h,k+.5,w+.5);is(e,Math.floor(S.x),Math.floor(S.y))===1&&l.set(k,w,!0)}}return l}var AI=Object.freeze([-.25,0,.25].flatMap(e=>[-.25,0,.25].map(t=>Object.freeze({x:t,y:e}))));function m0(e,t,n){let r=new Set,o=[];for(let s of AI){let i=d0(e,t,n,s).flat().map(a=>`${a.x},${a.y}`).join(" ");r.has(i)||(r.add(i),o.push(RI(e,t,n,s)))}return o}var II=2.25,PI=1.8;function h0(e,t,n){let[r,o,s,i,a,l,c,u,d]=e,m=c*t+u*n+d,f=(r*t+o*n+s)/m,p=(i*t+a*n+l)/m,h=(r-f*c)/m,g=(i-p*c)/m,y=(o-f*u)/m,b=(a-p*u)/m,x=h*h+g*g,w=y*y+b*b,k=h*y+g*b,S=Math.sqrt((x-w)*(x-w)+4*k*k);return Math.sqrt((x+w+S)/(x+w-S))}function y0(e,t,n){let r=t/2,o=n/2;return rs(e,r,o)>=II&&h0(e,r,o)<=PI}var g0=.02;function b0(e){let{width:t,height:n,bits:r}=e;if(t<3||n<3)return 0;let o=0;for(let s=1;s<n-1;s+=1)for(let i=1;i<t-1;i+=1){let a=s*t+i;if(r[a]===0)continue;r[a-1]+r[a+1]+r[a-t]+r[a+t]<=1&&(o+=1)}return o/(t*n)}var CI=new Set([te.finder,te.separator,te.timing,te.alignment,te["sub-finder"],te["corner-finder"]]),NI=.75,Am=4;function x0(e,t,n){let[r,o,s,i,a,l,c,u,d]=e,m=c*t+u*n+d;return{x:Math.floor((r*t+o*n+s)/m),y:Math.floor((i*t+a*n+l)/m)}}function w0(e,t,n,r){let{x:o,y:s}=x0(t,n,r);if(!(o<0||s<0||o>=e.width||s>=e.height))return e.data[s*e.width+o]}function LI(e,t,n){let r=new Uint32Array(256),o=0;for(let i=0;i<n.height;i+=1)for(let a=0;a<n.width;a+=1){let l=w0(e,t,a+.5,i+.5);l!==void 0&&(r[l]=r[l]+1,o+=1)}let s=i=>{let a=0,l=0;for(;l<255&&(a+=r[l],!(a>=o*i));l+=1);return l};return s(.95)-s(.05)}function OI(e,t,n,r){let o=255,s=0,i=3*Am;for(let a=0;a<=i;a+=1)for(let l=0;l<=i;l+=1){let c=w0(e,t,n-1+l/Am,r-1+a/Am);c!==void 0&&(c<o&&(o=c),c>s&&(s=c))}return s-o}function k0(e,t,n,r,o){let s;for(let i=0;i<o.height;i+=1)for(let a=0;a<o.width;a+=1){if(!CI.has(o.roles[i*o.width+a]))continue;let{x:l,y:c}=x0(r,a+.5,i+.5),u=c*e.width+l;if(e.bits[u]!==t.bits[u]&&(s??=LI(n,r,o),OI(n,r,a,i)<s*NI))return!1}return!0}var DI=1.03,jI=1.06,BI=.12,f0=1.2,FI=.2,Ri=.02;function v0(e,t,n,r){let[o,s,i,a,l,c,u,d,m]=t,f=u*n+d*r+m,p=(o*n+s*r+i)/f-.5,h=(a*n+l*r+c)/f-.5,g=Math.floor(p),y=Math.floor(h);if(g<0||y<0||g+1>=e.width||y+1>=e.height)return Number.NaN;let b=p-g,x=h-y,w=(k,S)=>e.data[S*e.width+k];return w(g,y)*(1-b)*(1-x)+w(g+1,y)*b*(1-x)+w(g,y+1)*(1-b)*x+w(g+1,y+1)*b*x}function p0(e,t,n,r,o,s,i,a){let l=[];for(let m=i;m<=a;m+=Ri)l.push(v0(e,t,n+o*m,r+s*m));let c=255,u=0;for(let m of l){if(Number.isNaN(m))return Number.NaN;m<c&&(c=m),m>u&&(u=m)}let d=(c+u)/2;for(let m=l.length-2;m>=0;m-=1){let f=l[m],p=l[m+1];if(f<d&&p>=d)return i+(m+(d-f)/(p-f))*Ri}return Number.NaN}function UI(e,t,n){let r=Ke(e,t,n),o=Ke(e,t+1,n),s=Ke(e,t,n+1);return(Math.abs(o.x-r.x)+Math.abs(o.y-r.y)+Math.abs(s.x-r.x)+Math.abs(s.y-r.y))/2}function zI(e,t,n,r){let o=0,s=0;for(let[a,l]of[[1,0],[-1,0],[0,1],[0,-1]]){let c=[];for(let u=-f0;u<=f0+1e-9;u+=FI)c.push(p0(e,t,n+l*u,r+a*u,a,l,2,4.4));if(c.some(u=>Number.isNaN(u)))return null;o=Math.max(o,Math.max(...c)-Math.min(...c)),s+=c[Math.floor(c.length/2)]/4}let i=0;for(let[a,l]of[[1,1],[1,-1],[-1,1],[-1,-1]]){let c=p0(e,t,n,r,a/Math.SQRT2,l/Math.SQRT2,2,5.6);if(Number.isNaN(c))return null;i+=c/4}return{wander:o,corner:i/s}}var VI=.45,qI=Array.from({length:16},(e,t)=>{let n=t*Me/8+.1;return[Be(n),je(n)]}),Im=2.6,HI=4.4,KI=30,GI=60,_I=8;function QI(e,t,n,r,o,s){let i=[];for(let u=0;Im+u*Ri<=HI+1e-9;u+=1){let d=Im+u*Ri;i.push(v0(e,t,n+o*d,r+s*d))}if(i.some(u=>Number.isNaN(u)))return Number.NaN;let a=Math.min(...i.slice(0,KI)),l=Math.max(...i.slice(GI));if(l-a<_I)return Number.NaN;let c=u=>{let d=a+u*(l-a),m=i.length-1;for(;!(i[m-1]<d&&i[m]>=d);)m-=1;let f=i[m-1],p=i[m];return Im+(m-1+(d-f)/(p-f))*Ri};return c(.9)-c(.1)}function WI(e,t,n,r){let o=qI.map(([s,i])=>QI(e,t,n,r,s,i)).filter(s=>!Number.isNaN(s));return o.length<2?Number.POSITIVE_INFINITY:Math.max(...o)-Math.min(...o)}function XI(e,t,n,r){let o=Ke(t,n,r),s=Math.round(7*rs(t,n,r));return so(e,o,s,2,!1).length>0&&so(e,o,s,3,!0).length>0}function S0(e,t,n){return[[3.5,3.5],[n-3.5,3.5],[3.5,n-3.5]].every(([r,o])=>{let s=Ke(t,r,o),i=Math.round(7*rs(t,r,o)*2/3),a=so(e,s,i,1,!1);if(a.length===0)return!1;let l=0,c=0;for(let u of a)l+=u.x/a.length,c+=u.y/a.length;return e.bits[Math.floor(c)*e.width+Math.floor(l)]===1})}function M0(e,t,n,r){let o=[[3.5,3.5],[r-3.5,3.5],[3.5,r-3.5]],s=o.map(([c,u])=>UI(n,c,u)),i=Math.max(...s)>Math.min(...s)*DI,a=o.some(([c,u])=>WI(e,n,c,u)>VI),l=h0(n,r/2,r/2)>YI;for(let[c,u]of o){let d=zI(e,n,c,u);if(d===null)return!1;let m=$I(d);if(m==="dotted"||(i||a)&&m==="round"||l&&d.corner<ZI||a&&!XI(t,n,c,u))return!1}return!0}var YI=1.25,ZI=1.15;function $I(e){return e.corner<jI?"round":e.wander<=BI?"cornered":"dotted"}var Lm=25e5,JI=12e6,eP=1e6,tP=[{binariser:"hybrid",scale:"one",inverted:!1,majorityVote:!1},{binariser:"hybrid",scale:"one",inverted:!0,majorityVote:!1},{binariser:"hybrid",scale:"half",inverted:!1,majorityVote:!0},{binariser:"hybrid",scale:"half",inverted:!0,majorityVote:!0},{binariser:"otsu",scale:"one",inverted:!1,majorityVote:!1},{binariser:"hybrid",scale:"one",inverted:!1,majorityVote:!0},{binariser:"sauvola",scale:"one",inverted:!1,majorityVote:!0},{binariser:"sauvola",scale:"one",inverted:!0,majorityVote:!0},{binariser:"hybrid",scale:"double",inverted:!1,majorityVote:!1}],nP=2,rP=12,oP=.1,Nm={finders:0,geometry:1,format:2,version:3,"reed-solomon":4,segments:5,margin:6};function sP(e){let t=e.params.stage;return e.code==="decode/unsupported"?"segments":typeof t=="string"&&t in Nm?t:"format"}function iP(e){if(e===null||typeof e!="object"||!Number.isInteger(e.width)||!Number.isInteger(e.height)||e.width<1||e.height<1||e.data===null||typeof e.data!="object"||e.data.length!==e.width*e.height*4)throw new TypeError("decodeImage takes an RgbaImage: whole-number sides and four bytes a pixel")}function Pm(e,t){if(e!==void 0){if(!Number.isInteger(e)||e<1)throw new TypeError(`${t} is a whole number of 1 or more`);return e}}function aP(e){let t=e.profile??"lenient";if(t!=="lenient"&&t!=="strict-v1")throw new TypeError("profile is 'lenient' or 'strict-v1'");let n=e.polarity;if(n!==void 0&&n!=="dark-on-light"&&n!=="light-on-dark")throw new TypeError("polarity is 'dark-on-light' or 'light-on-dark'");return t==="strict-v1"?{strict:!0,rungs:[{binariser:"hybrid-mean",scale:"one",inverted:(n??"dark-on-light")==="light-on-dark",majorityVote:!1}],tolerance:xb,erasures:!1}:{strict:!1,rungs:tP,tolerance:bb,erasures:e.erasures??!0}}function lP(e,t){if(t!==void 0){if(!Array.isArray(t))throw new TypeError("symbologies is a list of symbology ids");for(let r of t)if(!e.has(r))throw new TypeError("symbologies names one this registry does not hold")}let n=[];for(let r of e.list()){if(t!==void 0&&!t.includes(r.id)||r.id!=="qr"&&r.id!=="micro"&&r.id!=="rmqr")continue;let o=new Map,s=[];for(let i of r.versions){let a=r.size(i);o.set(`${a.width}x${a.height}`,i),s.push(a)}n.push({entry:r,kind:r.id,versions:o,sizes:s})}return n}function E0(e,t,n,r,o){let{bits:s,width:i,height:a}=e,l=r.map(k=>({x:k.x/t,y:k.y/n})),c=(l[0].x+l[1].x+l[2].x+l[3].x)/4,u=(l[0].y+l[1].y+l[2].y+l[3].y)/4,d=1+2/Math.max(1,o),m=l.map(k=>({x:c+(k.x-c)*d,y:u+(k.y-u)*d})),f=m.map(k=>k.x),p=m.map(k=>k.y),h=Math.max(0,Math.floor(Math.min(...f))),g=Math.min(i-1,Math.ceil(Math.max(...f))),y=Math.max(0,Math.floor(Math.min(...p))),b=Math.min(a-1,Math.ceil(Math.max(...p))),x=0;for(let k=0;k<4;k+=1){let S=m[k],E=m[(k+1)%4];x+=S.x*E.y-E.x*S.y}let w=x>=0?1:-1;for(let k=y;k<=b;k+=1)for(let S=h;S<=g;S+=1){let E=!0;for(let R=0;R<4&&E;R+=1){let C=m[R],A=m[(R+1)%4];((A.x-C.x)*(k+.5-C.y)-(A.y-C.y)*(S+.5-C.x))*w<0&&(E=!1)}E&&(s[k*i+S]=0)}}function T0(e,t,n){E0(e.binarised,e.scaleX,e.scaleY,t,n),e.plainBits!==void 0&&E0(e.plainBits,1,1,t,n),e.plain=void 0}function cP(e,t){let n=(t[0].x+t[1].x+t[2].x+t[3].x)/4,r=(t[0].y+t[1].y+t[2].y+t[3].y)/4;return e.found.some(({corners:o})=>{let s=0,i=0;for(let a=0;a<4;a+=1){let l=o[a],c=o[(a+1)%4],u=(c.x-l.x)*(r-l.y)-(c.y-l.y)*(n-l.x);u>0&&(s+=1),u<0&&(i+=1)}return s===0||i===0})}function uP(e,t){return e.versions.get(`${t.width}x${t.height}`)}function dP(e,t){let{matrix:n}=t;return e.kind==="qr"?Kb(n.data,n.width)>=Ti:!0}function as(e,t,n){Nm[t]>Nm[e.furthest]?(e.furthest=t,e.refusal=n):t===e.furthest&&e.refusal===void 0&&(e.refusal=n)}function mP(e,t,n,r){let{entry:o}=t,s=[];if(!e.profile.strict&&e.profile.erasures){let i=fb(n,o.layout(r));i!==null&&s.push(i.flags)}s.push(void 0);for(let i of s)try{return o.read(n.matrix,i===void 0?{strict:e.profile.strict}:{strict:!1,erasures:i})}catch(a){if(!(a instanceof K))throw a;as(e,sP(a),a)}return null}function fP(e,t,n,r){let o=(s,i)=>{let a=Ke(t,s,i);return{x:a.x*e.scaleX,y:a.y*e.scaleY}};return[o(0,0),o(n,0),o(n,r),o(0,r)]}function pP(e,t,n,r,o){if(!y0(r.transform,r.width,r.height)||(t.speckle??=b0(t.binarised),t.speckle>g0))return!1;let s=t.localAverage??=db(t.grey);if(n.kind!=="qr"){let i=n.entry.layout(o.version);return k0(t.binarised,s,t.grey,r.transform,i)}if(!M0(t.grey,s,r.transform,r.width)||!S0(s,r.transform,r.width)||r.width>=c0&&!hP(n,s,r,o))return!1;t.plainBits??=e0(Jb(e.source),t.inverted),t.plain??=o0(t.plainBits);for(let i of t.plain){let a=s0(t.plainBits,i);if(a!==null)try{let l=n.entry.read(a,{strict:!1});if(R0(l.bitstream.bytes,o.bitstream.bytes)&&gP(l))return!0}catch(l){if(!(l instanceof K))throw l}}return!1}function hP(e,t,n,r){let{transform:o,width:s}=n;return m0(t,o,s).every(i=>{try{let a=e.entry.read(i,{strict:!1});return R0(a.bitstream.bytes,r.bitstream.bytes)&&a.errorsPerBlock.every((l,c)=>l<=r.errorsPerBlock[c]+u0)}catch(a){if(!(a instanceof K))throw a;return!1}})}var yP=.25;function gP(e){return e.capacityPerBlock.every((t,n)=>e.errorsPerBlock[n]<=t-Math.ceil(yP*t))}function R0(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}function Cm(e,t,n,r){let o=uP(n,r),s=Xb({grey:t.grey,binarised:t.binarised},r.transform,r.width,r.height,{majorityVote:t.majorityVote,outside:e.profile.strict?0:oP});if(s===null)return as(e,"geometry"),null;let i=dP(n,s);if(!i&&(as(e,"geometry"),e.profile.strict))return null;let a={furthest:e.furthest,refusal:e.refusal},l=mP(e,n,s,o);if(i?e.landed=!0:(e.furthest=a.furthest,e.refusal=a.refusal),l===null)return null;if(e.landed=!0,e.profile.strict&&!pP(e,t,n,r,l))return as(e,"margin"),null;let c=fP(t,r.transform,r.width,r.height),u=Object.freeze({symbology:n.entry.id,corners:c,read:r.mirrored===!0?Object.freeze({...l,mirrored:!0}):l,inverted:t.inverted,minConfidence:s.minConfidence});return e.emit?.({stage:"located",symbology:u.symbology,corners:c,width:r.width,height:r.height,transform:[r.transform[0]*t.scaleX,r.transform[1]*t.scaleX,r.transform[2]*t.scaleX,r.transform[3]*t.scaleY,r.transform[4]*t.scaleY,r.transform[5]*t.scaleY,r.transform[6],r.transform[7],r.transform[8]]}),e.emit?.({stage:"sampled",symbology:u.symbology,width:r.width,height:r.height,modules:new Uint8Array(s.matrix.data),uncertain:new Uint8Array(s.uncertain)}),e.emit?.({stage:"corrected",symbology:u.symbology,version:l.version,ecLevel:l.ecLevel,errorsPerBlock:l.errorsPerBlock,erasuresUsed:l.erasuresUsed}),{symbol:u,modules:r.width}}function bP(e,t,n){let{profile:r}=e;for(let s of e.targets){if(s.kind!=="qr")continue;let i=new Set(s.sizes.map(l=>l.width)),a=vb(n);if(a.length>0&&as(e,"geometry"),r.strict){let l=a[0],c=l===void 0?null:qb(t.binarised,l,i),u=c===null?null:Cm(e,t,s,c);if(u!==null)return u;continue}for(let l of a)for(let c of Hb(t.binarised,l,i)){let u=Cm(e,t,s,c);if(u!==null)return u}}if(!t.singleFinder)return null;let o=e.targets.filter(s=>s.kind!=="qr");if(o.length===0)return null;for(let s of n.slice(0,rP)){let i=Mb(t.binarised,s);if(i!==null)for(let a of o){let l=a.kind==="micro"?Qb(t.binarised,i,a.sizes.map(c=>c.width)):Wb(t.binarised,i,a.sizes,!r.strict);l.length===0&&as(e,"geometry");for(let c of l){let u=Cm(e,t,a,c);if(u!==null)return u}}}return null}function xP(e){let t=new Uint8Array(e.data.length);for(let n=0;n<t.length;n+=1)t[n]=255-e.data[n];return{data:t,width:e.width,height:e.height}}function wP(e,t,n,r,o){let s=r.scale==="half"?km(t):r.scale==="double"?Ab(t,2):t,i=r.inverted?xP(s):s,a=mb(i,r.binariser),l={grey:i,binarised:a,bits:a.bits,inverted:r.inverted,majorityVote:r.majorityVote,scaleX:n.width/i.width,scaleY:n.height/i.height,singleFinder:e.profile.strict||o<=nP};return e.found.forEach((c,u)=>T0(l,c.corners,e.modules[u])),l}function kP(e,t,n){let{width:r,height:o}=e.binarised,s=1;for(;Math.ceil(r/s)*Math.ceil(o/s)>eP;)s+=1;let i=Math.ceil(r/s),a=Math.ceil(o/s),l=new Uint8Array(i*a);for(let c=0;c<a;c+=1)for(let u=0;u<i;u+=1)l[c*i+u]=e.bits[c*s*r+u*s];return{stage:"binarised",attempt:t,rung:n,width:i,height:a,bits:l}}function Tr(e,t={},n){iP(e);let r=aP(t),o=n??EP(),s=lP(o,t.symbologies),i=t.budget??{},a=Pm(i.maxPixels,"budget.maxPixels")??(r.strict?JI:Lm),l=Pm(i.maxAttempts,"budget.maxAttempts")??r.rungs.length,c=Pm(t.maxSymbols,"maxSymbols")??8,u=t.clock;if(u!==void 0&&typeof u!="function")throw new TypeError("clock is a function");if(i.maxMs!==void 0){if(typeof i.maxMs!="number"||!(i.maxMs>=0))throw new TypeError("budget.maxMs is a number of milliseconds");if(u===void 0)throw new TypeError("budget.maxMs needs a clock to measure it by")}let d=t.onTelemetry,m=u?.(),f=()=>u===void 0?null:u()-m,p=Rb(e),h=Ib(p,a);d?.({stage:"source",width:e.width,height:e.height,workWidth:h.width,workHeight:h.height});let g=r.strict?!1:t.polarity!==void 0?t.polarity==="light-on-dark":Pb(h),y={profile:r,targets:s,maxSymbols:c,emit:d,found:[],modules:[],furthest:"finders",refusal:void 0,landed:!1,finders:0,source:e},b=0;for(let w of r.rungs.slice(0,l)){if(i.maxMs!==void 0&&f()>i.maxMs)break;b+=1;let k=r.strict?w:{...w,inverted:w.inverted!==g},S=wP(y,h,e,k,b);b===1&&d!==void 0&&d(kP(S,b,k));for(let E=0;E<c+2&&y.found.length<c;E+=1){let R=gm(S.binarised,r.tolerance);r.strict&&R.length<3&&(R=gm(S.binarised,wb)),y.finders=Math.max(y.finders,R.length),d?.({stage:"finders",attempt:b,patterns:R.map(D=>({x:D.x*S.scaleX,y:D.y*S.scaleY,moduleSize:D.moduleSize*S.scaleX,confidence:D.count}))});let C=bP(y,S,R);if(C===null)break;let{symbol:A,modules:O}=C;cP(y,A.corners)||(y.found.push(A),y.modules.push(O)),T0(S,A.corners,O)}if(y.found.length>0)break}if(y.found.length>0)return d?.({stage:"decoded",symbols:y.found.length,attempts:b,ms:f()}),ae(Object.freeze(y.found.slice()));let x=MP(y);return d?.({stage:"failed",code:x.code,reached:y.landed?y.furthest:y.furthest==="finders"?"finders":"geometry",attempts:b,ms:f()}),Y(x)}var vP="No code was found in this picture.",SP="A code was found here, but it is too damaged or unclear to read.";function MP(e){return e.landed?e.refusal!==void 0&&e.refusal.code==="decode/unsupported"?e.refusal:new K("decode/unreadable",SP,{stage:e.furthest}):new K("decode/not-found",vP,{stage:e.furthest==="finders"?"finders":"geometry",finders:e.finders})}function EP(){return ns()}function Jt(e,t,n){let r=e[t],o=e[t+1];return n?r|o<<8:r<<8|o}function TP(e,t,n){return n?(Jt(e,t,!0)|Jt(e,t+2,!0)<<16)>>>0:(Jt(e,t,!1)<<16|Jt(e,t+2,!1))>>>0}function RP(e,t,n){if(n-t<8)return 1;let r=Jt(e,t,!1);if(r!==18761&&r!==19789)return 1;let o=r===18761;if(Jt(e,t+2,o)!==42)return 1;let s=t+TP(e,t+4,o);if(s+2>n)return 1;let i=Jt(e,s,o);for(let a=0;a<i;a+=1){let l=s+2+a*12;if(l+12>n)return 1;if(Jt(e,l,o)===274){let c=Jt(e,l+8,o);return c>=1&&c<=8?c:1}}return 1}function AP(e){return e>=192&&e<=207&&e!==196&&e!==200&&e!==204}function A0(e){if(e.length<4||e[0]!==255||e[1]!==216)return null;let t=1,n=2,r=Math.min(e.length,65536);for(;n+4<=r;){if(e[n]!==255)return null;let o=e[n+1];if(o===255){n+=1;continue}let s=Jt(e,n+2,!1);if(s<2)return null;let i=n+4;if(o===225&&i+6<=r&&e[i]===69&&e[i+1]===120&&e[i+2]===105&&e[i+3]===102&&e[i+4]===0&&e[i+5]===0&&(t=RP(e,i+6,Math.min(r,n+2+s))),AP(o))return i+5>r?null:{orientation:t,height:Jt(e,i+1,!1),width:Jt(e,i+3,!1)};if(o===218)return null;n+=2+s}return null}function Om(e){return e>=5&&e<=8}function I0(e,t){if(!Number.isInteger(t)||t<2||t>8)return e;let{width:n,height:r,data:o}=e,s=Om(t),i=s?r:n,a=s?n:r,l=new Uint8ClampedArray(i*a*4);for(let c=0;c<a;c+=1)for(let u=0;u<i;u+=1){let d,m;switch(t){case 2:[d,m]=[n-1-u,c];break;case 3:[d,m]=[n-1-u,r-1-c];break;case 4:[d,m]=[u,r-1-c];break;case 5:[d,m]=[c,u];break;case 6:[d,m]=[c,r-1-u];break;case 7:[d,m]=[n-1-c,r-1-u];break;default:[d,m]=[n-1-c,u]}let f=(m*n+d)*4,p=(c*i+u)*4;l[p]=o[f],l[p+1]=o[f+1],l[p+2]=o[f+2],l[p+3]=o[f+3]}return{width:i,height:a,data:l}}var Dm=21e5,P0=2;function ls(e){return new K("image/unreadable","This picture could not be opened. Try a PNG or JPEG, or take a screenshot of it.",{reason:e})}function C0(){return new K("platform/unavailable","This browser cannot read pictures here.",{feature:"canvas"})}function Dl(e,t){if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(e,t);if(typeof document<"u"){let n=document.createElement("canvas");return n.width=e,n.height=t,n}return null}function PP(e){return new Promise((t,n)=>{let r=URL.createObjectURL(e),o=new Image;o.onload=()=>{URL.revokeObjectURL(r),t(o)},o.onerror=()=>{URL.revokeObjectURL(r),n(ls("decode"))},o.src=r})}function CP(e,t,n){let r=e*t;if(r<=n)return[e,t];let o=Math.sqrt(n/r);return[Math.max(1,Math.floor(e*o)),Math.max(1,Math.floor(t*o))]}function NP(e,t,n,r){let o=[],s=e,i=t;for(;;){let a=Math.max(n,Math.round(s/P0)),l=Math.max(r,Math.round(i/P0));if(a<=n&&l<=r)return o.push([n,r]),o;o.push([a,l]),s=a,i=l}}function LP(e,t){let n=e.getContext("2d",t?{willReadFrequently:!0}:void 0);return n===null?null:(n.imageSmoothingEnabled=!0,n.imageSmoothingQuality="high",n)}function N0(e,t,n,r,o){let[s,i]=CP(e,t,n),a=[];for(let[l,c]of NP(e,t,s,i)){let u=r(l,c);if(u===null)return null;u.width=l,u.height=c;let d=LP(u,o);if(d===null)return null;a.push({canvas:u,context:d,width:l,height:c})}return{sourceWidth:e,sourceHeight:t,steps:a}}function L0(e,t){let n=t;for(let o of e.steps)o.context.drawImage(n,0,0,o.width,o.height),n=o.canvas;let r=e.steps[e.steps.length-1];return r.context.getImageData(0,0,r.width,r.height)}async function OP(e){try{return new Uint8Array(await e.slice(0,65536).arrayBuffer())}catch{return null}}async function io(e,t={}){if(e.type==="image/svg+xml")return Y(ls("svg"));let n=t.deps??{},r=t.maxPixels??Lm,o=n.createCanvas??Dl,s=n.createImageBitmap??(typeof createImageBitmap=="function"?(c,u)=>createImageBitmap(c,u):void 0),i=await OP(e),a=i===null?null:A0(i),l;try{l=s?await s(e,{imageOrientation:"from-image"}):await(n.loadImageElement??PP)(e)}catch{return Y(ls("decode"))}try{if(l.width===0||l.height===0)return Y(ls("empty"));let c=a!==null&&Om(a.orientation)&&a.width!==a.height&&l.width===a.width&&l.height===a.height,u=N0(l.width,l.height,r,o,!1);if(u===null)return Y(C0());let d=L0(u,l);return ae(c?I0(d,a.orientation):d)}finally{l.close?.()}}async function O0(e,t={}){if(Array.isArray(e)){for(let s of e){let i=s.types.find(l=>l.startsWith("image/"));if(i===void 0)continue;let a;try{a=await s.getType(i)}catch{return Y(ls("clipboard"))}return io(a,t)}return ae(null)}let n=e.clipboardData;if(n===null)return ae(null);let r=n.files;if(r!==void 0)for(let s=0;s<r.length;s+=1){let i=r[s];if(i.type.startsWith("image/"))return io(i,t)}let o=n.items;if(o!==void 0)for(let s=0;s<o.length;s+=1){let i=o[s];if(i.kind==="file"&&i.type.startsWith("image/")){let a=i.getAsFile();if(a!==null)return io(a,t)}}return ae(null)}function D0(e={}){let t=e.maxPixels??Dm,n=e.createCanvas??Dl,r=null;return o=>{let{videoWidth:s,videoHeight:i}=o;return s===0||i===0?Y(ls("no-frame")):(r===null||r.sourceWidth!==s||r.sourceHeight!==i)&&(r=N0(s,i,t,n,!0),r===null)?Y(C0()):ae(L0(r,o))}}var DP={jpeg:"image/jpeg",webp:"image/webp"};function jP(e,t){let n=(r,o=0)=>r.every((s,i)=>e[o+i]===s);switch(t){case"png":return n([137,80,78,71,13,10,26,10]);case"jpeg":return n([255,216,255]);case"webp":return n([82,73,70,70])&&n([87,69,66,80],8)}}function BP(e){let{data:t}=e,n=!0;for(let o=3;o<t.length;o+=4)if(t[o]!==255){n=!1;break}if(n)return e;let r=new Uint8ClampedArray(t.length);for(let o=0;o<t.length;o+=4){let s=t[o+3]/255;r[o]=Math.round(t[o]*s+255*(1-s)),r[o+1]=Math.round(t[o+1]*s+255*(1-s)),r[o+2]=Math.round(t[o+2]*s+255*(1-s)),r[o+3]=255}return{width:e.width,height:e.height,data:r}}function jm(e,t){return new K("render/format-unavailable","This browser cannot save in that format. Choose PNG or SVG.",{format:e,reason:t})}function FP(e,t,n){if(typeof e.convertToBlob=="function")return e.convertToBlob(n===void 0?{type:t}:{type:t,quality:n}).catch(()=>null);if(typeof e.toBlob=="function"){let r=e.toBlob.bind(e);return new Promise(o=>r(s=>o(s),t,n))}return Promise.resolve(null)}function UP(e){return new ImageData(e.data,e.width,e.height)}function j0(e={}){let t=e.createCanvas??((r,o)=>Dl(r,o)),n=e.createImageData??UP;return Object.freeze({async encode(r,o,s={}){let i=t(r.width,r.height),a=i?.getContext("2d")??null;if(i===null||a===null)return Y(jm(o,"canvas"));i.width=r.width,i.height=r.height;let l=o==="jpeg"?BP(r):r;a.putImageData(n(l),0,0);let c=await FP(i,DP[o],s.quality);if(c===null)return Y(jm(o,"nothing"));let u=new Uint8Array(await c.arrayBuffer());return jP(u,o)?ae(u):Y(jm(o,"substituted"))}})}var zP=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),VP=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function In(e,t){return e>>>t|e<<32-t}function Bm(e){let t=Math.ceil((e.length+9)/64),n=new Uint8Array(t*64);n.set(e),n[e.length]=128;let r=e.length*8,o=new DataView(n.buffer);o.setUint32(n.length-8,Math.floor(r/4294967296)),o.setUint32(n.length-4,r>>>0);let s=VP.slice(),i=new Uint32Array(64);for(let c=0;c<t;c+=1){for(let b=0;b<16;b+=1)i[b]=o.getUint32(c*64+b*4);for(let b=16;b<64;b+=1){let x=i[b-15],w=i[b-2],k=In(x,7)^In(x,18)^x>>>3,S=In(w,17)^In(w,19)^w>>>10;i[b]=i[b-16]+k+i[b-7]+S>>>0}let[u,d,m,f,p,h,g,y]=s;for(let b=0;b<64;b+=1){let x=In(p,6)^In(p,11)^In(p,25),w=p&h^~p&g,k=y+x+w+zP[b]+i[b]>>>0,S=In(u,2)^In(u,13)^In(u,22),E=u&d^u&m^d&m,R=S+E>>>0;y=g,g=h,h=p,p=f+k>>>0,f=m,m=d,d=u,u=k+R>>>0}s[0]=s[0]+u>>>0,s[1]=s[1]+d>>>0,s[2]=s[2]+m>>>0,s[3]=s[3]+f>>>0,s[4]=s[4]+p>>>0,s[5]=s[5]+h>>>0,s[6]=s[6]+g>>>0,s[7]=s[7]+y>>>0}let a=new Uint8Array(32),l=new DataView(a.buffer);for(let c=0;c<8;c+=1)l.setUint32(c*4,s[c]);return a}var qP="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";function HP(e){let t=0;for(;t<e.length&&e[t]==="1";)t+=1;let n=[];for(let r of e.slice(t)){let o=qP.indexOf(r);if(o===-1)return;for(let s=n.length-1;s>=0;s-=1)o+=n[s]*58,n[s]=o&255,o>>>=8;for(;o>0;)n.unshift(o&255),o>>>=8}return Uint8Array.from([...new Array(t).fill(0),...n])}function KP(e){return Bm(Bm(e)).subarray(0,4)}function B0(e){let t=HP(e);if(t===void 0||t.length<5)return{ok:!1,reason:"format"};let n=t.subarray(0,t.length-4),r=KP(n);for(let o=0;o<4;o+=1)if(t[n.length+o]!==r[o])return{ok:!1,reason:"checksum"};return{ok:!0,value:Uint8Array.from(n)}}var GP="qpzry9x8gf2tvdw0s3jn54khce6mua7l",_P=[996825010,642813549,513874426,1027748829,705979059],QP=1,WP=734539939;function XP(e){let t=1;for(let n of e){let r=t>>>25;t=(t&33554431)<<5^n;for(let o=0;o<5;o+=1)r>>>o&1&&(t^=_P[o])}return t>>>0}function YP(e){let t=[];for(let n=0;n<e.length;n+=1)t.push(e.charCodeAt(n)>>>5);t.push(0);for(let n=0;n<e.length;n+=1)t.push(e.charCodeAt(n)&31);return t}function Fm(e,t=90){if(e.length>t)return{ok:!1,reason:"too-long"};if(e!==e.toLowerCase()&&e!==e.toUpperCase())return{ok:!1,reason:"mixed-case"};let n=e.toLowerCase(),r=n.lastIndexOf("1");if(r<1||r+7>n.length)return{ok:!1,reason:"format"};let o=n.slice(0,r);for(let l=0;l<o.length;l+=1){let c=o.charCodeAt(l);if(c<33||c>126)return{ok:!1,reason:"format"}}let s=[];for(let l of n.slice(r+1)){let c=GP.indexOf(l);if(c===-1)return{ok:!1,reason:"format"};s.push(c)}let i=XP([...YP(o),...s]),a=i===QP?"bech32":i===WP?"bech32m":void 0;return a===void 0?{ok:!1,reason:"checksum"}:{ok:!0,value:{hrp:o,words:s.slice(0,-6),encoding:a}}}function ZP(e,t,n,r){let o=0,s=0,i=[],a=(1<<n)-1;for(let l of e){for(o=o<<t|l,s+=t;s>=n;)s-=n,i.push(o>>>s&a);o&=(1<<s)-1}if(r)s>0&&i.push(o<<n-s&a);else if(s>=t||o<<n-s&a)return;return i}function F0(e){let t=Fm(e);if(!t.ok)return t;let{hrp:n,words:r,encoding:o}=t.value,[s,...i]=r;if(s===void 0||s>16)return{ok:!1,reason:"version"};let a=ZP(i,5,8,!1);return a===void 0||a.length<2||a.length>40?{ok:!1,reason:"program"}:s===0&&a.length!==20&&a.length!==32?{ok:!1,reason:"program"}:s===0!=(o==="bech32")?{ok:!1,reason:"wrong-encoding"}:{ok:!0,value:{hrp:n,version:s,program:Uint8Array.from(a)}}}var $P=/^[0-9]+$/;function Um(e,t){if(typeof e!="string"||!$P.test(e))throw new TypeError(`${t} takes a non-empty string of the digits 0 to 9.`)}function U0(e){let t=65535;for(let n of e){t^=n<<8;for(let r=0;r<8;r+=1)t=t&32768?(t<<1^4129)&65535:t<<1&65535}return t}function zm(e){Um(e,"mod97");let t=0;for(let n=0;n<e.length;n+=7)t=+`${t}${e.slice(n,n+7)}`%97;return t}var JP=[0,9,4,6,8,2,7,1,3,5];function z0(e){Um(e,"mod10Recursive");let t=0;for(let n of e)t=JP[(t+Number(n))%10];return(10-t)%10}function V0(e){Um(e,"gs1CheckDigit");let t=0;for(let n=0;n<e.length;n+=1){let r=Number(e[e.length-1-n]);t+=n%2===0?r*3:r}return(10-t%10)%10}var eC=new Map(["AD24 AE23 AL28 AT20 AZ28 BA20 BE16 BG22 BH22 BI27 BR29 BY28 CH21 CR22 CY28","CZ24 DE22 DJ27 DK18 DO28 EE20 EG29 ES24 FI18 FK18 FO18 FR27 GB22 GE22 GI23","GL18 GR27 GT28 HN28 HR21 HU28 IE22 IL23 IQ23 IS26 IT27 JO30 KW30 KZ20 LB28","LC32 LI21 LT20 LU20 LV21 LY25 MC27 MD24 ME22 MK19 MN20 MR27 MT31 MU30 NI28","NL18 NO15 OM23 PK24 PL28 PS29 PT25 QA29 RO24 RS22 RU33 SA24 SC31 SD18 SE24","SI19 SK24 SM27 SO23 ST25 SV28 TL23 TN24 TR26 UA29 VA22 VG24 XK20 YE30"].join(" ").split(" ").map(e=>[e.slice(0,2),Number(e.slice(2))]));function Rr(e){return e.replace(/ /g,"").toUpperCase()}function q0(e){let t="";for(let n of e){let r=n.charCodeAt(0);t+=r>=65&&r<=90?String(r-55):n}return t}function H0(e){let t=Rr(e);if(!/^[A-Z]{2}[0-9]{2}[A-Z0-9]+$/.test(t))return{code:"format"};let n=eC.get(t.slice(0,2));if(n===void 0)return{code:"country"};if(t.length!==n)return{code:"length",length:t.length,expected:n};if(zm(q0(t.slice(4)+t.slice(0,4)))!==1)return{code:"checksum"}}function K0(e){return/^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}(?:[A-Z0-9]{3})?$/.test(e.toUpperCase())}function Ai(e){return e.replace(/ /g,"").toUpperCase()}function jl(e){let t=Ai(e);return/^RF[0-9]{2}[A-Z0-9]{1,21}$/.test(t)?zm(q0(t.slice(4)+t.slice(0,4)))===1:!1}var ye={wrongKind:"payload.issue.wrong-kind",required:"payload.issue.required",tooLong:"payload.issue.too-long",tooMany:"payload.issue.too-many",lineBreak:"payload.issue.line-break",controlCharacter:"payload.issue.control-character",unpairedSurrogate:"payload.issue.unpaired-surrogate",notANumber:"payload.issue.not-a-number",notAnInteger:"payload.issue.not-an-integer",belowMin:"payload.issue.below-min",aboveMax:"payload.issue.above-max",invalidOption:"payload.issue.invalid-option",invalidUrl:"payload.issue.invalid-url",urlScheme:"payload.issue.url-scheme",invalidEmail:"payload.issue.invalid-email",invalidTel:"payload.issue.invalid-tel",invalidDate:"payload.issue.invalid-date",invalidDatetime:"payload.issue.invalid-datetime",invalidIban:"payload.issue.invalid-iban",ibanCountry:"payload.issue.iban-country",ibanLength:"payload.issue.iban-length",ibanChecksum:"payload.issue.iban-checksum",invalidBic:"payload.issue.invalid-bic",amountDecimals:"payload.issue.amount-decimals",invalidCurrency:"payload.issue.invalid-currency",invalidCountry:"payload.issue.invalid-country",invalidLatitude:"payload.issue.invalid-latitude",invalidLongitude:"payload.issue.invalid-longitude"},tC=new Set(["text","multiline","url","email","tel","select","date","datetime","iban","bic","currency","country","secret"]),nC=new Set(["number","integer","amount","latitude","longitude"]);function ao(e){let t=0;for(let n of e)t+=1;return t}function Vm(e,t){return t===void 0?["fields",e]:["fields",e,t]}function rC(e,t,n){for(let r=0;r<e.length;r+=1){let o=e.charCodeAt(r);if(o>=55296&&o<=56319){let s=e.charCodeAt(r+1);if(s>=56320&&s<=57343){r+=1;continue}return[P(ye.unpairedSurrogate,t,"error",{position:r})]}if(o>=56320&&o<=57343)return[P(ye.unpairedSurrogate,t,"error",{position:r})];if(o===10||o===13||o===8232||o===8233){if(n&&o===10)continue;return[P(n?ye.controlCharacter:ye.lineBreak,t,"error",{position:r})]}if(!(n&&o===9)&&(o<32||o>=127&&o<160))return[P(ye.controlCharacter,t,"error",{position:r})]}return[]}var oC=/^[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/;function cs(e){return e.length<=254&&oC.test(e)}var sC=/^\+?[0-9 ().-]+$/;function Ar(e){return e.replace(/[^0-9]/g,"")}function qm(e){if(!sC.test(e))return!1;let t=Ar(e).length;return t>=3&&t<=15}function Pn(e){return e.replace(/ /g,"")}function iC(e,t){return t===2?e%4===0&&(e%100!==0||e%400===0)?29:28:[4,6,9,11].includes(t)?30:31}function Fl(e){let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return!1;let n=Number(t[1]),r=Number(t[2]),o=Number(t[3]);return r>=1&&r<=12&&o>=1&&o<=iC(n,r)}function Hm(e){let t=/^(\d{4}-\d{2}-\d{2})T(\d{2}):(\d{2})(?::(\d{2}))?$/.exec(e);return!t||!Fl(t[1])?!1:Number(t[2])<=23&&Number(t[3])<=59&&Number(t[4]??0)<=59}function aC(e,t){if(/\s/.test(e))return[P(ye.invalidUrl,t)];let n;try{n=new URL(e)}catch{return[P(ye.invalidUrl,t)]}return n.protocol!=="https:"&&n.protocol!=="http:"?[P(ye.urlScheme,t)]:[]}function Cn(e){let t=String(e),n=/e-(\d+)$/.exec(t);if(n){let o=t.slice(0,t.indexOf("e")),s=o.indexOf(".");return Number(n[1])+(s===-1?0:o.length-s-1)}let r=t.indexOf(".");return r===-1?0:t.length-r-1}function Ul(e,t){let n=e.toFixed(t);if(t===0)return n;let r=n.replace(/0+$/,"").replace(/\.$/,"");return r==="-0"?"0":r}function Km(e){let t=String(e),n=/^(-?)(\d)(?:\.(\d+))?e([+-]\d+)$/.exec(t);if(!n)return t;let[,r,o,s="",i]=n,a=`${o}${s}`,l=Number(i);return l<0?`${r}0.${"0".repeat(-l-1)}${a}`:`${r}${a}${"0".repeat(l-s.length)}`}function G0(e,t,n){let r=rC(t,n,e.kind==="multiline");if(r.length>0)return r;if(e.maxLength!==void 0){let o=ao(t);if(o>e.maxLength)return[P(ye.tooLong,n,"error",{length:o,max:e.maxLength})]}switch(e.kind){case"url":return aC(t,n);case"email":return cs(t)?[]:[P(ye.invalidEmail,n)];case"tel":return qm(t)?[]:[P(ye.invalidTel,n)];case"date":return Fl(t)?[]:[P(ye.invalidDate,n)];case"datetime":return Hm(t)?[]:[P(ye.invalidDatetime,n)];case"select":return e.options?.some(o=>o.value===t)?[]:[P(ye.invalidOption,n)];case"iban":{let o=H0(t);if(o===void 0)return[];if(o.code==="length")return[P(ye.ibanLength,n,"error",{length:o.length,expected:o.expected})];let s={format:ye.invalidIban,country:ye.ibanCountry,checksum:ye.ibanChecksum};return[P(s[o.code],n)]}case"bic":return K0(t)?[]:[P(ye.invalidBic,n)];case"currency":return/^[A-Z]{3}$/.test(t)?[]:[P(ye.invalidCurrency,n)];case"country":return/^[A-Z]{2}$/.test(t)?[]:[P(ye.invalidCountry,n)];default:return[]}}function lC(e,t,n){return Number.isFinite(t)?e.kind==="integer"&&!Number.isInteger(t)?[P(ye.notAnInteger,n)]:e.kind==="latitude"&&(t<-90||t>90)?[P(ye.invalidLatitude,n)]:e.kind==="longitude"&&(t<-180||t>180)?[P(ye.invalidLongitude,n)]:e.min!==void 0&&t<e.min?[P(ye.belowMin,n,"error",{min:e.min})]:e.max!==void 0&&t>e.max?[P(ye.aboveMax,n,"error",{max:e.max})]:[]:[P(ye.notANumber,n)]}function cC(e){return e==null||e===""||Array.isArray(e)&&e.length===0}function Bl(e){return P(ye.wrongKind,Vm(e.key),"error",{expected:e.multiple?`${e.kind}-list`:e.kind})}function uC(e,t){let n=Vm(e.key);if(cC(t))return e.required?[P(ye.required,n)]:[];if(e.multiple){if(!Array.isArray(t)||!t.every(s=>typeof s=="string"))return[Bl(e)];let r=t,o=[];return e.maxItems!==void 0&&r.length>e.maxItems&&o.push(P(ye.tooMany,n,"error",{count:r.length,max:e.maxItems})),r.forEach((s,i)=>{s!==""&&o.push(...G0(e,s,Vm(e.key,i)))}),e.required&&r.every(s=>s==="")&&o.push(P(ye.required,n)),o}return tC.has(e.kind)?typeof t=="string"?G0(e,t,n):[Bl(e)]:nC.has(e.kind)?typeof t=="number"?lC(e,t,n):[Bl(e)]:typeof t=="boolean"?[]:[Bl(e)]}function _0(e,t){return typeof t!="object"||t===null?[P(ye.wrongKind,["fields"],"error",{expected:"record"})]:e.flatMap(n=>uC(n,t[n.key]))}function j(e,t){let n=e[t];return typeof n=="string"?n:""}function rt(e,t){let n=e[t];return typeof n=="number"?n:null}function Ir(e,t){return e[t]===!0}function Ht(e,t){let n=e[t];return Array.isArray(n)?n.filter(r=>typeof r=="string"&&r!==""):[]}function ge(e){let{id:t,rules:n,write:r}=e,o=i=>{let a=_0(e.fields,i);if(n===void 0||typeof i!="object"||i===null)return a;let l=new Set(a.map(c=>c.path[1]));return[...a,...n(i,c=>l.has(c))]},s={id:t,labelKey:`payload.${t}.label`,descriptionKey:`payload.${t}.description`,actionKey:`payload.${t}.action`,category:e.category,fields:e.fields,validate:o,build(i){if(qn(o(i)))throw new TypeError(`This ${t} value has error issues, so it cannot be built. Call validate first and fix what it reports.`);return{text:r(i)}},detect:e.detect,parse:e.parse};return Object.freeze({...s,...e.constraints?{constraints:e.constraints}:{},...e.compatibility?{compatibility:e.compatibility}:{},...e.generate===!1?{generate:!1}:{},...e.safety?{safety:e.safety}:{},...e.vectors?{vectors:e.vectors}:{}})}function dC(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function z(e,t,n,r={}){let{options:o,hint:s,...i}=r,a=dC(t);return{key:t,kind:n,labelKey:`payload.${e}.field.${a}`,...s?{hintKey:`payload.${e}.hint.${a}`}:{},...o?{options:o.map(l=>({value:l,labelKey:`payload.${e}.option.${a}.${l}`}))}:{},...i}}function Q(e,t){return new K("payload/unparseable","That text could not be read as this kind of content.",{type:e,reason:t})}function Q0(e,t){return new K("payload/invalid","That code is damaged or was made incorrectly: its own check does not match what it holds.",{type:e,reason:t})}function zl(e,t){let n="";for(let r of e)n+=t.includes(r)?`\\${r}`:r;return n}function Nn(e){let t="";for(let n=0;n<e.length;n+=1){let r=e[n];r==="\\"&&n+1<e.length?(n+=1,t+=e[n]):t+=r}return t}function Pr(e,t){let n=[],r="";for(let o=0;o<e.length;o+=1){let s=e[o];s==="\\"&&o+1<e.length?(r+=s+e[o+1],o+=1):s===t?(n.push(r),r=""):r+=s}return n.push(r),n}function us(e){let t="";for(let n of e)n==="\\"||n===","||n===";"?t+=`\\${n}`:n===`
151
+ `?t+="\\n":t+=n;return t}function ds(e){let t="";for(let n=0;n<e.length;n+=1){let r=e[n];if(r!=="\\"||n+1>=e.length){t+=r;continue}n+=1;let o=e[n];t+=o==="n"||o==="N"?`
152
+ `:o}return t}function mC(e){return e<128?1:e<2048?2:e<65536?3:4}function Vl(e){let t=[],n="",r=0;for(let o of e){let s=mC(o.codePointAt(0));r+s>75&&(t.push(n),n=" ",r=1),n+=o,r+=s}return t.push(n),t.join(`\r
153
+ `)}function ql(e){let t=[];for(let n of e.split(/\r\n|\n|\r/))(n.startsWith(" ")||n.startsWith(" "))&&t.length>0?t[t.length-1]+=n.slice(1):t.push(n);return t}function Hl(e){let t=!1,n=-1;for(let c=0;c<e.length;c+=1){let u=e[c];if(u==='"')t=!t;else if(u===":"&&!t){n=c;break}}if(n===-1)return;let r=e.slice(0,n),o=e.slice(n+1),s=W0(r,";"),i=s.shift().toUpperCase(),a=i.slice(i.lastIndexOf(".")+1),l=new Map;for(let c of s){let u=c.indexOf("="),d=u===-1?"TYPE":c.slice(0,u).toUpperCase(),m=u===-1?c:c.slice(u+1),f=W0(m,",").map(p=>p.replace(/^"|"$/g,""));l.set(d,[...l.get(d)??[],...f])}return{name:a,params:l,value:o}}function W0(e,t){let n=[],r="",o=!1;for(let s of e)s==='"'&&(o=!o),s===t&&!o?(n.push(r),r=""):r+=s;return n.push(r),n}function Kl(e){return Pr(e,";").map(ds)}function Rt(e,t=!1){try{return decodeURIComponent(t?e.replace(/\+/g," "):e)}catch{return}}function Ot(e,t=!1){let n=[];if(e==="")return n;for(let r of e.split("&")){if(r==="")continue;let o=r.indexOf("="),s=Rt(o===-1?r:r.slice(0,o),t),i=Rt(o===-1?"":r.slice(o+1),t);if(s===void 0||i===void 0)return;n.push([s,i])}return n}var Ln="bitcoin";function fC(e){if(e.length>100)return"format";if(/^(?:bc|tb)1/i.test(e)){let r=F0(e);return r.ok?r.value.hrp==="bc"?"mainnet":r.value.hrp==="tb"?"testnet":"format":r.reason==="checksum"||r.reason==="wrong-encoding"?"checksum":"format"}let t=B0(e);if(!t.ok)return t.reason;if(t.value.length!==21)return"format";let n=t.value[0];return n===0||n===5?"mainnet":n===111||n===196?"testnet":"format"}function pC(e,t){let n=[],r=j(e,"address");if(r!==""&&!t("address")){let s=fC(r),i=["fields","address"];s==="format"?n.push(P("payload.bitcoin.issue.address",i)):s==="checksum"?n.push(P("payload.bitcoin.issue.address-checksum",i)):s==="testnet"&&n.push(P("payload.bitcoin.issue.testnet",i,"warning"))}let o=rt(e,"amount");return o!==null&&!t("amount")&&Cn(o)>8&&n.push(P(ye.amountDecimals,["fields","amount"],"error",{max:8})),n}function hC(e){let t=[],n=rt(e,"amount");return n!==null&&t.push(`amount=${Ul(n,8)}`),j(e,"label")!==""&&t.push(`label=${encodeURIComponent(j(e,"label"))}`),j(e,"message")!==""&&t.push(`message=${encodeURIComponent(j(e,"message"))}`),`bitcoin:${j(e,"address")}${t.length>0?`?${t.join("&")}`:""}`}function yC(e){if(!/^bitcoin:/i.test(e))throw Q(Ln,"not-bitcoin");let t=e.slice(8),n=t.indexOf("?"),r=n===-1?t:t.slice(0,n),o=Ot(n===-1?"":t.slice(n+1));if(o===void 0)throw Q(Ln,"malformed-escape");let s=new Map;for(let[a,l]of o){let c=a.toLowerCase();if(c.startsWith("req-"))throw Q(Ln,"unknown-required-parameter");if(["amount","label","message"].includes(c)){if(s.has(c))throw Q(Ln,"repeated-parameter");s.set(c,l)}}let i=s.get("amount");if(i!==void 0&&!/^\d+(?:\.\d*)?$|^\.\d+$/.test(i))throw Q(Ln,"amount");return{address:r,amount:i===void 0?null:Number(i),label:s.get("label")??"",message:s.get("message")??""}}var X0=ge({id:Ln,category:"payment",fields:[z(Ln,"address","text",{required:!0,maxLength:100,hint:!0}),z(Ln,"amount","amount",{min:1e-8,max:21e6}),z(Ln,"label","text",{maxLength:200}),z(Ln,"message","text",{maxLength:200})],rules:pC,write:hC,detect:e=>/^bitcoin:/i.test(e)?1:0,parse:yC,safety:()=>[{code:"payload/payment",severity:"caution"}]});var lo="email";function Gm(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%2B/g,"+")}function gC(e){let t=[],n=Ht(e,"cc"),r=Ht(e,"bcc");n.length>0&&t.push(`cc=${n.map(Gm).join(",")}`),r.length>0&&t.push(`bcc=${r.map(Gm).join(",")}`);let o=j(e,"subject");o!==""&&t.push(`subject=${encodeURIComponent(o)}`);let s=j(e,"body");return s!==""&&t.push(`body=${encodeURIComponent(s.replace(/\n/g,`\r
154
+ `))}`),`mailto:${Ht(e,"to").map(Gm).join(",")}${t.length>0?`?${t.join("&")}`:""}`}function Ii(e){return e.split(",").map(t=>t.trim()).filter(t=>t!=="")}function bC(e){let t=e.slice(7),n=t.indexOf("?"),r=Rt(n===-1?t:t.slice(0,n)),o=Ot(n===-1?"":t.slice(n+1));if(r===void 0||o===void 0)throw Q(lo,"malformed-escape");let s=Ii(r),i=[],a=[],l="",c="";for(let[u,d]of o)switch(u.toLowerCase()){case"to":s.push(...Ii(d));break;case"cc":i.push(...Ii(d));break;case"bcc":a.push(...Ii(d));break;case"subject":l=d;break;case"body":c=d.replace(/\r\n/g,`
155
+ `);break;default:break}return{to:s,cc:i,bcc:a,subject:l,body:c}}function xC(e){let t="",n="",r="";for(let o of Pr(e.slice(7),";")){let s=o.indexOf(":");if(s===-1)continue;let i=Nn(o.slice(s+1)),a=o.slice(0,s).toUpperCase();a==="TO"?t=i:a==="SUB"?n=i:a==="BODY"&&(r=i)}if(t==="")throw Q(lo,"missing-recipient");return{to:Ii(t),cc:[],bcc:[],subject:n,body:r}}function wC(e){if(/^mailto:/i.test(e))return bC(e);if(/^MATMSG:/i.test(e))return xC(e);throw Q(lo,"not-mailto")}function kC(e){return["to","cc","bcc"].reduce((n,r)=>n+Ht(e,r).length,0)===0?[P("payload.email.issue.no-recipient",["fields","to"])]:[]}var _m=(e,t)=>z(lo,e,"email",{multiple:!0,maxItems:20,...t?{advanced:t}:{}}),Y0=ge({id:lo,category:"message",fields:[_m("to",!1),_m("cc",!0),_m("bcc",!0),z(lo,"subject","text",{maxLength:255}),z(lo,"body","multiline")],rules:kC,write:gC,detect:e=>/^mailto:/i.test(e)?1:/^MATMSG:/i.test(e)?.95:0,parse:wC,safety:()=>[{code:"payload/sends-message",severity:"note"}]});var Dt="epc",Z0=331,vC=new Set("AT BE BG CY CZ DE DK EE ES FI FR GR HR HU IE IS IT LI LT LU LV MT NL NO PL PT RO SE SI SK".split(" ")),SC=new Set("AD AL CH GB MC MD ME MK RS SM VA".split(" "));function $0(e){let t=rt(e,"amount"),n=j(e,"reference"),r=["BCD",j(e,"version"),"1","SCT",j(e,"bic").toUpperCase(),j(e,"name"),Rr(j(e,"iban")),t===null?"":`EUR${Ul(t,2)}`,j(e,"purpose"),/^RF/i.test(n)?Ai(n):n,j(e,"message"),j(e,"information")];for(;r[r.length-1]==="";)r.pop();return r}function MC(e){return $0(e).join(`
156
+ `)}function EC(e,t){let n=[],r=j(e,"bic");if(j(e,"version")==="001"&&r===""&&n.push(P("payload.epc.issue.bic-required",["fields","bic"])),!t("iban")){let l=Rr(j(e,"iban")).slice(0,2);SC.has(l)?r===""&&n.push(P("payload.epc.issue.bic-outside-eea",["fields","bic"])):l!==""&&!vC.has(l)&&n.push(P("payload.epc.issue.not-sepa",["fields","iban"],"warning"))}let o=j(e,"purpose");o!==""&&!t("purpose")&&!/^[A-Z0-9]{4}$/.test(o)&&n.push(P("payload.epc.issue.purpose",["fields","purpose"]));let s=j(e,"reference");s!==""&&j(e,"message")!==""&&n.push(P("payload.epc.issue.reference-and-message",["fields","message"])),s!==""&&!t("reference")&&(/^RF/i.test(s)?jl(s)||n.push(P("payload.issue.creditor-reference",["fields","reference"])):n.push(P("payload.epc.issue.reference-unchecked",["fields","reference"],"warning")));let i=rt(e,"amount");i!==null&&!t("amount")&&Cn(i)>2&&n.push(P(ye.amountDecimals,["fields","amount"],"error",{max:2}));let a=new TextEncoder().encode($0(e).join(`
157
+ `)).length;return a>Z0&&n.push(P("payload.epc.issue.too-long",["fields"],"error",{length:a,max:Z0})),n}function TC(e){let t=e.replace(/\r?\n$/,"").split(/\r?\n/);if(t[0]!=="BCD"||t[3]!=="SCT")throw Q(Dt,"not-epc");let[,n="",r="",,o="",s="",i="",a="",l="",c="",u="",d=""]=t;if(!["001","002"].includes(n)||!/^[1-8]$/.test(r))throw Q(Dt,"header");if(t.length>12)throw Q(Dt,"too-many-elements");let m=/^EUR(\d+(?:\.\d{1,2})?)$/.exec(a);if(a!==""&&!m)throw Q(Dt,"amount");return{version:n,bic:o,name:s,iban:i,amount:m?Number(m[1]):null,purpose:l,reference:c,message:u,information:d}}var J0=ge({id:Dt,category:"payment",fields:[z(Dt,"name","text",{required:!0,maxLength:70}),z(Dt,"iban","iban",{required:!0}),z(Dt,"bic","bic",{hint:!0}),z(Dt,"amount","amount",{min:.01,max:99999999999e-2}),z(Dt,"reference","text",{maxLength:35,hint:!0}),z(Dt,"message","text",{maxLength:140}),z(Dt,"purpose","text",{maxLength:4,advanced:!0,hint:!0}),z(Dt,"information","text",{maxLength:70,advanced:!0,hint:!0}),z(Dt,"version","select",{required:!0,options:["002","001"],default:"002",advanced:!0})],constraints:{ecLevels:["M"],maxVersion:"13"},rules:EC,write:MC,detect:e=>/^BCD\r?\n00[12]\r?\n[1-8]\r?\nSCT(?:\r?\n|$)/.test(e)?1:0,parse:TC,safety:()=>[{code:"payload/payment",severity:"caution"}]});var e1=Object.freeze([{host:"bit.ly",operator:"Bitly"},{host:"j.mp",operator:"Bitly"},{host:"tinyurl.com",operator:"TinyURL"},{host:"t.co",operator:"X"},{host:"goo.gl",operator:"Google"},{host:"ow.ly",operator:"Hootsuite"},{host:"buff.ly",operator:"Buffer"},{host:"is.gd",operator:"is.gd"},{host:"v.gd",operator:"v.gd"},{host:"rebrand.ly",operator:"Rebrandly"},{host:"rb.gy",operator:"Rebrandly"},{host:"cutt.ly",operator:"Cuttly"},{host:"t.ly",operator:"T.LY"},{host:"shorturl.at",operator:"ShortURL"},{host:"tiny.cc",operator:"Tinycc"},{host:"s.id",operator:"S.id"},{host:"short.gy",operator:"Short.io"},{host:"s.gy",operator:"Short.io"},{host:"dub.sh",operator:"Dub"},{host:"git.new",operator:"Dub"},{host:"chatg.pt",operator:"Dub"},{host:"spti.fi",operator:"Dub"},{host:"ggl.link",operator:"Dub"},{host:"amzn.id",operator:"Dub"}]),t1=Object.freeze([{host:"qrco.de",operator:"QR Code Generator PRO"},{host:"l.ead.me",operator:"QR Code Generator PRO"},{host:"qrfy.io",operator:"QRFY"},{host:"qr1.be",operator:"QR TIGER"},{host:"scnv.io",operator:"Scanova"},{host:"qrcodes.pro",operator:"Uniqode"},{host:"qr.tapnscan.me",operator:"Uniqode"},{host:"linkpages.pro",operator:"Uniqode"},{host:"hov.to",operator:"Hovercode"},{host:"linko.page",operator:"QRCodeChimp"},{host:"qrcc.me",operator:"QRCodeChimp"},{host:"qrs.ly",operator:"QRStuff"},{host:"qr.vc",operator:"QR Planet"}]);function RC(e,t,n){let r=n?Math.floor(e/700):e>>1;r+=Math.floor(r/t);let o=0;for(;r>35*26>>1;)r=Math.floor(r/35),o+=36;return Math.floor(o+36*r/(r+38))}function AC(e){return e>=48&&e<=57?e-22:e>=65&&e<=90?e-65:e>=97&&e<=122?e-97:36}function IC(e){let t=[],n=e.lastIndexOf("-");for(let a=0;a<Math.max(n,0);a+=1){let l=e.charCodeAt(a);if(l>=128)return;t.push(l)}let r=128,o=0,s=72,i=n>0?n+1:0;for(;i<e.length;){let a=o,l=1;for(let u=36;;u+=36){if(i>=e.length)return;let d=AC(e.charCodeAt(i));if(i+=1,d>=36)return;o+=d*l;let m=u<=s?1:u>=s+26?26:u-s;if(d<m)break;l*=36-m}let c=t.length+1;if(s=RC(o-a,c,a===0),r+=Math.floor(o/c),o%=c,!(r<=1114111)||r>=55296&&r<=57343)return;t.splice(o,0,r),o+=1}return String.fromCodePoint(...t)}function n1(e){return e.split(".").map(t=>/^xn--/i.test(t)?IC(t.slice(4))??t:t).join(".")}var PC=[[65,90,"latin"],[97,122,"latin"],[192,591,"latin"],[7680,7935,"latin"],[11360,11391,"latin"],[42784,43007,"latin"],[43824,43887,"latin"],[65313,65338,"latin"],[65345,65370,"latin"],[880,1023,"greek"],[7936,8191,"greek"],[1024,1327,"cyrillic"],[7296,7311,"cyrillic"],[11744,11775,"cyrillic"],[42560,42655,"cyrillic"]];function r1(e){if(!(e===215||e===247)){for(let[t,n,r]of PC)if(e>=t&&e<=n)return r;return e>127?"other":void 0}}function o1(e){let t=new Set;for(let n of e){let r=r1(n.codePointAt(0));r!==void 0&&t.add(r)}return t}function s1(e){let t=o1(e),n=0;for(let r of["latin","cyrillic","greek"])t.has(r)&&(n+=1);return n>1}var CC=new Set([1072,1077,1086,1088,1089,1091,1093,1109,1110,1112,1281,1231,1211,1307,1309,1199,959,945,957,961,953,954,965,967,1010,1011].map(e=>String.fromCodePoint(e)));function i1(e){let t=o1(e);if(t.size!==1||!(t.has("cyrillic")||t.has("greek")))return!1;for(let n of e)if(r1(n.codePointAt(0))!==void 0&&!CC.has(n))return!1;return!0}var c1=new Set(["javascript","data","vbscript","file","blob","itms-services"]);function Gl(e){return c1.has(e.toLowerCase())}var NC=new Set(["mailto","tel","sms","smsto","mms","mmsto","geo","facetime","facetime-audio","bitcoin","lightning","upi","wifi","matmsg","mecard","tg","whatsapp","sgnl"]),LC=new Set(["utm_source","utm_medium","utm_campaign","utm_term","utm_content","utm_id","utm_source_platform","utm_creative_format","utm_marketing_tactic","gclid","gbraid","wbraid","dclid","fbclid","msclkid","mc_cid","mc_eid","_hsenc","_hsmi","mkt_tok","igshid","yclid","ttclid","twclid","li_fat_id","_gl"]),OC=512,a1=Object.freeze({findings:Object.freeze([]),displayHost:null,unicodeHost:null});function DC(e){try{return new URL(e)}catch{return}}function l1(e,t){let n=e.endsWith(".")?e.slice(0,-1):e;return t.some(r=>n===r.host||n.endsWith(`.${r.host}`))}function jC(e){return LC.has(e.toLowerCase())}function BC(e,t,n){(e.username!==""||e.password!=="")&&n.push({code:"url/userinfo",severity:"danger",params:{host:t}}),(/^\d+\.\d+\.\d+\.\d+$/.test(t)||t.startsWith("["))&&n.push({code:"host/ip-literal",severity:"caution",params:{host:t}});let r=n1(t),o=r===t?null:r;o!==null&&n.push({code:"host/punycode",severity:"caution",params:{host:t,unicodeHost:o}});let s=r.split(".");return s.some(s1)?n.push({code:"host/mixed-script",severity:"danger",params:{host:r}}):s.some(i1)&&n.push({code:"host/lookalike",severity:"danger",params:{host:r}}),l1(t,e1)?n.push({code:"host/shortener",severity:"caution",params:{host:t}}):l1(t,t1)&&n.push({code:"host/dynamic-qr",severity:"caution",params:{host:t}}),o}function en(e){let t=DC(e);if(t===void 0)return a1;let n=t.protocol.slice(0,-1),r=[];if(c1.has(n))return r.push({code:"scheme/dangerous",severity:"danger",params:{scheme:n}}),{findings:r,displayHost:null,unicodeHost:null};if(NC.has(n))return a1;n==="http"?r.push({code:"url/insecure",severity:"caution"}):n!=="https"&&r.push({code:"scheme/unusual",severity:"caution",params:{scheme:n}});let o=t.hostname,s=o===""?null:BC(t,o,r),i=0;for(let a of t.searchParams.keys())jC(a)&&(i+=1);return i>0&&r.push({code:"url/tracking-params",severity:"note",params:{count:i}}),e.length>OC&&r.push({code:"url/very-long",severity:"note",params:{length:e.length}}),{findings:r,displayHost:o===""?null:o,unicodeHost:s}}var jt="event";function d1(e,t,n){let r=t<=2?e-1:e,o=Math.floor(r/400),s=r-o*400,i=Math.floor((153*(t+(t>2?-3:9))+2)/5)+n-1,a=s*365+Math.floor(s/4)-Math.floor(s/100)+i;return o*146097+a-719468}function m1(e){let t=e+719468,n=Math.floor(t/146097),r=t-n*146097,o=Math.floor((r-Math.floor(r/1460)+Math.floor(r/36524)-Math.floor(r/146096))/365),s=r-(365*o+Math.floor(o/4)-Math.floor(o/100)),i=Math.floor((5*s+2)/153),a=s-Math.floor((153*i+2)/5)+1,l=i<10?i+3:i-9,c=o+n*400+(l<=2?1:0);return`${String(c).padStart(4,"0")}-${String(l).padStart(2,"0")}-${String(a).padStart(2,"0")}`}function Qm(e,t){let[n,r,o]=e.split("-").map(Number);return m1(d1(n,r,o)+t)}function FC(e){let t=/^\+?P(?:(\d+)W|(\d+)D(?:T(?=\d)(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?)?|T(?=\d)(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?)$/.exec(e);if(!t)return;let[,n,r,o,s,i,a,l,c]=t.map(u=>Number(u??0));return n*604800+r*86400+(o+a)*3600+(s+l)*60+i+c}function UC(e,t){let[n,r]=e.split("T"),[o,s,i]=n.split("-").map(Number),[a,l,c=0]=r.split(":").map(Number),u=d1(o,s,i)*86400+a*3600+l*60+c+t,d=Math.floor(u/86400),m=u-d*86400,f=h=>String(h).padStart(2,"0"),p=m%60;return`${m1(d)}T${f(Math.floor(m/3600))}:${f(Math.floor(m/60)%60)}${p===0?"":`:${f(p)}`}`}function u1(e){let[t,n]=e.split("T"),[r,o,s="00"]=n.split(":");return`${t.replace(/-/g,"")}T${r}${o}${s}`}function zC(e,t){let r=j(e,"timing")==="all-day",[o,s]=r?["startDate","endDate"]:["start","end"],i=j(e,o),a=j(e,s);if(i==="")return[P("payload.issue.required",["fields",o])];if(a===""||t(o)||t(s))return[];let l=c=>r||c.length>16?c:`${c}:00`;return(r?a<i:l(a)<=l(i))?[P("payload.event.issue.end-before-start",["fields",s])]:[]}function VC(e){let t=["BEGIN:VEVENT",`SUMMARY:${us(j(e,"summary"))}`],n=j(e,"timing");if(n==="all-day"){t.push(`DTSTART;VALUE=DATE:${j(e,"startDate").replace(/-/g,"")}`);let r=j(e,"endDate");r!==""&&t.push(`DTEND;VALUE=DATE:${Qm(r,1).replace(/-/g,"")}`)}else{let r=n==="utc"?"Z":"";t.push(`DTSTART:${u1(j(e,"start"))}${r}`);let o=j(e,"end");o!==""&&t.push(`DTEND:${u1(o)}${r}`)}for(let[r,o]of[["location","LOCATION"],["description","DESCRIPTION"]]){let s=j(e,r);s!==""&&t.push(`${o}:${us(s)}`)}return j(e,"url")!==""&&t.push(`URL:${j(e,"url")}`),t.push("END:VEVENT"),t.map(Vl).join(`\r
158
+ `)}function qC(e,t){let n=/^(\d{4})(\d{2})(\d{2})$/.exec(e);if(n){let i=`${n[1]}-${n[2]}-${n[3]}`;return Fl(i)?{kind:"date",text:i}:void 0}if(t)return;let r=/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})(Z?)$/.exec(e);if(!r)return;let o=r[6]==="00"?"":`:${r[6]}`,s=`${r[1]}-${r[2]}-${r[3]}T${r[4]}:${r[5]}${o}`;if(Hm(s))return{kind:r[7]==="Z"?"utc":"floating",text:s}}function HC(e){let t=ql(e),n=t.findIndex(l=>/^BEGIN:VEVENT$/i.test(l.trim()));if(n===-1)throw Q(jt,"not-event");let r={},o,s;for(let l of t.slice(n+1)){if(/^END:VEVENT$/i.test(l.trim()))break;let c=Hl(l);if(c===void 0)continue;let u=(c.params.get("VALUE")??[]).some(d=>d.toUpperCase()==="DATE");if(c.name==="DTSTART"||c.name==="DTEND"){let d=qC(c.value.trim(),u);if(d===void 0)throw Q(jt,"malformed-time");c.name==="DTSTART"?o=d:s=d}else["SUMMARY","LOCATION","DESCRIPTION"].includes(c.name)?r[c.name]=ds(c.value):c.name==="URL"?r.URL=c.value:c.name==="DURATION"&&(r.DURATION=c.value.trim())}if(o===void 0)throw Q(jt,"missing-start");let i=o.kind==="date";if(s!==void 0&&s.kind==="date"!==i)throw Q(jt,"mixed-time-kinds");let a=r.DURATION===void 0?void 0:FC(r.DURATION);return s===void 0&&a!==void 0&&(s=i?{kind:"date",text:Qm(o.text,Math.floor(a/86400))}:{kind:o.kind,text:UC(o.text,a)}),i&&s!==void 0&&s.text<=o.text&&(s=void 0),{summary:r.SUMMARY??"",timing:i?"all-day":o.kind,start:i?"":o.text,end:i||s===void 0?"":s.text,startDate:i?o.text:"",endDate:i&&s!==void 0?Qm(s.text,-1):"",location:r.LOCATION??"",description:r.DESCRIPTION??"",url:r.URL??""}}var f1=ge({id:jt,category:"event",fields:[z(jt,"summary","text",{required:!0,maxLength:200}),z(jt,"timing","select",{required:!0,options:["utc","floating","all-day"],default:"utc",hint:!0}),z(jt,"start","datetime",{group:"time"}),z(jt,"end","datetime",{group:"time"}),z(jt,"startDate","date",{group:"time"}),z(jt,"endDate","date",{group:"time",hint:!0}),z(jt,"location","text",{maxLength:300}),z(jt,"description","multiline",{maxLength:2e3}),z(jt,"url","url")],rules:zC,write:VC,detect:e=>/^BEGIN:(?:VEVENT|VCALENDAR)\s*$/im.test(e)&&/^BEGIN:VEVENT\s*$/im.test(e)?1:0,parse:HC,safety:e=>j(e,"url")===""?[]:en(j(e,"url")).findings});var Pi="facetime";function KC(e){return cs(e)?encodeURIComponent(e).replace(/%40/g,"@").replace(/%2B/g,"+"):Pn(e)}function GC(e,t){let n=j(e,"contact");return t("contact")||n===""||cs(n)||qm(n)?[]:[P("payload.facetime.issue.contact",["fields","contact"])]}function _C(e){let t=/^(facetime|facetime-audio):(?:\/\/)?\s*(.+)$/i.exec(e);if(!t)throw Q(Pi,"not-facetime");let n=Rt(t[2]);if(n===void 0)throw Q(Pi,"malformed-escape");return{contact:n,audioOnly:t[1].toLowerCase()==="facetime-audio"}}var p1=ge({id:Pi,category:"contact",fields:[z(Pi,"contact","text",{required:!0,maxLength:254,hint:!0}),z(Pi,"audioOnly","boolean",{default:!1})],compatibility:[{reader:"apple",noteKey:"payload.facetime.compat.apple-only"}],rules:GC,write:e=>`${Ir(e,"audioOnly")?"facetime-audio":"facetime"}:${KC(j(e,"contact"))}`,detect:e=>/^facetime(?:-audio)?:/i.test(e)?1:0,parse:_C});var fn="geo";function QC(e){let t=[rt(e,"latitude"),rt(e,"longitude")],n=rt(e,"altitude");n!==null&&t.push(n);let r=rt(e,"uncertainty");return`geo:${t.map(Km).join(",")}${r===null?"":`;u=${Km(r)}`}`}var Wm=/^-?\d+(?:\.\d+)?$/;function ms(e,t){if(!Wm.test(e)||!Wm.test(t))return;let n=Number(e),r=Number(t);if(!(Math.abs(n)>90||Math.abs(r)>180))return{latitude:n,longitude:r,altitude:null,uncertainty:null}}function WC(e){let[t="",n]=e.slice(4).split("?"),[r="",...o]=t.split(";"),s=r.split(",");if(s.length<2||s.length>3)throw Q(fn,"coordinates");let i=ms(s[0],s[1]);if(i===void 0)throw Q(fn,"coordinates");let a=null;if(s.length===3){if(!Wm.test(s[2]))throw Q(fn,"altitude");a=Number(s[2])}let l=null;for(let c of o){let[u="",d=""]=c.split("="),m=u.toLowerCase();if(m==="crs"&&d.toLowerCase()!=="wgs84")throw Q(fn,"unsupported-crs");if(m==="u"){if(!/^\d+(?:\.\d+)?$/.test(d))throw Q(fn,"uncertainty");l=Number(d)}}if(i.latitude===0&&i.longitude===0&&n!==void 0){let c=/^q=(-?\d+(?:\.\d+)?),(-?\d+(?:\.\d+)?)/.exec(n),u=c?ms(c[1],c[2]):void 0;if(u)return{...u,altitude:a,uncertainty:l}}return{...i,altitude:a,uncertainty:l}}function Ci(e){if(e===null)return;let[t="",n="",...r]=e.split(",").map(o=>o.trim());return r.length===0?ms(t,n):void 0}function h1(e){let t;try{t=new URL(e)}catch{return}if(t.protocol!=="https:"&&t.protocol!=="http:")return;let n=t.hostname.replace(/^www\./,""),r=t.searchParams;if(n==="google.com"||n==="maps.google.com"){if(n==="google.com"&&!t.pathname.startsWith("/maps"))return;let o=/\/@(-?\d+(?:\.\d+)?),(-?\d+(?:\.\d+)?)/.exec(t.pathname);return Ci(r.get("query"))??Ci(r.get("q"))??Ci(r.get("ll"))??(o?ms(o[1],o[2]):void 0)}if(n==="maps.apple.com")return Ci(r.get("ll"))??Ci(r.get("q"));if(n==="openstreetmap.org"){let o=ms(r.get("mlat")??"",r.get("mlon")??"");if(o)return o;let s=/^#map=\d+\/(-?\d+(?:\.\d+)?)\/(-?\d+(?:\.\d+)?)/.exec(t.hash);return s?ms(s[1],s[2]):void 0}}function XC(e){if(/^geo:/i.test(e))return WC(e);let t=h1(e);if(t===void 0)throw Q(fn,"not-geo");return t}var y1=ge({id:fn,category:"place",fields:[z(fn,"latitude","latitude",{required:!0}),z(fn,"longitude","longitude",{required:!0}),z(fn,"altitude","number",{advanced:!0,min:-11e3,max:1e5,hint:!0}),z(fn,"uncertainty","number",{advanced:!0,min:0,max:2e7,hint:!0})],write:QC,detect:e=>/^geo:/i.test(e)?1:h1(e)===void 0?0:.7,parse:XC});var pn="gs1-digital-link",YC=/^[!"%&'()*+,\-./0-9:;<=>?A-Z_a-z]*$/,ZC=new Set([..."#/%&+,!()*':;<=>?"]);function g1(e){let t="";for(let n of e)t+=ZC.has(n)?`%${n.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`:n;return t}function _l(e){return/^(?:\d{8}|\d{12,14})$/.test(e)?e.padStart(14,"0"):void 0}function $C(e){let t=/^(\d{2})(\d{2})(\d{2})$/.exec(e);if(!t)return!1;let n=Number(t[2]),r=Number(t[3]),o=[31,29,31,30,31,30,31,31,30,31,30,31][n-1];return o!==void 0&&r<=o}var JC=/^(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,63}(?:\/[A-Za-z0-9._~-]+)*$/;function e5(e,t){let n=[],r=j(e,"domain");r!==""&&!t("domain")&&!JC.test(r)&&n.push(P("payload.gs1-digital-link.issue.domain",["fields","domain"]));let o=j(e,"gtin");if(o!==""&&!t("gtin")){let s=_l(o);s===void 0?n.push(P("payload.gs1-digital-link.issue.gtin",["fields","gtin"])):V0(s.slice(0,13))!==Number(s[13])&&n.push(P("payload.gs1-digital-link.issue.gtin-check-digit",["fields","gtin"]))}for(let s of["batch","serial"])!t(s)&&!YC.test(j(e,s))&&n.push(P("payload.gs1-digital-link.issue.character",["fields",s]));for(let s of["expiry","bestBefore"]){let i=j(e,s);i!==""&&!t(s)&&!$C(i)&&n.push(P("payload.gs1-digital-link.issue.date",["fields",s]))}return n}function b1(e){let t=`/01/${_l(j(e,"gtin"))}`;j(e,"batch")!==""&&(t+=`/10/${g1(j(e,"batch"))}`),j(e,"serial")!==""&&(t+=`/21/${g1(j(e,"serial"))}`);let n=[];j(e,"bestBefore")!==""&&n.push(`15=${j(e,"bestBefore")}`),j(e,"expiry")!==""&&n.push(`17=${j(e,"expiry")}`);let r=j(e,"domain"),o=r.indexOf("/");return`https://${o===-1?r.toLowerCase():`${r.slice(0,o).toLowerCase()}${r.slice(o)}`}${t}${n.length>0?`?${n.join("&")}`:""}`}function x1(e){let t=/^https?:\/\/([^/?#]+)((?:\/[^/?#]+)*?)\/01\/(\d{14}|\d{13}|\d{12}|\d{8})((?:\/[^/?#]+)*)\/?(?:\?([^#]*))?(?:#.*)?$/i.exec(e);if(!t)throw Q(pn,"not-digital-link");let[,n,r="",o,s="",i=""]=t,a=s.split("/").slice(1);if(a.length%2!==0)throw Q(pn,"qualifiers");let l=new Map,c=0;for(let u=0;u<a.length;u+=2){let d=a[u],m=d==="10"?1:d==="21"?2:0;if(m<=c)throw Q(pn,"qualifiers");c=m;let f=Rt(a[u+1]);if(f===void 0)throw Q(pn,"malformed-escape");l.set(d,f)}for(let u of i.split(/[&;]/)){let[d="",m=""]=u.split("=");(d==="17"||d==="15")&&l.set(d,m)}return{domain:`${n.toLowerCase()}${r}`,gtin:_l(o),batch:l.get("10")??"",serial:l.get("21")??"",expiry:l.get("17")??"",bestBefore:l.get("15")??""}}var w1=ge({id:pn,category:"commerce",fields:[z(pn,"domain","text",{required:!0,default:"id.gs1.org",maxLength:253,hint:!0}),z(pn,"gtin","text",{required:!0,maxLength:14,hint:!0}),z(pn,"batch","text",{maxLength:20}),z(pn,"serial","text",{maxLength:20}),z(pn,"expiry","text",{maxLength:6,hint:!0}),z(pn,"bestBefore","text",{maxLength:6,hint:!0})],rules:e5,write:b1,detect:e=>{try{return x1(e),.9}catch{return 0}},parse:x1,safety:e=>_l(j(e,"gtin"))===void 0?[]:en(b1(e)).findings});var Xm="lightning",t5=/^ln(bcrt|tbs|bc|tb)(?:(\d+)([munp]?))?$/,n5=111;function k1(e){if(!/^ln/i.test(e))return"format";let t=Fm(e,Number.POSITIVE_INFINITY);if(!t.ok)return t.reason==="checksum"?"checksum":"format";if(t.value.encoding!=="bech32")return"checksum";let n=t5.exec(t.value.hrp);if(!n)return"prefix";let[,r,o,s]=n;return o!==void 0&&(o.startsWith("0")||s==="p"&&!o.endsWith("0"))?"amount":t.value.words.length<n5?"format":r==="bc"?void 0:"testnet"}function r5(e,t){let n=j(e,"invoice");if(n===""||t("invoice"))return[];let r=k1(n);if(r===void 0)return[];let o=["fields","invoice"];return[P(`payload.lightning.issue.${r}`,o,r==="testnet"?"warning":"error")]}function o5(e){let t=j(e,"invoice");return`${t===t.toUpperCase()?"LIGHTNING":"lightning"}:${t}`}function s5(e){let t=e.replace(/^lightning:/i,"");if(!/^ln[a-z0-9]*1[a-z0-9]+$/i.test(t))throw Q(Xm,"not-lightning");return{invoice:t}}var v1=ge({id:Xm,category:"payment",fields:[z(Xm,"invoice","text",{required:!0,maxLength:7e3,hint:!0})],rules:r5,write:o5,detect:e=>{let t=e.replace(/^lightning:/i,"");if(!/^ln[a-z0-9]*1[a-z0-9]+$/i.test(t))return 0;let n=k1(t);return n===void 0||n==="testnet"?1:.5},parse:s5,safety:()=>[{code:"payload/payment",severity:"caution"}]});var Kt="mecard",i5="\\;,:";function a5(e){return j(e,"familyName")!==""||j(e,"givenName")!==""?[]:[P("payload.mecard.issue.no-name",["fields","familyName"])]}function l5(e){let t=i=>zl(i,i5),n=t(j(e,"familyName")),r=t(j(e,"givenName")),o=[`N:${r===""?n:`${n},${r}`}`],s=(i,a)=>{a!==""&&o.push(`${i}:${a}`)};s("NICKNAME",t(j(e,"nickname")));for(let i of Ht(e,"phones"))s("TEL",Pn(i));for(let i of Ht(e,"email"))s("EMAIL",t(i));return s("URL",t(j(e,"url"))),s("ADR",t(j(e,"address"))),s("ORG",t(j(e,"organisation"))),s("NOTE",t(j(e,"note"))),s("BDAY",j(e,"birthday").replace(/-/g,"")),`MECARD:${o.join(";")};;`}function c5(e){if(!/^MECARD:/i.test(e))throw Q(Kt,"not-mecard");let t={},n=[],r=[],o="",s="";for(let a of Pr(e.slice(7),";")){let l=a.indexOf(":");if(l<=0)continue;let c=a.slice(0,l).toUpperCase(),u=a.slice(l+1);if(c==="N"){let[d="",...m]=Pr(u,",");o=Nn(d),s=Nn(m.join(","))}else c==="TEL"?n.push(Nn(u)):c==="EMAIL"?r.push(Nn(u)):c in t||(t[c]=Nn(u))}if(o===""&&s==="")throw Q(Kt,"missing-name");let i=/^(\d{4})(\d{2})(\d{2})$/.exec(t.BDAY??"");return{familyName:o,givenName:s,nickname:t.NICKNAME??"",phones:n,email:r,url:t.URL??"",address:t.ADR??"",organisation:t.ORG??"",note:t.NOTE??"",birthday:i?`${i[1]}-${i[2]}-${i[3]}`:""}}var S1=ge({id:Kt,category:"contact",fields:[z(Kt,"familyName","text",{maxLength:100,group:"name"}),z(Kt,"givenName","text",{maxLength:100,group:"name"}),z(Kt,"nickname","text",{maxLength:100,advanced:!0}),z(Kt,"phones","tel",{multiple:!0,maxItems:5}),z(Kt,"email","email",{multiple:!0,maxItems:5}),z(Kt,"url","url"),z(Kt,"address","text",{maxLength:300}),z(Kt,"organisation","text",{maxLength:200,hint:!0}),z(Kt,"note","text",{maxLength:500}),z(Kt,"birthday","date")],compatibility:[{reader:"docomo",noteKey:"payload.mecard.compat.org"}],rules:a5,write:l5,detect:e=>/^MECARD:/i.test(e)?1:0,parse:c5,safety:e=>j(e,"url")===""?[]:en(j(e,"url")).findings});var Ql="phone";function u5(e){if(!/^tel:/i.test(e))throw Q(Ql,"not-tel");let t=e.slice(4).replace(/^\/\//,""),n=Rt(t.split(";")[0]);if(n===void 0||n==="")throw Q(Ql,"missing-number");return{number:n}}var M1=ge({id:Ql,category:"contact",fields:[z(Ql,"number","tel",{required:!0,hint:!0})],safety:e=>/[*#]/.test(j(e,"number"))?[{code:"payload/service-code",severity:"danger"}]:[],write:e=>`tel:${Pn(j(e,"number"))}`,detect:e=>/^tel:/i.test(e)?1:0,parse:u5});function Wl(e,t){if(!/^\d{2}$/.test(e))throw new TypeError("An EMV data object ID is two digits.");let n=[...t].length;if(n>99)throw new TypeError("An EMV data object holds at most 99 characters.");return`${e}${String(n).padStart(2,"0")}${t}`}function E1(e){return U0(new TextEncoder().encode(e)).toString(16).toUpperCase().padStart(4,"0")}function T1(e){let t=`${e.map(({id:n,value:r})=>Wl(n,r)).join("")}6304`;return`${t}${E1(t)}`}function Xl(e){let t=[...e],n=[],r=0;for(;r<t.length;){let o=t.slice(r,r+2).join(""),s=t.slice(r+2,r+4).join("");if(!/^\d{2}$/.test(o)||!/^\d{2}$/.test(s))return;let i=Number(s);if(r+4+i>t.length)return;n.push({id:o,value:t.slice(r+4,r+4+i).join("")}),r+=4+i}return n}function R1(e){let t=Xl(e),n=t?.[t.length-1];if(t===void 0||n===void 0||n.id!=="63"||t[0]?.id!=="00")return{ok:!1,reason:"format"};if(t[0].value!=="01"||!/^[0-9A-Fa-f]{4}$/.test(n.value))return{ok:!1,reason:"format"};let r=e.slice(0,e.length-4);return E1(r)!==n.value.toUpperCase()?{ok:!1,reason:"crc"}:{ok:!0,value:t.slice(0,-1)}}var Gt="pix",A1="br.gov.bcb.pix";function d5(e){if(!/^\d{11}$/.test(e)||/^(\d)\1{10}$/.test(e))return!1;for(let t of[9,10]){let n=0;for(let o=0;o<t;o+=1)n+=Number(e[o])*(t+1-o);if(n*10%11%10!==Number(e[t]))return!1}return!0}function m5(e){if(!/^[0-9A-Z]{12}\d{2}$/.test(e)||/^(\d)\1{13}$/.test(e))return!1;let t=[6,5,4,3,2,9,8,7,6,5,4,3,2];for(let n of[12,13]){let r=0,o=13-n;for(let a=0;a<n;a+=1)r+=(e.charCodeAt(a)-48)*t[a+o];let s=r%11;if((s<2?0:11-s)!==Number(e[n]))return!1}return!0}function f5(e){return d5(e)||m5(e)||cs(e)&&e.length<=77&&e===e.toLowerCase()||/^\+55\d{10,11}$/.test(e)||/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(e)}function I1(e){let t=[{id:"00",value:A1},{id:"01",value:j(e,"key")}];return j(e,"description")!==""&&t.push({id:"02",value:j(e,"description")}),t}function p5(e){return e.reduce((t,n)=>t+4+ao(n.value),0)}function h5(e,t){let n=[],r=j(e,"key");r!==""&&!t("key")&&!f5(r)&&n.push(P("payload.pix.issue.key",["fields","key"]));let o=p5(I1(e));o>99&&n.push(P("payload.pix.issue.account-too-long",["fields","description"],"error",{length:o,max:99}));let s=j(e,"txid");s!==""&&!t("txid")&&!/^[A-Za-z0-9]{1,25}$/.test(s)&&n.push(P("payload.pix.issue.txid",["fields","txid"]));let i=rt(e,"amount");i!==null&&!t("amount")&&Cn(i)>2&&n.push(P(ye.amountDecimals,["fields","amount"],"error",{max:2}));for(let a of["name","city","description"])!t(a)&&/[^\x20-\x7e]/.test(j(e,a))&&n.push(P("payload.pix.issue.non-ascii",["fields",a],"warning"));return n}function y5(e){let t=[{id:"00",value:"01"},{id:"26",value:I1(e).map(r=>Wl(r.id,r.value)).join("")},{id:"52",value:"0000"},{id:"53",value:"986"}],n=rt(e,"amount");return n!==null&&t.push({id:"54",value:n.toFixed(2)}),t.push({id:"58",value:"BR"},{id:"59",value:j(e,"name")},{id:"60",value:j(e,"city")},{id:"62",value:Wl("05",j(e,"txid")||"***")}),T1(t)}function g5(e){let t=R1(e);if(!t.ok)throw t.reason==="crc"?Q0(Gt,"crc"):Q(Gt,"not-emv");let n=new Map(t.value.map(a=>[a.id,a.value])),r;for(let a of t.value){let l=Number(a.id);if(l<26||l>51)continue;let c=Xl(a.value);if(c?.[0]?.id==="00"&&c[0].value.toLowerCase()===A1){r=new Map(c.map(u=>[u.id,u.value]));break}}if(r===void 0)throw Q(Gt,"not-pix");if(r.has("25")||!r.has("01"))throw Q(Gt,"dynamic");if(n.get("53")!=="986"||n.get("58")!=="BR")throw Q(Gt,"not-brl");let o=n.get("54");if(o!==void 0&&!/^\d+(?:\.\d{1,2})?$/.test(o))throw Q(Gt,"amount");let i=(Xl(n.get("62")??"")??[]).find(a=>a.id==="05")?.value??"";return{key:r.get("01"),name:n.get("59")??"",city:n.get("60")??"",amount:o===void 0?null:Number(o),description:r.get("02")??"",txid:i==="***"?"":i}}var P1=ge({id:Gt,category:"payment",fields:[z(Gt,"key","text",{required:!0,maxLength:77,hint:!0}),z(Gt,"name","text",{required:!0,maxLength:25}),z(Gt,"city","text",{required:!0,maxLength:15}),z(Gt,"amount","amount",{min:.01,max:999999999999e-2}),z(Gt,"description","text",{maxLength:72}),z(Gt,"txid","text",{maxLength:25,advanced:!0,hint:!0})],compatibility:[{reader:"pix",noteKey:"payload.pix.compat.banking-apps"}],rules:h5,write:y5,detect:e=>/^000201/.test(e)&&/br\.gov\.bcb\.pix/i.test(e)?1:0,parse:g5,safety:()=>[{code:"payload/payment",severity:"caution"}]});var Ym="signal",C1=/^(?:https|sgnl):\/\/signal\.me\/#p\/(\+[0-9]+)$/i;function b5(e,t){return t("number")||j(e,"number").startsWith("+")?[]:[P("payload.signal.issue.international",["fields","number"])]}function x5(e){let t=C1.exec(e);if(!t)throw Q(Ym,"not-signal");return{number:t[1]}}var N1=ge({id:Ym,category:"message",fields:[z(Ym,"number","tel",{required:!0,hint:!0})],compatibility:[{reader:"signal",noteKey:"payload.signal.compat.app"}],rules:b5,write:e=>`https://signal.me/#p/+${Ar(j(e,"number"))}`,detect:e=>C1.test(e)?.9:0,parse:x5});var co="sms";function w5(e){let t=Pn(j(e,"number")),n=j(e,"message");return n===""?`SMSTO:${t}`:`SMSTO:${t}:${n}`}function k5(e){let t=e.slice(6),n=t.indexOf(":"),r=n===-1?t:t.slice(0,n);if(r==="")throw Q(co,"missing-number");return{number:r,message:n===-1?"":t.slice(n+1)}}function v5(e){let t=e.slice(e.indexOf(":")+1).replace(/^\/\//,""),n=t.indexOf("?"),r=n===-1?t:t.slice(0,n),o=Ot(n===-1?"":t.slice(n+1)),s=Rt(r.split(",")[0].split(";")[0]);if(o===void 0||s===void 0)throw Q(co,"malformed-escape");if(s==="")throw Q(co,"missing-number");let i=o.find(([a])=>a.toLowerCase()==="body");return{number:s,message:i?i[1]:""}}function S5(e){if(/^(?:smsto|mmsto):/i.test(e))return k5(e);if(/^(?:sms|mms):/i.test(e))return v5(e);throw Q(co,"not-sms")}var L1=ge({id:co,category:"message",fields:[z(co,"number","tel",{required:!0,hint:!0}),z(co,"message","multiline",{maxLength:1600})],write:w5,detect:e=>/^(?:smsto|mmsto|sms|mms):/i.test(e)?1:0,parse:S5,safety:()=>[{code:"payload/sends-message",severity:"note"}]});var Ye="swiss-qr-bill",Yl=997,Ni=["Name","Street","Building","Postcode","Town","Country"],M5=[...Ni.slice(0,5).map(e=>`creditor${e}`),...Ni.slice(0,5).map(e=>`debtor${e}`),"message","billingInformation","alternative1","alternative2"];function E5(e){return e>=32&&e<=126||e>=160&&e<=383||e>=536&&e<=539||e===8364}function T5(e){let t=Rr(e),n=Number(t.slice(4,9));return/^(?:CH|LI)\d{7}/.test(t)&&n>=3e4&&n<=31999}function R5(e){let t=e.replace(/ /g,"");return/^\d{27}$/.test(t)&&!/^0+$/.test(t)&&z0(t.slice(0,26))===Number(t[26])}function F1(e){return Ni.slice(0,5).some(t=>j(e,`debtor${t}`)!=="")}function O1(e,t,n){return n?["S",...Ni.map(r=>j(e,`${t}${r}`))]:["","","","","","",""]}function A5(e){let t=j(e,"reference");return j(e,"referenceType")==="scor"?Ai(t):t.replace(/ /g,"")}function I5(e){let t=rt(e,"amount"),n=["SPC","0200","1",Rr(j(e,"iban")),...O1(e,"creditor",!0),"","","","","","","",t===null?"":t.toFixed(2),j(e,"currency").toUpperCase(),...O1(e,"debtor",F1(e)),j(e,"referenceType").toUpperCase(),A5(e),j(e,"message"),"EPD",j(e,"billingInformation"),j(e,"alternative1"),j(e,"alternative2")];for(;n.length>31&&n[n.length-1]==="";)n.pop();return n}function U1(e){return I5(e).join(`
159
+ `)}function D1(e,t){let n=[];for(let r of["Name","Postcode","Town","Country"])j(e,`${t}${r}`)===""&&n.push(P(ye.required,["fields",`${t}${r}`]));return j(e,`${t}AddressType`)==="k"&&n.push(P("payload.swiss-qr-bill.issue.combined-address",["fields",`${t}AddressType`],"warning")),n}function P5(e,t){let n=j(e,"referenceType"),r=j(e,"reference"),o=["fields","reference"],s=T5(j(e,"iban")),i=[];return n==="qrr"?(s||i.push(P("payload.swiss-qr-bill.issue.qrr-needs-qr-iban",["fields","referenceType"])),j(e,"currency")!=="chf"&&i.push(P("payload.swiss-qr-bill.issue.qrr-chf-only",["fields","currency"],"warning")),r===""?i.push(P(ye.required,o)):!t("reference")&&!R5(r)&&i.push(P("payload.swiss-qr-bill.issue.qr-reference",o)),i):(s&&i.push(P("payload.swiss-qr-bill.issue.qr-iban-needs-qrr",["fields","referenceType"])),n==="scor"?r===""?i.push(P(ye.required,o)):!t("reference")&&!jl(r)&&i.push(P("payload.issue.creditor-reference",o)):r!==""&&i.push(P("payload.swiss-qr-bill.issue.reference-not-allowed",o)),i)}function C5(e,t){let n=[],r=Rr(j(e,"iban"));r!==""&&!t("iban")&&!/^(?:CH|LI)/.test(r)&&n.push(P("payload.swiss-qr-bill.issue.iban-country",["fields","iban"])),n.push(...D1(e,"creditor")),F1(e)&&n.push(...D1(e,"debtor")),n.push(...P5(e,t));let o=rt(e,"amount");o!==null&&!t("amount")&&Cn(o)>2&&n.push(P(ye.amountDecimals,["fields","amount"],"error",{max:2}));let s=ao(j(e,"message"))+ao(j(e,"billingInformation"));s>140&&n.push(P("payload.swiss-qr-bill.issue.message-too-long",["fields","message"],"error",{length:s,max:140}));for(let l of M5){if(t(l))continue;let c=j(e,l),u=0;for(let d of c){if(!E5(d.codePointAt(0))){n.push(P("payload.swiss-qr-bill.issue.character",["fields",l],"error",{position:u}));break}u+=1}}let i=U1(e),a=ao(i);if(a>Yl)n.push(P("payload.swiss-qr-bill.issue.too-long",["fields"],"error",{length:a,max:Yl}));else{let l=new TextEncoder().encode(i).length;l>Yl&&n.push(P("payload.swiss-qr-bill.issue.bytes",["fields"],"warning",{length:l,max:Yl}))}return o===0&&n.push(P("payload.swiss-qr-bill.issue.notification",["fields","amount"],"warning")),n}function j1(e,t){let[n="",r="",o="",s="",i="",a="",l=""]=e.slice(t,t+7);if(n==="")return{type:"s",parts:["","","","","",""]};if(n==="S")return{type:"s",parts:[r,o,s,i,a,l]};if(n==="K")return{type:"k",parts:[r,o,"","",s,l]};throw Q(Ye,"address-type")}function N5(e){let t=e.replace(/\r?\n$/,"").split(/\r?\n/);if(t[0]!=="SPC")throw Q(Ye,"not-swiss-qr-bill");if(t[1]!=="0200"||t[2]!=="1"||t[30]!=="EPD"||t.length>34)throw Q(Ye,"header");let n=j1(t,4),r=j1(t,20),o=t[18];if(o!==""&&!/^\d{1,9}\.\d{2}$/.test(o))throw Q(Ye,"amount");let s=t[19].toLowerCase(),i=t[27].toLowerCase();if(!["chf","eur"].includes(s)||!["qrr","scor","non"].includes(i))throw Q(Ye,"code");let a=(l,c)=>Object.fromEntries([...Ni.map((u,d)=>[`${l}${u}`,c.parts[d]]),[`${l}AddressType`,c.type]]);return{iban:t[3],...a("creditor",n),amount:o===""?null:Number(o),currency:s,...a("debtor",r),referenceType:i,reference:t[28],message:t[29],billingInformation:t[31]??"",alternative1:t[32]??"",alternative2:t[33]??""}}function B1(e){let t=e==="creditor",n=r=>({group:e,...t?{}:{advanced:!0},...r});return[z(Ye,`${e}Name`,"text",n({maxLength:70,...t?{required:t}:{}})),z(Ye,`${e}Street`,"text",n({maxLength:70})),z(Ye,`${e}Building`,"text",n({maxLength:16})),z(Ye,`${e}Postcode`,"text",n({maxLength:16})),z(Ye,`${e}Town`,"text",n({maxLength:35})),z(Ye,`${e}Country`,"country",n(t?{default:"CH"}:{})),z(Ye,`${e}AddressType`,"select",{group:e,options:["s","k"],default:"s",advanced:!0,hint:!0})]}var z1=ge({id:Ye,category:"payment",fields:[z(Ye,"iban","iban",{required:!0,hint:!0}),...B1("creditor"),z(Ye,"amount","amount",{min:0,max:99999999999e-2}),z(Ye,"currency","select",{required:!0,options:["chf","eur"],default:"chf"}),...B1("debtor"),z(Ye,"referenceType","select",{required:!0,options:["qrr","scor","non"],default:"non",hint:!0}),z(Ye,"reference","text",{maxLength:33}),z(Ye,"message","text",{maxLength:140}),z(Ye,"billingInformation","text",{maxLength:140,advanced:!0}),z(Ye,"alternative1","text",{maxLength:100,advanced:!0}),z(Ye,"alternative2","text",{maxLength:100,advanced:!0})],constraints:{ecLevels:["M"],maxVersion:"25",sizeMm:46,colours:"black-on-white",designLocked:!0,overlay:"swiss-cross"},rules:C5,write:U1,detect:e=>/^SPC\r?\n0200\r?\n1\r?\n/.test(e)?1:0,parse:N5,safety:()=>[{code:"payload/payment",severity:"caution"}]});var Cr="telegram",q1=/^[A-Za-z0-9_]{5,32}$/;function L5(e){let n=j(e,"target")==="phone"?`+${Ar(j(e,"phone"))}`:j(e,"username"),r=j(e,"message");return`https://t.me/${n}${r===""?"":`?text=${encodeURIComponent(r)}`}`}function O5(e,t){if(j(e,"target")==="phone"){let r=j(e,"phone");return r===""?[P("payload.issue.required",["fields","phone"])]:!t("phone")&&!r.startsWith("+")?[P("payload.telegram.issue.international",["fields","phone"])]:[]}let n=j(e,"username");return n===""?[P("payload.issue.required",["fields","username"])]:q1.test(n)?[]:[P("payload.telegram.issue.username",["fields","username"])]}function D5(e){let t=/^(?:https?:\/\/)?(?:t\.me|telegram\.me)\/([^/?#]+)\/?(?:\?([^#]*))?$/i.exec(e);if(t)return{path:t[1],query:t[2]??""};let n=/^tg:\/\/resolve\?(.*)$/i.exec(e);if(!n)return;let r=Ot(n[1])??[],o=r.find(([a])=>a==="domain")?.[1],s=r.find(([a])=>a==="phone")?.[1],i=r.filter(([a])=>a==="text").map(([,a])=>`text=${encodeURIComponent(a)}`).join("&");if(o!==void 0)return{path:o,query:i};if(s!==void 0)return{path:`+${s.replace(/^\+/,"")}`,query:i}}function V1(e){let t=D5(e);if(t===void 0)throw Q(Cr,"not-telegram");let n=Ot(t.query);if(n===void 0)throw Q(Cr,"malformed-escape");let r=n.find(([s])=>s==="text")?.[1]??"",o=/^\+(\d{3,15})$/.exec(t.path);if(o)return{target:"phone",username:"",phone:`+${o[1]}`,message:r};if(!q1.test(t.path))throw Q(Cr,"not-a-username");return{target:"username",username:t.path,phone:"",message:r}}var H1=ge({id:Cr,category:"message",fields:[z(Cr,"target","select",{required:!0,options:["username","phone"],default:"username"}),z(Cr,"username","text",{maxLength:32,hint:!0}),z(Cr,"phone","tel",{hint:!0}),z(Cr,"message","multiline",{maxLength:4096})],compatibility:[{reader:"telegram",noteKey:"payload.telegram.compat.app"}],rules:O5,write:L5,detect:e=>{try{return V1(e),.9}catch{return 0}},parse:V1});var K1="text",fs=ge({id:K1,category:"text",fields:[z(K1,"text","multiline",{required:!0})],write:e=>j(e,"text"),detect:e=>e===""?0:.01,parse:e=>({text:e})});var On="upi",j5=/^[A-Za-z0-9._-]{2,256}@[A-Za-z][A-Za-z0-9.-]{1,63}$/;function Zm(e){return encodeURIComponent(e).replace(/%40/g,"@")}function B5(e,t){let n=[],r=j(e,"address");r!==""&&!t("address")&&!j5.test(r)&&n.push(P("payload.upi.issue.address",["fields","address"]));let o=rt(e,"amount");return o!==null&&!t("amount")&&Cn(o)>2&&n.push(P(ye.amountDecimals,["fields","amount"],"error",{max:2})),n}function F5(e){let t=[`pa=${Zm(j(e,"address"))}`,`pn=${Zm(j(e,"name"))}`],n=rt(e,"amount");return n!==null&&t.push(`am=${n.toFixed(2)}`),t.push("cu=INR"),j(e,"note")!==""&&t.push(`tn=${Zm(j(e,"note"))}`),`upi://pay?${t.join("&")}`}function U5(e){let t=/^upi:\/\/pay\?(.*)$/i.exec(e);if(!t)throw Q(On,"not-upi");let n=Ot(t[1],!0);if(n===void 0)throw Q(On,"malformed-escape");let r=a=>n.find(([l])=>l===a)?.[1],o=r("pa");if(o===void 0||o==="")throw Q(On,"missing-address");let s=r("cu");if(s!==void 0&&s!=="INR")throw Q(On,"currency");let i=r("am");if(i!==void 0&&i!==""&&!/^\d+(?:\.\d{1,2})?$/.test(i))throw Q(On,"amount");return{address:o,name:r("pn")??"",amount:i===void 0||i===""?null:Number(i),note:r("tn")??""}}var G1=ge({id:On,category:"payment",fields:[z(On,"address","text",{required:!0,maxLength:321,hint:!0}),z(On,"name","text",{required:!0,maxLength:99}),z(On,"amount","amount",{min:.01,max:1e6}),z(On,"note","text",{maxLength:80})],rules:B5,write:F5,detect:e=>/^upi:\/\/pay\?/i.test(e)?1:0,parse:U5,safety:()=>[{code:"payload/payment",severity:"caution"}]});function _1(e){let t=e.indexOf("#"),n=t===-1?"":e.slice(t),r=t===-1?e:e.slice(0,t),o=r.indexOf("?");return o===-1?{base:r,parts:[],fragment:n}:{base:r.slice(0,o),parts:r.slice(o+1).split("&"),fragment:n}}function Q1(e){let t=e.indexOf("="),n=t===-1?e:e.slice(0,t);return Rt(n,!0)??n}function W1({base:e,parts:t,fragment:n}){let r=t.filter(o=>o!=="");return`${e}${r.length===0?"":`?${r.join("&")}`}${n}`}function X1(e,t){if(t.length===0)return e;let n=_1(e),r=new Set(t.map(([s])=>s)),o=[...n.parts.filter(s=>s!==""&&!r.has(Q1(s))),...t.map(([s,i])=>`${encodeURIComponent(s)}=${encodeURIComponent(i)}`)];return W1({...n,parts:o})}function Y1(e,t){let n=_1(e),r=new Set(t),o=new Map,s=[];for(let i of n.parts){let a=Q1(i);if(!r.has(a)){s.push(i);continue}let l=i.indexOf("="),c=l===-1?"":i.slice(l+1);o.has(a)||o.set(a,Rt(c,!0)??c)}return o.size===0?{url:e,taken:o}:{url:W1({...n,parts:s}),taken:o}}var Zl="url",$l=[["utmSource","utm_source"],["utmMedium","utm_medium"],["utmCampaign","utm_campaign"],["utmTerm","utm_term"],["utmContent","utm_content"]],z5=e=>z(Zl,e,"text",{advanced:!0,group:"utm",maxLength:200});function V5(e){return $l.filter(([t])=>j(e,t)!=="").map(([t,n])=>[n,j(e,t)])}function q5(e){let t=$l.filter(([r])=>j(e,r)!=="").map(([r])=>r);return t.length===0?[]:["utmSource","utmMedium","utmCampaign"].filter(r=>!t.includes(r)).map(r=>P("payload.url.issue.utm-incomplete",["fields",r],"warning"))}var H5=/^(?:[a-zA-Z0-9-]+\.){1,6}[a-zA-Z]{2,}(?::\d{1,5})?(?:\/|\?|$)/;function Z1(e){let t=0,n=e.length;for(;t<n&&e.charCodeAt(t)<=32;)t+=1;for(;n>t&&e.charCodeAt(n-1)<=32;)n-=1;return e.slice(t,n)}function $1(e){let t=Z1(Z1(e).replace(/^UR[IL]:/i,""));if(t===""||/\s/.test(t))return;let n;try{n=new URL(t)}catch{n=void 0}if(n===void 0||/^[A-Za-z0-9-]+\.[^:]*:\d/.test(t))return H5.test(t)?{url:`http://${t}`,score:.3}:void 0;let r=n.protocol.slice(0,-1);return r==="https"||r==="http"?{url:t,score:.5}:Gl(r)?{url:t,score:.4}:/^[A-Za-z][A-Za-z0-9+.-]*:\/\//.test(t)?{url:t,score:.2}:void 0}function K5(e){let t=$1(e);if(t===void 0)throw Q(Zl,"not-a-url");let{url:n,taken:r}=Y1(t.url,$l.map(([,s])=>s)),o=s=>r.get(s)??"";return{url:n,utmSource:o("utm_source"),utmMedium:o("utm_medium"),utmCampaign:o("utm_campaign"),utmTerm:o("utm_term"),utmContent:o("utm_content")}}var J1=ge({id:Zl,category:"link",fields:[z(Zl,"url","url",{required:!0,hint:!0}),...$l.map(([e])=>z5(e))],rules:q5,write:e=>X1(j(e,"url"),V5(e)),detect:e=>$1(e)?.score??0,parse:K5,safety:e=>en(j(e,"url")).findings});var Bt="vcard",G5=["prefix","givenName","additionalNames","familyName","suffix"],ex=["street","locality","region","postcode","country"],_5=[["mobile","CELL"],["workPhone","WORK,VOICE"],["homePhone","HOME,VOICE"],["fax","FAX"],["otherPhone","VOICE"]];function $m(e){let t=G5.map(n=>j(e,n)).filter(n=>n!=="");return t.length>0?t.join(" "):j(e,"organisation")}function Q5(e){return $m(e)!==""||j(e,"formattedName")!==""?[]:[P("payload.vcard.issue.no-name",["fields","givenName"])]}function W5(e){let t=["BEGIN:VCARD","VERSION:3.0"],n=o=>us(j(e,o));t.push(`N:${[n("familyName"),n("givenName"),n("additionalNames"),n("prefix"),n("suffix")].join(";")}`);let r=j(e,"formattedName");t.push(`FN:${us(r===""?$m(e):r)}`),(j(e,"organisation")!==""||j(e,"department")!=="")&&t.push(`ORG:${n("organisation")}${j(e,"department")===""?"":`;${n("department")}`}`),j(e,"title")!==""&&t.push(`TITLE:${n("title")}`);for(let[o,s]of _5)for(let i of Ht(e,o))t.push(`TEL;TYPE=${s}:${Pn(i)}`);for(let o of Ht(e,"email"))t.push(`EMAIL;TYPE=INTERNET:${o}`);for(let o of Ht(e,"website"))t.push(`URL:${o}`);if(ex.some(o=>j(e,o)!=="")){let o=j(e,"addressType")==="home"?"HOME":"WORK";t.push(`ADR;TYPE=${o}:;;${ex.map(n).join(";")}`)}return j(e,"note")!==""&&t.push(`NOTE:${n("note")}`),j(e,"birthday")!==""&&t.push(`BDAY:${j(e,"birthday")}`),t.push("END:VCARD"),t.map(Vl).join(`\r
160
+ `)}var X5=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376];function Y5(e,t){if(/^(?:iso-8859-1|latin1|windows-1252|cp1252|us-ascii|ascii)$/i.test(t)){let r="";for(let o of e)r+=String.fromCharCode(o>=128&&o<160?X5[o-128]:o);return r}let n;try{n=new TextDecoder(t)}catch{n=new TextDecoder("utf-8")}return n.decode(e)}function Z5(e,t){let n=[],r=new TextEncoder;for(let o=0;o<e.length;){let s=e.slice(o+1,o+3);if(e[o]==="="&&/^[0-9A-Fa-f]{2}$/.test(s))n.push(Number.parseInt(s,16)),o+=3;else{let i=String.fromCodePoint(e.codePointAt(o));n.push(...r.encode(i)),o+=i.length}}return Y5(Uint8Array.from(n),t)}function $5(e){let t=/^(\d{4})-?(\d{2})-?(\d{2})(?:T.*)?$/.exec(e.trim());return t?`${t[1]}-${t[2]}-${t[3]}`:""}function J5(e){let t=e.flatMap(n=>n.toUpperCase().split(","));return t.includes("FAX")?"fax":t.includes("CELL")?"mobile":t.includes("WORK")?"workPhone":t.includes("HOME")?"homePhone":"otherPhone"}function e3(e){let t=ql(e.replace(/^\uFEFF/,"")),n=t.findIndex(c=>/^BEGIN:VCARD$/i.test(c.trim()));if(n===-1)throw Q(Bt,"not-vcard");let r={},o={mobile:[],workPhone:[],homePhone:[],fax:[],otherPhone:[],email:[],website:[]},s="",i=!1;for(let c=n+1;c<t.length;c+=1){let u=t[c];if(/^END:VCARD$/i.test(u.trim()))break;let d=Hl(u);if(d===void 0)continue;let m=d.params.get("TYPE")??[],f=d.value;if([...d.params.get("ENCODING")??[],...m].some(p=>/^quoted-printable$/i.test(p))){for(;f.endsWith("=")&&c+1<t.length;)c+=1,f=`${f.slice(0,-1)}${t[c]}`;f=Z5(f,d.params.get("CHARSET")?.[0]??"utf-8")}switch(d.name){case"N":{let[p="",h="",g="",y="",b=""]=Kl(f);Object.assign(r,{familyName:p,givenName:h,additionalNames:g,prefix:y,suffix:b});break}case"FN":s=ds(f);break;case"ORG":{let[p="",...h]=Kl(f);Object.assign(r,{organisation:p,department:h.join(" ")});break}case"TITLE":case"NOTE":r[d.name==="TITLE"?"title":"note"]=ds(f);break;case"TEL":o[J5(m)].push(f.replace(/^tel:/i,"").split(";")[0]);break;case"EMAIL":o.email?.push(f);break;case"URL":o.website?.push(f);break;case"ADR":{if(i)break;i=!0;let[,,p="",h="",g="",y="",b=""]=Kl(f);Object.assign(r,{street:p,locality:h,region:g,postcode:y,country:b}),r.addressType=m.some(x=>/home/i.test(x))?"home":"work";break}case"BDAY":r.birthday=$5(f);break;default:break}}let a=c=>r[c]??"",l={prefix:a("prefix"),givenName:a("givenName"),additionalNames:a("additionalNames"),familyName:a("familyName"),suffix:a("suffix"),formattedName:"",organisation:a("organisation"),department:a("department"),title:a("title"),mobile:o.mobile,workPhone:o.workPhone,homePhone:o.homePhone,fax:o.fax,otherPhone:o.otherPhone,email:o.email,website:o.website,street:a("street"),locality:a("locality"),region:a("region"),postcode:a("postcode"),country:a("country"),addressType:a("addressType")||"work",note:a("note"),birthday:a("birthday")};return{...l,formattedName:s===$m(l)?"":s}}var Li=e=>z(Bt,e,"text",{maxLength:100,group:"name"}),Oi=(e,t=!1)=>z(Bt,e,"tel",{multiple:!0,maxItems:10,group:"phones",...t?{advanced:t}:{}}),Di=e=>z(Bt,e,"text",{maxLength:100,group:"address"}),tx=ge({id:Bt,category:"contact",fields:[Li("prefix"),Li("givenName"),Li("additionalNames"),Li("familyName"),Li("suffix"),z(Bt,"formattedName","text",{maxLength:200,advanced:!0,hint:!0}),z(Bt,"organisation","text",{maxLength:200}),z(Bt,"department","text",{maxLength:200,advanced:!0}),z(Bt,"title","text",{maxLength:200}),Oi("mobile"),Oi("workPhone"),Oi("homePhone"),Oi("fax",!0),Oi("otherPhone",!0),z(Bt,"email","email",{multiple:!0,maxItems:10}),z(Bt,"website","url",{multiple:!0,maxItems:10}),Di("street"),Di("locality"),Di("region"),Di("postcode"),Di("country"),z(Bt,"addressType","select",{options:["work","home"],default:"work",group:"address"}),z(Bt,"note","multiline",{maxLength:1e3}),z(Bt,"birthday","date")],rules:Q5,write:W5,detect:e=>/^\uFEFF?BEGIN:VCARD[ \t]*(?:\r?\n|$)/i.test(e)?1:0,parse:e3,safety:e=>Ht(e,"website").flatMap(t=>en(t).findings)});var ji="whatsapp";function t3(e){let t=j(e,"message"),n=`https://wa.me/${Ar(j(e,"number"))}`;return t===""?n:`${n}?text=${encodeURIComponent(t)}`}function n3(e,t){let n=j(e,"number");return t("number")||n.startsWith("+")?[]:[P("payload.whatsapp.issue.international",["fields","number"])]}function nx(e){let t=/^https?:\/\/wa\.me\/(\d{3,15})\/?(?:\?(.*))?$/i.exec(e);if(t)return{digits:t[1],query:t[2]??""};let n=/^(?:https?:\/\/(?:api|web)\.whatsapp\.com\/send\/?|whatsapp:\/\/send\/?)\?(.*)$/i.exec(e);if(!n)return;let r=Ot(n[1],!0)??[],o=r.find(([a])=>a==="phone")?.[1]??"",s=Ar(o);if(s.length<3||s.length>15)return;let i=r.filter(([a])=>a==="text");return{digits:s,query:i.map(([,a])=>`text=${encodeURIComponent(a)}`).join("&")}}function r3(e){let t=nx(e);if(t===void 0)throw Q(ji,"not-whatsapp");let n=Ot(t.query,!0);if(n===void 0)throw Q(ji,"malformed-escape");let r=n.find(([o])=>o==="text")?.[1]??"";return{number:`+${t.digits}`,message:r}}var rx=ge({id:ji,category:"message",fields:[z(ji,"number","tel",{required:!0,hint:!0}),z(ji,"message","multiline",{maxLength:1e3})],compatibility:[{reader:"whatsapp",noteKey:"payload.whatsapp.compat.app"}],rules:n3,write:t3,detect:e=>nx(e)===void 0?0:.9,parse:r3,safety:()=>[{code:"payload/sends-message",severity:"note"}]});var hn="wifi",o3='\\;,:"',s3={nopass:"nopass",wep:"WEP",wpa:"WPA",sae:"SAE","wpa2-eap":"WPA2-EAP"},i3={NOPASS:"nopass","":"nopass",WEP:"wep",WPA:"wpa",WPA2:"wpa",SAE:"sae",WPA3:"sae","WPA2-EAP":"wpa2-eap"},a3=["peap","tls","ttls","pwd","sim","aka","aka-prime"],l3=["pap","mschap","mschapv2","gtc","sim","aka","aka-prime"];function ox(e){return e.toUpperCase().replace("-","_")}function sx(e){return new TextEncoder().encode(e).length}function c3(e,t){let n=["fields","password"];if(e==="nopass")return[];if(t==="")return[P("payload.wifi.issue.password-required",n)];if(e==="wep"){let r=(t.length===5||t.length===13)&&/^[\x20-\x7e]+$/.test(t),o=(t.length===10||t.length===26)&&/^[0-9A-Fa-f]+$/.test(t);return r||o?[]:[P("payload.wifi.issue.wep-key",n)]}if(e==="wpa"){if(t.length===64&&/^[0-9A-Fa-f]+$/.test(t))return[];if(!/^[\x20-\x7e]*$/.test(t))return[P("payload.wifi.issue.wpa-ascii",n)];if(t.length<8||t.length>63)return[P("payload.wifi.issue.wpa-length",n,"error",{length:t.length,min:8,max:63})]}return[]}function u3(e,t){let n=[],r=j(e,"ssid");!t("ssid")&&sx(r)>32&&n.push(P("payload.wifi.issue.ssid-too-long",["fields","ssid"],"error",{length:sx(r),max:32})),!t("ssid")&&/^[0-9A-Fa-f]+$/.test(r)&&n.push(P("payload.wifi.issue.hex-ssid",["fields","ssid"],"warning"));let o=j(e,"security");return!t("security")&&!t("password")&&n.push(...c3(o,j(e,"password"))),o==="wpa2-eap"?j(e,"eapMethod")===""&&n.push(P("payload.issue.required",["fields","eapMethod"])):["eapMethod","phase2","identity","anonymousIdentity"].some(s=>j(e,s)!=="")&&n.push(P("payload.wifi.issue.eap-ignored",["fields","eapMethod"],"warning")),o==="nopass"&&j(e,"password")!==""&&n.push(P("payload.wifi.issue.password-ignored",["fields","password"],"warning")),n}function d3(e){let t=j(e,"security"),n=o=>zl(o,o3),r=[`T:${s3[t]}`,`S:${n(j(e,"ssid"))}`];if(Ir(e,"hidden")&&r.push("H:true"),t==="wpa2-eap"){r.push(`E:${ox(j(e,"eapMethod"))}`);let o=j(e,"anonymousIdentity"),s=j(e,"identity"),i=j(e,"phase2");o!==""&&r.push(`A:${n(o)}`),s!==""&&r.push(`I:${n(s)}`),i!==""&&r.push(`PH2:${ox(i)}`)}return t!=="nopass"&&r.push(`P:${n(j(e,"password"))}`),`WIFI:${r.join(";")};;`}function ix(e){if(!/^WIFI:/i.test(e))throw Q(hn,"not-wifi");let t=new Map;for(let m of Pr(e.slice(5),";")){let f=m.indexOf(":");if(f<=0)continue;let p=m.slice(0,f).trim().toUpperCase();t.has(p)||t.set(p,Nn(m.slice(f+1)))}let n=t.get("S");if(n===void 0||n==="")throw Q(hn,"missing-ssid");let r=(t.get("T")??"").toUpperCase(),o=Number.parseInt(t.get("R")??"0",16),i=r==="WPA"&&Number.isInteger(o)&&(o&1)===1?"sae":i3[r]??r.toLowerCase(),a=i==="wpa2-eap",l=t.get("H"),c=l===void 0||/^(?:true|false)$/i.test(l),u=t.get("PH2")??(c?"":l),d=m=>m.toLowerCase().replace("_","-");return{ssid:n,security:i,password:i==="nopass"?"":t.get("P")??"",hidden:c&&l!==void 0&&l.toLowerCase()==="true",eapMethod:a?d(t.get("E")??""):"",phase2:a?d(u):"",identity:a?t.get("I")??"":"",anonymousIdentity:a?t.get("A")??"":""}}var ax=ge({id:hn,category:"network",compatibility:[{reader:"android",noteKey:"payload.wifi.compat.enterprise"}],fields:[z(hn,"ssid","text",{required:!0,hint:!0}),z(hn,"security","select",{required:!0,options:["wpa","sae","wep","nopass","wpa2-eap"],default:"wpa",hint:!0}),z(hn,"password","secret",{maxLength:256}),z(hn,"hidden","boolean",{default:!1,hint:!0}),z(hn,"eapMethod","select",{options:[...a3],advanced:!0,group:"eap"}),z(hn,"phase2","select",{options:[...l3],advanced:!0,group:"eap"}),z(hn,"identity","text",{maxLength:256,advanced:!0,group:"eap"}),z(hn,"anonymousIdentity","text",{maxLength:256,advanced:!0,group:"eap"})],rules:u3,write:d3,detect:e=>{try{return ix(e),1}catch{return 0}},parse:ix,safety:e=>j(e,"security")==="nopass"?[{code:"payload/open-wifi",severity:"caution"}]:[]});var _t="zatca",m3="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function f3(e){if(e.length%4!==0||!/^[A-Za-z0-9+/]*={0,2}$/.test(e))return;let t=e.endsWith("==")?2:e.endsWith("=")?1:0,n=new Uint8Array(e.length/4*3-t),r=0;for(let o=0;o<e.length;o+=4){let s=[0,1,2,3].map(a=>e[o+a]==="="?0:m3.indexOf(e[o+a])),i=s[0]<<18|s[1]<<12|s[2]<<6|s[3];for(let a of[16,8,0])r<n.length&&(n[r++]=i>>>a&255)}return n}function p3(e){let t=new Map,n=0;for(;n<e.length;){if(n+2>e.length)return;let r=e[n],o=e[n+1];if(n+2+o>e.length||t.has(r))return;t.set(r,e.subarray(n+2,n+2+o)),n+=2+o}return t}function lx(e){let t=f3(e.trim()),n=t&&t.length>0?p3(t):void 0;if(n===void 0||n.get(1)===void 0)throw Q(_t,"not-zatca");let r=new TextDecoder("utf-8",{fatal:!0}),o=[];for(let u of[1,2,3,4,5]){let d=n.get(u);if(d===void 0)throw Q(_t,"missing-tag");try{o.push(r.decode(d))}catch{throw Q(_t,"not-utf-8")}}let[s,i,a,l,c]=o;return{sellerName:s,vatNumber:i,timestamp:a,total:l,vatTotal:c,hasInvoiceHash:n.has(6),hasSignature:n.has(7),hasPublicKey:n.has(8),hasStampSignature:n.has(9)}}function h3(e){let t=[];/^3\d{13}3$/.test(j(e,"vatNumber"))||t.push(P("payload.zatca.issue.vat-number",["fields","vatNumber"],"warning")),/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:?\d{2})?$/.test(j(e,"timestamp"))||t.push(P("payload.zatca.issue.timestamp",["fields","timestamp"],"warning"));for(let n of["total","vatTotal"])/^\d+(?:\.\d+)?$/.test(j(e,n))||t.push(P("payload.zatca.issue.amount",["fields",n],"warning"));return Ir(e,"hasInvoiceHash")&&Ir(e,"hasSignature")&&Ir(e,"hasPublicKey")||t.push(P("payload.zatca.issue.phase-one",["fields"],"info")),t}var cx=ge({id:_t,category:"commerce",generate:!1,fields:[z(_t,"sellerName","text"),z(_t,"vatNumber","text"),z(_t,"timestamp","text"),z(_t,"total","text"),z(_t,"vatTotal","text"),z(_t,"hasInvoiceHash","boolean"),z(_t,"hasSignature","boolean"),z(_t,"hasPublicKey","boolean"),z(_t,"hasStampSignature","boolean")],rules:h3,write:()=>{throw new TypeError("Saudi e-invoice codes are read only here. A valid one is signed with the seller's own certificate, so it has to come from their invoicing system.")},detect:e=>{try{return lx(e),1}catch{return 0}},parse:lx});var y3=Object.freeze([ax,tx,S1,f1,Y0,M1,L1,rx,H1,N1,p1,y1,X0,v1,J0,z1,P1,G1,cx,w1,J1,fs]);function ux(){return new Mt("payload-type",y3)}function Jl(){return{symbologies:ns(),payloads:ux(),design:Ha()}}var ps=["L","M","Q","H"],Jm={kind:"solid",ink:"#000000"},dx={kind:"solid",ink:"#ffffff"};function mx(e,t){return Kr(e)===Kr(t)}function g3(e,t){let n=ps.indexOf(e),r=[...t].sort((o,s)=>ps.indexOf(o)-ps.indexOf(s));return r.find(o=>ps.indexOf(o)>=n)??r[r.length-1]}function b3(e){let t={};for(let n of["finder","sub-finder","corner-finder"]){let r=e.regions[n];r!==void 0&&(t[n]={outer:r.outer,inner:r.inner})}return{...e,background:dx,modules:{shape:e.modules.shape,paint:Jm,light:null},regions:t,logo:e.logo===null?null:{...e.logo,plate:e.logo.plate===null?null:{...e.logo.plate,paint:dx},...e.logo.source.kind==="icon"?{paint:Jm}:{}},frame:e.frame===null?null:{...e.frame,paint:Jm,...e.frame.text===void 0?{}:{text:{content:e.frame.text.content,fontId:e.frame.text.fontId}}}}}function Nr(e,t){let n=[];if(t===void 0)return{design:e,issues:n,overlay:null};let r=e;if(t.designLocked===!0){let o=cr(),{boostEc:s,ecLevel:i,symbology:a,...l}=e.symbol,c=a===o.symbol.symbology?l:l.segmentation===void 0?{}:{segmentation:l.segmentation},u={...o,symbol:{...o.symbol,...c},quietZone:Math.max(e.quietZone,o.quietZone),output:e.output,...e.name===void 0?{}:{name:e.name}};mx({...u,quietZone:0},{...e,quietZone:0})||n.push(P("design.issue.design-locked",[],"warning")),r=u}if(t.colours==="black-on-white"){let o=b3(r);mx(o,r)||n.push(P("design.issue.colours-constrained",[],"warning")),r=o}if(t.symbologies!==void 0&&t.symbologies.length>0&&!t.symbologies.includes(r.symbol.symbology)){let o=t.symbologies[0],{ecLevel:s,boostEc:i,segmentation:a}=r.symbol;r={...r,symbol:{symbology:o,...s===void 0?{}:{ecLevel:s},...i===void 0?{}:{boostEc:i},...a===void 0?{}:{segmentation:a}}},n.push(P("design.issue.symbology-constrained",["symbol","symbology"],"warning"))}if(t.ecLevels!==void 0&&t.ecLevels.length>0){let o=t.ecLevels,s=r.symbol.ecLevel??"M",i=o.includes(s)?s:g3(s,o);i!==r.symbol.ecLevel&&(r.symbol.ecLevel!==void 0&&n.push(P("design.issue.ec-level-constrained",["symbol","ecLevel"],"warning",{level:i})),r={...r,symbol:{...r.symbol,ecLevel:i}});let a=ps.slice(ps.indexOf(i));r.symbol.boostEc===!0&&!a.every(l=>o.includes(l))&&(r={...r,symbol:{...r.symbol,boostEc:!1}},n.push(P("design.issue.boost-constrained",["symbol","boostEc"],"warning")))}if(t.maxVersion!==void 0&&r.symbol.symbology==="qr"){let o=Number(t.maxVersion),s=r.symbol.maxVersion===void 0?void 0:Number(r.symbol.maxVersion);if(s===void 0||s>o){s!==void 0&&n.push(P("design.issue.version-constrained",["symbol","maxVersion"],"warning",{max:o}));let i=r.symbol.minVersion===void 0?void 0:Number(r.symbol.minVersion),a={...r.symbol,maxVersion:t.maxVersion};i!==void 0&&i>o&&(delete a.minVersion,n.push(P("design.issue.version-constrained",["symbol","minVersion"],"warning",{max:o}))),r={...r,symbol:a}}}return t.eci==="never"&&r.symbol.segmentation?.eci!=="never"&&(r.symbol.segmentation?.eci!==void 0&&n.push(P("design.issue.eci-constrained",["symbol","segmentation","eci"],"warning")),r={...r,symbol:{...r.symbol,segmentation:{...r.symbol.segmentation,eci:"never"}}}),t.sizeMm!==void 0&&(r.output.sizeMm!==t.sizeMm||r.output.sizeBasis!=="symbol")&&(r.output.sizeMm!==void 0&&n.push(P("design.issue.size-constrained",["output","sizeMm"],"warning",{size:t.sizeMm})),r={...r,output:{...r.output,sizeMm:t.sizeMm,sizeBasis:"symbol"}}),{design:r,issues:n,overlay:t.overlay==="swiss-cross"?"swiss-cross":null}}var x3=[1,0,-1,0],w3=[0,1,0,-1];function ef(e,t,n){if(!Number.isInteger(e)||e<0||!Number.isInteger(t)||t<0)throw new TypeError("traceGrid: width and height are whole numbers, zero or more.");if(typeof n!="function")throw new TypeError("traceGrid: dark is a function of x and y.");let r=new Uint8Array(e*t);for(let w=0;w<t;w+=1)for(let k=0;k<e;k+=1)n(k,w)&&(r[w*e+k]=1);let o=(w,k)=>w>=0&&k>=0&&w<e&&k<t&&r[k*e+w]===1,s=e+1,i=s*(t+1),a=new Uint8Array(i);for(let w=0;w<=t;w+=1)for(let k=0;k<e;k+=1){let S=o(k,w-1),E=o(k,w);E&&!S?a[w*s+k]|=1:S&&!E&&(a[w*s+k+1]|=4)}for(let w=0;w<=e;w+=1)for(let k=0;k<t;k+=1){let S=o(w-1,k),E=o(w,k);S&&!E?a[k*s+w]|=2:E&&!S&&(a[(k+1)*s+w]|=8)}let l=new Uint8Array(i),c=(w,k)=>{let S=a[w];return S&S-1?l[w]===1?(k+3)%4:(k+1)%4:31-Math.clz32(S)},u=(w,k)=>w+x3[k]+w3[k]*s,d=new Int32Array(i*4).fill(-1),m=0;for(let w=0;w<i;w+=1){let k=a[w];for(let S=0;S<4;S+=1){if(!(k&1<<S)||d[w*4+S]!==-1)continue;let E=w,R=S;do d[E*4+R]=m,E=u(E,R),R=c(E,R);while(E!==w||R!==S);m+=1}}let f=Int32Array.from({length:m},(w,k)=>k),p=w=>{let k=w;for(;f[k]!==k;)f[k]=f[f[k]],k=f[k];return k};for(let w=0;w<i;w+=1){let k=a[w];if(!(k&k-1))continue;let S=31-Math.clz32(k&-k),E=31-Math.clz32(k),R=p(d[w*4+S]),C=p(d[w*4+E]);R!==C&&(l[w]=1,f[R]=C)}let h=[],g=[],y=new Uint8Array(i*4),b=[],x=[];for(let w=0;w<i;w+=1){let k=a[w];for(let S=0;S<4;S+=1){if(!(k&1<<S)||y[w*4+S]===1)continue;b.length=0,x.length=0;let E=w,R=S;do y[E*4+R]=1,b.push(E),x.push(R),E=u(E,R),R=c(E,R);while(E!==w||R!==S);let C=b.length,A=!1;for(let O=0;O<C;O+=1){let D=x[(O+C-1)%C];if(x[O]===D)continue;let N=b[O];h.push(A?ni:ri),g.push(N%s,Math.floor(N/s)),A=!0}h.push(oi)}}return{commands:Uint8Array.from(h),points:Float64Array.from(g)}}var Lr=8;function ec(e,t,n){let r=Math.round(e);for((t-r)%2!==0&&(r+=r<e?1:-1);r>n;)r-=2;return r}function nf(e,t,n){return e<n.x+n.width&&e+1>n.x&&t<n.y+n.height&&t+1>n.y}function fx(e,t,n,r){let o=e<n?n-e:e>n+1?e-n-1:0,s=t<r?r-t:t>r+1?t-r-1:0;return Math.sqrt(o*o+s*s)}function k3(e,t,n){let r=Math.max(n.x-(e+1),e-(n.x+n.width),0),o=Math.max(n.y-(t+1),t-(n.y+n.height),0);return Math.sqrt(r*r+o*o)}function v3(e,t,n,r){if(e==="square")return{path:new ee().rect(t.x,t.y,t.width,t.height).build(),hits:(l,c)=>nf(l,c,t),box:t};if(e==="rounded"){let l=Math.min(t.width,t.height)*.2,c={x:t.x+l,y:t.y+l,width:t.width-2*l,height:t.height-2*l};return{path:new ee().roundedRect(t.x,t.y,t.width,t.height,l).build(),hits:(u,d)=>k3(u,d,c)<l,box:t}}let o=(t.width-n.width)/2,s=(r?Math.max(n.width,n.height)/2:Math.sqrt(n.width*n.width+n.height*n.height)/2)+o,i=n.x+n.width/2,a=n.y+n.height/2;return{path:new ee().circle(i,a,s).build(),hits:(l,c)=>fx(i,a,l,c)<s,box:{x:i-s,y:a-s,width:2*s,height:2*s}}}function S3(e,t,n){let r=e.width*Lr,o=e.height*Lr,s=new Uint8Array(r*o);if("path"in t){let u=new ee().transform([e.width*Lr,0,0,e.height*Lr,0,0]).append(t.path).build(),d=Tt({width:r,height:o,background:null,layers:[{kind:"path",path:u,paint:{kind:"solid",colour:{r:0,g:0,b:0,a:1}}}]},{width:r,height:o});for(let m=0;m<s.length;m+=1)s[m]=d.data[m*4+3]>=128?1:0}else{let{image:u,fit:d}=t;for(let m=0;m<o;m+=1)for(let f=0;f<r;f+=1){let p=e.x+(f+.5)/Lr,h=e.y+(m+.5)/Lr;if(p<d.x||h<d.y||p>=d.x+d.width||h>=d.y+d.height)continue;let g=Math.min(Math.floor((p-d.x)/d.width*u.width),u.width-1),y=Math.min(Math.floor((h-d.y)/d.height*u.height),u.height-1);u.data[(y*u.width+g)*4+3]>=128&&(s[m*r+f]=1)}}if(!n)return{cells:s,width:r,height:o};let i=new Uint8Array(r*o),a=[],l=(u,d)=>{let m=d*r+u;s[m]===1||i[m]===1||(i[m]=1,a.push(m))};for(let u=0;u<r;u+=1)l(u,0),l(u,o-1);for(let u=0;u<o;u+=1)l(0,u),l(r-1,u);for(;a.length>0;){let u=a.pop(),d=u%r,m=(u-d)/r;d>0&&l(d-1,m),d<r-1&&l(d+1,m),m>0&&l(d,m-1),m<o-1&&l(d,m+1)}let c=new Uint8Array(r*o);for(let u=0;u<c.length;u+=1)c[u]=i[u]===1?0:1;return{cells:c,width:r,height:o}}var M3=new Set([te.finder,te.separator,te.timing,te.format,te.version,te["dark-module"],te["sub-finder"],te["corner-finder"]]);function tf(e,t,n){return{removed:new Uint8Array(e*t),obscured:new Uint8Array(e*t),nodes:[],issues:n,box:null,padded:null}}function px(e,t){let{width:n,height:r,sx:o,sy:s}=t,i=[],a=e.logo;if(a===null)return tf(n,r,i);let l=null;if(a.source.kind==="icon"){let N=t.registries.icons.get(a.source.id);N===void 0?i.push(P("design.issue.unknown-entry",["logo","source","id"],"warning",{kind:"icon"})):l={path:N.path}}else{let N=e.assets?.[a.source.id]===void 0?void 0:t.assets?.(a.source.id);N===void 0?i.push(P("design.issue.asset-unavailable",["logo","source","id"],"warning")):l={image:N}}if(l===null)return tf(n,r,i);let c=Math.min(Math.max(a.size,he.logoSize.min),he.logoSize.max),u=Math.min(Math.max(a.padding,he.logoPadding.min),he.logoPadding.max),d="image"in l?l.image.width/l.image.height:1,m="path"in l,f=N=>{let T=ec(N,n,n-2),I=ec(T/d,r,r-2);if(m){let W=Math.min(T,I);T=ec(W,n,n-2),I=ec(W,r,r-2)}if(T<1||I<1)return null;let U={x:(n-T)/2,y:(r-I)/2,width:T,height:I},q={x:U.x-u,y:U.y-u,width:U.width+2*u,height:U.height+2*u},H=a.plate===null?null:v3(a.plate.shape,q,U,m);return{box:U,padded:q,plate:H}},p=N=>{let T=N.plate===null?N.padded:N.plate.box,I=Math.max(Math.floor(Math.min(T.x,N.padded.x)),0),U=Math.max(Math.floor(Math.min(T.y,N.padded.y)),0),q=Math.min(Math.ceil(Math.max(T.x+T.width,N.padded.x+N.padded.width)),n),H=Math.min(Math.ceil(Math.max(T.y+T.height,N.padded.y+N.padded.height)),r);for(let W=U;W<H;W+=1)for(let $=I;$<q;$+=1)if(M3.has(t.roles[W*n+$])&&(nf($,W,N.padded)||N.plate!==null&&N.plate.hits($,W)))return!0;return!1},h=c*n,g=f(h),y=!1;for(;g!==null&&p(g);)h=g.box.width-2,g=f(h),y=!0;if(g===null)return i.push(P("design.issue.logo-too-small",["logo","size"],"warning")),tf(n,r,i);y&&i.push(P("design.issue.logo-shrunk",["logo","size"],"info"));let{box:b,padded:x,plate:w}=g,k=b;if("image"in l){let N=Math.min(b.width/l.image.width,b.height/l.image.height),T=l.image.width*N,I=l.image.height*N;k={x:b.x+(b.width-T)/2,y:b.y+(b.height-I)/2,width:T,height:I}}let S=new Uint8Array(n*r),E=new Uint8Array(n*r),R=(N,T,I)=>{N<0||T<0||N>=n||T>=r||(E[T*n+N]=1,I&&(S[T*n+N]=1))},C=a.clear!=="none";if(w!==null){let N=w.box;for(let T=Math.floor(N.y);T<Math.ceil(N.y+N.height);T+=1)for(let I=Math.floor(N.x);I<Math.ceil(N.x+N.width);I+=1)w.hits(I,T)&&R(I,T,C)}if(a.clear==="box")for(let N=Math.floor(x.y);N<Math.ceil(x.y+x.height);N+=1)for(let T=Math.floor(x.x);T<Math.ceil(x.x+x.width);T+=1)nf(T,N,x)&&R(T,N,!0);else{let N=S3(b,"path"in l?l:{image:l.image,fit:k},a.clear==="shape"),T=a.clear==="shape"?u:0;for(let I=0;I<N.height;I+=1)for(let U=0;U<N.width;U+=1){if(N.cells[I*N.width+U]!==1)continue;let q=b.x+(U+.5)/Lr,H=b.y+(I+.5)/Lr,W=Math.floor(q-T),$=Math.floor(q+T),be=Math.floor(H-T),X=Math.floor(H+T);for(let ne=be;ne<=X;ne+=1)for(let me=W;me<=$;me+=1)(T===0||fx(q,H,me,ne)<T)&&R(me,ne,C)}}let A=[],O=N=>new ee().transform([1,0,0,1,o,s]).append(N).build(),D=N=>({x:N.x+o,y:N.y+s,width:N.width,height:N.height});if(w!==null&&a.plate!==null){let N=t.paint(a.plate.paint,["logo","plate","paint"]);A.push({kind:"path",path:O(w.path),paint:Et(N,D(w.box),t.registries.fills,t.prng.fork(1)),role:"logo-plate"})}if("path"in l){let N=new ee().transform([b.width,0,0,b.height,b.x+o,b.y+s]).append(l.path).build(),T=t.paint(a.paint??t.modulesPaint,["logo","paint"]);A.push({kind:"path",path:N,paint:Et(T,D(b),t.registries.fills,t.prng.fork(2)),role:"logo"})}else A.push({kind:"image",image:l.image,...D(k)});return{removed:S,obscured:E,nodes:A,issues:i,box:b,padded:x}}var E3=19.8,tc=.7+1.4357/2,hx=19.1-1.4357/2,rf=[8.3,4,11.6,4,11.6,7.9,15.4,7.9,15.4,11.2,11.6,11.2,11.6,15,8.3,15,8.3,11.2,4.4,11.2,4.4,7.9,8.3,7.9],T3=7/46;function yx(e,t,n,r){let o=e*T3,s=(e-o)/2,i=(t-o)/2,a=o/E3,l=n+s,c=r+i,u=new ee().rect(l+tc*a,c+tc*a,(hx-tc)*a,(hx-tc)*a),d=[];for(let f=rf.length-2;f>=0;f-=2)d.push(l+rf[f]*a,c+rf[f+1]*a);u.polygon(d);let m=new Uint8Array(e*t);for(let f=Math.floor(i);f<Math.ceil(i+o);f+=1)for(let p=Math.floor(s);p<Math.ceil(s+o);p+=1)m[f*e+p]=1;return{nodes:[{kind:"path",path:new ee().rect(l,c,o,o).build(),paint:{kind:"solid",colour:{r:255,g:255,b:255,a:1}},role:"swiss-cross"},{kind:"path",path:u.build(),paint:{kind:"solid",colour:{r:0,g:0,b:0,a:1}},role:"swiss-cross"}],obscured:m}}var of=16,R3=512,A3={kind:"solid",ink:"#000000"},gx={kind:"solid",ink:"#000000"},bx=_u,I3=Object.freeze({qr:"QR code",micro:"Micro QR code",rmqr:"Rectangular Micro QR code"}),wx=new Set([te.finder,te.separator,te["sub-finder"],te["corner-finder"]]),af=class{constructor(t){this.inner=t}used=!1;next(){return this.used=!0,this.inner.next()}int(t){return this.used=!0,this.inner.int(t)}fork(t){return this.used=!0,this.inner.fork(t)}},lf=class{constructor(t){this.registries=t}issues=[];params(t,n,r){if(n!=null&&typeof n=="object")for(let o of Object.keys(n)){let s=t.find(i=>i.key===o);(s===void 0||$s(s,n[o])!==null)&&this.issues.push(P("design.issue.param-ignored",[...r,"params",o],"warning"))}return mt(t,n)}paint(t,n,r=A3){return t.kind!=="entry"||this.registries.fills.has(t.ref.id)?t:(this.issues.push(P("design.issue.unknown-entry",[...n,"ref","id"],"warning",{kind:"fill"})),r)}};function xx(e){let t=Tt({width:1,height:1,background:null,layers:[{kind:"path",path:e,paint:{kind:"solid",colour:{r:0,g:0,b:0,a:1}}}]},{width:of}),n=0;for(let r=3;r<t.data.length;r+=4)n+=t.data[r];return n/255/(of*of)}function sf(e,t,n){let{cells:r,shape:o,params:s,masks:i,role:a}=e,{width:l,height:c,sx:u,sy:d}=t,m=n.registries.fills,f=new Map,p=Hu(e.paint,m)==="symbol"?Et(e.paint,t.symbolBox,m,e.paints):null;for(let E of r){let R=E%l,C=(E-R)/l,A=p??Et(e.paint,{x:u+R,y:d+C,width:1,height:1},m,e.paints.fork(E)),O=JSON.stringify(A),D=f.get(O);D===void 0&&(D={paint:A,cells:[]},f.set(O,D)),D.cells.push(E)}let h=o.fillsCell?.(s)===!0,g=new Map,y=new Map,b=0,x=0,w=0,k=Math.max(1,Math.ceil(r.length/R3)),S=[];for(let E of f.values()){let R;if(h){let C=new Uint8Array(l*c);for(let A of E.cells)C[A]=1;R=new ee().transform([1,0,0,1,u,d]).append(ef(l,c,(A,O)=>C[O*l+A]===1)).build(),b+=E.cells.length,x+=E.cells.length}else{let C=new ee;for(let A of E.cells){let O=i[A],D=g.get(O);if(D===void 0){let I=new af(e.prng.fork(A)),U=new ee;o.path({neighbours:O,params:s,prng:I},U),D=U.build(),I.used||g.set(O,D)}let N=A%l,T=(A-N)/l;if(C.transform([1,0,0,1,u+N,d+T]).append(D),!!e.measure)if(g.has(O)){let I=y.get(O);I===void 0&&(I=xx(D),y.set(O,I)),b+=I,x+=1}else w%k===0&&(b+=xx(D),x+=1),w+=1}R=C.build()}S.push({kind:"path",path:R,paint:E.paint,role:a})}return{nodes:S,ink:{sum:b,count:x}}}var P3=Object.freeze({outer:Object.freeze({id:"square"}),inner:Object.freeze({id:"square-centre"})});function C3(e,t,n){return Nh(ja(t+e.x,n+e.y),Ku(e.rotation/90,e.width/2,e.height/2))}function N3(e){let{width:t,height:n,roles:r}=e,o=(i,a)=>i>=0&&a>=0&&i<t&&a<n?r[a*t+i]:-1,s=[];for(let i=0;i+5<=n;i+=1)for(let a=0;a+5<=t;a+=1){if(o(a,i)!==te.alignment||o(a-1,i)===te.alignment||o(a,i-1)===te.alignment)continue;let l=!0;for(let c=0;c<5&&l;c+=1)for(let u=0;u<5;u+=1)if(o(a+u,i+c)!==te.alignment){l=!1;break}l&&s.push({role:"sub-finder",kind:"concentric-5",x:a,y:i,width:5,height:5,rotation:0})}return s}function tn(e,t,n){if(typeof n!="object"||n===null||typeof n.registries!="object")throw new TypeError("buildScene: context gives at least the design registries.");let r=n.seed??0;if(!Number.isInteger(r)||r<0||r>4294967295)throw new TypeError("buildScene: seed is an integer from 0 to 2^32 - 1.");let o=n.overlay??null;if(o!==null&&o!=="swiss-cross")throw new TypeError("buildScene: overlay is swiss-cross, or null for none.");let s=new lf(n.registries),{registries:i}=n,{issues:a}=s,{matrix:l,layout:c}=e,u=l.width,d=l.height,m=u*d,f=t.quietZone;(!Number.isInteger(f)||f<0||f>he.quietZone)&&(f=Oo[e.symbology]??4,a.push(P("design.issue.quiet-zone",["quietZone"],"warning")));let p=Wn(r),h={modules:p.fork(1),light:p.fork(2),paints:p.fork(3),regions:p.fork(4),frame:p.fork(5),logo:p.fork(6),caption:p.fork(7)},g=null,y=null,b=null,x=c.regions.some(ie=>ie.kind==="concentric-5");if(t.frame!==null&&x&&t.frame.ref.id!=="none")a.push(P("design.issue.frame-unsupported",["frame"],"warning"));else if(t.frame!==null){let ie=i.frames.get(t.frame.ref.id);if(ie===void 0)a.push(P("design.issue.unknown-entry",["frame","ref","id"],"warning",{kind:"frame"}));else{let Ce=s.params(ie.params,t.frame.ref.params,["frame","ref"]),qe={symbolSize:{width:u,height:d},quietZone:f,params:Ce},Wt=ie.layout({...qe,paint:{kind:"solid",colour:{r:0,g:0,b:0,a:1}}}),ce=s.paint(t.frame.paint??t.modules.paint,["frame","paint"]);b=Et(ce,{x:0,y:0,width:Wt.width,height:Wt.height},i.fills,h.frame),g=ie.layout({...qe,paint:b}),y=ie}}let w=g?.symbol.x??0,k=g?.symbol.y??0,S=w+f,E=k+f,R=g?.width??u+2*f,C=g?.height??d+2*f,A={x:w,y:k,width:u+2*f,height:d+2*f},O={width:u,height:d,sx:S,sy:E,symbolBox:{x:S,y:E,width:u,height:d}},D=new Uint8Array(m);for(let ie=0;ie<m;ie+=1)wx.has(c.roles[ie])&&(D[ie]=1);let N=N3(c);for(let ie of N)for(let Ce=0;Ce<5;Ce+=1)for(let qe=0;qe<5;qe+=1)D[(ie.y+Ce)*u+ie.x+qe]=1;let T=px(t,{width:u,height:d,roles:c.roles,sx:S,sy:E,registries:i,assets:n.assets,prng:h.logo,paint:(ie,Ce)=>s.paint(ie,Ce),modulesPaint:t.modules.paint});a.push(...T.issues);let I=new Uint8Array(m),U=[];for(let ie=0;ie<m;ie+=1)l.data[ie]===1&&D[ie]===0&&T.removed[ie]===0&&(I[ie]=1,U.push(ie));let q=(ie,Ce)=>{let qe=i.moduleShapes.get(ie.id);return qe===void 0?(a.push(P("design.issue.unknown-entry",[...Ce,"id"],"warning",{kind:"module-shape"})),{shape:bx,params:Object.freeze({})}):{shape:qe,params:s.params(qe.params,ie.params,Ce)}},H=[];g!==null&&H.push(...g.nodes);let W=null,$=t.background===null?null:s.paint(t.background,["background"],{kind:"solid",ink:"#ffffff"});if($!==null){let ie=Et($,A,i.fills,h.paints.fork(0));g===null?W=ie:H.push({kind:"path",path:new ee().rect(A.x,A.y,A.width,A.height).build(),paint:ie,role:"background"})}if(t.modules.light!==null){let ie=t.modules.light,Ce=new Uint8Array(m),qe=[],Wt=[];for(let se=0;se<m;se+=1)T.removed[se]!==1&&(D[se]===1?Wt.push(se):l.data[se]===0&&(Ce[se]=1,qe.push(se)));let{shape:ce,params:re}=q(ie.shape,["modules","light","shape"]),oe=s.paint(ie.paint,["modules","light","paint"],{kind:"solid",ink:"#ffffff"});H.push(...sf({cells:qe,shape:ce,params:re,masks:li(u,d,Ce),paint:oe,role:"light-modules",measure:!1,prng:h.light.fork(1),paints:h.paints.fork(2)},O,s).nodes,...sf({cells:Wt,shape:bx,params:Object.freeze({}),masks:new Uint8Array(m),paint:oe,role:"light-regions",measure:!1,prng:h.light.fork(2),paints:h.paints.fork(2)},O,s).nodes)}let be=q(t.modules.shape,["modules","shape"]),X=s.paint(t.modules.paint,["modules","paint"]),ne=sf({cells:U,shape:be.shape,params:be.params,masks:li(u,d,I),paint:X,role:"modules",measure:!0,prng:h.modules,paints:h.paints.fork(1)},O,s);H.push(...ne.nodes),H.push(...O3(e,N,t,O,s,h.regions,X,hr(be.shape))),H.push(...T.nodes);let me=T.obscured;if(o==="swiss-cross")if(e.symbology==="qr"){let ie=yx(u,d,S,E);H.push(...ie.nodes);for(let Ce=0;Ce<m;Ce+=1)me[Ce]=me[Ce]|ie.obscured[Ce]}else a.push(P("design.issue.overlay-unsupported",[],"warning",{overlay:o}));g?.over!==void 0&&H.push(...g.over);let fe=t.frame?.text;if(g!==null&&fe!==void 0&&fe.content.length>0){let ie=Iy({frame:y,layout:g,text:fe,fonts:n.fonts,registries:i,framePaint:b,background:$,paint:Ce=>{let qe=s.paint(Ce,["frame","text","paint"],gx);return qe===gx?null:qe},prng:h.caption});H.push(...ie.nodes),a.push(...ie.issues)}let ke=t.output.sizeMm,Oe=t.output.sizeBasis==="symbol"?u:R;return{scene:{width:R,height:C,...typeof ke=="number"&&Number.isFinite(ke)&&ke>0?{unitsPerMm:Oe/ke}:{},background:W,layers:H,title:typeof t.name=="string"&&t.name.length>0?t.name:I3[e.symbology]??"Code"},obscured:me,inkFraction:ne.ink.count===0?0:ne.ink.sum/ne.ink.count,issues:a}}function L3(e,t){let n=t.sx+e.x,r=t.sy+e.y,o=e.width;return new ee().rect(n,r,o,o).rect(n+o-1,r+1,-(o-2),o-2).build()}function O3(e,t,n,r,o,s,i,a){let{registries:l,issues:c}=o,{layout:u,matrix:d}=e,m=new Map,f=new Map,p=new Set,h=(k,S,E,R)=>{let C=JSON.stringify(S),A=k.get(C);A===void 0&&(A={paint:S,out:new ee,role:R},k.set(C,A)),A.out.append(E)},g=(k,S)=>{p.has(k)||(p.add(k),c.push(S))},y=(k,S,E)=>{let R=l.regionShapes.get(k.id);return R===void 0||R.part!==S?(g(`${E}.${S}.entry`,P("design.issue.unknown-entry",["regions",E,S,"id"],"warning",{kind:"region-shape"})),null):{shape:R,params:o.params(R.params,k.params,["regions",E,S])}},b=u.regions.filter(k=>k.kind==="concentric-7").length===1;[...u.regions.map(k=>({region:k,styleRole:k.role,alignment:!1})),...t.map(k=>({region:k,styleRole:"finder",alignment:!0}))].forEach(({region:k,styleRole:S,alignment:E},R)=>{let C=n.regions[S]??P3,A={x:r.sx+k.x,y:r.sy+k.y,width:k.width,height:k.height},O=(be,X,ne)=>{let me=o.paint(be??i,["regions",S,`${X}Paint`]),fe=Hu(me,l.fills);return Et(me,fe==="symbol"?r.symbolBox:A,l.fills,s.fork(R*2+ne))},D=C3(k,r.sx,r.sy),N=(be,X)=>{let ne=new ee;return be.path({kind:k.kind,params:X},ne),new ee().transform(D).append(ne.build()).build()},T=()=>{let be=(X,ne)=>{let me=k.x+X,ke=(k.y+ne)*r.width+me,Oe=u.roles[ke];return d.data[ke]===1&&(E?Oe===te.alignment:wx.has(Oe))&&Oe!==te.separator};return new ee().transform([1,0,0,1,A.x,A.y]).append(ef(k.width,k.height,be)).build()},I=y(C.outer,"outer",S),U=k.kind==="corner-l"?null:y(C.inner,"inner",S),q=I!==null&&I.shape.kinds.includes(k.kind),H=k.kind==="corner-l"||U!==null&&U.shape.kinds.includes(k.kind);if(I!==null&&!q&&!E&&g(`${S}.outer.${k.kind}`,P("design.issue.region-kind",["regions",S,"outer"],"info",{kind:k.kind})),U!==null&&!H&&!E&&g(`${S}.inner.${k.kind}`,P("design.issue.region-kind",["regions",S,"inner"],"info",{kind:k.kind})),I===null||U===null&&k.kind!=="corner-l"||!q||!H){h(m,O(C.outerPaint,"outer",0),T(),"region-outer");return}let W=I.shape.id!=="square"||k.kind==="concentric-5"&&U!==null&&U.shape.id!=="square-centre";if(b&&!E&&W&&g(`${S}.corners`,P("design.issue.region-corners",["regions",S],"info")),b&&k.kind!=="concentric-7"){h(m,O(C.outerPaint,"outer",0),T(),"region-outer");return}if(h(m,O(C.outerPaint,"outer",0),b?L3(k,r):N(I.shape,I.params),"region-outer"),k.kind==="corner-l")return;let $=U;!E&&!yr(I.shape,I.params,$.shape,$.params,k.kind,a)&&g(`${S}.pair.${k.kind}`,P("design.issue.region-pair",["regions",S],"warning",{kind:k.kind})),h(f,O(C.innerPaint,"inner",1),N($.shape,$.params),"region-inner")});let w=[];for(let k of[...m.values(),...f.values()])w.push({kind:"path",path:k.out.build(),paint:k.paint,role:k.role});return w}function kx(e,t){try{let n=e.detect(t);return Number.isFinite(n)?Math.min(Math.max(n,0),1):0}catch{return 0}}function nc(e,t){let n;for(let o of t.list()){let s=kx(o,e);s>0&&(n===void 0||s>n.confidence)&&(n={type:o,confidence:s})}if(n!==void 0)return n;let r=t.get("text")??fs;return{type:r,confidence:kx(r,e)}}function vx(e,t,n,r){let o=e-2*t+n;if(o===0)return;let s=(e-t)/o;s>0&&s<1&&r.push(s)}function Sx(e,t,n,r,o){let s=r-3*n+3*t-e,i=2*(n-2*t+e),a=t-e;if(s===0){if(i===0)return;let f=-a/i;f>0&&f<1&&o.push(f);return}let l=i*i-4*s*a;if(l<0)return;let c=Math.sqrt(l),u=-.5*(i+(i<0?-c:c));if(u===0)return;let d=u/s,m=a/u;d>0&&d<1&&o.push(d),m>0&&m<1&&o.push(m)}function Mx(e,t,n,r){let o=1-r;return o*o*e+2*o*r*t+r*r*n}function Ex(e,t,n,r,o){let s=1-o;return s*s*s*e+3*s*s*o*t+3*s*o*o*n+o*o*o*r}function hs(e){let t=1/0,n=1/0,r=-1/0,o=-1/0,s=0,i=0,a=!1,l=(u,d)=>{u<t&&(t=u),u>r&&(r=u),d<n&&(n=d),d>o&&(o=d)},c=[];return Vt(e,{move(u,d){l(u,d),s=u,i=d,a=!0},line(u,d){l(u,d),s=u,i=d},quad(u,d,m,f){c.length=0,vx(s,u,m,c),vx(i,d,f,c);for(let p of c)l(Mx(s,u,m,p),Mx(i,d,f,p));l(m,f),s=m,i=f},cubic(u,d,m,f,p,h){c.length=0,Sx(s,u,m,p,c),Sx(i,d,f,h,c);for(let g of c)l(Ex(s,u,m,p,g),Ex(i,d,f,h,g));l(p,h),s=p,i=h},close(){}},"bounds"),a?{x:t,y:n,width:r-t,height:o-n}:null}var D3=8,j3=1440,B3=1e150,F3=1/8;function ys(e,t){let{cx:n,cy:r}=e,o=e.stops[0].colour.a,s=e.stops.every(k=>k.colour.a===o),i=s?o:1,a=s?e.stops.map(k=>({offset:k.offset,colour:{...k.colour,a:1}})):e.stops,l=nd(a),c=a.map(k=>k.offset),u=[],d=c[0],m=c[c.length-1];d>0&&u.push([0,d,0]);for(let k=0;k+1<a.length;k+=1){let S=c[k],E=c[k+1];if(E===S)continue;let R=a[k].colour,C=a[k+1].colour,A=Math.max(Math.abs(R.r-C.r),Math.abs(R.g-C.g),Math.abs(R.b-C.b),Math.abs(R.a-C.a)*255);u.push([S,E,A])}m<1&&u.push([m,1,0]);let f=[],p=new Float64Array(4);for(let[k,S,E]of u){let R=S-k,C=Math.ceil(R*D3),A=Math.ceil(R*j3),O=Math.max(C,Math.min(A,Math.ceil(E)));for(let D=0;D<O;D+=1){let N=k+R*D/O,T=D+1===O?S:k+R*(D+1)/O;rd(l,(N+T)/2,p),f.push({from:N,to:T,r:Math.round(p[0]*255),g:Math.round(p[1]*255),b:Math.round(p[2]*255),a:Math.round(p[3]*1e4)/1e4})}}let h=0;for(let[k,S]of[[t.x,t.y],[t.x+t.width,t.y],[t.x,t.y+t.height],[t.x+t.width,t.y+t.height]])h=Math.max(h,Ae(k-n,S-r));let g=Math.min(2*(h+1),B3),y=od(e.angle),b=(k,S)=>{let E=y+k*La;S.push(n+g*Be(E),r+g*je(E))},x=[];for(let k of f){let S=x[x.length-1];S!==void 0&&z3(S.head,k)?(S.to=k.to,S.bounds.push(k.from)):x.push({from:k.from,to:k.to,head:k,bounds:[k.from]})}let w=[];for(let k=0;k<x.length;k+=1){let S=x[k],E=[n,r];for(let C of S.bounds)b(C,E);if(b(S.to,E),S.head.a===1){let C=S.to;for(let O=k+1;O<x.length;O+=1){let D=x[O];if(D.head.a!==1)break;C=D.to}let A=Math.min(C,S.to+F3);A>S.to&&b(A,E)}let R=U3(E,t);R.length>=6&&w.push({r:S.head.r,g:S.head.g,b:S.head.b,a:S.head.a,points:R})}return{opacity:i,fans:w}}function U3(e,t){let n=e.slice(),r=[[0,t.x,!0],[0,t.x+t.width,!1],[1,t.y,!0],[1,t.y+t.height,!1]];for(let[o,s,i]of r){let a=n;n=[];let l=a.length/2;for(let c=0;c<l;c+=1){let u=a[c*2],d=a[c*2+1],m=(c+1)%l,f=a[m*2],p=a[m*2+1],h=o===0?u:d,g=o===0?f:p,y=i?h>=s:h<=s,b=i?g>=s:g<=s;if(y&&n.push(u,d),y!==b){let x=(s-h)/(g-h);o===0?n.push(s,d+(p-d)*x):n.push(u+(f-u)*x,s)}}if(n.length===0)break}return n}function z3(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}function Bi(e,t){if(e!=="srgb"&&e!=="cmyk")throw new TypeError(`${t}: colour is 'srgb' or 'cmyk'.`);return e}function cf(e,t){let n=e.cmyk;if(n!==void 0){if(!Array.isArray(n)||n.length!==4)throw new TypeError(`${t}: a print value is four numbers, c, m, y and k.`);for(let r of n)if(typeof r!="number"||!(r>=0&&r<=1))throw new TypeError(`${t}: each part of a print value is a number from 0 to 1.`)}}function uo(e,t,n){if(e===t&&t===n)return[0,0,0,1-e/255];let r=e/255,o=t/255,s=n/255,i=1-Math.max(r,o,s),a=1-i;return[(1-r-i)/a,(1-o-i)/a,(1-s-i)/a,i]}function gs(e,t){return t==="srgb"?[e.r/255,e.g/255,e.b/255]:e.cmyk!==void 0?[...e.cmyk]:uo(e.r,e.g,e.b)}function ze(e,t=4){let r=Math.min(Math.max(e,-Zr),Zr).toFixed(t).replace(/\.?0+$/,"");return r==="-0"?"0":r}function Ie(e,t=4){return e.map(n=>ze(n,t)).join(" ")}function uf(e){if(/^[\x20-\x7e]*$/.test(e))return`(${e.replace(/[\\()]/g,n=>`\\${n}`)})`;let t="FEFF";for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r>=55296&&r<=56319){let o=e.charCodeAt(n+1);if(o>=56320&&o<=57343){t+=r.toString(16).padStart(4,"0")+o.toString(16).padStart(4,"0"),n+=1;continue}r=65533}else(r>=56320&&r<=57343||r<32||r===127)&&(r=65533);t+=r.toString(16).padStart(4,"0")}return`<${t.toUpperCase()}>`}var Tx=6;function rc(e,t,n=!1){let r=d=>n?[d.colour.a]:gs(d.colour,t),o=[],s=(d,m,f,p)=>{let h=ze(d,Tx),g=ze(m,Tx);h!==g&&o.push({from:h,to:g,c0:f,c1:p})},i=e[0],a=e[e.length-1];s(0,i.offset,r(i),r(i));for(let d=0;d+1<e.length;d+=1){let m=e[d],f=e[d+1];s(m.offset,f.offset,r(m),r(f))}s(a.offset,1,r(a),r(a));let l=d=>`<< /FunctionType 2 /Domain [0 1] /C0 [${Ie(d.c0)}] /C1 [${Ie(d.c1)}] /N 1 >>`;if(o.length===1)return l(o[0]);let c=o.slice(1).map(d=>d.from),u=o.map(()=>"0 1").join(" ");return`<< /FunctionType 3 /Domain [0 1] /Functions [${o.map(l).join(" ")}] /Bounds [${c.join(" ")}] /Encode [${u}] >>`}var V3={ExtGState:"GS",Shading:"Sh",XObject:"X"},q3=new TextEncoder,bs=class{constructor(t){this.context=t}lines=[];names={ExtGState:new Map,Shading:new Map,XObject:new Map};op(t){this.lines.push(t)}use(t,n){let r=this.names[t],o=r.get(n);return o===void 0&&(o=`/${V3[t]}${r.size}`,r.set(n,o)),o}resources(){let t="<<";for(let n of["ExtGState","Shading","XObject"]){let r=this.names[n];if(r.size!==0){t+=` /${n} <<`;for(let[o,s]of r)t+=` ${s} ${o} 0 R`;t+=" >>"}}return`${t} >>`}bytes(){return q3.encode(this.lines.join(`
161
+ `))}fill(t){let n=gs(t,this.context.space);this.op(`${Ie(n)} ${this.context.space==="srgb"?"rg":"k"}`)}alpha(t){if(t===1)return;this.context.transparency=!0;let n=this.context.doc.addShared(`<< /Type /ExtGState /ca ${ze(t)} >>`);this.op(`${this.use("ExtGState",n)} gs`)}path(t){let n=0,r=0,o=0,s=0,i=[];Vt(t,{move(a,l){i.push(`${ze(a)} ${ze(l)} m`),n=o=a,r=s=l},line(a,l){i.push(`${ze(a)} ${ze(l)} l`),o=a,s=l},quad(a,l,c,u){let d=o+(a-o)*2/3,m=s+(l-s)*2/3,f=c+(a-c)*2/3,p=u+(l-u)*2/3;i.push(`${Ie([d,m,f,p,c,u])} c`),o=c,s=u},cubic(a,l,c,u,d,m){i.push(`${Ie([a,l,c,u,d,m])} c`),o=d,s=m},close(){i.push("h"),o=n,s=r}},"sceneToPdf"),this.op(i.join(" "))}rect(t){this.op(`${Ie([t.x,t.y,t.width,t.height])} re`)}};function df(e,t){let n=Math.max(e.x,t.x),r=Math.max(e.y,t.y),o=Math.min(e.x+e.width,t.x+t.width),s=Math.min(e.y+e.height,t.y+t.height);return{x:n,y:r,width:Math.max(0,o-n),height:Math.max(0,s-r)}}function Ax(e,t,n,r){let o=new bs(e);return r(o),e.transparency=!0,e.doc.addStream(`/Type /XObject /Subtype /Form /BBox [${Ie([t.x,t.y,t.x+t.width,t.y+t.height])}] /Group << /Type /Group /S /Transparency /I true /CS ${n} >> /Resources ${o.resources()}`,o.bytes())}function sc(e){return e==="srgb"?"/DeviceRGB":"/DeviceCMYK"}function Rx(e,t,n){let r=n?"/DeviceGray":sc(t),o=rc(e.stops,t,n);return e.kind==="linear"?`<< /ShadingType 2 /ColorSpace ${r} /Coords [${Ie([e.x1,e.y1,e.x2,e.y2])}] /Function ${o} /Extend [true true] >>`:`<< /ShadingType 3 /ColorSpace ${r} /Coords [${Ie([e.cx,e.cy,0,e.cx,e.cy,e.r])}] /Function ${o} /Extend [true true] >>`}function mf(e,t,n,r){let{context:o}=e;if(n.kind==="solid"){let l=n.colour.a!==1;l&&e.op("q"),e.alpha(n.colour.a),e.fill(n.colour),e.path(t),e.op("f"),l&&e.op("Q");return}if(e.op("q"),e.path(t),e.op("W n"),n.kind==="conic"){let{opacity:l,fans:c}=ys(n,r),u=d=>{for(let m of c){let f=m.a!==1;f&&d.op("q"),d.alpha(m.a);let p=o.space==="srgb"?`${Ie([m.r/255,m.g/255,m.b/255])} rg`:`${Ie(uo(m.r,m.g,m.b))} k`,h=m.points,g=`${ze(h[0])} ${ze(h[1])} m`;for(let y=2;y<h.length;y+=2)g+=` ${ze(h[y])} ${ze(h[y+1])} l`;d.op(`${p} ${g} h f`),f&&d.op("Q")}};if(l===1)u(e);else{let d=Ax(o,r,sc(o.space),u);e.alpha(l),e.op(`${e.use("XObject",d)} Do`)}e.op("Q");return}let s=n.stops[0].colour.a;if(n.stops.every(l=>l.colour.a===s))e.alpha(s);else{let l=o.doc.add(Rx(n,o.space,!0)),c=new bs(o);c.op(`${c.use("Shading",l)} sh`);let u=o.doc.addStream(`/Type /XObject /Subtype /Form /BBox [${Ie([r.x,r.y,r.x+r.width,r.y+r.height])}] /Group << /Type /Group /S /Transparency /CS /DeviceGray >> /Resources ${c.resources()}`,c.bytes());o.transparency=!0;let d=o.doc.add(`<< /Type /ExtGState /SMask << /Type /Mask /S /Luminosity /G ${u} 0 R >> >>`);e.op(`${e.use("ExtGState",d)} gs`)}let a=o.doc.add(Rx(n,o.space,!1));e.op(`${e.use("Shading",a)} sh`),e.op("Q")}function H3(e,t){let n=e.images.get(t);if(n!==void 0)return n.translucent&&(e.transparency=!0),n.id;let{width:r,height:o,data:s}=t,i=r*o,a=new Uint8Array(i*3),l=new Uint8Array(i),c=!1;for(let p=0;p<i;p+=1){let h=s[p*4+3];l[p]=h,h!==255&&(c=!0),h!==0&&(a[p*3]=s[p*4],a[p*3+1]=s[p*4+1],a[p*3+2]=s[p*4+2])}for(let p=0;p<i;p+=1){if(l[p]!==0)continue;let h=p%r,g=(p-h)/r;for(let[y,b]of K3){let x=h+y,w=g+b;if(x<0||w<0||x>=r||w>=o)continue;let k=w*r+x;if(l[k]!==0){a.copyWithin(p*3,k*3,k*3+3);break}}}let u=a;if(e.space==="cmyk"){u=new Uint8Array(i*4);for(let p=0;p<i;p+=1){let h=uo(a[p*3],a[p*3+1],a[p*3+2]);for(let g=0;g<4;g+=1)u[p*4+g]=Math.round(h[g]*255)}}let d=`/Type /XObject /Subtype /Image /Width ${r} /Height ${o} /BitsPerComponent 8`,m="";c&&(e.transparency=!0,m=` /SMask ${e.doc.addStream(`${d} /ColorSpace /DeviceGray /Interpolate true`,l)} 0 R`);let f=e.doc.addStream(`${d} /ColorSpace ${sc(e.space)} /Interpolate true${m}`,u);return e.images.set(t,{id:f,translucent:c}),f}var K3=[[-1,0],[1,0],[0,-1],[0,1],[-1,-1],[1,-1],[-1,1],[1,1]];function oc(e,t,n){if(t.kind==="path"){let o=df(hs(t.path),n);mf(e,t.path,t.paint,o);return}if(t.kind==="image"){let o=H3(e.context,t.image);e.op("q"),t.clip!==null&&(e.path(t.clip),e.op("W n")),e.op(`${Ie([t.width,0,0,-t.height,t.x,t.y+t.height])} cm`),e.op(`${e.use("XObject",o)} Do`),e.op("Q");return}let r=t.clip!==null||t.opacity!==1;if(r&&e.op("q"),t.clip!==null&&(e.path(t.clip),e.op("W n")),t.opacity===1)for(let o of t.children)oc(e,o,n);else{let o=Ax(e.context,n,sc(e.context.space),s=>{for(let i of t.children)oc(s,i,n)});e.alpha(t.opacity),e.op(`${e.use("XObject",o)} Do`)}r&&e.op("Q")}var G3=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Dn=(e,t)=>e>>>t|e<<32-t;function Ix(e){let t=Math.ceil((e.length+9)/64),n=new Uint8Array(t*64);n.set(e),n[e.length]=128;let r=new DataView(n.buffer);r.setUint32(n.length-8,Math.floor(e.length/536870912)),r.setUint32(n.length-4,e.length*8>>>0);let o=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),s=new Uint32Array(64),i=new Uint32Array(8);for(let c=0;c<t;c+=1){for(let u=0;u<16;u+=1)s[u]=r.getUint32(c*64+u*4);for(let u=16;u<64;u+=1){let d=s[u-15],m=s[u-2],f=Dn(d,7)^Dn(d,18)^d>>>3,p=Dn(m,17)^Dn(m,19)^m>>>10;s[u]=s[u-16]+f+s[u-7]+p}i.set(o);for(let u=0;u<64;u+=1){let d=i[4],m=i[0],f=Dn(d,6)^Dn(d,11)^Dn(d,25),p=d&i[5]^~d&i[6],h=i[7]+f+p+G3[u]+s[u],g=Dn(m,2)^Dn(m,13)^Dn(m,22),y=m&i[1]^m&i[2]^i[1]&i[2];i.copyWithin(1,0,7),i[4]=i[4]+h,i[0]=h+g+y}for(let u=0;u<8;u+=1)o[u]=o[u]+i[u]}let a=new Uint8Array(32),l=new DataView(a.buffer);for(let c=0;c<8;c+=1)l.setUint32(c*4,o[c]);return a}var mo=new TextEncoder,ac="Hex Pro QR Code Studio",ic=class{bodies=[];shared=new Map;reserve(){return this.bodies.push(null),this.bodies.length}set(t,n){this.bodies[t-1]=mo.encode(n)}add(t){let n=this.reserve();return this.set(n,t),n}addShared(t){let n=this.shared.get(t);if(n!==void 0)return n;let r=this.add(t);return this.shared.set(t,r),r}stream(t,n,r){let o=No(r,{level:6}),s=mo.encode(`<< ${n}${n.length>0?" ":""}/Filter /FlateDecode /Length ${o.length} >>
162
+ stream
163
+ `),i=mo.encode(`
164
+ endstream`),a=new Uint8Array(s.length+o.length+i.length);a.set(s),a.set(o,s.length),a.set(i,s.length+o.length),this.bodies[t-1]=a}addStream(t,n){let r=this.reserve();return this.stream(r,t,n),r}finish(t,n){let r=[],o=0,s=h=>{r.push(h),o+=h.length};s(Uint8Array.from([...mo.encode(`%PDF-1.7
165
+ %`),226,227,207,211,10]));let i=[];this.bodies.forEach((h,g)=>{if(h===null)throw new Error(`PDF object ${g+1} was reserved and never written`);i.push(o),s(mo.encode(`${g+1} 0 obj
166
+ `)),s(h),s(mo.encode(`
167
+ endobj
168
+ `))});let a=new Uint8Array(o),l=0;for(let h of r)a.set(h,l),l+=h.length;let c=[...Ix(a).subarray(0,16)].map(h=>h.toString(16).padStart(2,"0")).join("").toUpperCase(),u=this.bodies.length+1,d=`xref
169
+ 0 ${u}
170
+ 0000000000 65535 f\r
171
+ `;for(let h of i)d+=`${String(h).padStart(10,"0")} 00000 n\r
172
+ `;let m=`trailer
173
+ << /Size ${u} /Root ${t} 0 R /Info ${n} 0 R /ID [<${c}> <${c}>] >>
174
+ startxref
175
+ ${o}
176
+ %%EOF
177
+ `,f=mo.encode(d+m),p=new Uint8Array(o+f.length);return p.set(a),p.set(f,o),p}};var fo=5,ff=3,cc=1e-6,_3=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/;function lc(e,t){if(typeof e!="number"||!Number.isFinite(e)||e<=0)throw new TypeError(`imposeSheet: the template's ${t} is a finite number more than zero.`);return e}function xs(e,t){if(typeof e!="number"||!Number.isFinite(e)||e<0)throw new TypeError(`imposeSheet: the template's ${t} is a finite number, zero or more.`);return e}function Px(e,t){if(!Number.isInteger(e)||e<1||e>1e3)throw new TypeError(`imposeSheet: the template's ${t} is a whole number from 1 to 1000.`);return e}function Ui(e){if(typeof e!="object"||e===null)throw new TypeError("imposeSheet: the template is an object.");if(typeof e.id!="string"||!_3.test(e.id))throw new TypeError("imposeSheet: the template's id is kebab-case.");if(typeof e.labelKey!="string")throw new TypeError("imposeSheet: the template's labelKey is a string.");let t=e.page??{},n=e.cell??{},r=e.origin??{},o=e.gap??{},s=lc(t.widthMm,"page width"),i=lc(t.heightMm,"page height"),a=Px(e.columns,"column count"),l=Px(e.rows,"row count"),c=lc(n.widthMm,"cell width"),u=lc(n.heightMm,"cell height"),d=xs(r.xMm,"origin x"),m=xs(r.yMm,"origin y"),f=xs(o.xMm,"gap x"),p=xs(o.yMm,"gap y");if(e.cornerRadiusMm!==void 0&&xs(e.cornerRadiusMm,"corner radius"),e.bleedMm!==void 0&&xs(e.bleedMm,"bleed"),e.cropMarks!==void 0&&typeof e.cropMarks!="boolean")throw new TypeError("imposeSheet: the template's cropMarks is true or false.");let h=d+a*c+(a-1)*f,g=m+l*u+(l-1)*p;if(h>s+cc||g>i+cc)throw new TypeError("imposeSheet: the template's grid does not fit on its page.")}function Fi(e,t,n){return{x:e.origin.xMm+t*(e.cell.widthMm+e.gap.xMm),y:e.origin.yMm+n*(e.cell.heightMm+e.gap.yMm)}}function Q3(e){let t=[],n=e.bleedMm??0,r=Math.max(ff,n),o=Fi(e,0,0),s=Fi(e,e.columns-1,e.rows-1),i=o.y-r,a=s.y+e.cell.heightMm+r,l=o.x-r,c=s.x+e.cell.widthMm+r;for(let d=0;d<e.columns;d+=1){let{x:m}=Fi(e,d,0);for(let f of[m,m+e.cell.widthMm])t.push({x1Mm:f,y1Mm:i-fo,x2Mm:f,y2Mm:i}),t.push({x1Mm:f,y1Mm:a,x2Mm:f,y2Mm:a+fo})}for(let d=0;d<e.rows;d+=1){let{y:m}=Fi(e,0,d);for(let f of[m,m+e.cell.heightMm])t.push({x1Mm:l-fo,y1Mm:f,x2Mm:l,y2Mm:f}),t.push({x1Mm:c,y1Mm:f,x2Mm:c+fo,y2Mm:f})}let u=new Set;return t.filter(d=>{let m=[d.x1Mm,d.y1Mm,d.x2Mm,d.y2Mm].map(f=>Math.round(f*1e6)).join(",");return u.has(m)?!1:(u.add(m),!0)})}function W3(e){let t=e.unitsPerMm;if(t===void 0)return null;if(typeof t!="number"||!Number.isFinite(t)||t<=0)throw new TypeError("imposeSheet: a scene's unitsPerMm is a finite number more than zero.");return{width:e.width/t,height:e.height/t}}function pf(e,t,n={}){if(!Array.isArray(e))throw new TypeError("imposeSheet: cells is a list of scenes.");if(Ui(t),typeof n!="object"||n===null)throw new TypeError("imposeSheet: options is an object.");let r=n.fit??"none";if(r!=="none"&&r!=="contain")throw new TypeError("imposeSheet: fit is 'none' or 'contain'.");let o=t.columns*t.rows,s=n.skip??0;if(!Number.isInteger(s)||s<0||s>=o)throw new TypeError("imposeSheet: skip is a whole number of cells, fewer than a page holds.");let i=t.bleedMm??0,a=t.cropMarks===!0?Q3(t):[],l=[],c=[];return e.forEach((u,d)=>{if(typeof u!="object"||u===null)throw new TypeError(`imposeSheet: cell ${d} is not a scene.`);if(typeof u.width!="number"||typeof u.height!="number"||!(u.width>0)||!(u.height>0)||!Number.isFinite(u.width)||!Number.isFinite(u.height))throw new TypeError(`imposeSheet: cell ${d} has no size.`);let m=d+s,f=Math.floor(m/o),p=m%o,h=p%t.columns,g=Math.floor(p/t.columns),y=Fi(t,h,g),b=W3(u);if(r==="contain"||b===null){if(r==="none")throw new TypeError(`imposeSheet: cell ${d} has no physical size. Give the scene unitsPerMm, or pass fit: 'contain'.`);let x=Math.min(t.cell.widthMm/u.width,t.cell.heightMm/u.height);b={width:u.width*x,height:u.height*x}}else(b.width>t.cell.widthMm+cc||b.height>t.cell.heightMm+cc)&&l.push(P("sheet.cell-too-small",["cells",d],"warning",{widthMm:Math.round(b.width*10)/10,heightMm:Math.round(b.height*10)/10}));for(;c.length<=f;)c.push({cells:[],marks:a});c[f].cells.push(Object.freeze({index:d,column:h,row:g,scene:u,xMm:y.x+(t.cell.widthMm-b.width)/2,yMm:y.y+(t.cell.heightMm-b.height)/2,widthMm:b.width,heightMm:b.height,bleedMm:i}))}),Object.freeze({template:t,pages:Object.freeze(c.map(u=>Object.freeze({cells:Object.freeze(u.cells),marks:u.marks}))),issues:Object.freeze(l)})}var Cx=Object.freeze({a4:Object.freeze({widthMm:210,heightMm:297}),letter:Object.freeze({widthMm:215.9,heightMm:279.4})});var zi=72/25.4,$n=5080,uc=50,X3=.25;function Lx(e,t){if(e.kind!=="none")if(e.kind==="solid")cf(e.colour,t);else for(let n of e.stops)cf(n.colour,t)}function Ox(e,t){if(e.kind==="path")Lx(e.paint,t);else if(e.kind==="group")for(let n of e.children)Ox(n,t)}function Vi(e,t){let n=Bo(e,t);return Lx(n.background,`${t}: background`),n.layers.forEach((r,o)=>Ox(r,`${t}: layer ${o}`)),n}function Y3(e,t){let{scene:n}=t,r=t.width/n.width,o=t.height/n.height,s=t.bleed/r,i=t.bleed/o,a={x:-s,y:-i,width:n.width+2*s,height:n.height+2*i};if(e.op("q"),e.op(`${Ie([r,0,0,-o],8)} ${Ie([t.left,t.top])} cm`),e.rect(a),e.op("W n"),n.background.kind!=="none"){let l=new ee().rect(a.x,a.y,a.width,a.height).build();mf(e,l,n.background,a)}for(let l of n.layers)oc(e,l,a);e.op("Q")}function Nx(e){return`[${Ie([e.x,e.y,e.x+e.width,e.y+e.height])}]`}function Dx(e,t,n){let r=new ic,o=r.reserve(),s=r.reserve(),i=r.reserve(),a=[],l=new Map;for(let c of e){let u={doc:r,space:t,transparency:!1,images:l},d=new bs(u);for(let p of c.placements)Y3(d,p);if(c.marks.length>0){d.op("q"),d.op(`${ze(X3)} w 0 J [] 0 d`),d.op(t==="srgb"?"0 0 0 RG":"1 1 1 1 K");for(let p of c.marks)d.op(`${Ie([p.x1,p.y1])} m ${Ie([p.x2,p.y2])} l S`);d.op("Q")}let m=r.addStream("",d.bytes()),f=u.transparency?` /Group << /Type /Group /S /Transparency /CS ${t==="srgb"?"/DeviceRGB":"/DeviceCMYK"} >>`:"";a.push(r.add(`<< /Type /Page /Parent ${s} 0 R /MediaBox [0 0 ${Ie([c.width,c.height])}] /TrimBox ${Nx(c.trim)} /BleedBox ${Nx(c.bleed)} /Resources ${d.resources()} /Contents ${m} 0 R${f} >>`))}return r.set(o,`<< /Type /Catalog /Pages ${s} 0 R >>`),r.set(s,`<< /Type /Pages /Kids [${a.map(c=>`${c} 0 R`).join(" ")}] /Count ${a.length} >>`),r.set(i,`<< ${n===null?"":`/Title ${uf(n)} `}/Producer ${uf(ac)} >>`),r.finish(o,i)}function ks(e,t,n,r){if(typeof e!="number"||!Number.isFinite(e)||e<0||!r&&e===0)throw new TypeError(`${n}: ${t} is a finite number${r?", zero or more":" more than zero"}.`);return e}function ws(e,t,n){if(typeof e!="number"||!Number.isFinite(e))throw new TypeError(`${n}: ${t} is a finite number.`);return e}function jx(e){throw new K("render/surface-too-large","That page is larger than a PDF can be. Choose a smaller size.",{maxMm:$n,where:e})}function Bx(e,t,n){if(e===void 0)return t;if(typeof e!="string")throw new TypeError(`${n}: title is a string.`);return e}function dc(e,t){let n="sceneToPdf";if(typeof t!="object"||t===null)throw new TypeError(`${n}: options gives at least the colour and the width.`);let r=Bi(t.colour,n),o=Vi(e,n),s=ks(t.widthMm,"widthMm",n,!1),i=t.heightMm===void 0?s*o.height/o.width:ks(t.heightMm,"heightMm",n,!1),a=ks(t.bleedMm??0,"bleedMm",n,!0);if(a>uc)throw new TypeError(`${n}: bleedMm is at most ${uc}.`);let l=t.cropMarks??!1;if(typeof l!="boolean")throw new TypeError(`${n}: cropMarks is true or false.`);let c=Bx(t.title,o.title,n),u=Math.max(ff,a),d=l?u+fo:a;(s+2*d>$n||i+2*d>$n)&&jx(n);let m=y=>y*zi,f={x:m(d),y:m(d),width:m(s),height:m(i)},p={width:m(s+2*d),height:m(i+2*d)},h={x:m(d-a),y:m(d-a),width:m(s+2*a),height:m(i+2*a)},g=[];if(l){let y=f.x,b=f.x+f.width,x=f.y,w=f.y+f.height,k=m(u),S=m(u+fo);for(let E of[y,b])for(let R of[x,w]){let C=E===y?-1:1,A=R===x?-1:1;g.push({x1:E+C*k,y1:R,x2:E+C*S,y2:R}),g.push({x1:E,y1:R+A*k,x2:E,y2:R+A*S})}}return Dx([{...p,trim:f,bleed:h,placements:[{scene:o,left:f.x,top:f.y+f.height,width:f.width,height:f.height,bleed:m(a)}],marks:g}],r,c)}function Fx(e,t){let n="sheetToPdf";if(typeof e!="object"||e===null||!Array.isArray(e.pages))throw new TypeError(`${n}: sheet is what imposeSheet returns.`);if(typeof t!="object"||t===null)throw new TypeError(`${n}: options gives at least the colour.`);let r=Bi(t.colour,n),o=Bx(t.title,null,n);Ui(e.template);let{widthMm:s,heightMm:i}=e.template.page;(s>$n||i>$n)&&jx(n);let a=d=>d*zi,l={x:0,y:0,width:a(s),height:a(i)},u=(e.pages.length===0?[{cells:[],marks:[]}]:e.pages).map((d,m)=>({width:l.width,height:l.height,trim:l,bleed:l,placements:d.cells.map((f,p)=>{let h=`${n}: page ${m} cell ${p}`,g=ks(f.bleedMm,"bleedMm",h,!0);if(g>uc)throw new TypeError(`${h}: bleedMm is at most ${uc}.`);return{scene:Vi(f.scene,h),left:a(ws(f.xMm,"xMm",h)),top:a(i-ws(f.yMm,"yMm",h)),width:a(ks(f.widthMm,"widthMm",h,!1)),height:a(ks(f.heightMm,"heightMm",h,!1)),bleed:a(g)}}),marks:d.marks.map((f,p)=>{let h=`${n}: page ${m} mark ${p}`;return{x1:a(ws(f.x1Mm,"x1Mm",h)),y1:a(i-ws(f.y1Mm,"y1Mm",h)),x2:a(ws(f.x2Mm,"x2Mm",h)),y2:a(i-ws(f.y2Mm,"y2Mm",h))}})}));return Dx(u,r,o)}var Ux=32768,Z3=76,zx=200;function Hx(e){return e.kind==="none"?!0:e.kind==="solid"?e.colour.a===1:e.stops.every(t=>t.colour.a===1)}function $3(e){for(let t=3;t<e.data.length;t+=4){let n=e.data[t];if(n!==0&&n!==255)return!1}return!0}function Kx(e,t,n){if(e.kind==="path"){Hx(e.paint)||n.push(P("render.eps.transparency",t));return}if(e.kind==="image"){$3(e.image)||n.push(P("render.eps.transparency",t));return}e.opacity!==1&&n.push(P("render.eps.transparency",t)),e.children.forEach((r,o)=>Kx(r,[...t,"children",o],n))}function qi(e){let t=Vi(e,"epsIssues"),n=[];return Hx(t.background)||n.push(P("render.eps.transparency",["background"])),t.layers.forEach((r,o)=>Kx(r,["layers",o],n)),n}function J3(e){let t="<~",n=2,r=o=>{n+o.length>Z3&&(t+=`
178
+ `,n=0),t+=o,n+=o.length};for(let o=0;o<e.length;o+=4){let s=Math.min(4,e.length-o),i=0;for(let l=0;l<4;l+=1)i=i*256+(l<s?e[o+l]:0);if(s===4&&i===0){r("z");continue}let a="";for(let l=0;l<5;l+=1)a=String.fromCharCode(33+i%85)+a,i=Math.floor(i/85);r(a.slice(0,s+1))}return r("~>"),t}function Vx(e,t){let n=No(t,{level:6}),r=[];for(let o=0;o<n.length;o+=Ux)r.push(J3(n.subarray(o,o+Ux)));return{define:`/${e}D [
179
+ ${r.join(`
180
+ `)}
181
+ ] def /${e}I 0 def`,source:`{ ${e}I ${e}D length lt { ${e}D ${e}I get /${e}I ${e}I 1 add def } { () } ifelse } /FlateDecode filter`}}var hf=class{constructor(t){this.space=t}lines=[];images=0;op(t){for(let n of t.split(`
182
+ `)){if(n.length<=zx){this.lines.push(n);continue}let r="";for(let o of n.split(" "))r.length>0&&r.length+1+o.length>zx?(this.lines.push(r),r=o):r=r.length===0?o:`${r} ${o}`;this.lines.push(r)}}colour(t){return`${Ie(gs(t,this.space))} ${this.space==="srgb"?"rg":"k"}`}path(t){let n=0,r=0,o=0,s=0,i=[];Vt(t,{move(a,l){i.push(`${ze(a)} ${ze(l)} m`),o=n=a,s=r=l},line(a,l){i.push(`${ze(a)} ${ze(l)} l`),n=a,r=l},quad(a,l,c,u){let d=[n+(a-n)*2/3,r+(l-r)*2/3,c+(a-c)*2/3,u+(l-u)*2/3];i.push(`${Ie([...d,c,u])} c`),n=c,r=u},cubic(a,l,c,u,d,m){i.push(`${Ie([a,l,c,u,d,m])} c`),n=d,r=m},close(){i.push("h"),n=o,r=s}},"sceneToEps"),this.op(i.join(" "))}fill(t,n,r){if(n.kind==="solid"){this.op(this.colour(n.colour)),this.path(t),this.op("f");return}if(this.op("q"),this.path(t),this.op("W"),n.kind==="conic")for(let o of ys(n,r).fans){let s=this.space==="srgb"?`${Ie([o.r/255,o.g/255,o.b/255])} rg`:`${Ie(uo(o.r,o.g,o.b))} k`,i=o.points,a=`${ze(i[0])} ${ze(i[1])} m`;for(let l=2;l<i.length;l+=2)a+=` ${ze(i[l])} ${ze(i[l+1])} l`;this.op(`${s} ${a} h f`)}else{let o=this.space==="srgb"?"/DeviceRGB":"/DeviceCMYK",s=n.kind==="linear"?`/ShadingType 2 /Coords [${Ie([n.x1,n.y1,n.x2,n.y2])}]`:`/ShadingType 3 /Coords [${Ie([n.cx,n.cy,0,n.cx,n.cy,n.r])}]`;this.op(`<< ${s} /ColorSpace ${o} /Function ${rc(n.stops,this.space)} /Extend [true true] >> shfill`)}this.op("Q")}image(t){let{image:n}=t,{width:r,height:o,data:s}=n,i=r*o,a=this.space==="srgb"?3:4,l=new Uint8Array(i*a),c=Math.ceil(r/8),u=new Uint8Array(c*o),d=!1;for(let b=0;b<i;b+=1){let x=s[b*4],w=s[b*4+1],k=s[b*4+2];if(this.space==="srgb"?l.set([x,w,k],b*3):l.set(uo(x,w,k).map(S=>Math.round(S*255)),b*4),s[b*4+3]===0){d=!0;let S=b%r,E=(b-S)/r;u[E*c+(S>>3)]=u[E*c+(S>>3)]|128>>(S&7)}}let m=`qrs${this.images}`;this.images+=1;let f=Vx(m,l);this.op("q"),t.clip!==null&&(this.path(t.clip),this.op("W")),this.op(`${Ie([t.x,t.y])} translate ${Ie([t.width,t.height])} scale`),this.op(f.define);let p=this.space==="srgb"?"[0 1 0 1 0 1]":"[0 1 0 1 0 1 0 1]",h=this.space==="srgb"?"/DeviceRGB":"/DeviceCMYK",g=`/Width ${r} /Height ${o} /ImageMatrix [${r} 0 0 ${o} 0 0]`,y=`<< /ImageType 1 ${g} /BitsPerComponent 8 /Decode ${p} /Interpolate true /DataSource ${f.source} >>`;if(this.op(`${h} setcolorspace`),!d)this.op(`${y} image`);else{let b=Vx(`${m}m`,u);this.op(b.define),this.op(`<< /ImageType 3 /InterleaveType 3 /DataDict ${y} /MaskDict << /ImageType 1 ${g} /BitsPerComponent 1 /Decode [0 1] /DataSource ${b.source} >> >> image`)}this.op("Q")}node(t,n){if(t.kind==="path"){this.fill(t.path,t.paint,df(hs(t.path),n));return}if(t.kind==="image"){this.image(t);return}if(t.clip===null){for(let r of t.children)this.node(r,n);return}this.op("q"),this.path(t.clip),this.op("W");for(let r of t.children)this.node(r,n);this.op("Q")}};function qx(e){return`(${e.replace(/[^\x20-\x7e]/g,"?").replace(/[\\()]/g,t=>`\\${t}`)})`}function mc(e,t){let n="sceneToEps";if(typeof t!="object"||t===null)throw new TypeError(`${n}: options gives the colour and the width.`);let r=Bi(t.colour,n),o=Vi(e,n),s=t.widthMm;if(typeof s!="number"||!Number.isFinite(s)||s<=0)throw new TypeError(`${n}: widthMm is a finite number more than zero.`);let i=s*o.height/o.width;if(s>$n||i>$n)throw new K("render/surface-too-large","That page is larger than a PDF can be. Choose a smaller size.",{maxMm:$n,where:n});let a=qi(e);if(a.length>0)throw new K("render/format-unavailable","EPS cannot carry transparency. Save this design as a PDF, or make every colour in it opaque.",{format:"eps",reason:"transparency",count:a.length});let l=s*zi,c=i*zi,u=new hf(r),d={x:0,y:0,width:o.width,height:o.height};u.op("qrs begin"),u.op("q"),u.op(`[${Ie([l/o.width,0,0,-c/o.height],8)} 0 ${ze(c)}] concat`),u.path(new ee().rect(0,0,o.width,o.height).build()),u.op("W"),o.background.kind!=="none"&&u.fill(new ee().rect(0,0,o.width,o.height).build(),o.background,d);for(let p of o.layers)u.node(p,d);u.op("Q"),u.op("end");let m=["%!PS-Adobe-3.0 EPSF-3.0",`%%BoundingBox: 0 0 ${Math.ceil(l-1e-9)} ${Math.ceil(c-1e-9)}`,`%%HiResBoundingBox: 0 0 ${ze(l)} ${ze(c)}`,...o.title===null?[]:[`%%Title: ${qx(o.title)}`],`%%Creator: ${qx(ac)}`,"%%LanguageLevel: 3","%%DocumentData: Clean7Bit","%%Pages: 1","%%EndComments","%%BeginProlog","/qrs 32 dict def qrs begin","/q /gsave load def /Q /grestore load def","/m /moveto load def /l /lineto load def /c /curveto load def /h /closepath load def","/f /fill load def /W { clip newpath } bind def","/rg /setrgbcolor load def /k /setcmykcolor load def","end","%%EndProlog","%%Page: 1 1"],f=["showpage","%%Trailer","%%EOF",""];return[...m,...u.lines,...f].join(`
183
+ `)}var Jn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function fc(e){let t=[],n="",r=e.length-e.length%3;for(let s=0;s<r;s+=3){let i=e[s]<<16|e[s+1]<<8|e[s+2];n+=Jn[i>>18]+Jn[i>>12&63]+Jn[i>>6&63]+Jn[i&63],n.length>=8192&&(t.push(n),n="")}let o=e.length-r;if(o===1){let s=e[r]<<16;n+=`${Jn[s>>18]}${Jn[s>>12&63]}==`}else if(o===2){let s=e[r]<<16|e[r+1]<<8;n+=`${Jn[s>>18]}${Jn[s>>12&63]}${Jn[s>>6&63]}=`}return t.push(n),t.join("")}var eN=/^[A-Za-z_][A-Za-z0-9_-]*$/,tN=4;function Ge(e){if(!Number.isFinite(e))throw new TypeError("formatNumber: not a finite number.");let t=e.toFixed(tN);return t.includes("e")?t:(t=t.replace(/\.?0+$/,""),t==="-0"?"0":t)}function _x(e){return/[&<>"']/.test(e)?e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"):e}function nN(e){let t="";for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r>=55296&&r<=56319){let s=e.charCodeAt(n+1);if(s>=56320&&s<=57343){t+=e[n]+e[n+1],n+=1;continue}t+="\uFFFD";continue}let o=r<32&&r!==9&&r!==10&&r!==13||r>=56320&&r<=57343||r===65534||r===65535;t+=o?"\uFFFD":e[n]}return t}function Qx(e){let t=[],n=Ge;return Vt(e,{move(r,o){t.push(`M${n(r)} ${n(o)}`)},line(r,o){t.push(`L${n(r)} ${n(o)}`)},quad(r,o,s,i){t.push(`Q${n(r)} ${n(o)} ${n(s)} ${n(i)}`)},cubic(r,o,s,i,a,l){t.push(`C${n(r)} ${n(o)} ${n(s)} ${n(i)} ${n(a)} ${n(l)}`)},close(){t.push("Z")}},"sceneToSvg"),t.join("")}var At=class{constructor(t,n,r){this.prefix=t;this.pretty=n;this.scene=r}body=[];defs=[];xlink=!1;count=0;nextId(){return this.count+=1,`${this.prefix}${this.count}`}line(t,n,r){t.push(this.pretty?`${" ".repeat(n)}${r}
184
+ `:r)}static tag(t,n,r){let o=`<${t}`;for(let[s,i]of n)o+=` ${s}="${_x(i)}"`;return o+(r?"/>":">")}};function gf(e,t){let n=mh({r:e.r,g:e.g,b:e.b,a:1}),r=[[t==="fill"?"fill":"stop-color",n]];return e.a!==1&&r.push([t==="fill"?"fill-opacity":"stop-opacity",Ge(e.a)]),r}function Gx(e,t,n){for(let r of t)e.line(e.defs,n,At.tag("stop",[["offset",Ge(r.offset)],...gf(r.colour,"stop")],!0))}function rN(e,t){if(t.kind==="solid")return gf(t.colour,"fill");if(t.kind==="linear"){let n=e.nextId();return e.line(e.defs,2,At.tag("linearGradient",[["id",n],["gradientUnits","userSpaceOnUse"],["x1",Ge(t.x1)],["y1",Ge(t.y1)],["x2",Ge(t.x2)],["y2",Ge(t.y2)]],!1)),Gx(e,t.stops,3),e.line(e.defs,2,"</linearGradient>"),[["fill",`url(#${n})`]]}{let n=e.nextId();return e.line(e.defs,2,At.tag("radialGradient",[["id",n],["gradientUnits","userSpaceOnUse"],["cx",Ge(t.cx)],["cy",Ge(t.cy)],["r",Ge(t.r)]],!1)),Gx(e,t.stops,3),e.line(e.defs,2,"</radialGradient>"),[["fill",`url(#${n})`]]}}function yf(e,t){let n=e.nextId();return e.line(e.defs,2,At.tag("clipPath",[["id",n]],!1)),e.line(e.defs,3,At.tag("path",[["d",Qx(t)]],!0)),e.line(e.defs,2,"</clipPath>"),["clip-path",`url(#${n})`]}function oN(e,t){let n=Math.max(e.x,t.x),r=Math.max(e.y,t.y),o=Math.min(e.x+e.width,t.x+t.width),s=Math.min(e.y+e.height,t.y+t.height);return{x:n,y:r,width:Math.max(0,o-n),height:Math.max(0,s-r)}}function Wx(e,t,n,r,o,s){if(n.kind!=="conic"){e.line(e.body,t,s(rN(e,n)));return}let{opacity:i,fans:a}=ys(n,o),l=[yf(e,r)];i!==1&&l.push(["opacity",Ge(i)]),e.line(e.body,t,At.tag("g",l,!1));for(let c of a){let{points:u}=c,d=`M${Ge(u[0])} ${Ge(u[1])}`;for(let m=2;m<u.length;m+=2)d+=`L${Ge(u[m])} ${Ge(u[m+1])}`;e.line(e.body,t+1,At.tag("path",[["d",`${d}Z`],...gf(c,"fill")],!0))}e.line(e.body,t,"</g>")}function Xx(e,t,n){if(t.kind==="path"){let o=Qx(t.path),s=oN(hs(t.path),e.scene);Wx(e,n,t.paint,t.path,s,i=>At.tag("path",[["d",o],...i],!0));return}if(t.kind==="group"){let o=[];t.opacity!==1&&o.push(["opacity",Ge(t.opacity)]),t.clip!==null&&o.push(yf(e,t.clip)),e.line(e.body,n,At.tag("g",o,!1));for(let s of t.children)Xx(e,s,n+1);e.line(e.body,n,"</g>");return}e.xlink=!0;let r=[["x",Ge(t.x)],["y",Ge(t.y)],["width",Ge(t.width)],["height",Ge(t.height)],["preserveAspectRatio","none"]];t.clip!==null&&r.push(yf(e,t.clip)),r.push(["xlink:href",`data:image/png;base64,${fc(Gn(t.image))}`]),e.line(e.body,n,At.tag("image",r,!0))}function yn(e,t={}){let n=t.idPrefix??"qrs-";if(typeof n!="string"||!eN.test(n))throw new TypeError("sceneToSvg: idPrefix starts with a letter or underscore and holds only letters, digits, underscores and hyphens.");let r=Bo(e,"sceneToSvg"),o=new At(n,t.pretty===!0,{x:0,y:0,width:r.width,height:r.height});if(r.background.kind!=="none"){let a=o.scene,l=new ee().rect(0,0,r.width,r.height).build(),c=[["width",Ge(r.width)],["height",Ge(r.height)]];Wx(o,1,r.background,l,a,u=>At.tag("rect",[...c,...u],!0))}for(let a of r.layers)Xx(o,a,1);let s=[["xmlns","http://www.w3.org/2000/svg"],...o.xlink?[["xmlns:xlink","http://www.w3.org/1999/xlink"]]:[],["viewBox",`0 0 ${Ge(r.width)} ${Ge(r.height)}`]];r.unitsPerMm!==null&&(s.push(["width",`${Ge(r.width/r.unitsPerMm)}mm`]),s.push(["height",`${Ge(r.height/r.unitsPerMm)}mm`])),s.push(["role","img"],["fill-rule","nonzero"],["clip-rule","nonzero"]);let i=[];return o.line(i,0,At.tag("svg",s,!1)),r.title!==null&&o.line(i,1,`<title>${_x(nN(r.title))}</title>`),o.defs.length>0&&(o.line(i,1,"<defs>"),i.push(...o.defs),o.line(i,1,"</defs>")),i.push(...o.body),o.line(i,0,"</svg>"),i.join("")}var sN=Object.freeze({"unterminated-quote":"This file has a quoted cell that never ends, so it cannot be read. Check the row it starts on.","stray-quote":"This file has a quote mark in the middle of a cell. Save it again from your spreadsheet, or put the cell in quotes.","text-after-quote":"This file has text straight after the end of a quoted cell. Save it again from your spreadsheet.",empty:"This file has no rows in it."}),po=class extends K{reason;constructor(t,n){super("batch/malformed-csv",sN[t],{reason:t,row:n.row,column:n.column,line:n.line}),this.reason=t}},Hi=class extends K{constructor(t){super("platform/unavailable","This browser cannot read text in the encoding chosen for this file. Choose another, or save the file from your spreadsheet as CSV UTF-8.",{feature:"text-encoding",encoding:t})}},pc=class extends K{constructor(t){super("batch/too-many-rows","This file has more rows than this tool makes codes for in one go. Split it into smaller files.",{max:t})}},vs=class extends K{constructor(t){super("batch/unknown-column","This refers to a column the file does not have. Choose one of its columns.",t.part==="field"?{part:"field",field:t.field}:{part:"filename"})}};var ot={shortRow:"batch.csv.short-row",longRow:"batch.csv.long-row",duplicateHeader:"batch.csv.duplicate-header",fallbackEncoding:"batch.csv.fallback-encoding",utf16:"batch.csv.utf-16",oddLength:"batch.csv.odd-length",emptyRow:"batch.issue.empty-row",numberFormat:"batch.issue.number-format",filenameFallback:"batch.issue.filename-fallback",filenameCleaned:"batch.issue.filename-cleaned",filenameNumbered:"batch.issue.filename-numbered",epsFallback:"batch.issue.eps-fallback",failed:"batch.issue.failed",checkFailed:"batch.issue.check-failed",checkWarned:"batch.issue.check-warned",checkUnavailable:"batch.issue.check-unavailable"};var hc=Object.freeze(["windows-1252","shift_jis","gb18030","big5","euc-kr","windows-1251","windows-1256"]),bf="windows-1252";function iN(e){return hc.includes(e)}function yc(e,t){if(e===void 0)return bf;if(iN(e))return e;throw new TypeError(`${t} one of ${hc.join(", ")}.`)}var aN=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376],Yx=8192;function Zx(e){let t="";for(let n=0;n<e.length;n+=Yx)t+=String.fromCharCode(...e.slice(n,n+Yx));return t}function lN(e){let t=new Uint16Array(e.length);for(let n=0;n<e.length;n+=1){let r=e[n];t[n]=r>=128&&r<=159?aN[r-128]:r}return Zx(t)}function cN(e,t){let n=new Uint16Array(e.length>>1);for(let r=0;r<n.length;r+=1){let o=e[2*r],s=e[2*r+1];n[r]=t?o|s<<8:o<<8|s}return Zx(n)}function uN(e){try{return new TextDecoder("utf-8",{fatal:!0}).decode(e)}catch{return null}}function dN(e,t){let n;try{n=new TextDecoder(t)}catch{throw new Hi(t)}if(n.encoding!==t)throw new Hi(t);return n.decode(e)}function gc(e,t={}){if(!(e instanceof Uint8Array))throw new TypeError("decodeCsvBytes: bytes is a Uint8Array.");if(typeof t!="object"||t===null)throw new TypeError("decodeCsvBytes: options is an object.");let n=yc(t.fallback,"decodeCsvBytes: fallback is"),r=[],o=e[0],s=e[1];if(o===255&&s===254||o===254&&s===255){let u=o===255;return r.push(P(ot.utf16,[],"info")),e.length%2===1&&r.push(P(ot.oddLength,[],"warning")),{text:cN(e.subarray(2),u),encoding:u?"utf-16le":"utf-16be",issues:r}}let i=uN(e);if(i!==null)return{text:i,encoding:"utf-8",issues:r};let a=o===239&&s===187&&e[2]===191?3:0,l=e.subarray(a),c=n==="windows-1252"?lN(l):dN(l,n);return r.push(P(ot.fallbackEncoding,[],"warning",{encoding:n})),{text:c,encoding:n,issues:r}}var mN=1e4,$x=65e3,bc=34,Or=13,jn=10,fN=65279,xf=[",",";"," "],pN=20,hN=65536;function yN(e,t){let n=Math.min(e.length,t+hN),r=[],o=[0,0,0],s=!1,i=!0;for(let d=t;d<n;d+=1){let m=e.charCodeAt(d);if(m===bc){s=!s,i=!1;continue}if(s)continue;if(m===Or||m===jn){if(m===Or&&e.charCodeAt(d+1)===jn&&(d+=1),i||r.push(o),o=[0,0,0],i=!0,r.length===pN)break;continue}i=!1;let f=m===44?0:m===59?1:m===9?2:-1;f>=0&&(o[f]=o[f]+1)}if(i||(n===e.length&&!s||r.length===0)&&r.push(o),r.length===0)return",";let a=null,l=0;for(let d of[2,1,0]){let m=r[0][d];m===0||!r.every(f=>f[d]===m)||m>l&&(a=xf[d],l=m)}if(a!==null)return a;let c=r[0],u=0;for(let d of[2,1,0])c[d]>c[u]&&(u=d);return xf[u]}function gN(e,t){if(e.slice(t,t+4).toLowerCase()!=="sep=")return null;let n=e[t+4];if(n!==","&&n!==";"&&n!==" ")return null;let r=t+5;if(r===e.length)return{delimiter:n,next:r};let o=e.charCodeAt(r);return o===jn?{delimiter:n,next:r+1}:o===Or?{delimiter:n,next:e.charCodeAt(r+1)===jn?r+2:r+1}:null}function bN(e){if(typeof e!="object"||e===null)throw new TypeError("parseCsv: options is an object.");let t=e.delimiter??"auto";if(t!=="auto"&&!xf.includes(t))throw new TypeError("parseCsv: delimiter is ',', ';', a tab or 'auto'.");let n=e.maxRows??mN;if(!Number.isInteger(n)||n<1||n>$x)throw new TypeError(`parseCsv: maxRows is a whole number from 1 to ${$x}.`);return{delimiter:t,max:n}}function xc(e){return e.trim().toLowerCase()}function wc(e,t={}){if(typeof e!="string")throw new TypeError("parseCsv: text is a string.");let n=bN(t),r=e.charCodeAt(0)===fN?1:0,o=1,s=gN(e,r);s!==null&&(r=s.next,o=2);let i=n.delimiter!=="auto"?n.delimiter:s?.delimiter??yN(e,r),a=i.charCodeAt(0),l=e.length,c=null,u=[],d=[],m=[],f=[],p=0,h=(g,y,b)=>{let x=c.length,w=u.length;if(b)g=new Array(x).fill("");else if(g.length<x)for(m.push(P(ot.shortRow,["rows",w],"warning",{row:y,cells:g.length,expected:x}));g.length<x;)g.push("");else g.length>x&&(g.slice(x).some(k=>k!=="")&&m.push(P(ot.longRow,["rows",w],"warning",{row:y,cells:g.length,expected:x})),g.length=x);if(u.push(Object.freeze(g)),d.push(y),u.length>n.max)throw new pc(n.max)};for(;r<l;){let g=e.charCodeAt(r);if(g===jn||g===Or){p+=1,o+=1,r+=g===Or&&e.charCodeAt(r+1)===jn?2:1;continue}p+=1;let y=[];for(;;){let b=y.length+1;if(r<l&&e.charCodeAt(r)===bc){let w={row:p,column:b,line:o};r+=1;let k="";for(;;){let S=e.indexOf('"',r);if(S===-1)throw new po("unterminated-quote",w);let E=e.slice(r,S);if(E.includes("\r")||E.includes(`
185
+ `)){let R=E.replace(/\r\n?/g,`
186
+ `);for(let C=0;C<R.length;C+=1)R.charCodeAt(C)===jn&&(o+=1);k+=R}else k+=E;if(e.charCodeAt(S+1)===bc){k+='"',r=S+2;continue}r=S+1;break}if(r<l){let S=e.charCodeAt(r);if(S!==a&&S!==Or&&S!==jn)throw new po("text-after-quote",{row:p,column:b,line:o})}y.push(k)}else{let w=r;for(;w<l;){let k=e.charCodeAt(w);if(k===a||k===Or||k===jn)break;if(k===bc)throw new po("stray-quote",{row:p,column:b,line:o});w+=1}y.push(e.slice(r,w)),r=w}if(r>=l)break;let x=e.charCodeAt(r);if(x===a){r+=1;continue}r+=x===Or&&e.charCodeAt(r+1)===jn?2:1,o+=1;break}if(c===null){for(;y.length>1&&y[y.length-1]==="";)y.pop();c=y;let b=new Map;c.forEach((x,w)=>{if(x==="")return;let k=xc(x);b.has(k)?m.push(P(ot.duplicateHeader,["headers",w],"warning",{column:w+1,first:b.get(k)+1})):b.set(k,w)});continue}if(y.every(b=>b==="")){f.push(p);continue}for(let b of f)h([],b,!0);f.length=0,h(y,p,!1)}if(c===null)throw new po("empty",{row:1,column:1,line:o});return Object.freeze({headers:Object.freeze(c),rows:Object.freeze(u),delimiter:i,rowNumbers:Object.freeze(d),issues:Object.freeze(m)})}var xN=/\.(?:svg|png|pdf|eps)$/i;function wN(e){return e<=8||e>=14&&e<=31?!0:e>=127&&e<=159?e!==133:e===173||e===1564||e===8203||e===8206||e===8207||e>=8234&&e<=8238||e===8288||e>=8294&&e<=8297||e===65279}function kN(e){let t="";for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r>=55296&&r<=56319){let o=e.charCodeAt(n+1);o>=56320&&o<=57343&&(t+=e.slice(n,n+2),n+=1);continue}r>=56320&&r<=57343||wN(r)||(t+=e[n])}return t}var vN=/[\s\u0085]+/g,SN=/[<>:"/\\|?*]/g,MN=/^(?:con|prn|aux|nul|conin\$|conout\$|com[0-9\u00b9\u00b2\u00b3]|lpt[0-9\u00b9\u00b2\u00b3])$/i;function EN(e){let t=0;for(let n of e){let r=n.codePointAt(0);t+=r<128?1:r<2048?2:r<65536?3:4}return t}function Jx(e,t){if(EN(e)<=t)return e;let n="",r=0;for(let o of e){let s=o.codePointAt(0),i=s<128?1:s<2048?2:s<65536?3:4;if(r+i>t)break;n+=o,r+=i}return n}function wf(e){let t=e;for(;;){let n=t.replace(xN,"").replace(/^[ .-]+/,"").replace(/[ .-]+$/,"");if(n===t)return t;t=n}}function TN(e){let t=e.indexOf(".");return MN.test((t===-1?e:e.slice(0,t)).trim())}function RN(e,t){let n=kN(e.normalize("NFC")).replace(vN," ").replace(SN,"-").replace(/-{2,}/g,"-").replace(/\.{2,}/g,".");return n=wf(n),TN(n)&&(n=`_${n}`),wf(Jx(n,t))}function Ki(e,t=120){if(typeof e!="string")throw new TypeError("sanitiseFilename: text is a string.");if(!Number.isInteger(t)||t<8||t>200)throw new TypeError("sanitiseFilename: max is a whole number of bytes from 8 to 200.");let n=e;for(;;){let r=RN(n,t);if(r===n)return n;n=r}}function kc(e){return e.toLowerCase()}function vc(e,t=120){let n=e.map(i=>i.name===""?i.fallback:i.name),r=new Set,o=new Map;n.forEach((i,a)=>{let l=kc(i);o.has(l)||o.set(l,a),r.add(l)});let s=new Map;return n.map((i,a)=>{let l=kc(i);if(o.get(l)===a)return{name:i,number:null};let c=m=>{let f=`-${m}`;return Ki(`${wf(Jx(i,t-f.length))}${f}`,t)},u=s.get(l)??2,d=c(u);for(;r.has(kc(d));)u+=1,d=c(u);return r.add(kc(d)),s.set(l,u+1),{name:d,number:u}})}function AN(e){let t=[],n="",r=0;for(;r<e.length;){let o=e[r];if((o==="{"||o==="}")&&e[r+1]===o){n+=o,r+=2;continue}if(o==="{"){let s=e.indexOf("}",r+1),i=s===-1?"":e.slice(r+1,s);if(i!==""&&!i.includes("{")){n!==""&&t.push({literal:n}),n="",t.push({column:i}),r=s+1;continue}}n+=o,r+=1}return n!==""&&t.push({literal:n}),t}function Ss(e,t){let n=e.indexOf(t);if(n!==-1)return n;let r=xc(t);return r===""?-1:e.findIndex(o=>xc(o)===r)}function kf(e,t){let n=[],r=[];for(let o of AN(e)){if("literal"in o){n.push(o);continue}let s=Ss(t,o.column);if(s===-1)return{missing:o.column};n.push({index:s}),r.push(s)}return{parts:n,columns:r}}var IN=/^[A-Za-z][A-Za-z0-9+.-]*:\/\//;function PN(e){for(let t=0;t<e.length;t+=1){let n=e.charCodeAt(t);if(n>=55296&&n<=56319){let r=e.charCodeAt(t+1);if(!(r>=56320&&r<=57343))return!0;t+=1}else if(n>=56320&&n<=57343)return!0}return!1}function vf(e,t,n){let r="";for(let o of e.parts){if("literal"in o){r+=o.literal;continue}let s=t[o.index]??"";r+=n&&IN.test(r)&&!PN(s)?encodeURIComponent(s):s}return r}var CN=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/,NN=/^[+-]?\d[\d.,'\s\u00a0\u202f]*$/,LN=new Set(["true","yes","y","1","on"]),ON=new Set(["false","no","n","0","off"]),DN=new Set(["text","multiline","secret"]),jN=new Set(["currency","country","bic"]),ew=new Set(["number","integer","amount","latitude","longitude"]);function Sc(e){return e.default!==void 0?e.default:e.multiple?[]:ew.has(e.kind)||e.kind==="boolean"?null:""}function BN(e,t){let n=e.kind==="email"||e.kind==="tel"?/[;,\r\n]+/:e.kind==="url"?/\s+/:/\r?\n/;return t.split(n).map(r=>r.trim()).filter(r=>r!=="")}function FN(e,t){if(e.multiple){let r=BN(e,t);return{value:r.length===0?Sc(e):r}}if(DN.has(e.kind))return{value:t===""?Sc(e):t};let n=t.trim();if(n==="")return{value:Sc(e)};if(ew.has(e.kind))return CN.test(n)?{value:Number(n)}:NN.test(n)?{value:Number.NaN,issue:P(ot.numberFormat,["fields",e.key])}:{value:Number.NaN};if(e.kind==="boolean"){let r=n.toLowerCase();return LN.has(r)?{value:!0}:ON.has(r)?{value:!1}:{value:n}}if(e.kind==="select"){let r=n.toLowerCase();return{value:e.options?.find(s=>s.value.toLowerCase()===r)?.value??n}}return jN.has(e.kind)?{value:n.toUpperCase()}:{value:n}}function UN(e){if(typeof e!="object"||e===null||!Array.isArray(e.headers)||!Array.isArray(e.rows)||!e.headers.every(t=>typeof t=="string"))throw new TypeError("planBatch: table is what parseCsv returns.");if(e.rows.forEach((t,n)=>{if(!Array.isArray(t)||!t.every(r=>typeof r=="string"))throw new TypeError(`planBatch: row ${n} is a list of strings.`)}),e.rowNumbers!==void 0&&(!Array.isArray(e.rowNumbers)||e.rowNumbers.length!==e.rows.length||!e.rowNumbers.every(t=>Number.isInteger(t)&&t>=2)))throw new TypeError("planBatch: table.rowNumbers gives a row number from 2 for every row.")}function zN(e){if(typeof e!="object"||e===null)return!1;let t=Object.keys(e);if(t.length!==1)return!1;let n=e;return t[0]==="column"&&typeof n.column=="string"||t[0]==="template"&&typeof n.template=="string"}function VN(e,t,n){if(typeof t.fields!="object"||t.fields===null)throw new TypeError("planBatch: mapping.fields is an object of field sources.");let r=[];for(let o of Object.keys(t.fields)){let s=e.fields.find(l=>l.key===o);if(s===void 0)throw new TypeError(`planBatch: this content type has no field called ${JSON.stringify(o)}.`);let i=t.fields[o];if(!zN(i))throw new TypeError(`planBatch: the source of field ${JSON.stringify(o)} is { column } or { template }.`);let a;if("column"in i){let l=Ss(n,i.column);if(l===-1)throw new vs({part:"field",field:o});a={parts:[{index:l}],columns:[l]}}else{let l=kf(i.template,n);if("missing"in l)throw new vs({part:"field",field:o});a=l}r.push({field:s,template:a})}return r.sort((o,s)=>e.fields.indexOf(o.field)-e.fields.indexOf(s.field))}function Mc(e,t,n){if(UN(e),typeof t!="object"||t===null||typeof t.typeId!="string")throw new TypeError("planBatch: mapping gives at least the content type.");if(typeof t.filename!="string")throw new TypeError("planBatch: mapping.filename is a template string.");if(typeof n!="object"||n===null||!n.payloads)throw new TypeError("planBatch: registries gives at least the content types.");let r=n.payloads.require(t.typeId);if(r.generate===!1)throw new TypeError("planBatch: this content type can be read but not made.");let o=VN(r,t,e.headers),s=kf(t.filename,e.headers);if("missing"in s)throw new vs({part:"filename"});let i=new Set(o.flatMap(u=>u.template.columns)),a=new Map;for(let u of e.issues??[]){if(u.path[0]!=="rows"||typeof u.path[1]!="number")continue;let d=a.get(u.path[1])??[];d.push(u),a.set(u.path[1],d)}let l=e.rows.map((u,d)=>{let m=e.rowNumbers?.[d]??d+2,f=[...a.get(d)??[]],p=null;if(i.size===0||[...i].every(y=>(u[y]??"")===""))f.push(P(ot.emptyRow,[],"warning"));else{let y={},b=new Set,x=[];for(let S of r.fields)y[S.key]=Sc(S);for(let{field:S,template:E}of o){let R=vf(E,u,S.kind==="url"&&!S.multiple),C=FN(S,R);y[S.key]=C.value,C.issue!==void 0&&(x.push(C.issue),b.add(S.key))}let w=r.validate(y).filter(S=>!b.has(S.path[1])),k=[...x,...w];f.push(...k),qn(k)||(p=r.build(y).text)}let h=vf(s,u,!1),g=Ki(h);return g===""?f.push(P(ot.filenameFallback,["filename"],"info")):g!==h.trim()&&f.push(P(ot.filenameCleaned,["filename"],"info")),{index:d,rowNumber:m,issues:f,content:p,name:g}}),c=vc(l.map(u=>({name:u.name,fallback:`qr-${u.rowNumber}`})));return Object.freeze(l.map((u,d)=>{let m=c[d];return m.number!==null&&u.issues.push(P(ot.filenameNumbered,["filename"],"info",{number:m.number})),Object.freeze({index:u.index,rowNumber:u.rowNumber,typeId:r.id,filename:m.name,content:u.content,issues:Object.freeze(u.issues)})}))}function qN(e,t){switch(e){case"numeric":return 10*Math.floor(t/3)+[0,4,7][t%3];case"alphanumeric":return 11*Math.floor(t/2)+6*(t%2);case"byte":return 8*t;case"kanji":return 13*t;default:throw new TypeError("that is not a mode")}}function Gi(e,t){let n=e.modeIndicator(t);if(n===void 0)throw new TypeError(`this bitstream profile has no ${t} indicator`);return n}function nw(e){let t;return e.map(n=>{if(!(n.eci===void 0||n.eci===t))return t=n.eci,n.eci})}function Bn(e,t){let n=0,r=nw(e);return e.forEach((o,s)=>{let i=r[s];i!==void 0&&(n+=t.modeIndicatorBits+ki(i)),n+=t.modeIndicatorBits+t.charCountBits(o.mode)+qN(o.mode,o.chars)}),n}function _i(e,t){let n=0;return e?.structuredAppend!==void 0&&(n+=t.modeIndicatorBits+16),e?.fnc1!==void 0&&(n+=t.modeIndicatorBits+(e.fnc1==="gs1"?0:8)),n}function Sf(e){return Number.isInteger(e)&&(e>=0&&e<=99||e>=165&&e<=190||e>=197&&e<=222)}function HN(e,t){let n=e.structuredAppend;if(n!==void 0){if(!t.structuredAppend)throw new TypeError("this bitstream profile has no structured append");let{index:o,total:s,parity:i}=n;if(!Number.isInteger(s)||s<1||s>16)throw new RangeError("a structured append set has 1 to 16 symbols");if(!Number.isInteger(o)||o<0||o>=s)throw new RangeError("a structured append index is 0 to one less than the total");if(!Number.isInteger(i)||i<0||i>255)throw new RangeError("a structured append parity is one byte")}let{fnc1:r}=e;if(r!==void 0){if(!t.fnc1)throw new TypeError("this bitstream profile has no FNC1");if(r!=="gs1"&&!Sf(r.applicationIndicator))throw new RangeError("an FNC1 application indicator is 00 to 99, or a letter plus 100")}}function KN(e,t){let{mode:n,chars:r,data:o}=e;if(!t.modes.includes(n))throw new TypeError(`this bitstream profile has no ${n} mode`);if(!Number.isInteger(r)||r<0||r>=1<<t.charCountBits(n))throw new RangeError(`a ${n} segment here holds 0 to ${(1<<t.charCountBits(n))-1} characters`);let s=n==="kanji"?r*2:r;if(o.length!==s)throw new RangeError(`a ${n} segment of ${r} characters has ${s} data bytes`);let i=n==="kanji"?2:1;for(let a=0;a<o.length;a+=i){let l=o[a];if(!(n==="numeric"?l>=48&&l<=57:n==="alphanumeric"?no(l)>=0:n==="kanji"?Ld(l<<8|o[a+1]):!0))throw new RangeError(`a ${n} segment holds a byte that mode cannot carry`)}}function GN(e,t){let{data:n}=e;switch(e.mode){case"numeric":{let r=0;for(;r+3<=n.length;r+=3)t.append((n[r]-48)*100+(n[r+1]-48)*10+(n[r+2]-48),10);n.length-r===2?t.append((n[r]-48)*10+(n[r+1]-48),7):n.length-r===1&&t.append(n[r]-48,4);return}case"alphanumeric":{let r=0;for(;r+2<=n.length;r+=2)t.append(no(n[r])*45+no(n[r+1]),11);r<n.length&&t.append(no(n[r]),6);return}case"byte":for(let r=0;r<n.length;r+=1)t.append(n[r],8);return;case"kanji":for(let r=0;r<n.length;r+=2){let o=n[r]<<8|n[r+1];t.append(lg(o),13)}return}}function tw(e,t,n){if(!t.eci)throw new TypeError("this bitstream profile has no ECI");n.append(Gi(t,"eci"),t.modeIndicatorBits),n.append(rg(e),ki(e))}function rw(e,t,n,r={}){HN(r,t);for(let c of e)KN(c,t);let o=nw(e),s=t.modeIndicatorBits,i=r.structuredAppend;i!==void 0&&(n.append(Gi(t,"structured-append"),s),n.append(i.index,4),n.append(i.total-1,4),n.append(i.parity,8));let a=o[0];a!==void 0&&tw(a,t,n);let{fnc1:l}=r;l==="gs1"?n.append(Gi(t,"fnc1-first"),s):l!==void 0&&(n.append(Gi(t,"fnc1-second"),s),n.append(l.applicationIndicator,8)),e.forEach((c,u)=>{let d=o[u];u>0&&d!==void 0&&tw(d,t,n),n.append(Gi(t,c.mode),s),n.append(c.chars,t.charCountBits(c.mode)),GN(c,n)})}var Wi=Object.freeze({kanji:"when-smaller",eci:"auto"}),Ec=["numeric","alphanumeric","byte","kanji"],Ef=0,ho=1,Qi=2,Ms=3;function ow(e,t){return new K("encode/unsupported-content",e==="mode"?"This code size cannot hold some of these characters. Choose a larger kind of code.":"This text has a broken character in it and cannot be put into a code as it is.",{reason:e,position:t})}function _N(e){return e<128?1:e<2048?2:e<65536?3:4}function QN(e,t=1/0){let n=[],r=e.length;for(let d=0;d<e.length;d+=1){if(n.length>=t){r=d;break}let m=e.charCodeAt(d);if(m>=55296&&m<=57343){let f=m<=56319?e.charCodeAt(d+1):NaN;if(!(f>=56320&&f<=57343))throw ow("lone-surrogate",n.length);n.push(65536+(m-55296<<10)+(f-56320)),d+=1}else n.push(m)}let o=n.length,s=new Int16Array(o),i=new Uint8Array(o),a=new Int32Array(o+1),l=new Int32Array(o).fill(-1),c=!1,u=!0;for(let d=0;d<o;d+=1){let m=n[d],f=_N(m);if(s[d]=m<128?m:-1,i[d]=f,a[d+1]=a[d]+f,m>=128){c=!0;let p=ag(m);p===void 0?u=!1:l[d]=p}}return{count:o,ascii:s,byteLength:i,byteStart:a,bytes:new TextEncoder().encode(r===e.length?e:e.slice(0,r)),kanji:l,wide:c,kanjiCovers:u}}function WN(e,t=1/0){let n=e.length>t?e.subarray(0,t):e,r=n.length,o=new Int16Array(r),s=new Int32Array(r+1);for(let i=0;i<r;i+=1){let a=n[i];o[i]=a<128?a:-1,s[i+1]=i+1}return{count:r,ascii:o,byteLength:new Uint8Array(r).fill(1),byteStart:s,bytes:Uint8Array.from(n),kanji:new Int32Array(r).fill(-1),wide:!1,kanjiCovers:!1}}function sw(e,t){return t&&e===29?1:e<0||no(e)<0?0:t&&e===37?2:1}var Mf=4,Dr=5,Tf=[Ef,ho,Qi,Ms,ho],Rf=8,Af=-1;function XN(e){return Math.min(...e.map(t=>Math.ceil(t/6)))}function YN(e,t,n,r,o=1/0){let s=e.count,i=Ec.map(u=>t.modes.includes(u));i[Ms]=i[Ms]===!0&&r;let a=Ec.map((u,d)=>i[d]?(t.modeIndicatorBits+t.charCountBits(u))*6:0),l=new Int8Array(s*Dr),c=new Array(Dr).fill(1/0);for(let u=0;u<s;u+=1){let d=e.ascii[u],m=[1/0,1/0,1/0,1/0];i[Ef]&&d>=48&&d<=57&&(m[Ef]=20);let f=i[ho]?sw(d,n):0;if(f>0&&(m[ho]=33*f),i[Qi]&&!(r&&d<0)&&(m[Qi]=48*e.byteLength[u]),i[Ms]&&e.kanji[u]>=0&&(m[Ms]=78),m.every(y=>y===1/0))throw ow("mode",u);let p=n&&d===29,h=n&&(d===29||d===37),g=new Array(Dr).fill(1/0);for(let y=0;y<4;y+=1){let b=m[y];if(b===1/0)continue;let x=y===ho&&p?Mf:y,w=1/0,k=Af;if(u===0)w=a[y]+b;else{for(let S=0;S<Dr;S+=1){if(Tf[S]!==y||S===Mf&&h)continue;let E=c[S]+b;E<w&&(w=E,k=S)}for(let S=0;S<Dr;S+=1){let E=c[S];if(E===1/0||Tf[S]===y&&S!==Mf)continue;let R=Math.ceil(E/6)*6+a[y]+b;R<w&&(w=R,k=S+Rf)}}g[x]=w,l[u*Dr+x]=k}if(XN(g)>o)return{from:l,cost:c,count:u};c=g}return{from:l,cost:c,count:s}}function If(e,t,n,r){let{from:o,cost:s,count:i}=YN(e,t,n,r),a=new Uint8Array(i),l=new Uint8Array(i);if(i===0)return{modes:a,starts:l};let c=0;for(let u=1;u<Dr;u+=1)Math.ceil(s[u]/6)<Math.ceil(s[c]/6)&&(c=u);for(let u=i-1;u>=0;u-=1){a[u]=Tf[c];let d=o[u*Dr+c];(d===Af||d>=Rf)&&(l[u]=1),d!==Af&&(c=d%Rf)}return{modes:a,starts:l}}function Pf(e,{modes:t,starts:n},r,o,s){let i=[],a=(c,u,d)=>{let m={mode:Ec[c],chars:d,data:Uint8Array.from(u),...s===void 0?{}:{eci:s}};i.push(Object.freeze(m))},l=0;for(;l<e.count;){let c=t[l],u=(1<<r.charCountBits(Ec[c]))-1,d=[],m=0,f=l;for(;f<e.count&&(f===l||n[f]===0);f+=1){let p=e.ascii[f],h=c===Qi?e.byteLength[f]:c===ho?sw(p,o):1;if(m>0&&m+h>u&&(a(c,d,m),d=[],m=0),m+=h,c===Qi){let g=e.byteStart[f+1];for(let y=e.byteStart[f];y<g;y+=1)d.push(e.bytes[y])}else if(c===Ms){let g=e.kanji[f];d.push(g>>>8,g&255)}else o&&p===29?d.push(37):o&&p===37&&c===ho?d.push(37,37):d.push(p)}a(c,d,m),l=f}return i}function ZN(e,t){if(e.eci==="utf-8"){if(!t.eci)throw new K("encode/unsupported-feature","This kind of code cannot say which character set it uses. Choose a QR code, or turn that option off.",{feature:"eci"});return eg}}function $N(e){if(!["never","when-smaller","always"].includes(e.kanji))throw new TypeError("the kanji policy is 'never', 'when-smaller' or 'always'");if(!["auto","never","utf-8"].includes(e.eci))throw new TypeError("the ECI policy is 'auto', 'never' or 'utf-8'")}function Tc(e,t,n=Wi,r={}){if(typeof e!="string")throw new TypeError("segmentText takes a string");$N(n);let o=r.fnc1===!0,s=ZN(n,t),i=QN(e),a=Pf(i,If(i,t,o,!1),t,o,s);if(!(n.kanji!=="never"&&i.wide&&i.kanjiCovers&&t.modes.includes("kanji")&&ig()))return a;let c=Pf(i,If(i,t,o,!0),t,o,s);return n.kanji==="always"||Bn(c,t)<Bn(a,t)?c:a}function iw(e,t,n={}){if(!(e instanceof Uint8Array))throw new TypeError("segmentBytes takes a Uint8Array");let r=n.fnc1===!0,o=WN(e);return Pf(o,If(o,t,r,!1),t,r,void 0)}var JN=[236,17];function aw(e,t,n,r){let o=new ul;rw(e,n,o,t);let s=r.dataBits;if(o.length>s)throw new RangeError(`${o.length} bits do not fit a symbol that holds ${s}`);for(o.append(0,Math.min(n.terminatorBits,s-o.length));o.length%8!==0&&o.length<s;)o.append(0,1);for(let i=0;s-o.length>=8;i+=1)o.append(JN[i%2],8);return o.length<s&&o.append(0,s-o.length),o.toBytes()}var eL=["L","M","Q","H"];function lw(e){return new K("encode/unsupported-feature",e==="fnc1"?"This kind of code cannot carry GS1 data. Choose a QR code.":"This kind of code cannot be split across several codes. Choose a QR code.",{feature:e})}function cw(e,t,n){if(typeof e!="object"||e===null)throw new TypeError("encode options are an object");let o=(t??ns()).require(e.symbology??"qr"),s=e.ecLevel??"M";if(!eL.includes(s))throw new TypeError("ecLevel is 'L', 'M', 'Q' or 'H'");if(e.boostEc!==void 0&&typeof e.boostEc!="boolean")throw new TypeError("boostEc is true or false");let i=e.rmqrPreference??"area";if(!["area","height","width"].includes(i))throw new TypeError("rmqrPreference is 'area', 'height' or 'width'");let{versions:a}=o,l=e.minVersion===void 0?0:a.indexOf(e.minVersion),c=e.maxVersion===void 0?a.length-1:a.indexOf(e.maxVersion);if(l<0||c<0)throw new TypeError(`that is not a version of ${o.id}`);if(l>c)throw new TypeError("minVersion is larger than maxVersion");let u=a.slice(l,c+1).filter(y=>o.ecLevels(y).includes(s));if(u.length===0)throw new TypeError("no allowed version offers that error correction level");let d=e.mask??"auto";if(d!=="auto"&&!u.every(y=>o.masks(y).includes(d)))throw new TypeError(`that mask is not one ${o.id} has at every allowed version`);let m={...Wi,...e.segmentation};if(!["never","when-smaller","always"].includes(m.kanji))throw new TypeError("segmentation.kanji is 'never', 'when-smaller' or 'always'");if(!["auto","never","utf-8"].includes(m.eci))throw new TypeError("segmentation.eci is 'auto', 'never' or 'utf-8'");let{fnc1:f}=e;if(f!==void 0&&f!=="gs1"&&(typeof f!="object"||f===null||!Sf(f.applicationIndicator)))throw new TypeError("fnc1 is 'gs1' or { applicationIndicator } with 00 to 99 or a letter plus 100");let p=u;if(f!==void 0&&(p=p.filter(y=>o.profile(y).fnc1),p.length===0))throw lw("fnc1");if(n.structuredAppend&&(p=p.filter(y=>o.profile(y).structuredAppend),p.length===0))throw lw("structured-append");let h=y=>{let{width:b,height:x}=o.size(y);return i==="height"?[x,b]:i==="width"?[b,x]:[b*x]},g=[...p].sort((y,b)=>{let x=h(y),w=h(b);for(let k=0;k<x.length;k+=1)if(x[k]!==w[k])return x[k]-w[k];return 0});return Object.freeze({entry:o,ecLevel:s,versions:Object.freeze(g),largest:p[p.length-1],policy:m,fnc1:f,mask:d,boostEc:e.boostEc===!0})}function tL(e){return e instanceof K&&e.code==="encode/unsupported-content"&&e.params.reason==="mode"}function uw(e,t){let n=new Map,r=t.fnc1!==void 0;return(o,s)=>{let i=n.get(o);i===void 0&&(i=new Map,n.set(o,i));let a=i.get(s);if(a===void 0){try{a=typeof e=="string"?Tc(e,o,{kanji:s,eci:t.policy.eci},{fnc1:r}):iw(e,o,{fnc1:r})}catch(l){if(!tL(l))throw l;a=l}i.set(s,a)}return a}}function nL(e,t,n){if(!e.boostEc)return e.ecLevel;let r=e.entry.ecLevels(t),o=e.ecLevel;for(let s=r.indexOf(o)+1;s<r.length;s+=1){let i=r[s];if(n>e.entry.blocks(t,i).dataBits)break;o=i}return o}function dw(e,t,n,r){let o=e.entry.profile(t),s=_i(r,o)+Bn(n,o),i=nL(e,t,s),a=aw(n,r,o,e.entry.blocks(t,i));return e.entry.build(a,t,i,e.mask)}function mw(e){if(typeof e!="string"&&!(e instanceof Uint8Array))throw new TypeError("encode takes a string or a Uint8Array")}function fw(e,t,n,r){let o;for(let l=0;l<e.versions.length;l+=1){let c=e.versions[l],u=e.entry.profile(c),d=t(u,n);if(!Array.isArray(d)){o??=d;continue}if(_i(r,u)+Bn(d,u)<=e.entry.blocks(c,e.ecLevel).dataBits)return{version:c,rank:l,segments:d}}let s=e.entry.profile(e.largest),i=t(s,n);return{bits:Array.isArray(i)?_i(r,s)+Bn(i,s):void 0,error:o}}function Fn(e,t={},n){mw(e);let r=cw(t,n,{structuredAppend:!1}),o=uw(e,r),s=r.fnc1===void 0?{}:{fnc1:r.fnc1},i=typeof e=="string"?r.policy.kanji:"never",a=i==="always"?void 0:fw(r,o,"never",s),l=i==="never"?void 0:fw(r,o,"always",s),c=[l,a].filter(f=>f!==void 0&&"rank"in f);c.sort((f,p)=>f.rank-p.rank);let u=c.length===2&&c[0]?.rank===c[1]?.rank?c[1]:c[0];if(u!==void 0)return dw(r,u.version,u.segments,s);let d=[a,l].filter(f=>f!==void 0),m=d.map(f=>f.bits).filter(f=>f!==void 0);throw m.length===0?d[0]?.error:new Gs(Math.min(...m),r.entry.blocks(r.largest,r.ecLevel).dataBits)}var rL=67108864;function Je(e){return new K("image/unreadable","This image is damaged, or is not a PNG this tool can read.",{reason:e})}var oL={0:[1,2,4,8,16],2:[8,16],3:[1,2,4,8],4:[8,16],6:[8,16]},sL={0:1,2:3,3:1,4:2,6:4},iL=[[0,0,8,8],[4,0,8,8],[0,4,4,8],[2,0,4,4],[0,2,2,4],[1,0,2,2],[0,1,1,2]];function Rc(e,t){return e[t]*16777216+(e[t+1]<<16|e[t+2]<<8|e[t+3])}function aL(e){let{width:t,height:n}=e;return e.interlaced?iL.map(([r,o,s,i])=>({x0:r,y0:o,dx:s,dy:i,width:Math.ceil((t-r)/s),height:Math.ceil((n-o)/i)})):[{x0:0,y0:0,dx:1,dy:1,width:t,height:n}]}function lL(e,t,n){let r=e+t-n,o=Math.abs(r-e),s=Math.abs(r-t),i=Math.abs(r-n);return o<=s&&o<=i?e:s<=i?t:n}function cL(e,t,n,r){let o=t.length;if(e!==0){if(e===1){for(let s=r;s<o;s+=1)t[s]=t[s]+t[s-r]&255;return}if(e===2){for(let s=0;s<o;s+=1)t[s]=t[s]+n[s]&255;return}if(e===3){for(let s=0;s<o;s+=1){let i=s>=r?t[s-r]:0;t[s]=t[s]+(i+n[s]>>1)&255}return}if(e===4){for(let s=0;s<o;s+=1){let i=s>=r?t[s-r]:0,a=s>=r?n[s-r]:0;t[s]=t[s]+lL(i,n[s],a)&255}return}throw Je("data")}}function yo(e,t,n){if(n===8)return e[t];if(n===16)return e[t*2]<<8|e[t*2+1];let r=8/n,o=e[Math.floor(t/r)],s=8-n*(t%r+1);return o>>s&(1<<n)-1}function Es(e,t){return t===8?e:Math.floor(e*255/((1<<t)-1)+.5)}function Ac(e,t={}){if(!(e instanceof Uint8Array))throw new TypeError("decodePng: bytes is a Uint8Array.");if(typeof t!="object"||t===null)throw new TypeError("decodePng: options is an object.");let n=t.maxPixels??rL;if(!Number.isInteger(n)||n<1)throw new TypeError("decodePng: maxPixels is a whole number, 1 or more.");return uL(e,n)}function pw(e,t){if(t+12>e.length)throw Je("truncated");let n=Rc(e,t);if(n>2147483647)throw Je("chunk");if(t+12+n>e.length)throw Je("truncated");let r=String.fromCharCode(e[t+4],e[t+5],e[t+6],e[t+7]);if(!/^[A-Za-z]{4}$/.test(r))throw Je("chunk");if(Io(e.subarray(t+4,t+8+n))!==Rc(e,t+8+n))throw Je("crc");return{type:r,body:e.subarray(t+8,t+8+n),next:t+12+n}}function uL(e,t){if(e.length<8)throw Je("signature");for(let b=0;b<8;b+=1)if(e[b]!==di[b])throw Je("signature");let n=pw(e,8);if(n.type!=="IHDR")throw Je("header");let r=dL(n.body);if(r.width*r.height>t)throw new K("image/too-large","This image has more pixels than this tool will open.",{width:r.width,height:r.height,maxPixels:t});let o=null,s=null,i=[],a=0,l=!1,c=n.next;for(;;){let{type:b,body:x,next:w}=pw(e,c);if(c=w,b==="IEND")break;switch(b!=="IDAT"&&i.length>0&&(l=!0),b){case"IHDR":throw Je("header");case"PLTE":if(o!==null||i.length>0||x.length===0||x.length%3!==0||x.length>768)throw Je("palette");o=x;break;case"tRNS":i.length===0&&(s=x);break;case"IDAT":if(l)throw Je("data");i.push(x),a+=x.length;break;default:if(!(b.charCodeAt(0)&32))throw Je("chunk")}}if(i.length===0)throw Je("data");if(r.colourType===3&&(o===null||o.length/3>1<<r.depth))throw Je("palette");let u=new Uint8Array(a),d=0;for(let b of i)u.set(b,d),d+=b.length;let f=sL[r.colourType]*r.depth,p=Math.max(1,f>>3),h=aL(r),g=0;for(let b of h)b.width>0&&b.height>0&&(g+=b.height*(1+Math.ceil(b.width*f/8)));let y;try{y=th(u,{maxOutput:g})}catch{throw Je("data")}if(y.length!==g)throw Je("data");return mL(r,y,h,f,p,o,s)}function dL(e){if(e.length!==13)throw Je("header");let t=Rc(e,0),n=Rc(e,4),r=e[8],o=e[9],s=oL[o];if(t<1||n<1||t>2147483647||n>2147483647||s===void 0||!s.includes(r)||e[10]!==0||e[11]!==0||e[12]!==0&&e[12]!==1)throw Je("header");return{width:t,height:n,depth:r,colourType:o,interlaced:e[12]===1}}function mL(e,t,n,r,o,s,i){let{width:a,height:l,depth:c,colourType:u}=e,d=new Uint8ClampedArray(a*l*4),m=s===null?0:s.length/3,f=i!==null&&u===0&&i.length===2?[i[0]<<8|i[1]]:i!==null&&u===2&&i.length===6?[0,2,4].map(g=>(i[g]<<8|i[g+1])>>>0):null,p=g=>u===3&&i!==null&&g<i.length&&i.length<=m?i[g]:255,h=0;for(let g of n){if(g.width===0||g.height===0)continue;let y=Math.ceil(g.width*r/8),b=new Uint8Array(y);for(let x=0;x<g.height;x+=1){let w=t[h],k=t.subarray(h+1,h+1+y);cL(w,k,b,o),b=k,h+=1+y;let S=g.y0+x*g.dy;for(let E=0;E<g.width;E+=1){let R=(S*a+g.x0+E*g.dx)*4;if(u===3){let C=yo(k,E,c);if(C>=m)throw Je("palette");let A=s;d[R]=A[C*3],d[R+1]=A[C*3+1],d[R+2]=A[C*3+2],d[R+3]=p(C)}else if(u===0||u===4){let C=yo(k,E*(u===4?2:1),c);if(u===0&&f!==null&&f[0]===C)continue;let A=Es(C,c);d[R]=A,d[R+1]=A,d[R+2]=A,d[R+3]=u===4?Es(yo(k,E*2+1,c),c):255}else{let C=u===6?4:3,A=yo(k,E*C,c),O=yo(k,E*C+1,c),D=yo(k,E*C+2,c);if(u===2&&f!==null&&f[0]===A&&f[1]===O&&f[2]===D)continue;d[R]=Es(A,c),d[R+1]=Es(O,c),d[R+2]=Es(D,c),d[R+3]=u===6?Es(yo(k,E*4+3,c),c):255}}}}return{width:a,height:l,data:d}}var Pe=25.4;function Qt(e,t,n,r,o,s,i,a){return Object.freeze({id:e,labelKey:`sheet.template.${e}`,page:Cx[t],columns:n,rows:r,cell:Object.freeze({widthMm:o[0],heightMm:o[1]}),origin:Object.freeze({xMm:s[0],yMm:s[1]}),gap:Object.freeze({xMm:i[0],yMm:i[1]}),...a===void 0?{}:{cornerRadiusMm:a}})}function Xi(){return Object.freeze([Qt("a4-21-63x38","a4",3,7,[63.5,38.1],[7.21,15.15],[2.54,0]),Qt("a4-24-63x34","a4",3,8,[63.5,33.9],[7.21,12.9],[2.54,0]),Qt("a4-14-99x38","a4",2,7,[99.1,38.1],[4.65,15.15],[2.5,0]),Qt("a4-8-99x68","a4",2,4,[99.1,67.7],[4.65,13.1],[2.5,0]),Qt("a4-65-38x21","a4",5,13,[38.1,21.2],[4.67,10.7],[2.54,0]),Qt("a4-12-round-64","a4",3,4,[63.5,63.5],[7.21,17.69],[2.54,2.54],31.75),Qt("a4-10-cards-85x54","a4",2,5,[85,54],[15,13.5],[10,0]),Qt("letter-30-67x25","letter",3,10,[2.625*Pe,Pe],[.1875*Pe,.5*Pe],[.125*Pe,0]),Qt("letter-10-102x51","letter",2,5,[4*Pe,2*Pe],[.15625*Pe,.5*Pe],[.1875*Pe,0]),Qt("letter-80-44x13","letter",4,20,[1.75*Pe,.5*Pe],[.3*Pe,.5*Pe],[.3*Pe,0]),Qt("letter-12-round-51","letter",3,4,[2*Pe,2*Pe],[.75*Pe,.75*Pe],[.5*Pe,.5*Pe],Pe),Qt("letter-12-square-51","letter",3,4,[2*Pe,2*Pe],[.75*Pe,.75*Pe],[.5*Pe,.5*Pe]),Qt("letter-10-cards-89x51","letter",2,5,[3.5*Pe,2*Pe],[.75*Pe,.5*Pe],[0,0])])}var hw="manifest.csv",fL=/^[=+\-@\t\r]/;function pL(e){return fL.test(e)?`'${e}`:e}function hL(e){return/[",\r\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function yL(e){let t="";for(let n of e)t+=`${n.map(r=>hL(pL(r))).join(",")}\r
187
+ `;return t}function gL(e){let t=[];for(let n of e)n.severity==="info"||t.includes(n.code)||t.push(n.code);return t.join(" ")}function yw(e,t={}){let n=e.some(i=>i.sheet!==null),r=t.content,o=["row","file","type","status","check","issues"];n&&o.push("page","label"),r!==void 0&&o.push("content");let s=[o];for(let i of e){let a=[String(i.rowNumber),i.filename??"",i.typeId,i.status,i.check??"",gL(i.issues)];n&&a.push(i.sheet===null?"":String(i.sheet.page),i.sheet===null?"":String(i.sheet.label)),r!==void 0&&a.push(r(i.index)??""),s.push(a)}return new TextEncoder().encode(`\uFEFF${yL(s)}`)}var gw=30,bw=46,xw=22,ww=2048,kw=65535,vw=4294967295;function bL(e,t){let n=`entry ${t}`;if(e.length===0)throw new TypeError(`${n} has no name`);if(e.includes("\\"))throw new TypeError(`${n} has a backslash in its name`);if(e.startsWith("/")||/^[A-Za-z]:/.test(e))throw new TypeError(`${n} has an absolute path for a name`);for(let r=0;r<e.length;r+=1){let o=e.charCodeAt(r);if(o<32||o===127)throw new TypeError(`${n} has a control character in its name`);if(o>=55296&&o<=57343){let s=e.charCodeAt(r+1);if(o>56319||!(s>=56320&&s<=57343))throw new TypeError(`${n} name is not valid Unicode`);r+=1}}for(let r of e.split("/"))if(r===""||r==="."||r==="..")throw new TypeError(`${n} has an empty, '.' or '..' folder in its name`)}function xL(e){let{year:t,month:n,day:r}=e??{year:1980,month:1,day:1};if(!Number.isInteger(t)||t<1980||t>2107)throw new RangeError("a ZIP date is in the years 1980 to 2107");if(!Number.isInteger(n)||n<1||n>12)throw new RangeError("a ZIP date has a month from 1 to 12");let s=[31,t%4===0&&t%100!==0||t%400===0?29:28,31,30,31,30,31,31,30,31,30,31][n-1];if(!Number.isInteger(r)||r<1||r>s)throw new RangeError(`that month has days 1 to ${s}`);return t-1980<<9|n<<5|r}var Ic=class{entries=[];names=new Set;folders=new Set;date;encoder=new TextEncoder;offset=0;largest=xw;constructor(t){this.date=xL(t)}get count(){return this.entries.length}add(t,n,r=!1){let o=this.entries.length;if(o>=kw)throw new lr(kw,"entries");bL(t,o);let s=t.toLowerCase(),i=s.split("/");if(this.names.has(s)||this.folders.has(s))throw new TypeError(`entry ${o} has the same name as an earlier entry or its folder`);for(let u=1;u<i.length;u+=1){let d=i.slice(0,u).join("/");if(this.names.has(d))throw new TypeError(`entry ${o} is inside a folder that is an earlier entry's name`);this.folders.add(d)}this.names.add(s);let a=this.encoder.encode(t);if(a.length>65535)throw new TypeError(`entry ${o} has too long a name`);if(this.largest+=gw+bw+2*a.length+n.length,this.largest>vw)throw new lr(vw);let l=n,c=!1;if(r){let u=Ys(n,{level:6});u.length<n.length&&(l=u,c=!0)}this.entries.push({name:a,data:l,deflated:c,crc:Io(n),size:n.length,offset:this.offset}),this.offset+=gw+a.length+l.length}finish(){let t=this.offset,n=0;for(let l of this.entries)n+=bw+l.name.length;let r=new Uint8Array(t+n+xw),o=new DataView(r.buffer),s=0,i=l=>{o.setUint16(s,l,!0),s+=2},a=l=>{o.setUint32(s,l,!0),s+=4};for(let l of this.entries)a(67324752),i(l.deflated?20:10),i(ww),i(l.deflated?8:0),i(0),i(this.date),a(l.crc),a(l.data.length),a(l.size),i(l.name.length),i(0),r.set(l.name,s),s+=l.name.length,r.set(l.data,s),s+=l.data.length;for(let l of this.entries)a(33639248),i(20),i(l.deflated?20:10),i(ww),i(l.deflated?8:0),i(0),i(this.date),a(l.crc),a(l.data.length),a(l.size),i(l.name.length),i(0),i(0),i(0),i(0),a(0),a(l.offset),r.set(l.name,s),s+=l.name.length;return a(101010256),i(0),i(0),i(this.entries.length),i(this.entries.length),a(n),a(t),i(0),this.entries.length=0,r}};var wL=1024,Ew=8192,Tw=16,kL=30,vL=20,SL=10,ML=5,EL=2,TL=8,RL=25.4;function jr(e){return typeof e=="object"&&e!==null}function Ts(e,t,n,r,o){if(e!==void 0){if(typeof e!="number"||!Number.isFinite(e)||e<n||e>r||o&&!Number.isInteger(e))throw new TypeError(`runBatch: output.${t} is ${o?"a whole number":"a number"} from ${n} to ${r}.`);return e}}function AL(e){if(!Array.isArray(e))throw new TypeError("runBatch: rows is what planBatch returns.");e.forEach((t,n)=>{if(!jr(t)||!Number.isInteger(t.index)||!Number.isInteger(t.rowNumber)||typeof t.typeId!="string"||typeof t.filename!="string"||t.content!==null&&typeof t.content!="string"||!Array.isArray(t.issues))throw new TypeError(`runBatch: row ${n} is not a row planBatch returns.`)})}function IL(e){if(!jr(e))throw new TypeError("runBatch: output is an object.");if(e.kind==="zip"){if(!["svg","png","pdf","eps"].includes(e.format))throw new TypeError("runBatch: output.format is 'svg', 'png', 'pdf' or 'eps'.");if(Ts(e.widthPx,"widthPx",Tw,Ew,!0),Ts(e.dpi,"dpi",he.dpi.min,he.dpi.max,!1),e.colourSpace!==void 0&&!["srgb","cmyk"].includes(e.colourSpace))throw new TypeError("runBatch: output.colourSpace is 'srgb' or 'cmyk'.");if(e.includeContent!==void 0&&typeof e.includeContent!="boolean")throw new TypeError("runBatch: output.includeContent is true or false.")}else if(e.kind==="sheet"){if(!["srgb","cmyk"].includes(e.colourSpace))throw new TypeError("runBatch: output.colourSpace is 'srgb' or 'cmyk'.");Ts(e.skip,"skip",0,Number.MAX_SAFE_INTEGER,!0)}else throw new TypeError("runBatch: output.kind is 'zip' or 'sheet'.");if(Ts(e.sizeMm,"sizeMm",he.sizeMm.min,he.sizeMm.max,!1),e.verify!==void 0&&!["off","sampled","all"].includes(e.verify))throw new TypeError("runBatch: output.verify is 'off', 'sampled' or 'all'.");Ts(e.verifyEvery,"verifyEvery",1,Number.MAX_SAFE_INTEGER,!0),Ts(e.verifySeeds,"verifySeeds",1,8,!0)}function PL(e){if(e.kind!=="sheet")return null;let t=e.template,n=typeof t=="string"?Xi().find(o=>o.id===t):t;if(n===void 0)throw new qr("sheet-template",String(t));if(Ui(n),(e.skip??0)>=n.columns*n.rows)throw new TypeError("runBatch: output.skip is fewer labels than a sheet holds.");return n}function CL(e){let t={};for(let[n,r]of Object.entries(e.assets??{})){let o=tl(()=>Ac(Lo(r.png)));o.ok&&(t[n]=o.value)}return t}function NL(e,t,n){let r=[];e.forEach((l,c)=>{l.content!==null&&!qn(l.issues)&&r.push(c)});let o=t.verify??(n!==void 0&&r.length<=ML?"all":"off");if(o!=="off"&&n===void 0)throw new TypeError("runBatch: checking rows needs options.verifyRow, such as scanCheckVerifier(registries).");if(o==="off"||r.length===0)return{mode:o,checked:new Set};if(o==="all")return{mode:o,checked:new Set(r)};let s=t.verifyEvery??Math.max(vL,Math.ceil(r.length/SL)),i=new Set(r.filter((l,c)=>c%s===0)),a=r[0];for(let l of r)e[l].content.length>e[a].content.length&&(a=l);return i.add(a),{mode:o,checked:i}}function LL(e,t,n,r,o){if(AL(e),IL(n),!jr(r)||!jr(r.symbologies)||!jr(r.payloads)||!jr(r.design))throw new TypeError("runBatch: registries gives the symbologies, content types and design registries.");if(typeof o!="object"||o===null)throw new TypeError("runBatch: options is an object.");if(o.verifyRow!==void 0&&typeof o.verifyRow!="function")throw new TypeError("runBatch: options.verifyRow is a function.");let s=o.seed??0;if(!Number.isInteger(s)||s<0||s>4294967295)throw new TypeError("runBatch: options.seed is an integer from 0 to 2^32 - 1.");let i=En(t,r.design);if(i.design===null)throw new K("design/invalid","This design has problems to fix before it can be used.",{issues:i.issues.length});let a=i.design;r.symbologies.require(a.symbol.symbology);let l=PL(n),c=n.kind==="zip"&&(n.format==="pdf"||n.format==="eps"),u=n.sizeMm??a.output.sizeMm??(c?kL:void 0)??null,d=(n.kind==="zip"?n.dpi:void 0)??a.output.dpi??null,m=n.kind==="sheet"?n.colourSpace:n.colourSpace??a.output.colourSpace,f={...a,output:{...a.output,colourSpace:m,...u===null?{}:{sizeMm:u},...d===null?{}:{dpi:d}}},p=vc(e.map(x=>({name:Ki(x.filename),fallback:`qr-${x.rowNumber}`}))).map(x=>x.name),h=a.frame?.text?.content,{mode:g,checked:y}=NL(e,n,o.verifyRow),b=CL(a);return{rows:e,names:p,design:f,output:n,registries:r,dpi:d,colourSpace:m,template:l,checked:y,verifyRow:o.verifyRow,captureSeeds:n.verifySeeds??(g==="all"?EL:TL),assets:b,fonts:o.fonts??(h!==void 0&&h!==""?Mn():void 0),seed:s,zip:n.kind==="zip"?new Ic(o.date):null}}function OL(e){let{symbol:t}=e;return{symbology:t.symbology,...t.ecLevel===void 0?{}:{ecLevel:t.ecLevel},...t.boostEc===void 0?{}:{boostEc:t.boostEc},...t.minVersion===void 0?{}:{minVersion:t.minVersion},...t.maxVersion===void 0?{}:{maxVersion:t.maxVersion},...t.mask===void 0?{}:{mask:t.mask},...t.segmentation===void 0?{}:{segmentation:t.segmentation}}}function Sw(e){let{code:t,params:n}=e;return t==="encode/too-much-data"?P("encode.too-much-data",[],"error",n):t==="encode/unsupported-feature"?P(`encode.unsupported-feature.${String(n.feature)}`,[],"error"):t==="encode/unsupported-content"?P(`encode.unsupported-content.${String(n.reason)}`,[],"error"):t==="render/surface-too-large"&&n.maxMm!==void 0?P("render.print.too-large",[],"error",{maxMm:n.maxMm}):P(ot.failed,[],"error",{code:t})}function DL(e){return jr(e)&&typeof e.next=="function"}function Mw(e){if(!jr(e)||!["pass","warn","fail"].includes(e.verdict)||e.issues!==void 0&&!Array.isArray(e.issues))throw new TypeError("runBatch: verifyRow returns { verdict, issues? }.");return e}function Rw(e,t,n){if(n==="svg")return{bytes:new TextEncoder().encode(yn(e)),extension:"svg",compress:!0,issues:[]};let r=e.unitsPerMm===void 0?null:e.width/e.unitsPerMm;if(n==="png"){let i=t.output.widthPx??(r!==null&&t.dpi!==null?Math.min(Ew,Math.max(Tw,Math.round(r*t.dpi/RL))):wL),a=Tt(e,{width:i});return{bytes:Gn(a,t.dpi===null?{}:{dpi:t.dpi}),extension:"png",compress:!1,issues:[]}}let o=r;return n==="eps"?qi(e).length===0?{bytes:new TextEncoder().encode(mc(e,{colour:t.colourSpace,widthMm:o})),extension:"eps",compress:!0,issues:[]}:{...Rw(e,t,"pdf"),issues:[P(ot.epsFallback,[],"warning")]}:{bytes:dc(e,{colour:t.colourSpace,widthMm:o}),extension:"pdf",compress:!1,issues:[]}}function Aw(e){return e.filter(t=>t.severity!=="info")}function*jL(e,t,n,r,o,s){let i;try{let l=e.verifyRow({index:t.index,rowNumber:t.rowNumber,content:t.content,design:n,overlay:r,sizeMm:o,dpi:e.dpi,seed:e.seed,captureSeeds:e.captureSeeds,assets:e.assets});if(DL(l))for(;;){let c=l.next();if(c.done===!0){i=Mw(c.value);break}yield s}else i=Mw(l)}catch(l){if(!(l instanceof K))throw l;return{check:null,issues:[P(ot.checkUnavailable,[],"warning",{code:l.code})]}}let a=[];return i.verdict==="fail"&&a.push(P(ot.checkFailed,[],"warning")),i.verdict==="warn"&&a.push(P(ot.checkWarned,[],"info")),a.push(...i.issues??[]),{check:i.verdict,issues:a}}function BL(e,t,n){let r=t.constrained.get(n);if(r===void 0){let o=e.registries.payloads.require(n),s=Nr(e.design,o.constraints);r={design:s.design,issues:Aw(s.issues),overlay:s.overlay},t.constrained.set(n,r)}return r}function*FL(e,t,n){let r=e.rows[n],o={index:r.index,rowNumber:r.rowNumber,typeId:r.typeId},s=h=>Object.freeze({...o,filename:null,status:"skipped",check:null,sheet:null,issues:Object.freeze([...h])});if(r.content===null||qn(r.issues))return s(r.issues);let i=r.content,a=BL(e,t,r.typeId),l=[...r.issues,...a.issues],c=tl(()=>{let h=Fn(i,OL(a.design),e.registries.symbologies);return{symbol:h,built:tn(h,a.design,{registries:e.registries.design,assets:g=>e.assets[g],...e.fonts===void 0?{}:{fonts:e.fonts},seed:e.seed,overlay:a.overlay})}});if(!c.ok)return s([...l,Sw(c.error)]);l.push(...Aw(c.value.built.issues));let u=c.value.built.scene,d=null,m=null,{template:f}=e;if(t.zip!==null){let h=t.zip,g=e.output.format,y=tl(()=>{let b=Rw(u,e,g),x=`${e.names[n]}.${b.extension}`;return h.add(x,b.bytes,b.compress),{name:x,issues:b.issues}});if(!y.ok)return s([...l,Sw(y.error)]);d=y.value.name,l.push(...y.value.issues)}else{let h=f;if(u.unitsPerMm===void 0){let b=Math.max(u.width/h.cell.widthMm,u.height/h.cell.heightMm);u={...u,unitsPerMm:b}}let g=h.columns*h.rows,y=t.scenes.length+(e.output.skip??0);m={page:Math.floor(y/g)+1,label:y%g+1},l.push(...pf([u],h).issues.map(b=>({...b,path:[]}))),t.scenes.push(u)}let p=null;if(e.checked.has(n)){let h=u.unitsPerMm,g=h===void 0?null:(c.value.symbol.matrix.width+2*a.design.quietZone)/h,y=yield*jL(e,r,a.design,a.overlay,g,{done:n,total:t.total});p=y.check,l.push(...y.issues)}return Object.freeze({...o,filename:d,status:"written",check:p,sheet:m,issues:Object.freeze(l)})}function*UL(e){let{rows:t,output:n}=e,r={zip:e.zip,scenes:[],constrained:new Map,total:t.length+1},o=[];for(let a=0;a<t.length;a+=1){let l=yield*FL(e,r,a);o.push(l),yield{done:a+1,total:r.total,row:l}}if(r.zip!==null){let a=n.includeContent===!0,l=new Map(t.map(c=>[c.index,c.content]));return r.zip.add(hw,yw(o,a?{content:c=>l.get(c)}:{}),!0),r.zip.finish()}let s=pf(r.scenes,e.template,{skip:n.skip??0}),i=e.design.name;return Fx(s,{colour:e.colourSpace,...i===void 0?{}:{title:i}})}function Iw(e,t,n,r,o={}){return UL(LL(e,t,n,r,o))}var ht=Object.freeze({fieldOfViewDegrees:65,frameWidthPx:1920,minPxPerModule:4,minFocusMm:100,comfortMm:150}),Cf;function Nf(){if(Cf===void 0){let e=ht.fieldOfViewDegrees/2*(Me/180);Cf=je(e)/Be(e)}return Cf}function Pc(e,t){return e*ht.frameWidthPx/(2*t*Nf())}function Lf(e,t){return e*ht.frameWidthPx/(t*2*Nf())}function Cc(e=ht.minPxPerModule){return Math.max(e,ht.minPxPerModule)*2*ht.minFocusMm*Nf()/ht.frameWidthPx}function Pw(e){let[t,n,r,o]=e,s=t.x-n.x+r.x-o.x,i=t.y-n.y+r.y-o.y;if(s===0&&i===0)return[n.x-t.x,r.x-n.x,t.x,n.y-t.y,r.y-n.y,t.y,0,0,1];let a=n.x-r.x,l=o.x-r.x,c=n.y-r.y,u=o.y-r.y,d=a*u-l*c,m=(s*u-l*i)/d,f=(a*i-s*c)/d;return[n.x-t.x+m*n.x,o.x-t.x+f*o.x,t.x,n.y-t.y+m*n.y,o.y-t.y+f*o.y,t.y,m,f,1]}function zL(e){let[t,n,r,o,s,i,a,l,c]=e;return[s*c-i*l,r*l-n*c,n*i-r*s,i*a-o*c,t*c-r*a,r*o-t*i,o*l-s*a,n*a-t*l,t*s-n*o]}function VL(e,t){let[n,r,o,s,i,a,l,c,u]=e,[d,m,f,p,h,g,y,b,x]=t;return[d*n+m*s+f*l,d*r+m*i+f*c,d*o+m*a+f*u,p*n+h*s+g*l,p*r+h*i+g*c,p*o+h*a+g*u,y*n+b*s+x*l,y*r+b*i+x*c,y*o+b*a+x*u]}function Cw(e,t){return VL(zL(Pw(e)),Pw(t))}var Rs=255;function Of(e){let{width:t,height:n,data:r}=e,o=new Float32Array(t*n);for(let s=0,i=0;s<o.length;s+=1,i+=4){let a=.299*r[i]+.587*r[i+1]+.114*r[i+2],l=r[i+3]/255;o[s]=a*l+Rs*(1-l)}return{width:t,height:n,data:o}}function Ow(e){let t=new Uint8ClampedArray(e.width*e.height*4);for(let n=0,r=0;n<e.data.length;n+=1,r+=4){let o=Math.min(255,Math.max(0,Math.round(e.data[n])));t[r]=o,t[r+1]=o,t[r+2]=o,t[r+3]=255}return{width:e.width,height:e.height,data:t}}function Br(e,t){return e<0?0:e>=t?t-1:e}function Nc(e,t,n){let r=t-.5,o=n-.5,s=Math.floor(r),i=Math.floor(o),a=r-s,l=o-i,{width:c,height:u,data:d}=e,m=Br(s,c),f=Br(s+1,c),p=Br(i,u)*c,h=Br(i+1,u)*c,g=d[p+m]*(1-a)+d[p+f]*a,y=d[h+m]*(1-a)+d[h+f]*a;return g*(1-l)+y*l}function qL(e,t,n,r,o,s=Rs){let i=new Float32Array(n*r),a=Math.max(1,Math.floor(o)),l=1/(a*a),[c,u,d,m,f,p,h,g,y]=t;for(let b=0;b<r;b+=1)for(let x=0;x<n;x+=1){let w=0;for(let k=0;k<a;k+=1){let S=b+(k+.5)/a;for(let E=0;E<a;E+=1){let R=x+(E+.5)/a,C=h*R+g*S+y,A=(c*R+u*S+d)/C,O=(m*R+f*S+p)/C;w+=A<0||O<0||A>e.width||O>e.height?s:Nc(e,A,O)}}i[b*n+x]=w*l}return{width:n,height:r,data:i}}function Dw(e,t,n,r,o=2,s=Rs){let i=Cw(t,[{x:0,y:0},{x:e.width,y:0},{x:e.width,y:e.height},{x:0,y:e.height}]);return qL(e,i,n,r,o,s)}function Nw(e,t,n){let{width:r,height:o,data:s}=e,i=new Float32Array(r*o),a=(t.length-1)/2;if(n){for(let l=0;l<o;l+=1){let c=l*r;for(let u=0;u<r;u+=1){let d=0;if(u>=a&&u<r-a){let m=c+u-a;for(let f=0;f<t.length;f+=1)d+=s[m+f]*t[f]}else for(let m=-a;m<=a;m+=1)d+=s[c+Br(u+m,r)]*t[m+a];i[c+u]=d}}return{width:r,height:o,data:i}}for(let l=0;l<o;l+=1){let c=l*r;for(let u=-a;u<=a;u+=1){let d=Br(l+u,o)*r,m=t[u+a];for(let f=0;f<r;f+=1)i[c+f]=i[c+f]+s[d+f]*m}}return{width:r,height:o,data:i}}function HL(e){let t=Math.max(1,Math.ceil(3*e)),n=new Float64Array(2*t+1),r=0;for(let o=-t;o<=t;o+=1){let s=Mh(-(o*o)/(2*e*e));n[o+t]=s,r+=s}for(let o=0;o<n.length;o+=1)n[o]=n[o]/r;return n}function jw(e,t){if(!(t>.05))return Lc(e);let n=HL(t);return Nw(Nw(e,n,!0),n,!1)}function Bw(e,t,n){if(!(t>.25))return Lc(e);let r=Math.max(2,Math.ceil(t)+1),o=Be(n)*t,s=je(n)*t,{width:i,height:a}=e,l=new Float32Array(i*a);for(let c=0;c<a;c+=1)for(let u=0;u<i;u+=1){let d=0;for(let m=0;m<r;m+=1){let f=m/(r-1)-.5;d+=Nc(e,u+.5+f*o,c+.5+f*s)}l[c*i+u]=d/r}return{width:i,height:a,data:l}}function Df(e,t,n){let r=new Float32Array(e.data);if(!(t>0))return{width:e.width,height:e.height,data:r};for(let o=0;o<r.length;o+=1){let s=(n.next()+n.next()+n.next()-1.5)*2;r[o]=r[o]+s*t}return{width:e.width,height:e.height,data:r}}function Fw(e,t,n=0){let r=new Float32Array(e.data.length);for(let o=0;o<r.length;o+=1)r[o]=e.data[o]*t+n;return{width:e.width,height:e.height,data:r}}function Uw(e,t,n,r){let{width:o,height:s}=e,i=Be(r),a=je(r),l=[0,i*o,a*s,i*o+a*s],c=Math.min(...l),u=Math.max(...l)-c||1,d=new Float32Array(o*s);for(let m=0;m<s;m+=1)for(let f=0;f<o;f+=1){let p=(i*(f+.5)+a*(m+.5)-c)/u;d[m*o+f]=e.data[m*o+f]*(t+(n-t)*p)}return{width:o,height:s,data:d}}function zw(e,t,n){let{width:r,height:o}=e,s=new Float32Array(e.data),i=Math.max(0,Math.floor(n.cx-n.rx)),a=Math.min(r,Math.ceil(n.cx+n.rx)),l=Math.max(0,Math.floor(n.cy-n.ry)),c=Math.min(o,Math.ceil(n.cy+n.ry));for(let u=l;u<c;u+=1)for(let d=i;d<a;d+=1){let m=(d+.5-n.cx)/n.rx,f=(u+.5-n.cy)/n.ry,p=m*m+f*f;if(p>=1)continue;let h=Math.min(1,t*(1-p)),g=u*r+d,y=s[g];s[g]=y+(Rs-y)*h}return{width:r,height:o,data:s}}function Vw(e){let t=new Float32Array(e.data.length);for(let n=0;n<t.length;n+=1)t[n]=Math.min(255,Math.max(0,Math.round(e.data[n])));return{width:e.width,height:e.height,data:t}}function Lw(e,t,n,r){let{width:o,height:s,data:i}=e,a=new Float32Array(o*s);for(let l=0;l<s;l+=1)for(let c=0;c<o;c+=1){let u=i[l*o+c];for(let d=-t;d<=t;d+=1){let m=n?l*o+Br(c+d,o):Br(l+d,s)*o+c,f=i[m];(r?f<u:f>u)&&(u=f)}a[l*o+c]=u}return{width:o,height:s,data:a}}function qw(e,t,n){let r=Math.floor(t),o=t-r,s=c=>c===0?e:Lw(Lw(e,c,!0,n),c,!1,n),i=s(r);if(o===0)return i;let a=s(r+1),l=new Float32Array(e.data.length);for(let c=0;c<l.length;c+=1)l[c]=i.data[c]*(1-o)+a.data[c]*o;return{width:e.width,height:e.height,data:l}}function Hw(e,t){return t>0?qw(e,t,!0):Lc(e)}function Kw(e,t){return t>0?qw(e,t,!1):Lc(e)}function Gw(e,t){let n=new Float32Array(e.data.length);for(let r=0;r<n.length;r+=1){let o=e.data[r];n[r]=Rs-(Rs-o)*(1-t)}return{width:e.width,height:e.height,data:n}}function Lc(e){return{width:e.width,height:e.height,data:new Float32Array(e.data)}}function _w(e,t,n,r=0,o=0){let s=Be(n),i=je(n),a=e/2,l=t/2,c=(u,d)=>({x:a+(u-a)*s-(d-l)*i+r,y:l+(u-a)*i+(d-l)*s+o});return[c(0,0),c(e,0),c(e,t),c(0,t)]}function Qw(e,t,n,r,o){let s=Math.max(e,t)/2,i=Be(r),a=je(r),l=Be(n),c=je(n),u=[[-e/2,-t/2],[e/2,-t/2],[e/2,t/2],[-e/2,t/2]],d=([m,f])=>{let p=m*i+f*a,h=-m*a+f*i,g=h*l,y=h*c,b=o*s+y,x=o*s/b,w=p*x,k=g*x;return{x:w*i-k*a,y:w*a+k*i}};return u.map(d)}var KL=540,GL=10;function Ww(e,t){let n=KL/e;return t!==null&&(n=Math.min(n,Pc(t,ht.minFocusMm))),Math.min(GL,Math.max(ht.minPxPerModule,n))}var jf=.5,Bf=2,Xw=4,Yw=2,Zw=5,$w=.3,_L=Object.freeze([8,6,5,4.5,4,3.5,3,2.5]),Oc=Object.freeze([{axis:"distance",label:1,levels:_L,typical:4,unit:"px-per-module"},{axis:"focus",label:2,levels:Object.freeze([.1,.15,.2,.3,.4,.5,.6]),typical:.2,unit:"modules"},{axis:"motion",label:3,levels:Object.freeze([.15,.3,.5,.75,1,1.5,2]),typical:.3,unit:"modules"},{axis:"noise",label:4,levels:Object.freeze([2,3,4,6,8,12,16,24]),typical:4,unit:"levels"},{axis:"angle",label:5,levels:Object.freeze([10,15,20,25,30,40,50,60]),typical:20,unit:"degrees"},{axis:"light",label:6,levels:Object.freeze([.5,.7,.8,.9,.95,.98]),typical:.7,unit:"fraction"},{axis:"glare",label:7,levels:Object.freeze([.25,.5,.75,1,1.25,1.5,2]),typical:.5,unit:"fraction"},{axis:"ink",label:8,levels:Object.freeze([.025,.05,.1,.15,.2,.25,.3]),typical:.05,unit:"modules"},{axis:"contrast",label:9,levels:Object.freeze([.15,.3,.45,.6,.7,.8,.9]),typical:.3,unit:"fraction"}]),Jw=0;var ek=Me/180;function QL(e){return e==="baseline"?Jw:Oc.find(t=>t.axis===e).label}function WL(e,t){let n=Wn(e).fork(QL(t.axis)).fork(t.seed),r=n.fork(1);return{roll:(r.next()*2-1)*Xw*ek,phaseX:r.next(),phaseY:r.next(),direction:r.next()*Me,spotX:r.next(),spotY:r.next(),noise:n.fork(2)}}function XL(e,t){if(t.axis==="ink"){let n=t.level*e.scaleX;return t.seed%2===0?Hw(e.plane,n):Kw(e.plane,n)}return t.axis==="contrast"?Gw(e.plane,t.level):e.plane}function tk(e,t,n,r,o){let s=WL(r,o),i=o.pxPerModule,a=t*i,l=n*i,c=Yw*i,u;if(o.axis==="angle"){let S=Qw(a,l,o.level*ek,s.direction,Zw);u=YL(S,s.roll)}else u=[..._w(a,l,s.roll)];let d=Math.min(...u.map(S=>S.x)),m=Math.min(...u.map(S=>S.y)),f=Math.max(...u.map(S=>S.x)),p=Math.max(...u.map(S=>S.y)),h=Math.ceil(f-d+2*c+1),g=Math.ceil(p-m+2*c+1),y=u.map(S=>({x:S.x-d+c+s.phaseX,y:S.y-m+c+s.phaseY})),b=XL(e,o),x=Math.min(6,Math.max(2,Math.ceil(e.scaleX/i))),w=Dw(b,y,h,g,x),k=o.axis==="focus"?o.level*i:0;if(w=jw(w,Math.sqrt(jf*jf+k*k)),o.axis==="motion"&&(w=Bw(w,o.level*i,s.direction)),o.axis==="light"){let S=1-.5*o.level,E=1-o.level;w=Uw(w,S,E,s.direction*2),w=Vw(Df(w,Bf,s.noise.fork(1))),w=Fw(w,2/(S+E))}if(o.axis==="glare"){let S=(y[0].x+y[1].x+y[2].x+y[3].x)/4,E=(y[0].y+y[1].y+y[2].y+y[3].y)/4,R=$w*Math.min(a,l);w=zw(w,o.level,{cx:S+(s.spotX-.5)*.5*a,cy:E+(s.spotY-.5)*.5*l,rx:R,ry:R*.75})}return w=Df(w,o.axis==="noise"?o.level:Bf,s.noise),{image:Ow(w),quad:y}}function YL(e,t){let n=Be(t),r=je(t);return e.map(o=>({x:o.x*n-o.y*r,y:o.x*r+o.y*n}))}function go(e,t){switch(e.kind){case"solid":return[e.ink];case"entry":{let n=t.fills.get(e.ref.id);if(n===void 0)return[];let r=[];for(let s of n.params){if(s.kind!=="colour")continue;let i=e.ref.params?.[s.key];r.push(typeof i=="string"?i:s.default)}let o=e.ref.params?.count??n.params.find(s=>s.key==="count")?.default;return typeof o=="number"?r.slice(0,o):r}default:return e.stops.map(n=>n.ink)}}var nk=Object.freeze({r:255,g:255,b:255,a:1});function rk(e,t){let n=[...go(e.modules.paint,t)];for(let o of Object.values(e.regions))o?.outerPaint!==void 0&&n.push(...go(o.outerPaint,t)),o?.innerPaint!==void 0&&n.push(...go(o.innerPaint,t));let r=e.background===null?[nk]:go(e.background,t).map(o=>Dc(zt(o),nk));if(e.modules.light!==null){let o=r[0];r.push(...go(e.modules.light.paint,t).map(s=>Dc(zt(s),o)))}return{inks:n.map(zt),grounds:r}}function Dc(e,t){let n=e.a;return{r:e.r*n+t.r*(1-n),g:e.g*n+t.g*(1-n),b:e.b*n+t.b*(1-n),a:1}}function As(e){return .299*e.r+.587*e.g+.114*e.b}function Is(e){let t=e.r/255;return t<=.04045?t/12.92:Oa((t+.055)/1.055,2.4)}function ok(e){return Ff(e)>=0?"dark-on-light":"light-on-dark"}function Ff(e){let t=(o,s)=>o.reduce((i,a)=>i+As(Dc(a,s)),0)/Math.max(1,o.length),n=e.grounds[0];return(e.grounds.reduce((o,s)=>o+As(s),0)/e.grounds.length-t(e.inks,n))/255}function Uf(e,t,n,r){let o=t==="dark-on-light"?1:-1,s=Number.POSITIVE_INFINITY;for(let i of e.grounds)for(let a of e.inks){let l=o*(n(i)-n(Dc(a,i)))/r;l<s&&(s=l)}return s===Number.POSITIVE_INFINITY?0:s}var ZL=Object.freeze(["symbology","module-shape","region-shape","fill","frame","icon","asset"]);function er(e,t){e!=null&&e.kind==="entry"&&t("fill",e.ref.id)}function Yi(e){let t=new Set,n=(r,o)=>{typeof o=="string"&&t.add(`${r}:${o}`)};n("symbology",e.symbol.symbology),n("module-shape",e.modules.shape.id),er(e.modules.paint,n),er(e.background,n),e.modules.light!==null&&e.modules.light!==void 0&&(n("module-shape",e.modules.light.shape.id),er(e.modules.light.paint,n));for(let r of["finder","sub-finder","corner-finder"]){let o=e.regions?.[r];o!==void 0&&(n("region-shape",o.outer.id),n("region-shape",o.inner.id),er(o.outerPaint,n),er(o.innerPaint,n))}if(e.logo!==null&&e.logo!==void 0){let{source:r}=e.logo;n(r.kind==="icon"?"icon":"asset",r.id),er(e.logo.paint,n),er(e.logo.plate?.paint,n)}return e.frame!==null&&e.frame!==void 0&&(n("frame",e.frame.ref.id),er(e.frame.paint,n),er(e.frame.text?.paint,n)),Object.freeze([...t].sort())}var $L=/^[a-z0-9]+(?:-[a-z0-9]+)*$/;function jc(e,t){let n=ZL.includes(e)?e:"entry";return new K("verify/missing-entry","This check needs a style or picture this copy of the studio does not have, so it was not run.",t!==null&&t.length<=64&&$L.test(t)?{kind:n,id:t}:{kind:n})}function JL(e,t,n,r){let{design:o,symbologies:s}=t,i={symbology:a=>s.has(a),"module-shape":a=>o.moduleShapes.has(a),"region-shape":a=>o.regionShapes.has(a),fill:a=>o.fills.has(a),frame:a=>o.frames.has(a),icon:a=>o.icons.has(a)};for(let a of e){let l=a.indexOf(":"),c=l<0?"":a.slice(0,l),u=l<0?a:a.slice(l+1);if(c==="asset"){let m=typeof r=="object"&&r!==null&&Object.prototype.hasOwnProperty.call(r,u),f=n!==void 0&&Object.prototype.hasOwnProperty.call(n,u)?n[u]:void 0;if(!m||f===void 0)throw jc("asset",null);continue}if(c===""){if(!Object.values(i).some(m=>m(u)))throw jc("entry",u);continue}let d=i[c];if(d===void 0||!d(u))throw jc(c,u)}}function zf(e,t){if(e==null)return null;if(typeof e!="number"||!Number.isFinite(e)||e<=0)throw new TypeError(`verify: conditions.${t} is a positive number or null.`);return e}function e4(e){if(typeof e!="object"||e===null)throw new TypeError("verify: the job is an object.");if(typeof e.content!="string")throw new TypeError("verify: job.content is a string.");if(!Number.isInteger(e.seed)||e.seed<0||e.seed>4294967295)throw new TypeError("verify: job.seed is an integer from 0 to 2^32 - 1.");if(!Array.isArray(e.requires)||e.requires.some(t=>typeof t!="string"))throw new TypeError("verify: job.requires is a list of registry ids.");if(typeof e.conditions!="object"||e.conditions===null)throw new TypeError("verify: job.conditions is an object.");if(e.overlay!==void 0&&e.overlay!==null&&e.overlay!=="swiss-cross")throw new TypeError("verify: job.overlay is swiss-cross, or null for none.");if(e.captureSeeds!==void 0&&(!Number.isInteger(e.captureSeeds)||e.captureSeeds<1||e.captureSeeds>8))throw new TypeError("verify: job.captureSeeds is a whole number from 1 to 8.")}function t4(e,t,n){let r=t.quietZone,o=e.layout.regions.some(a=>a.kind==="concentric-5");if(t.frame===null||o&&t.frame.ref.id!=="none")return{x:r,y:r,quiet:r};let s=n.design.frames.require(t.frame.ref.id),i=s.layout({symbolSize:{width:e.matrix.width,height:e.matrix.height},quietZone:r,params:mt(s.params,t.frame.ref.params),paint:{kind:"solid",colour:{r:0,g:0,b:0,a:1}}});return{x:i.symbol.x+r,y:i.symbol.y+r,quiet:r}}function ik(e,t){if(e4(e),typeof t!="object"||t===null||typeof t.symbologies!="object"||typeof t.design!="object")throw new TypeError("verify: registries gives the symbologies and the design registries.");let n=[];try{n=Yi(e.design)}catch{}JL([...e.requires,...n],t,e.assets,e.design?.assets);let r=En(e.design,t.design);if(r.design===null)throw new K("design/invalid","This design cannot be checked until it is fixed.",{issues:r.issues.length});let o=r.design,s=zf(e.conditions.sizeMm,"sizeMm"),i=zf(e.conditions.dpi,"dpi")??o.output.dpi??null,a=zf(e.conditions.distanceMm,"distanceMm"),l=t.symbologies.require(o.symbol.symbology),c=Fn(e.content,{symbology:o.symbol.symbology,...o.symbol.ecLevel===void 0?{}:{ecLevel:o.symbol.ecLevel},...o.symbol.boostEc===void 0?{}:{boostEc:o.symbol.boostEc},...o.symbol.minVersion===void 0?{}:{minVersion:o.symbol.minVersion},...o.symbol.maxVersion===void 0?{}:{maxVersion:o.symbol.maxVersion},...o.symbol.mask===void 0?{}:{mask:o.symbol.mask},...o.symbol.segmentation===void 0?{}:{segmentation:o.symbol.segmentation}},t.symbologies),u=e.assets,d=tn(c,o,{registries:t.design,...u===void 0?{}:{assets:x=>u[x]},seed:e.seed,overlay:e.overlay??null}),m=t4(c,o,t),f=rk(o,t.design),p=c.matrix.width+2*m.quiet,h=o.output.sizeBasis==="symbol"?c.matrix.width:d.scene.width,g=d.scene.unitsPerMm===void 0?null:o.output.sizeMm*p/h,y=s??g,b=y===null?null:y/p;return{job:e,registries:t,design:o,entry:l,symbol:c,built:d,origin:{x:m.x,y:m.y},quietZone:m.quiet,conditions:{sizeMm:y,dpi:i,distanceMm:a},moduleMm:b,reference:l.read(c.matrix,{strict:!0}),seeds:e.captureSeeds??8,inks:f,polarity:ok(f)}}var Bc=10,ak=18,sk=Object.freeze({r:255,g:255,b:255,a:1});function Vf(e,t=Bc,n=!0){let{scene:r}=e.built,{dpi:o}=e.conditions,{moduleMm:s}=e;if(n&&s!==null&&o!==null){let c=Math.max(1,Math.round(r.width*s/25.4*o)),u=Of(Tt(r,{width:c,background:sk})),d=Math.max(1,Math.ceil(t*r.width/c)),m=u.width*d,f=u.height*d,p=new Float32Array(m*f);for(let h=0;h<f;h+=1){let g=Math.floor(h/d)*u.width;for(let y=0;y<m;y+=1)p[h*m+y]=u.data[g+Math.floor(y/d)]}return{plane:{width:m,height:f,data:p},scaleX:m/r.width,scaleY:f/r.height}}let i=Math.max(1,Math.round(r.width*t)),a=Math.max(1,Math.round(r.height*t));return{plane:Of(Tt(r,{width:i,height:a,background:sk})),scaleX:i/r.width,scaleY:a/r.height}}var n4=.25;function qf(e){return Math.ceil(n4*e)}function lk(e,t,n){let{layout:r,blocks:o}=e;if(t.length!==r.width*r.height)throw new TypeError("codewordCoverage: one obscured flag per module, row major.");let s=ll(o),i=s.block.length,a=new Uint8Array(i),l=new Uint8Array(i);for(let u=0;u<t.length;u+=1){if(t[u]===0)continue;let d=r.dataBits[u];if(d<0)continue;let m=d>>3;a[m]=1,n!==void 0&&n[u]!==0&&(l[m]=1)}let c=o.blocks.map(()=>({worst:0,expected:0}));for(let u=0;u<i;u+=1){let d=c[s.block[u]];d.worst+=a[u],d.expected+=l[u]}return{blocks:o.blocks.map((u,d)=>{let m=al(u.ecCount,o.p),f=qf(m),p=c[d];return{index:d,ec:u.ecCount,p:o.p,t:m,reserve:f,coveredWorst:p.worst,coveredExpected:p.expected,margin:m-f-p.worst}}),worst:a,expected:l}}function r4(e,t){let n=Number.POSITIVE_INFINITY;for(let r=0;r<t.length;r+=1){let o=t[r],s=o-qf(o)-e[r];s<n&&(n=s)}return n===Number.POSITIVE_INFINITY?0:n}function o4(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function ck(e,t){let n=Tr(e,{profile:"strict-v1",polarity:t.polarity,symbologies:[t.entry.id],maxSymbols:1},t.registries.symbologies),r=n.ok?n.value[0]:void 0;if(r===void 0)return{read:!1,margin:null};let{read:o}=r,s=t.reference;if(o.version!==s.version||!o4(o.bitstream.bytes,s.bitstream.bytes))return{read:!1,margin:null};let i=r4(o.errorsPerBlock,o.capacityPerBlock);return{read:i>=0,margin:i}}var Fc=Object.freeze([.7,.55,.4,.2]),Uc=Object.freeze([.5,.4,.3,.2]),Zi=.4,s4={pass:"verify.check.contrast.sc.pass",warn:"verify.check.contrast.sc.warn",fail:"verify.check.contrast.sc.fail"},i4={pass:"verify.check.contrast.mod.pass",warn:"verify.check.contrast.mod.warn",fail:"verify.check.contrast.mod.fail"},a4={pass:"verify.check.logo-budget.pass",warn:"verify.check.logo-budget.warn",fail:"verify.check.logo-budget.fail"},uk=.25;function dk(e,t){let n=["A","B","C","D"];for(let r=0;r<t.length;r+=1)if(e>=t[r])return n[r];return"F"}function at(e,t,n,r,o,s,i){return{id:e,status:t,measured:n,threshold:r,...i===void 0?{}:{grade:i},messageKey:o,...s===void 0?{}:{params:s}}}function Hf(e){return Math.round(e*100)}function l4(e,t){return e===te.finder||e===te.separator||e===te["sub-finder"]||e===te["corner-finder"]||e===te.alignment&&t==="qr"}function c4(e,t){let{symbol:n,origin:r,polarity:o}=e,{obscured:s}=e.built,{width:i,height:a,data:l}=n.matrix,c=new Float32Array(i*a),u=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY;for(let g=0;g<a;g+=1)for(let y=0;y<i;y+=1){let b=Nc(t.plane,(r.x+y+.5)*t.scaleX,(r.y+g+.5)*t.scaleY),x=g*i+y;c[x]=b,s[x]!==1&&(b<u&&(u=b),b>d&&(d=b))}u===Number.POSITIVE_INFINITY&&(u=0,d=0);let m=(u+d)/2,f=d-u,p=new Uint8Array(i*a),h=Number.POSITIVE_INFINITY;for(let g=0;g<c.length;g+=1){let y=c[g],b=o==="dark-on-light"?y<m:y>m,x=l[g]===1===b;if(x||(p[g]=1),s[g]===1||l4(n.layout.roles[g],n.symbology))continue;let w=f===0?0:2*Math.abs(y-m)/f,k=x?w:-w;k<h&&(h=k)}return{samples:c,rmin:u,rmax:d,threshold:m,wrong:p,mod:h===Number.POSITIVE_INFINITY?0:h}}function u4(e,t,n){let{plane:r,scaleX:o,scaleY:s}=t,{origin:i,polarity:a}=e,{width:l,height:c}=e.symbol.matrix,u=n.rmax-n.rmin,d=a==="dark-on-light"?n.threshold+uk*u:n.threshold-uk*u,m=g=>a==="dark-on-light"?g>=d:g<=d,f=g=>({x0:Math.ceil((i.x-g)*o),y0:Math.ceil((i.y-g)*s),x1:Math.floor((i.x+l+g)*o),y1:Math.floor((i.y+c+g)*s)}),p=g=>({x0:Math.floor((i.x-g)*o),y0:Math.floor((i.y-g)*s),x1:Math.ceil((i.x+l+g)*o),y1:Math.ceil((i.y+c+g)*s)}),h=0;for(let g=1;g<=20;g+=1){let y=f(g),b=p(g-1);if(y.x0<0||y.y0<0||y.x1>r.width||y.y1>r.height||!d4(r,y,b,m))break;h=g}return h}function d4(e,t,n,r){for(let o=t.y0;o<t.y1;o+=1){let s=o>=n.y0&&o<n.y1;for(let i=t.x0;i<t.x1;i+=1){if(s&&i>=n.x0&&i<n.x1){i=n.x1-1;continue}if(!r(e.data[o*e.width+i]))return!1}}return!0}var m4=new Set([te.finder,te.separator,te.timing,te.format,te.version,te["dark-module"],te["sub-finder"],te["corner-finder"]]);function mk(e,t){let{symbol:n,entry:r,built:o,polarity:s,inks:i,reference:a}=e,l=[],c=c4(e,t),u=u4(e,t,c);l.push(at("quiet-zone",u>=r.quietZone?"pass":"fail",u,r.quietZone,u>=r.quietZone?"verify.check.quiet-zone.pass":"verify.check.quiet-zone.fail",{modules:u,minimum:r.quietZone}));let d=Uf(i,s,As,255),m=(c.rmax-c.rmin)/255,f=Math.min(d,m),p=f<Fc[3]?"fail":f<Fc[2]?"warn":"pass";l.push(at("contrast",p,f,Fc[2],s4[p],{percent:Hf(Math.max(0,f)),grade:dk(f,Fc)},"SC"));let h=c.mod,g=h<Uc[3]?"fail":h<Uc[2]?"warn":"pass";l.push(at("contrast",g,h,Uc[2],h<0?"verify.check.contrast.mod.wrong":i4[g],{percent:Hf(Math.max(0,h)),grade:dk(h,Uc)},"MOD"));let y=Ff(i);l.push(at("polarity",s==="dark-on-light"?"pass":"warn",y,0,s==="dark-on-light"?"verify.check.polarity.pass":"verify.check.polarity.warn"));let{obscured:b}=o,x=0,w=0;for(let I=0;I<b.length;I+=1){if(b[I]===0)continue;let U=n.layout.roles[I];m4.has(U)?x+=1:U===te.alignment&&(w+=1)}let k=o.issues.filter(I=>I.code==="design.issue.region-pair").length,S=x>0||k>0?"fail":w>0?"warn":"pass";l.push(at("function-patterns",S,x+k+w,0,x>0?"verify.check.function-patterns.covered":k>0?"verify.check.function-patterns.finder":w>0?"verify.check.function-patterns.alignment":"verify.check.function-patterns.pass",{modules:x+w},"FPD"));let E=lk(n,b,c.wrong),R=Math.min(...E.blocks.map(I=>I.margin)),C=E.blocks.reduce((I,U)=>I+U.coveredWorst,0),A=E.blocks.some(I=>I.coveredExpected>I.t-2*I.reserve),O=R<0?"fail":C>0&&A?"warn":"pass";l.push(at("logo-budget",O,R,0,C===0?"verify.check.logo-budget.none":a4[O],{codewords:C,spare:Math.max(0,R)},"UEC")),l.push(at("finder-shape",k>0?"fail":"pass",k,0,k>0?"verify.check.finder-shape.fail":"verify.check.finder-shape.pass",void 0,"FPD"));let D=Uf(i,s,Is,1);l.push(at("colour-red-channel",D<Zi?"warn":"pass",D,Zi,D<Zi?"verify.check.colour-red-channel.warn":"verify.check.colour-red-channel.pass",{percent:Hf(Math.max(0,D))}));let N=[];r.phoneReadable||N.push(at("reader-support","warn",0,1,r.id==="rmqr"?"verify.check.reader-support.rmqr":"verify.check.reader-support.micro"));let T=a.bitstream.segments;return T.some(I=>I.mode==="kanji")&&N.push(at("reader-support","warn",1,0,"verify.check.reader-support.kanji")),T.some(I=>I.eci!==null)&&N.push(at("reader-support","pass",1,0,"verify.check.reader-support.eci")),N.length===0&&N.push(at("reader-support","pass",1,1,"verify.check.reader-support.pass")),l.push(...N),{checks:l,coverage:E,sampling:c}}var fk=(e,t)=>ck(e.image,t);function pk(e,t,n){let r;return{get image(){let{scene:o}=t.built;return r??=tk(e(),o.width,o.height,t.job.seed,n).image,r}}}function f4(e,t,n){let r=[];for(let o of Oc){if(n!==void 0&&!n.includes(o.axis))continue;if(o.axis!=="distance"){r.push({ladder:o,levels:o.levels,typical:o.levels.indexOf(o.typical)});continue}let{moduleMm:s}=e;if(s===null)continue;let{distanceMm:i}=e.conditions,a=i===null?ht.minPxPerModule:Math.min(t,Pc(s,i)),l=[t,...o.levels.filter(c=>c<t)];l.includes(a)||l.push(a),l.sort((c,u)=>u-c),r.push({ladder:o,levels:l,typical:l.indexOf(a)})}return r}function*p4(e,t,n,r,o,s,i){let a=o.reader??fk,{axis:l}=n.ladder,c=-1,u=-1,d=null,m=0,f=o.onlyTypical===!0,p=o.stopAtTypical===!0||f?n.typical:n.levels.length-1;for(let h=f?n.typical:0;h<=p&&u<0;h+=1){let g=n.levels[h];for(let y=0;y<e.seeds;y+=1){let b={axis:l,level:g,seed:y,pxPerModule:l==="distance"?g:r},x=a(pk(t,e,b),e,b);if(m+=1,s.done+=1,x.read?d=d===null?x.margin:Math.min(d,x.margin):u=h,yield{done:s.done,total:s.total,axis:l},u>=0)break}u<0&&(c=h)}s.done+=n.levels.length*e.seeds-m,i.set(l,{passed:c,failed:u,minMargin:d,seeds:e.seeds})}function h4(e){return Math.min(ak,Math.max(Bc,Math.ceil(1.5*e)))}function*y4(e,t={}){let n=t.reader??fk,r=e.symbol.matrix.width+2*e.quietZone,o=Ww(r,e.moduleMm),s=f4(e,o,t.axes),i=1+e.seeds+s.reduce((h,g)=>h+g.levels.length*e.seeds,0),a={done:0,total:i},l=mk(e,Vf(e,Bc,!1));a.done+=1,yield{done:a.done,total:i,axis:"static"};let c,u=()=>(c??=Vf(e,h4(o)),c),d=!0,m=null,f=0;for(let h=0;h<e.seeds;h+=1){let g={axis:"baseline",level:0,seed:h,pxPerModule:o},y=n(pk(u,e,g),e,g);if(f+=1,a.done+=1,y.read?m=m===null?y.margin:Math.min(m,y.margin):d=!1,yield{done:a.done,total:i,axis:"static"},!d)break}a.done+=e.seeds-f;let p=new Map;for(let h of s)yield*p4(e,u,h,o,t,a,p);return g4(e,l,s,p,{passed:d,minMargin:m,seeds:f})}function Gf(e,t){let n=t===1?10:100;return Math.round(e*n)/n}function Kf(e,t,n){if(t<0)return null;let r=e.levels[t];return e.ladder.axis!=="distance"?r:Math.round(Lf(n,r))}function g4(e,t,n,r,o){let{moduleMm:s,conditions:i,symbol:a}=e,l=n.map(g=>{let y=r.get(g.ladder.axis);return{axis:g.ladder.axis,worstPassed:Kf(g,y.passed,s),firstFailed:Kf(g,y.failed,s),minMargin:y.minMargin,seeds:y.seeds,typical:Kf(g,g.typical,s)}}),c=n.find(g=>g.ladder.axis==="distance"),u=null;if(c!==void 0){let g=r.get("distance");u=g.passed<0?Number.POSITIVE_INFINITY:Math.max(ht.minPxPerModule,c.levels[g.passed])}else s!==null&&(u=ht.minPxPerModule);let d=u===null||!Number.isFinite(u)?null:Cc(u),m=s===null||u===null?null:Number.isFinite(u)?Lf(s,u):0,f=[];for(let g of t.checks)f.push(g),g.id==="logo-budget"&&f.push(b4(e,m,u));let p=t.coverage.blocks.map(g=>({index:g.index,ec:g.ec,p:g.p,t:g.t,coveredWorst:g.coveredWorst,coveredExpected:g.coveredExpected,margin:g.margin})),h="pass";f.some(g=>g.status==="warn")&&(h="warn");for(let g of n){let y=r.get(g.ladder.axis);y.failed>=0&&y.failed<=g.typical&&(h="warn")}return(!o.passed||f.some(g=>g.status==="fail"))&&(h="fail"),{schema:1,profile:"strict-v1",seed:e.job.seed,verdict:h,symbol:{symbology:a.symbology,version:a.version,ecLevel:a.ecLevel,mask:a.mask,modules:[a.matrix.width,a.matrix.height]},conditions:i,checks:f,blocks:p,captures:l,limits:{maxDistanceMm:m===null?null:Math.round(m),minModuleMm:d===null?null:Gf(d,2),inkFraction:e.built.inkFraction},baseline:o}}function b4(e,t,n){let{moduleMm:r,conditions:o}=e;if(r===null||t===null||n===null)return at("module-size","warn",0,Cc(),"verify.check.module-size.unknown");let s=Number.isFinite(n)?Cc(n):Number.POSITIVE_INFINITY,i=o.sizeMm,a={sizeMm:Gf(i,1),moduleMm:Gf(r,2),distanceCm:Math.round(t/10)};if(!Number.isFinite(s))return at("module-size","fail",r,0,"verify.check.module-size.unread",a);let l=Math.ceil(i*s/r);if(r<s)return at("module-size","fail",r,s,"verify.check.module-size.fail",{...a,minimumMm:l});let c=o.distanceMm;return c!==null&&t<c?at("module-size","warn",r,s,"verify.check.module-size.short",{...a,expectedCm:Math.round(c/10),minimumMm:Math.ceil(i*c/t)}):t<ht.comfortMm?at("module-size","warn",r,s,"verify.check.module-size.close",a):at("module-size","pass",r,s,"verify.check.module-size.pass",a)}function zc(e,t){return y4(ik(e,t))}function x4(e){let{assets:t}=e;return{content:e.content,design:e.design,conditions:{sizeMm:e.sizeMm,dpi:e.dpi,distanceMm:null},seed:e.seed,requires:Yi(e.design),...Object.keys(t).length===0?{}:{assets:t},captureSeeds:e.captureSeeds,overlay:e.overlay}}function w4(e){let t=[];e.baseline.passed||t.push(P(nl.baselineFailed,["check","baseline"],"warning"));for(let n of e.checks)n.status!=="pass"&&t.push(P(n.messageKey,["check",n.id],n.status==="fail"?"warning":"info",n.params));return{verdict:e.verdict,issues:t}}function hk(e,t=zc){return function*(r){let o=yield*t(x4(r),e);return w4(o)}}var k4=8,Vc=class{decoded=new Map;image(t){if(this.decoded.has(t)){let o=this.decoded.get(t);return this.decoded.delete(t),this.decoded.set(t,o),o}let n=null,r=Lo(t);if(r!==null)try{n=Ac(r,{maxPixels:he.assetSide*he.assetSide})}catch{n=null}for(this.decoded.set(t,n);this.decoded.size>k4;){let o=this.decoded.keys().next().value;this.decoded.delete(o)}return n}lookup(t){return n=>{let r=t.assets?.[n];return r===void 0?void 0:this.image(r.png)??void 0}}all(t){let n=t.assets;if(n===void 0)return;let r={};for(let[o,s]of Object.entries(n)){let i=this.image(s.png);i!==null&&(r[o]=i)}return r}};function yk(e,t){return t===void 0?e.minSizeMm:e.sizesMm?.[t]??e.minSizeMm}var qc="https://example.com/",v4=["link","contact","message","network","event","place","payment","commerce","text"],S4=["classic","rounded","dots","hex","fluid","bold","minimal","colour","print"],M4=["L","M","Q","H"],Qf={kind:"solid",colour:{r:0,g:0,b:0,a:1}},Wf={kind:"solid",colour:{r:255,g:255,b:255,a:1}},gk=["11011","10101","01110","10101","11011"];function Ps(e){let{design:t}=e;return[e.symbologies.version,e.payloads.version,t.moduleShapes.version,t.regionShapes.version,t.fills.version,t.frames.version,t.icons.version,t.presets.version].join(".")}function E4(){return yn({width:1,height:1,background:null,layers:[]})}function bo(e){let t;return()=>{if(t===void 0)try{t=e()}catch{t=E4()}return t}}function $i(e,t,n){return yn(e,{idPrefix:`t-${t}-${n}-`})}function T4(e,t){let n=e.moduleShapes.require(t),r=gk.length,o=new Uint8Array(r*r);gk.forEach((c,u)=>{for(let d=0;d<r;d+=1)o[u*r+d]=c[d]==="1"?1:0});let s=li(r,r,o),i=mt(n.params,void 0),a=Wn(1),l=new ee;for(let c=0;c<o.length;c+=1)o[c]===1&&(l.transform(ja(c%r+1,Math.floor(c/r)+1)),n.path({neighbours:s[c],params:i,prng:a.fork(c)},l));return $i({width:r+2,height:r+2,background:Wf,layers:[{kind:"path",path:l.build(),paint:Qf}]},"module",t)}function R4(e,t){let n=t==="outer"?"square-centre":"square",r=e.regionShapes.get(n);return r!==void 0&&r.part!==t?r:void 0}function A4(e,t){let n=e.regionShapes.require(t),r=n.kinds.includes("concentric-7")?"concentric-7":n.kinds[0]??"concentric-7",o=new ee;pi(n,r,mt(n.params,void 0),1,1,o);let s=R4(e,n.part);return s!==void 0&&s.kinds.includes(r)&&pi(s,r,mt(s.params,void 0),1,1,o),$i({width:9,height:9,background:Wf,layers:[{kind:"path",path:o.build(),paint:Qf}]},"region",t)}function I4(e,t){let n=e.fills.require(t),r={kind:"entry",ref:{id:t}},o=Wn(1),s=[],i=4;if(n.space==="module")for(let a=0;a<i*i;a+=1){let l=a%i+.5,c=Math.floor(a/i)+.5,u={x:l,y:c,width:1,height:1};s.push({kind:"path",path:new ee().rect(l,c,1,1).build(),paint:Et(r,u,e.fills,o.fork(a))})}else{let a={x:.5,y:.5,width:i,height:i};s.push({kind:"path",path:new ee().rect(a.x,a.y,a.width,a.height).build(),paint:Et(r,a,e.fills,o)})}return $i({width:i+1,height:i+1,background:Wf,layers:s},"fill",t)}function P4(e,t){let n=e.icons.require(t);return $i({width:1,height:1,background:null,layers:[{kind:"path",path:n.path,paint:Qf}]},"icon",t)}function _f(e,t,n,r,o,s,i){let a=Nr(n,i);return $i(tn(t,a.design,{registries:e,seed:1,overlay:a.overlay,...s===void 0?{}:{fonts:s}}).scene,r,o)}function C4(e){return Fn(qc,{ecLevel:"M"},e.symbologies)}function N4(e,t){let n=new Set;for(let r of e)for(let o of t(r))n.add(o);return M4.filter(r=>n.has(r))}var L4=Object.freeze(["square","dot","hex"]);function O4(e,t,n){let r="concentric-7";if(!t.kinds.includes(r))return Object.freeze([]);let o=mt(t.params,void 0),s=[];for(let i of e.regionShapes.list()){if(i.part===t.part||!i.kinds.includes(r))continue;let a=mt(i.params,void 0),[l,c,u,d]=t.part==="outer"?[t,o,i,a]:[i,a,t,o];try{yr(l,c,u,d,r,n)&&s.push(i.id)}catch{}}return Object.freeze(s)}function bk(e,t){let{design:n}=e,r,o=()=>r??=C4(e),s=v4.map(p=>({category:p,labelKey:hd(p),types:Object.freeze(e.payloads.list().filter(h=>h.category===p).map(h=>Object.freeze({id:h.id,labelKey:h.labelKey,descriptionKey:h.descriptionKey,actionKey:h.actionKey,category:h.category,generate:h.generate!==!1,designLocked:h.constraints?.designLocked===!0})))})).filter(p=>p.types.length>0),i=e.symbologies.list().map(p=>Object.freeze({id:p.id,labelKey:p.labelKey,phoneReadable:p.phoneReadable,noteKey:p.phoneReadable?null:`symbology.${p.id}.not-phone-readable`,ecLevels:Object.freeze(N4(p.versions,h=>p.ecLevels(h))),quietZone:p.quietZone})),a=n.moduleShapes.list().map(p=>Object.freeze({id:p.id,labelKey:p.labelKey,params:p.params,family:hr(p),thumbnail:bo(()=>T4(n,p.id))})),l=p=>{let h,g=()=>h??=Object.freeze(Object.fromEntries(L4.map(y=>[y,O4(n,p,y)])));return Object.freeze({id:p.id,labelKey:p.labelKey,params:p.params,part:p.part,kinds:p.kinds,get pairs(){return g().square},get pairsByFamily(){return g()},thumbnail:bo(()=>A4(n,p.id))})},c=n.regionShapes.list(),u=n.fills.list().map(p=>Object.freeze({id:p.id,labelKey:p.labelKey,params:p.params,thumbnail:bo(()=>I4(n,p.id))})),d=n.frames.list().map(p=>Object.freeze({id:p.id,labelKey:p.labelKey,params:p.params,text:p.text,thumbnail:bo(()=>_f(n,o(),{...cr(),frame:{ref:{id:p.id}}},"frame",p.id,t))})),m=n.icons.list().map(p=>Object.freeze({id:p.id,labelKey:p.labelKey,params:Object.freeze([]),thumbnail:bo(()=>P4(n,p.id))})),f=S4.map(p=>({category:p,labelKey:yd(p),presets:Object.freeze(n.presets.list().filter(h=>h.category===p).map(h=>Object.freeze({id:h.id,labelKey:h.labelKey,params:Object.freeze([]),category:h.category,minSizeMm:h.minSizeMm,ecLevels:h.ecLevels,sizesMm:Object.freeze(Object.fromEntries(h.ecLevels.map(g=>[g,yk(h,g)]))),thumbnail:bo(()=>_f(n,o(),h.design,"preset",h.id,t))})))})).filter(p=>p.presets.length>0);return Object.freeze({payloadTypes:Object.freeze(s.map(p=>Object.freeze(p))),symbologies:Object.freeze(i),moduleShapes:Object.freeze(a),rings:Object.freeze(c.filter(p=>p.part==="outer").map(l)),centres:Object.freeze(c.filter(p=>p.part==="inner").map(l)),fills:Object.freeze(u),frames:Object.freeze(d),icons:Object.freeze(m),presets:Object.freeze(f.map(p=>Object.freeze(p)))})}function xk(e,t,n,r,o){let s=new Map;return Object.freeze({get(i){let a=e.design.presets.get(i);if(a===void 0)return null;if(n===null){for(let c of t.presets)for(let u of c.presets)if(u.id===i)return u.thumbnail();return null}let l=s.get(i);return l===void 0&&(l=bo(()=>_f(e.design,n,a.design,"preset",i,o,r))(),s.set(i,l)),l}})}var Kc=16384,Xf=64*1024*1024,D4=1024,j4=300,_c=25,wk=Object.freeze({svg:"image/svg+xml",png:"image/png",jpeg:"image/jpeg",webp:"image/webp",pdf:"application/pdf",eps:"application/postscript"}),B4=Object.freeze({svg:"svg",png:"png",jpeg:"jpg",webp:"webp",pdf:"pdf",eps:"eps"}),F4={r:255,g:255,b:255,a:1};function U4(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Hc(e,t,n){return typeof e=="number"&&Number.isFinite(e)&&e>=t&&e<=n}function z4(e,t){let n=[],r=l=>{n.push(P(Le.exportOption,["options",l],"warning"))},o=typeof t=="object"&&t!==null?t:{},s=e.design,i={};if(o.quietZone!==void 0){let l=o.quietZone;if(typeof l=="number"&&Number.isInteger(l)&&l>=0&&l<=he.quietZone){s={...s,quietZone:l};let c=Oo[e.symbol.symbology]??4;l<c&&n.push(P(Le.quietZoneBelowMinimum,["options","quietZone"],"warning",{min:c}))}else r("quietZone")}let a=s.output.sizeMm;if(o.sizeMm!==void 0&&(Hc(o.sizeMm,he.sizeMm.min,he.sizeMm.max)?e.fixedSizeMm!==void 0&&o.sizeMm!==e.fixedSizeMm?n.push(P(Le.exportSizeConstrained,["options","sizeMm"],"warning",{size:e.fixedSizeMm})):a=o.sizeMm:r("sizeMm")),a!==s.output.sizeMm&&(s={...s,output:{...s.output,sizeMm:a}}),o.widthPx!==void 0){let l=o.widthPx;typeof l=="number"&&Number.isInteger(l)&&l>=1&&l<=Kc?i.widthPx=l:r("widthPx")}return o.dpi!==void 0?Hc(o.dpi,he.dpi.min,he.dpi.max)?i.dpi=o.dpi:r("dpi"):s.output.dpi!==void 0&&(i.dpi=s.output.dpi),o.colourSpace!==void 0&&(o.colourSpace==="srgb"||o.colourSpace==="cmyk"?i.colourSpace=o.colourSpace:r("colourSpace")),o.bleedMm!==void 0&&(Hc(o.bleedMm,0,50)?i.bleedMm=o.bleedMm:r("bleedMm")),o.cropMarks!==void 0&&(typeof o.cropMarks=="boolean"?i.cropMarks=o.cropMarks:r("cropMarks")),o.quality!==void 0&&(Hc(o.quality,0,1)?i.quality=o.quality:r("quality")),{design:s,issues:n,options:i}}function Gc(e){let t=e.unitsPerMm;return U4(t)?{width:e.width/t,height:e.height/t}:null}function V4(e,t,n){if(t!==void 0)return t;let r=Gc(e);if(r!==null)return Math.max(1,Math.round(r.width/25.4*(n??j4)));let o=Math.max(1,Math.ceil(D4/e.width));return Math.max(1,Math.round(e.width*o))}function q4(e,t){return new K("render/surface-too-large","That picture is too large to draw here. Choose a smaller size.",{width:e,height:t,maxPixels:Xf})}function kk(e){return new K("render/format-unavailable","This browser cannot save in that format. Choose PNG or SVG.",{format:e})}async function H4(e,t,n,r){if(t!=="png"&&r===null)return Y(kk(t));let o=V4(e,n.options.widthPx,n.options.dpi),s=Math.max(1,Math.round(o*e.height/e.width));if(o>Kc||s>Kc||o*s>Xf)return Y(q4(o,s));let i=Tt(e,{width:o,height:s,...t==="jpeg"&&e.background===null?{background:F4}:{}});if(t==="png"){let l=Gc(e),c=l===null?n.options.dpi:o/l.width*25.4;return ae({bytes:Gn(i,c===void 0?{}:{dpi:c}),width:o,height:s})}let a=await r.encode(i,t,n.options.quality===void 0?{}:{quality:n.options.quality});return a.ok?ae({bytes:a.value,width:o,height:s}):a}async function vk(e,t,n){if(!Object.prototype.hasOwnProperty.call(wk,t))throw new TypeError("export: format is svg, png, jpeg, webp, pdf or eps.");if((t==="pdf"||t==="eps")&&e.printer===null)return Y(kk(t));let r=z4(e,n),o;try{o=tn(e.symbol,r.design,{registries:e.registries,assets:e.assets,fonts:e.fonts,seed:e.seed,overlay:e.overlay})}catch(c){return Y($e(c,"render/format-unavailable"))}let{scene:s}=o;if((t==="pdf"||t==="eps")&&Gc(s)===null){let c=e.conditions.sizeMm??_c;s={...s,unitsPerMm:(e.symbol.matrix.width+2*r.design.quietZone)/c}}let i=[...o.issues,...r.issues],a=Vy(r.design.name,B4[t]),l=(c,u,d)=>ae(Object.freeze({filename:a,mime:wk[t],bytes:c,width:u,height:d,issues:i}));try{switch(t){case"svg":return l(new TextEncoder().encode(yn(s)),s.width,s.height);case"png":case"jpeg":case"webp":{let c=await H4(s,t,r,e.rasterEncoder);return c.ok?l(c.value.bytes,c.value.width,c.value.height):c}case"pdf":case"eps":{let c=e.printer,u=Gc(s),d=r.options.colourSpace??r.design.output.colourSpace;if(t==="pdf"){let f=c.pdf(s,{colour:d,widthMm:u.width,heightMm:u.height,...r.options.bleedMm===void 0?{}:{bleedMm:r.options.bleedMm},...r.options.cropMarks===void 0?{}:{cropMarks:r.options.cropMarks}});return l(f,u.width,u.height)}let m=c.eps(s,{colour:d,widthMm:u.width});return l(new TextEncoder().encode(m),u.width,u.height)}}}catch(c){return Y($e(c,"render/format-unavailable"))}}function K4(e,t){return e.path[0]==="fields"&&e.path[1]===t}function G4(e,t){if(e.safety===void 0)return[];try{return e.safety(t)}catch{return[]}}function Sk(e,t,n){let r=e.fields.map(c=>{let u=Object.prototype.hasOwnProperty.call(t,c.key)?t[c.key]:vd(c);return Object.freeze({key:c.key,kind:c.kind,labelKey:c.labelKey,hintKey:c.hintKey??null,required:c.required===!0,multiple:c.multiple===!0,maxItems:c.maxItems??null,maxLength:c.maxLength??null,min:c.min??null,max:c.max??null,options:c.options??[],group:c.group??null,advanced:c.advanced===!0,secret:c.kind==="secret",value:u,issues:Object.freeze(n.filter(d=>K4(d,c.key)))})}),o=[],s=null,i=()=>{s!==null&&(o.push(Object.freeze({id:s.id,labelKey:s.id===null?null:gd(s.id),advanced:s.fields.every(c=>c.advanced),fields:Object.freeze(s.fields.map(c=>c.key))})),s=null)};for(let c of r)(s===null||s.id!==c.group)&&(i(),s={id:c.group,fields:[]}),s.fields.push(c);i();let a=new Set(e.fields.map(c=>c.key)),l=n.some(c=>c.severity==="error");return Object.freeze({typeId:e.id,labelKey:e.labelKey,descriptionKey:e.descriptionKey,actionKey:e.actionKey,category:e.category,fields:Object.freeze(r),groups:Object.freeze(o),hasAdvanced:r.some(c=>c.advanced),issues:Object.freeze(n.filter(c=>!(c.path[0]==="fields"&&a.has(c.path[1])))),compatibility:e.compatibility??[],safety:l?[]:G4(e,t),designLocked:e.constraints?.designLocked===!0})}var Mk=Object.freeze({past:Object.freeze([]),future:Object.freeze([]),group:null,coalescing:null});function Yf(e,t){return e.length>t?e.slice(e.length-t):e}function Zf(e,t,n,r){return e.group!==null?e:n!==null&&n===e.coalescing&&e.past.length>0?e.future.length===0?e:{...e,future:[]}:{past:Yf([...e.past,t],r),future:[],group:null,coalescing:n}}function Ek(e){return e.coalescing===null?e:{...e,coalescing:null}}function Tk(e,t,n,r){return e.group?.key===t?e:{...e.group===null?e:Qc(e,e.group.key,n,r),group:{key:t,base:n},coalescing:null}}function Qc(e,t,n,r){let o=e.group;return o===null||o.key!==t?e:$f(o.base,n)?{...e,group:null}:{past:Yf([...e.past,o.base],r),future:[],group:null,coalescing:null}}function Rk(e){return e.group===null?null:{history:{...e,group:null},restore:e.group.base}}function Ak(e,t){let n=e.past[e.past.length-1];return n===void 0?null:{history:{past:e.past.slice(0,-1),future:[...e.future,t],group:null,coalescing:null},restore:n}}function Ik(e,t,n){let r=e.future[e.future.length-1];return r===void 0?null:{history:{past:Yf([...e.past,t],n),future:e.future.slice(0,-1),group:null,coalescing:null},restore:r}}function $f(e,t){return e.typeId===t.typeId&&e.fields===t.fields&&e.design===t.design}var ep=7;function Jf(e){let t=e/255;return t<=.04045?t/12.92:Oa((t+.055)/1.055,2.4)}function nn(e){let{r:t,g:n,b:r}=zt(e);return .2126*Jf(t)+.7152*Jf(n)+.0722*Jf(r)}function xo(e,t){let n=nn(e),r=nn(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}var Cs="logo",Ji=he.assetSide,Xc=he.assetBytes,Wc=Object.freeze({size:.2,clear:"box",padding:1,plate:null});function tp(e,t){let n=e.logo,r={size:n?.size??Wc.size,clear:n?.clear??Wc.clear,padding:n?.padding??Wc.padding,plate:n?.plate??Wc.plate,source:{kind:"asset",id:Cs}};return Object.freeze([{path:["assets",Cs],value:t},{path:["logo"],value:r}])}function np(e){let t=[{path:["logo"],value:null}];return e.assets!==void 0&&t.push({path:["assets"],value:void 0}),Object.freeze(t)}var Pk=.8,Ck=4.5,Nk=32,_4="#ffffff";function rp(e){return{kind:"solid",ink:e}}function Q4(e){return e!==null&&e.kind==="solid"?e.ink:_4}function op(e,t){let n=[...t.palette].sort((c,u)=>nn(c)-nn(u)),r=e,o=n[n.length-1];o!==void 0&&nn(o)>=Pk&&(r={...r,background:rp(o)});let s=Q4(r.background),i=n.filter(c=>nn(c)<nn(s)&&xo(c,s)>=Ck),[a,l]=i;if(a!==void 0&&(r={...r,modules:{...r.modules,paint:rp(a)}}),l!==void 0){let c=r.regions.finder??{outer:{id:"square"},inner:{id:"square-centre"}};r={...r,regions:{...r.regions,finder:{...c,outerPaint:rp(l)}}}}if(t.logo!==null){let c=r.logo;r={...r,logo:{size:c?.size??.2,clear:c?.clear??"box",padding:c?.padding??1,plate:c?.plate??null,source:{kind:"asset",id:Cs}},assets:{[Cs]:t.logo}}}return r}function Yc(e){return e==null||e.kind==="entry"?[]:e.kind==="solid"?[e.ink]:e.stops.map(t=>t.ink)}function W4(e,t){return JSON.stringify(e)===JSON.stringify(t)}function sp(e){let t=[...Yc(e.modules.paint),...Yc(e.regions.finder?.outerPaint),...Yc(e.regions.finder?.innerPaint),...Yc(e.background)],n=[];for(let s of t)n.length<Nk&&!n.some(i=>W4(i,s))&&n.push(s);let r=e.logo?.source,o=r?.kind==="asset"?e.assets?.[r.id]??null:null;return Object.freeze({palette:Object.freeze(n),logo:o,presets:Object.freeze([])})}var X4=new Set(["__proto__","constructor","prototype"]),Y4=16;function Lk(e){if(!Array.isArray(e)||e.length>Y4)return"shape";for(let t of e)if(typeof t=="number"){if(!Number.isInteger(t)||t<0||t>1024)return"shape"}else{if(typeof t!="string"||t.length===0||t.length>64)return"shape";if(X4.has(t))return"key"}return null}function Ok(e,t,n,r){let o=t[n],s=Array.isArray(e)?[...e]:typeof e=="object"&&e!==null?{...e}:typeof o=="number"?[]:{},i=s;return n===t.length-1?(r===void 0?Array.isArray(s)?s.splice(o,1):delete i[o]:i[o]=r,s):(i[o]=Ok(i[o],t,n+1,r),s)}function Dk(e,t,n){return t.length===0?n:Ok(e,t,0,n)}function Zc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function tr(e,t){if(e===t)return!0;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(!tr(e[n],t[n]))return!1;return!0}if(Zc(e)){if(!Zc(t))return!1;let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!tr(e[r],t[r]))return!1;return!0}return!1}function ea(e,t){if(tr(e,t))return e;if(Array.isArray(t)&&Array.isArray(e))return t.map((n,r)=>ea(e[r],n));if(Zc(t)&&Zc(e)){let n={};for(let r of Object.keys(t))n[r]=ea(e[r],t[r]);return n}return t}function $c(e,t){let{scheduler:n,clock:r,signal:o,progress:s,failure:i}=t;return new Promise((a,l)=>{let c=null,u=!1,d=()=>{u=!0,o.removeEventListener("abort",p),c?.(),c=null},m=y=>{d(),a(y)},f=y=>{d(),y instanceof TypeError?l(y):a(Y($e(y,i)))},p=()=>m(Y(new bn));if(o.aborted){m(Y(new bn));return}o.addEventListener("abort",p);let h;try{h=e()}catch(y){f(y);return}let g=()=>{c=null;let y=r();try{for(;;){let b=h.next();if(b.done===!0){m(ae(b.value));return}if(s(b.value),u)return;if(r()-y>=n.sliceMs)break}}catch(b){f(b);return}c=n.later(g,0)};c=n.later(g,0)})}function jk(e){let t=new Set;return{sliceMs:e.sliceMs,get pending(){return t.size},later(n,r){let o=()=>{t.delete(o)&&s()},s=e.later(()=>{t.delete(o)&&n()},r);return t.add(o),o},cancelAll(){for(let n of[...t])n()}}}var Z4=.25,$4=48;function ip(e){return Math.round(Math.min(255,Math.max(0,e))).toString(16).padStart(2,"0")}function Bk(e,t,n){let r=t*Math.min(n,1-n),o=s=>{let i=(s+e*12)%12;return(n-r*Math.max(-1,Math.min(i-3,9-i,1)))*255};return`#${ip(o(0))}${ip(o(8))}${ip(o(4))}`}function Jc(e,t,n){return t+e.next()*(n-t)}function eu(e,t){return t[e.int(t.length)]}function J4(e){return e.next()<.4?"#ffffff":Bk(e.next(),Jc(e,.2,.6),Jc(e,.94,.985))}function Ns(e,t){for(let n=0;n<$4;n+=1){let r=Bk(e.next(),Jc(e,.3,.9),Jc(e,.06,.3));if(xo(r,t)>=ep)return r}return"#000000"}function e8(e,t,n){let r=e.next(),o=Ns(e,t);if(r<.5)return{kind:"solid",ink:o};let s=Ns(e,t);if(r<.75)return{kind:"linear",angle:e.int(8)*45,space:"symbol",stops:[{offset:0,ink:o},{offset:1,ink:s}]};if(r<.9)return{kind:"radial",cx:.5,cy:.5,radius:.7,space:"symbol",stops:[{offset:0,ink:o},{offset:1,ink:s}]};let i=n.fills.list();if(i.length===0)return{kind:"solid",ink:o};let a=eu(e,i),l={};for(let c of a.params)c.kind==="colour"&&(l[c.key]=Ns(e,t));return{kind:"entry",ref:{id:a.id,params:l}}}function ap(e){let t=e.regionShapes.list(),n=t.filter(s=>s.part==="outer"&&s.kinds.includes("concentric-7")&&Vo(s)==="cornered"),r=t.filter(s=>s.part==="inner"&&s.kinds.includes("concentric-7")),o=[];for(let s of n)for(let i of r)yr(s,mt(s.params,void 0),i,mt(i.params,void 0),"concentric-7")&&o.push([s,i]);return o}function t8(e,t,n,r,o){let s=t.symbol.symbology!=="qr",i=n.filter(([d,m])=>d.unpaired?.[o]?.includes(m.id)!==!0),a=s?i.filter(([d])=>d.id==="square"):i;if(a.length===0)return null;let[l,c]=eu(e,a),u={outer:{id:l.id},inner:{id:c.id}};return e.next()<.3&&(u.outerPaint={kind:"solid",ink:Ns(e,r)}),e.next()<.3&&(u.innerPaint={kind:"solid",ink:Ns(e,r)}),u}function Fk(e,t,n,r=ap(n)){let o=Wn(t),s=J4(o.fork(1)),i=o.fork(2),a=n.moduleShapes.list(),l=a.length===0?e.modules.shape:{id:eu(o.fork(3),a).id},c=hr(n.moduleShapes.get(l.id)),u=t8(o.fork(4),e,r,s,c),d=n.frames.list().filter(h=>h.id!=="none"),m=o.fork(5),f=e.symbol.symbology!=="rmqr"&&d.length>0&&m.next()<Z4;return{schema:"qr-design",version:1,symbol:e.symbol,quietZone:e.quietZone,background:{kind:"solid",ink:s},modules:{shape:l,paint:e8(i,s,n),light:null},regions:u===null?{}:{finder:u},logo:e.logo,frame:f?{ref:{id:eu(m,d).id},paint:{kind:"solid",ink:Ns(m,s)}}:null,output:e.output,...e.assets===void 0?{}:{assets:e.assets},...e.name===void 0?{}:{name:e.name}}}function n8(e){return e==null||e===""||e===!1||Array.isArray(e)&&e.every(t=>t==="")}function Uk(e,t){let n;try{n=e.validate(t)}catch(r){let o=Jr($e(r,"payload/invalid"),["fields"]);return{ok:!1,issues:[o],reason:o}}if(qn(n)){let r=e.fields.every(i=>n8(t[i.key])),o=n.filter(i=>i.severity==="error").length,s=r?P(Le.contentEmpty,["fields"],"info"):P(Le.contentInvalid,["fields"],"error",{count:o});return{ok:!1,issues:n,reason:s}}try{return{ok:!0,text:e.build(t).text,issues:n}}catch(r){let o=Jr($e(r,"payload/invalid"),["fields"]);return{ok:!1,issues:[...n,o],reason:o}}}function zk(e){let{symbology:t,ecLevel:n,boostEc:r,minVersion:o,maxVersion:s,mask:i,segmentation:a}=e.symbol;return{symbology:t,...n===void 0?{}:{ecLevel:n},...r===void 0?{}:{boostEc:r},...o===void 0?{}:{minVersion:o},...s===void 0?{}:{maxVersion:s},...i===void 0?{}:{mask:i},...a===void 0?{}:{segmentation:a}}}function Vk(e){return JSON.stringify(zk(e))}function qk(e,t,n){try{return{ok:!0,symbol:Fn(e,zk(t),n)}}catch(r){let o=$e(r,"encode/unsupported-content");return{ok:!1,issue:Jr(o,["symbol"]),error:o}}}function r8(e,t,n){try{return t.read(e.matrix,{strict:!1}).bitstream.segments.map(o=>({mode:o.mode,chars:o.length,data:new Uint8Array(0),...o.eci===null?{}:{eci:o.eci}}))}catch{try{return Tc(n,t.profile(e.version),{...Wi,kanji:"never"})}catch{return[]}}}function o8(e,t){let n=e.versions,r=t.symbol.maxVersion;return r!==void 0&&n.includes(r)?r:n[n.length-1]}function Hk(e,t,n,r){let o=r.require(e.symbology),s=r8(e,o,t),i=0;try{i=s.length===0?0:Bn(s,o.profile(e.version))}catch{}let a=e.blocks.dataBits,l=o8(o,n),c=a;try{c=Math.max(a,o.blocks(l,e.ecLevel).dataBits)}catch{}let u=s.map(d=>Object.freeze({mode:d.mode,chars:d.chars,eci:d.eci??null}));return Object.freeze({symbology:o.id,symbologyLabelKey:o.labelKey,phoneReadable:o.phoneReadable,noteKey:o.phoneReadable?null:`symbology.${o.id}.not-phone-readable`,version:e.version,ecLevel:e.ecLevel,mask:e.mask,modules:Object.freeze([e.matrix.width,e.matrix.height]),quietZone:n.quietZone,capacity:Object.freeze({usedBits:i,totalBits:a,fraction:i/a,ofLargest:i/c}),segments:Object.freeze(u)})}var ta=8,Kk=2;function Gk(e){let{content:t,design:n,conditions:r,seed:o,assets:s,overlay:i,captureSeeds:a}=e;return Object.freeze({content:t,design:n,conditions:r,seed:o,requires:Yi(n),...s===void 0?{}:{assets:s},overlay:i,captureSeeds:a})}var _k=Object.freeze({run:async()=>Y(new K("platform/unavailable","The scan check is not part of this copy.",{feature:"verify"}))});function Qk(e,t){let{registries:n,scheduler:r,clock:o}=t;return Object.freeze({run(s,i,a){return $c(()=>e(s,n),{scheduler:r,clock:o,signal:i,progress:a,failure:"verify/missing-entry"})}})}function s8(e){return/^[\u0000-\u0020]*https?:/i.test(e)}function i8(e){try{return Gl(new URL(e).protocol.slice(0,-1))}catch{return!1}}function tu(e){try{return{ok:!0,value:e()}}catch{return{ok:!1}}}function Wk(e){return`${e.code}|${e.severity}|${JSON.stringify(e.params??{})}`}function lp(e,t){let n=[],r=nc(e,t).type,o=tu(()=>r.parse(e));o.ok||(n.push(P("inspect.issue.unreadable-as-type",[],"warning",{typeId:r.id})),r=t.get("text")??fs,o=tu(()=>r.parse(e)));let s=o.ok?o.value:{text:e},i=tu(()=>r.validate(s));i.ok&&n.push(...i.value);let a=[],l=null,c=null,u=new Set;if(s8(e)||i8(e)){let f=en(e);a.push(...f.findings);for(let p of f.findings)u.add(p.code);l=f.displayHost,c=f.unicodeHost}let d=new Set(a.map(Wk)),m=r.safety===void 0?void 0:tu(()=>r.safety(s));if(m!==void 0&&m.ok)for(let f of m.value){let p=Wk(f);u.has(f.code)||d.has(p)||(d.add(p),a.push(f))}return{payload:Object.freeze({typeId:r.id,value:s,issues:Object.freeze(n)}),safety:Object.freeze({findings:Object.freeze(a),displayHost:l,unicodeHost:c})}}var nu="",a8=Object.freeze({"00":{length:2,fixed:18},"01":{length:2,fixed:14},"02":{length:2,fixed:14},10:{length:2,max:20},11:{length:2,fixed:6},12:{length:2,fixed:6},13:{length:2,fixed:6},15:{length:2,fixed:6},16:{length:2,fixed:6},17:{length:2,fixed:6},20:{length:2,fixed:2},21:{length:2,max:20},22:{length:2,max:20},240:{length:3,max:30},241:{length:3,max:30},250:{length:3,max:30},251:{length:3,max:30},253:{length:3,max:30},254:{length:3,max:20},30:{length:2,max:8},37:{length:2,max:8},400:{length:3,max:30},401:{length:3,max:30},402:{length:3,fixed:17},403:{length:3,max:30},410:{length:3,fixed:13},411:{length:3,fixed:13},412:{length:3,fixed:13},413:{length:3,fixed:13},414:{length:3,fixed:13},415:{length:3,fixed:13},416:{length:3,fixed:13},420:{length:3,max:20},421:{length:3,max:12},422:{length:3,fixed:3},7003:{length:4,fixed:10},8003:{length:4,max:30},8004:{length:4,max:30},8020:{length:4,max:25},90:{length:2,max:30}});function l8(e){return/^3[1-6]\d\d$/.test(e)?{length:4,fixed:6}:void 0}function c8(e){return/^39[0-3]\d$/.test(e)?{length:4,max:18}:void 0}function u8(e){let t=Number(e);return t<=22||t===30||t===37||t>=90?2:t>=23&&t<=25||t>=40&&t<=42?3:4}function d8(e){for(let r of[2,3,4]){let o=e.slice(0,r),s=a8[o]??(r===4?l8(o)??c8(o):void 0);if(s!==void 0&&s.length===r)return{ai:o,spec:s}}if(!/^\d\d/.test(e))return null;let t=u8(e.slice(0,2)),n=e.slice(0,t);return!/^\d+$/.test(n)||n.length<t?null:{ai:n,spec:{length:t,max:Number(n.slice(0,2))>=91?90:70}}}function Xk(e){let t=[],n=e.startsWith(nu)?1:0;for(;n<e.length;){let r=d8(e.slice(n));if(r===null)break;let o=n+r.ai.length,s;if(r.spec.fixed!==void 0){if(s=o+r.spec.fixed,s>e.length||e.slice(o,s).includes(nu))break}else{let i=e.indexOf(nu,o);if(s=i<0?e.length:i,s-o>r.spec.max)break}t.push({ai:r.ai,value:e.slice(o,s)}),n=s,e[n]===nu&&(n+=1)}return t}function m8(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}function Yk(e){let t=new Map;for(let r of e){let o=`${r.parity}/${r.total}`,s=t.get(o);s===void 0&&(s={parity:r.parity,total:r.total,byIndex:new Map,clash:!1},t.set(o,s));let i=s.byIndex.get(r.index);i===void 0?s.byIndex.set(r.index,r):m8(i.bytes,r.bytes)||(s.clash=!0)}let n=[];for(let r of t.values()){let o=[];for(let a=0;a<r.total;a+=1)r.byIndex.has(a)||o.push(a);let s=null,i=null;if(o.length===0){let a=0;for(let l=0;l<r.total;l+=1)for(let c of r.byIndex.get(l).bytes)a^=c;if(s=a===r.parity&&!r.clash,s){i="";for(let l=0;l<r.total;l+=1)i+=r.byIndex.get(l).text}}n.push(Object.freeze({parity:r.parity,total:r.total,complete:s===!0,text:i,missing:Object.freeze(o),parityMatches:s}))}return n}function Zk(e){if(typeof e!="object"||e===null||typeof e.symbologies!="object"||typeof e.payloads!="object")throw new TypeError("inspect: registries gives the symbologies and the content types.")}function f8(e){let{read:t}=e,{bitstream:n}=t;return Object.freeze({symbology:e.symbology,version:t.version,ecLevel:t.ecLevel,mask:t.mask,corners:e.corners,segments:n.segments,text:n.text,textSource:n.textSource,structuredAppend:n.structuredAppend,gs1:n.fnc1==="gs1"?Object.freeze(Xk(n.text)):null,quality:Object.freeze({errorsPerBlock:t.errorsPerBlock,capacityPerBlock:t.capacityPerBlock,erasuresUsed:t.erasuresUsed,formatErrors:t.formatErrors,mirrored:t.mirrored,inverted:e.inverted,minConfidence:e.minConfidence})})}function $k(e,t){if(typeof e!="string")throw new TypeError("inspectText: text is a string.");Zk(t);let{payload:n,safety:r}=lp(e,t.payloads);return Object.freeze({symbols:Object.freeze([]),sets:Object.freeze([]),payload:n,safety:r})}function Jk(e,t,n={}){Zk(t);let r=Tr(e,{...n,profile:n.profile??"lenient"},t.symbologies);if(!r.ok)return Y(r.error);let o=r.value;if(o.length===0)return Y(new K("decode/not-found","No code was found in this picture."));let s=o.map(f8),i=Yk(o.flatMap(f=>{let p=f.read.bitstream.structuredAppend;return p===null?[]:[{...p,text:f.read.bitstream.text,bytes:f.read.bitstream.bytes}]})),a=s[0],l=a.structuredAppend,u=(l===null?void 0:i.find(f=>f.parity===l.parity&&f.total===l.total))?.text??a.text,{payload:d,safety:m}=lp(u,t.payloads);return ae(Object.freeze({symbols:Object.freeze(s),sets:Object.freeze(i),payload:d,safety:m}))}var e2=["L","M","Q","H"],p8=["distance","focus","motion","noise","angle","light","glare","ink","contrast"],h8=.6;function r2(e,t){if(!Array.isArray(t.path))throw new TypeError("applyDesignPatch: patch.path is a list.");if(t.path.length===0)return t.value;let n=(r,o)=>{let s=t.path[o];if(o===t.path.length-1){if(Array.isArray(r)){let a=[...r];return a[s]=t.value,a}return{...r,[s]:t.value}}let i=r?.[s];if(typeof i!="object"||i===null)throw new TypeError("applyDesignPatch: the path goes through something that is not an object.");if(Array.isArray(r)){let a=[...r];return a[s]=n(i,o+1),a}return{...r,[s]:n(i,o+1)}};return n(e,0)}function t2(e){return{kind:"solid",ink:e}}function cp(e,t){let n={};for(let r of["finder","sub-finder","corner-finder"]){let o=e.regions[r];o!==void 0&&(n[r]={outer:o.outer,inner:o.inner})}return{...e,modules:{...e.modules,paint:t},regions:n}}function na(e,t){return e.checks.some(n=>n.id===t&&n.status!=="pass")}function Ls(e,t){let n=e.captures.find(r=>r.axis===t);return n===void 0||n.firstFailed===null?!1:n.firstFailed<=n.typical}function n2(e,t){let n=[],r=o=>{if(o!==void 0){if(o.kind==="entry"){t!==void 0&&n.push(...go(o,t));return}n.push(...o.kind==="solid"?[o.ink]:o.stops.map(s=>s.ink))}};r(e.modules.paint);for(let o of Object.values(e.regions))r(o.outerPaint),r(o.innerPaint);return n}function ra(e){return As(zt(e))}function o2(e,t,n){let r=[],o=x=>{r.some(w=>w.id===x.id)||r.push(x)},s=e.checks.some(x=>x.id==="polarity"&&x.status!=="pass"),i=na(e,"logo-budget"),a=t.logo!==null&&e.checks.some(x=>x.id==="function-patterns"&&x.status!=="pass"&&x.messageKey!=="verify.check.function-patterns.finder"),l=e.symbol.ecLevel,c=e2[e2.indexOf(l)+1],u=Ls(e,"glare");if(c!==void 0&&e.symbol.symbology==="qr"&&(i||u)&&o({id:"raise-ec",labelKey:"verify.fix.raise-ec",patch:{path:["symbol","ecLevel"],value:c},params:{level:c},targets:i?"logo-budget":"glare"}),t.logo!==null&&(i||a)){let x=Math.max(he.logoSize.min,Math.round(t.logo.size*75)/100);x<t.logo.size&&o({id:"shrink-logo",labelKey:"verify.fix.shrink-logo",patch:{path:["logo","size"],value:x},params:{percent:Math.round(x*100)},targets:i?"logo-budget":"function-patterns"}),i&&t.logo.clear==="box"&&t.logo.plate===null&&o({id:"logo-clear-shape",labelKey:"verify.fix.logo-clear-shape",patch:{path:["logo","clear"],value:"shape"},targets:"logo-budget"})}if(s&&t.background!==null&&o({id:"dark-on-light",labelKey:"verify.fix.dark-on-light",patch:{path:[],value:{...cp(t,t.background),background:t.modules.paint}},targets:"polarity"}),(na(e,"contrast")||Ls(e,"contrast")||Ls(e,"light"))&&!s){let x=n2(t,n),w=x.reduce((E,R)=>E===null||ra(R)<ra(E)?R:E,null),k=x.reduce((E,R)=>Math.max(E,ra(R)),0),S=w!==null&&ra(w)<k?w:"#000000";(x.length===0||ra(S)<k)&&o({id:"darken-modules",labelKey:S==="#000000"?"verify.fix.black-modules":"verify.fix.darken-modules",patch:{path:[],value:cp(t,t2(S))},targets:na(e,"contrast")||Ls(e,"contrast")?"contrast":"light"})}if(na(e,"colour-red-channel")&&!s){let w=n2(t,n).reduce((S,E)=>S===null||Is(zt(E))<Is(zt(S))?E:S,null),k=w!==null&&Is(zt(w))<1-Zi?w:"#000000";o({id:"low-red-ink",labelKey:k==="#000000"?"verify.fix.black-modules":"verify.fix.low-red-ink",patch:{path:[],value:cp(t,t2(k))},targets:"colour-red-channel"})}let m=e.checks.find(x=>x.id==="quiet-zone"&&x.status==="fail");m!==void 0&&t.quietZone<m.threshold&&o({id:"widen-quiet-zone",labelKey:"verify.fix.widen-quiet-zone",patch:{path:["quietZone"],value:m.threshold},params:{modules:m.threshold},targets:"quiet-zone"});let f=na(e,"finder-shape"),p=Object.values(t.regions).some(x=>x.outer.id!=="square"||x.inner.id!=="square-centre"),h=p8.find(x=>Ls(e,x));p&&(f||h!==void 0||!e.baseline.passed)&&o({id:"square-finders",labelKey:"verify.fix.square-finders",patch:{path:["regions"],value:{}},targets:f?"finder-shape":h??"finder-shape"});let g=t.modules.shape.id!=="square"&&e.limits.inkFraction<h8,y=["focus","distance","motion"].find(x=>Ls(e,x));g&&y!==void 0&&o({id:"solid-modules",labelKey:"verify.fix.solid-modules",patch:{path:["modules","shape"],value:{id:"square"}},targets:y});let b=e.checks.find(x=>x.id==="module-size"&&x.status!=="pass");if(b?.params!==void 0&&e.conditions.sizeMm!==null){let x=e.conditions.sizeMm,w=e.limits.maxDistanceMm,k=typeof b.params.minimumMm=="number"?b.params.minimumMm:w!==null&&w>0?Math.ceil(x*ht.comfortMm/w):null;k!==null&&k>x&&o({id:"print-larger",labelKey:"verify.fix.print-larger",patch:null,conditions:{sizeMm:k},params:{sizeMm:k},targets:"module-size"})}return Object.freeze(r)}var y8=200,g8=250,up=16384,dp=4*1024*1024,b8=["create","scan","bulk"],x8=Object.freeze({image:Jk,text:$k}),w8=Object.freeze({pdf:dc,eps:mc}),s2=Object.freeze({later(e,t){let n=setTimeout(e,t);return()=>clearTimeout(n)},sliceMs:8});function k8(){return typeof performance<"u"?performance.now():Date.now()}function Un(e,t=4){let n=[];return(...r)=>{for(let s of n)if(s.args.length===r.length&&s.args.every((i,a)=>i===r[a]))return s.value;let o=e(...r);return n.unshift({args:r,value:o}),n.length>t&&n.pop(),o}}function we(e){return Object.freeze(e)}function mp(e={}){if(typeof e!="object"||e===null)throw new TypeError("createStudio: options is an object.");let t=e.registries??Jl(),n=e.historyLimit??y8;if(!Number.isInteger(n)||n<0)throw new TypeError("createStudio: historyLimit is a whole number, 0 or more.");let r=e.verifyDebounceMs??g8;if(typeof r!="number"||!Number.isFinite(r)||r<0)throw new TypeError("createStudio: verifyDebounceMs is a number of milliseconds, 0 or more.");let o=e.liveCaptureSeeds??Kk;if(!Number.isInteger(o)||o<1||o>ta)throw new TypeError("createStudio: liveCaptureSeeds is a whole number from 1 to 8.");let s=e.seed??1;if(!Number.isInteger(s)||s<0||s>4294967295)throw new TypeError("createStudio: seed is an integer from 0 to 2^32 - 1.");let i=yc(e.csvFallbackEncoding,"createStudio: csvFallbackEncoding is"),a=e.clock??k8,l=e.suggestFixes??((L,B)=>o2(L,B,t.design)),c=e.inspector===void 0?x8:e.inspector,u=e.library??null,d=new Vc,m=e.fonts??Mn(),f=jk(e.scheduler??s2),p=(L,B)=>f.later(L,B),h=e.verifyGenerator===void 0?zc:e.verifyGenerator,g=e.verifyRunner??(h===null?_k:Qk(h,{registries:t,scheduler:f,clock:a})),y=[],b;if(typeof e.initial=="string"){let L=Uy(e.initial,t);b=L.document,y=L.issues}else if(e.initial!==void 0){let L=Fy(e.initial,t,m);b=L.document,y=L.issues}else b=Go(t);let x=0,w=Mk,k=y.length===0?null:we({action:"initial",issues:we(y)}),S=we({status:"idle"}),E=null,R=we({status:"idle"}),C=we({status:"idle"}),A=null,O=we(u===null?{status:"unavailable"}:{status:"checking"}),D=!1,N=new Set,T=L=>t.payloads.require(L),I=Un((L,B)=>{let F=Nr(L,B.constraints),G=En(L,t.design,{fonts:m}).issues;return we({effective:ea(L,F.design),issues:we([...G,...F.issues]),locked:B.constraints?.designLocked===!0,overlay:F.overlay})}),U=Un((L,B)=>Uk(L,B)),q=new Map,H=(L,B)=>{let F=`${t.symbologies.version}\0${Vk(B)}\0${L}`,G=q.get(F);if(G===void 0)for(G=qk(L,B,t.symbologies),q.set(F,G);q.size>8;)q.delete(q.keys().next().value);return G},W=null,$=Un((L,B,F)=>Hk(L,B,F,t.symbologies)),be=Un(L=>we({status:"ok",view:L})),X=Un((L,B,F)=>{let G;if(L.ok){let Xe=H(L.text,B);if(Xe.ok){F?.symbol!==Xe.symbol&&(W={text:L.text,symbol:Xe.symbol});let dt=$(Xe.symbol,L.text,B);return{state:be(dt),symbol:Xe.symbol,design:B}}G=Xe.issue}else G=L.reason;if(F===null)return{state:we({status:"empty",issue:G}),symbol:null,design:B};let pe=H(F.text,B),Ne=pe.ok?pe.symbol:F.symbol,Te=$(Ne,F.text,B);return{state:we({status:"stale",view:Te,issue:G}),symbol:Ne,design:B}},2),ne=Un((L,B,F)=>Sk(L,B,F)),me=Un((L,B,F)=>{if(L===null)return null;try{let G=tn(L,B,{registries:t.design,assets:d.lookup(B),fonts:m,seed:s,overlay:F});return we({svg:yn(G.scene),scene:G.scene,issues:G.issues,epsIssues:we([...qi(G.scene)])})}catch{return null}},2),fe=null,ke=()=>{let L=Ps(t);return fe?.key!==L&&(fe={key:L,value:bk(t,m)}),fe.value},Oe=Un((L,B,F)=>xk(t,L,B,F.constraints,m),2),gt=null,ie=()=>{let L=t.design.regionShapes.version;return gt?.version!==L&&(gt={version:L,pairs:ap(t.design)}),gt.pairs},Ce=Un((L,B)=>we({canUndo:L,canRedo:B}));function qe(){let L=b,B=x,F=T(L.typeId),G=()=>U(F,L.fields),pe=()=>I(L.design,F),Ne=X(G(),pe().effective,W),Te=()=>Ne,Xe={revision:B,document:L,get form(){return ne(F,L.fields,G().issues)},get payloadIssues(){return G().issues},get symbol(){return Te().state},get preview(){let dt=Te();return me(dt.symbol,dt.design,pe().overlay)},get design(){return pe()},verify:S,history:Ce(w.past.length>0||w.group!==null&&!$f(w.group.base,sr()),w.future.length>0),get catalogue(){return ke()},get presetThumbnails(){let dt=Te();return Oe(ke(),dt.state.status==="ok"?dt.symbol:null,F)},inspect:R,batch:C,library:O,refusal:k};return Object.freeze(Xe)}let Wt=qe(),ce=Ps(t);function re(){Wt=qe(),ce=Ps(t);let L,B=!1;for(let F of[...N])try{F()}catch(G){B||(L=G),B=!0}if(B)throw L}let oe=!1,se=null,Se=null,st=0,_e=null;function gn(){Se!==null&&(Se.controller.abort(),Se=null)}let mu=we({status:"idle"}),Bv=Un(L=>we({...L,stale:!0}),1);function Vs(){return E===null?mu:Bv(E)}let Hp=ta;function Kp(L){Hp=L,se?.(),se=p(Fv,r)}function Fv(){se=null;let L=T(b.typeId),B=U(L,b.fields),F=I(b.design,L).effective;_e={content:B,design:F,conditions:b.conditions},gn();let G=B.ok?H(B.text,F):null;if(!B.ok||G===null||!G.ok){S=Vs(),re();return}let pe=st+=1,Ne=new AbortController;Se={id:pe,controller:Ne};let Te=x,{overlay:Xe}=I(b.design,L),dt=Hp,ir=dt===ta,To=Gk({content:B.text,design:F,conditions:Uv(G.symbol,F,Xe),seed:s,assets:d.all(F),overlay:Xe,captureSeeds:dt});S=we({status:"running",progress:0,revision:Te,axis:null,captureSeeds:dt,full:ir}),re();let Ks=()=>!D&&Se?.id===pe,gu=bt=>{if(!Ks())return;let Vr=bt.total>0?Math.min(1,Math.max(0,bt.done/bt.total)):0;S=we({status:"running",progress:Vr,revision:Te,axis:bt.axis,captureSeeds:dt,full:ir}),re()},ar=bt=>{if(Ks()){if(Se=null,bt.ok){let Vr=bt.value,Ro=[];try{Ro=l(Vr,F)}catch{Ro=[]}E=we({status:"done",report:Vr,fixes:we([...Ro]),stale:!1,revision:Te,captureSeeds:dt,full:ir}),S=E}else bt.error.code==="cancelled"?S=Vs():S=we({status:"failed",error:Fe(bt.error),revision:Te});re()}},et;try{et=g.run(To,Ne.signal,gu)}catch(bt){et=Promise.resolve(Y($e(bt,"platform/unavailable")))}et.then(ar,bt=>ar(Y($e(bt,"platform/unavailable"))))}function Uv(L,B,F){let G=me(L,B,F)?.scene.unitsPerMm;if(G===void 0)return b.conditions;let pe=(L.matrix.width+2*B.quietZone)/G;return we({...b.conditions,sizeMm:pe})}function zv(){if(!oe||_e===null)return;let L=T(b.typeId),B=U(L,b.fields),F=I(b.design,L).effective;B===_e.content&&F===_e.design&&b.conditions===_e.conditions||(_e={content:B,design:F,conditions:b.conditions},Se!==null?(gn(),S=Vs()):S.status==="done"&&!S.stale&&(S=Vs()),Kp(o))}let sr=()=>({typeId:b.typeId,fields:b.fields,design:b.design});function St(L,B){k=we({action:L,issues:we([...B])}),re()}function qs(L){b=Object.freeze(L),x+=1,k=null,zv(),re()}function pa(L,B){w=Zf(w,sr(),B,n),qs({...b,...L})}function fu(L){qs({...b,typeId:L.typeId,fields:L.fields,design:L.design})}function Gp(L,B){let F=Ko(L,t,m);if(F.design===null)return{kind:"refuse",issues:F.issues};let G=b.design,pe=ea(G,F.design);if(pe===G){let Xe=F.issues.filter(dt=>dt.severity!=="info");return Xe.length>0&&!tr(L,G)?{kind:"refuse",issues:Xe}:{kind:"same"}}let Ne=T(b.typeId),{constraints:Te}=Ne;if(Te!==void 0&&tr(Nr(G,Te).design,Nr(pe,Te).design)){let Xe=Te.designLocked===!0;return{kind:"refuse",issues:[P(Xe?Le.designLocked:Le.constrained,B,"warning",{type:Ne.id})]}}return{kind:"change",next:pe}}function ha(L,B,F,G){let pe=Gp(B,G);pe.kind==="refuse"?St(L,pe.issues):pe.kind==="change"&&pa({design:pe.next},F)}function Vv(L,B){let F=L.design,G=B.logo!==null&&B.logo.source.kind==="asset",pe=F.logo===null&&G,Ne=B.symbol.ecLevel,Te=Ne!==void 0&&L.ecLevels.includes(Ne)?Ne:F.symbol.ecLevel??Ne;return{...F,symbol:{...B.symbol,...Te===void 0?{}:{ecLevel:Te}},logo:pe?B.logo:F.logo,output:{...B.output,colourSpace:F.output.colourSpace},...pe&&B.assets!==void 0?{assets:B.assets}:{},...B.name===void 0?{}:{name:B.name}}}function qv(L,B){try{let F=L.parse(B),G={};for(let[pe,Ne]of Object.entries(F))rl(Ne)&&(G[pe]=Ne);return bi(L,G)}catch{return null}}function Hv(L){if(L.length>up){St("payload/raw",[P(Le.rawTooLong,["text"],"error",{length:L.length,max:up})]);return}let F=[nc(L,t.payloads).type,t.payloads.get("text")].filter(G=>G!==void 0&&G.generate!==!1&&t.payloads.get(G.id)===G);for(let G of F){let pe=qv(G,L);if(pe!==null){pa({typeId:G.id,fields:pe},null);return}}St("payload/raw",[P(Le.unknownType,["text"],"error")])}function Kv(L,B,F){let G=Array.isArray(B)?B:[B];if(G.length===0)return;let pe=b.design;for(let Te of G){let Xe=typeof Te=="object"&&Te!==null?Lk(Te.path):"shape";if(Xe!==null){St(L,[P(Le.patchPath,[],"error",{problem:Xe})]);return}pe=Dk(pe,Te.path,Te.value)}let Ne=G[0];ha(L,pe,F,Ne.path)}function Gv(L){if(typeof L!="object"||L===null||typeof L.type!="string")throw new TypeError("dispatch: an action is an object with a type.");if(!D)switch(L.type){case"mode":{if(!b8.includes(L.mode))throw new TypeError("dispatch: mode is 'create', 'scan' or 'bulk'.");L.mode!==b.mode&&qs({...b,mode:L.mode});return}case"payload/type":{let B=typeof L.typeId=="string"?t.payloads.get(L.typeId):void 0;if(B===void 0){St(L.type,[P(Le.unknownType,["typeId"],"error")]);return}if(B.generate===!1){St(L.type,[P(Le.readOnlyType,["typeId"],"error",{type:B.id})]);return}if(B.id===b.typeId)return;pa({typeId:B.id,fields:bi(B,b.fields)},null);return}case"payload/field":{let F=T(b.typeId).fields.find(pe=>pe.key===L.key);if(F===void 0){St(L.type,[P(Le.unknownField,["fields"],"error")]);return}if(!rl(L.value)){St(L.type,[P(Le.fieldValue,["fields",F.key],"error")]);return}if(tr(b.fields[F.key],L.value))return;let G=Array.isArray(L.value)?we([...L.value]):L.value;pa({fields:we({...b.fields,[F.key]:G})},`field:${F.key}`);return}case"payload/raw":{if(typeof L.text!="string")throw new TypeError("dispatch: payload/raw takes text.");Hv(L.text);return}case"design/patch":Kv(L.type,L.patch,typeof L.coalesce=="string"?`patch:${L.coalesce}`:null);return;case"design/preset":{let B=typeof L.id=="string"?t.design.presets.get(L.id):void 0;if(B===void 0){St(L.type,[P(Le.unknownPreset,["id"],"error")]);return}ha(L.type,Vv(B,b.design),null,[]);return}case"design/replace":{let B=L.design;if(typeof B=="string"){if(B.length>dp){St(L.type,[P(Le.designFile,[],"error",{length:B.length,max:dp})]);return}try{B=JSON.parse(B)}catch{St(L.type,[P(Le.designFile,[],"error")]);return}}ha(L.type,B,null,[]);return}case"design/shuffle":{let B=Number(L.seed),F=Number.isFinite(B)?Math.floor(Math.abs(B))%4294967296:0;ha(L.type,Fk(b.design,F,t.design,ie()),null,[]);return}case"conditions":{let{conditions:B,bad:F}=br(L.conditions,b.conditions);if(F.length>0){St(L.type,F.map(G=>P(Le.conditions,G,"error")));return}if(tr(B,b.conditions))return;qs({...b,conditions:we(B)});return}case"history/undo":{w.group!==null&&(w=Qc(w,w.group.key,sr(),n));let B=Ak(w,sr());if(B===null)return;w=B.history,fu(B.restore);return}case"history/redo":{let B=Ik(w,sr(),n);if(B===null)return;w=B.history,fu(B.restore);return}case"history/begin":{if(typeof L.key!="string")throw new TypeError("dispatch: history/begin takes a key.");let B=w;w=Tk(w,L.key,sr(),n),w!==B&&re();return}case"history/commit":{if(typeof L.key!="string")throw new TypeError("dispatch: history/commit takes a key.");let B=w;w=Qc(w,L.key,sr(),n),w!==B&&re();return}case"history/cancel":{let B=Rk(w);if(B===null)return;w=B.history;let F=B.restore;F.typeId===b.typeId&&F.fields===b.fields&&F.design===b.design?re():fu(F);return}case"verify/request":{oe=!0;let B=T(b.typeId);_e={content:U(B,b.fields),design:I(b.design,B).effective,conditions:b.conditions},Kp(ta);return}case"verify/cancel":{oe=!1,se?.(),se=null;let B=Se!==null;gn(),B&&(S=Vs(),re());return}case"fix/apply":{let F=(S.status==="done"?S.fixes:[]).find(Ne=>Ne.id===L.fixId);if(F===void 0){St(L.type,[P(Le.unknownFix,["fixId"],"error")]);return}let G;if(F.patch!==null)try{G=r2(b.design,F.patch)}catch{St(L.type,[P(Le.patchPath,[],"error",{problem:"shape"})]);return}let pe=F.conditions===void 0?null:we(br(F.conditions,b.conditions).conditions);yu(L.type,G,pe);return}default:throw new TypeError("dispatch: that is not an action the studio knows.")}}function ya(L){C=we(L),re()}async function _v(L){let B=L.encoding??"auto",F=B==="auto"?i:yc(B,"batch: encoding is 'auto' or");A?.abort();let G=new AbortController;A=G;let pe=()=>!D&&A===G,Ne=et=>(pe()&&(A=null,ya({status:"failed",error:Fe(et)})),Y(et)),Te,Xe;try{let et,bt=[];if(typeof L.csv=="string")et=L.csv;else{let Ro=gc(L.csv,{fallback:F});et=Ro.text,bt=Ro.issues}let Vr=wc(et);Te=we([...bt,...Vr.issues]),Xe=Mc(Vr,L.mapping,t)}catch(et){if(et instanceof TypeError)throw et;return Ne($e(et,"batch/malformed-csv"))}let dt=L.output.verify;if(h===null&&dt!==void 0&&dt!=="off")return Ne(new K("platform/unavailable","The scan check is not part of this build yet.",{feature:"verify"}));let ir=0,To=0,Ks=[];ya({status:"running",done:0,total:Xe.length+1,written:ir,skipped:To,issues:Te});let gu=b.design,ar=await $c(()=>Iw(Xe,gu,L.output,t,{fonts:m,seed:s,...h===null?{}:{verifyRow:hk(t,h)}}),{scheduler:f,clock:a,signal:G.signal,failure:"platform/unavailable",progress:et=>{et.row!==void 0&&(Ks.push(et.row),et.row.status==="written"?ir+=1:To+=1),pe()&&ya({status:"running",done:et.done,total:et.total,written:ir,skipped:To,issues:Te})}});return ar.ok?(pe()&&(A=null,ya({status:"done",outcomes:we(Ks),written:ir,skipped:To,issues:Te})),ar):ar.error.code==="cancelled"?Y(ar.error):Ne(ar.error)}function ga(L){R=we(L),re()}function Hs(L){O=we(L),re()}async function Qv(L,B){try{return await L()}catch(F){if(F instanceof TypeError)throw F;return Y($e(F,B))}}let pu="on",Eo=null,hu=[];async function sn(){let L=u,B=await L.contents();if(D)return Y(new bn);if(!B.ok)return Hs({status:"failed",error:Fe(B.error)}),B;let F={items:we([...B.value.designs]),kits:we([...B.value.kits]),skipped:we([...B.value.skipped,...hu]),kit:Eo};return Hs(pu==="file"?{status:"file",unsaved:L.hasUnsavedChanges?.()===!0,...F}:{status:"on",...F}),B}function Wv(L){return L.state!==void 0?L.state:L.available?L.enabled?"on":"off":"unavailable"}function Xv(){return new K("library/not-enabled","The library is switched off. Switch it on to save designs and brand kits in this browser.")}async function Yv(L){let B=T(b.typeId),F=U(B,b.fields),{effective:G,overlay:pe}=I(b.design,B);if(!F.ok)return Y(new K("payload/invalid","Fix the content before saving the code.",{count:F.issues.filter(Te=>Te.severity==="error").length}));let Ne=H(F.text,G);return Ne.ok?vk({symbol:Ne.symbol,design:G,fixedSizeMm:B.constraints?.sizeMm,conditions:b.conditions,registries:t.design,assets:d.lookup(G),fonts:m,overlay:pe,seed:s,rasterEncoder:e.rasterEncoder??null,printer:e.printer===void 0?w8:e.printer},L.format,L.options??{}):Y(Ne.error)}function yu(L,B,F){let G=B===void 0?{kind:"same"}:Gp(B,[]),pe={};G.kind==="change"&&(pe.design=G.next),F!==null&&!tr(F,b.conditions)&&(pe.conditions=F),pe.design!==void 0&&(w=Zf(Ek(w),sr(),null,n)),Object.keys(pe).length>0&&qs({...b,...pe}),G.kind==="refuse"&&St(L,G.issues)}async function Zv(L){if(u===null)return Y(new K("library/unavailable","This copy of the studio has no library."));let B=()=>Y(new bn);switch(L.type){case"library/enable":{let F=await u.enable();if(D)return B();if(!F.ok)return Hs({status:"failed",error:Fe(F.error)}),F;let G=await sn();return G.ok?ae(G.value.designs):G}case"library/disable":{let F=await u.disable();return D?B():F.ok?(Eo=null,hu=[],pu==="file"?await sn():Hs({status:"off"}),ae(null)):F}default:break}if(O.status!=="on"&&O.status!=="file")return Y(Xv());switch(L.type){case"library/save":{let F=typeof L.name=="string"?L.name:"",G=await u.save({name:F,document:b});return D?B():(G.ok&&await sn(),G)}case"library/remove":{let F=await u.remove(L.id);if(D)return B();if(!F.ok)return F;let G=await sn();return G.ok?ae(G.value.designs):G}case"library/load":{let F=await u.load(L.id);if(D)return B();if(!F.ok)return F;let G=F.value.document,{conditions:pe}=br(G.conditions,b.conditions);yu(L.type,G.design,we(pe));let{document:Ne,...Te}=F.value;return ae(we(Te))}case"library/list-kits":{let F=await sn();return F.ok?ae(F.value.kits):F}case"library/save-kit":{let F=typeof L.name=="string"?L.name:"",G=await u.saveKit({name:F,kit:L.kit});return D?B():(G.ok&&await sn(),G)}case"library/load-kit":{let F=await u.loadKit(L.id);return D?B():(F.ok&&(Eo=F.value,yu(L.type,op(b.design,F.value.kit),null),await sn()),F)}case"library/remove-kit":{let F=await u.removeKit(L.id);if(D)return B();if(!F.ok)return F;Eo?.id===L.id&&(Eo=null);let G=await sn();return G.ok?ae(G.value.kits):G}case"library/save-file":{if(u.saveFile===void 0)return Y(_p());let F=u.saveFile(L.name);return F.ok&&await sn(),F}case"library/open-file":{if(u.openFile===void 0)return Y(_p());let F=await u.openFile(L.file);return D?B():(F.opened&&(Eo=null,hu=we(F.issues.filter(G=>G.severity!=="error")),await sn()),ae(F))}}}function _p(){return new K("library/unavailable","This library is kept in the browser, not in a file.",{reason:"not-a-file"})}async function $v(L){switch(L.type){case"export":return Yv(L);case"design-link":try{return ae(we(Dy(b.design)))}catch(B){return Y($e(B,"design/invalid"))}case"inspect/image":case"inspect/text":{let B=L.type==="inspect/image"?"image":"text";if(c===null){let G=new K("platform/unavailable","Reading codes is not part of this copy.",{feature:"inspect"});return ga({status:"failed",source:B,error:Fe(G)}),Y(G)}ga({status:"running",source:B});let F;try{F=L.type==="inspect/image"?c.image(L.image,t):ae(c.text(L.text,t))}catch(G){F=Y($e(G,"decode/unreadable"))}return D||(F.ok?ga({status:"done",source:B,report:F.value}):ga({status:"failed",source:B,error:Fe(F.error)})),F}case"batch":return _v(L);case"library/enable":case"library/disable":case"library/save":case"library/load":case"library/remove":case"library/list-kits":case"library/save-kit":case"library/load-kit":case"library/remove-kit":case"library/save-file":case"library/open-file":return Zv(L);default:throw new TypeError("run: that is not a command the studio knows.")}}if(u!==null){let L=B=>{D||Hs(B)};u.probe().then(async B=>{if(!B.ok)return L({status:"failed",error:Fe(B.error)});let F=Wv(B.value);if(F==="unavailable"||F==="off"||F==="unknown")return L({status:F});pu=F,D||await sn()},B=>L({status:"failed",error:Fe($e(B,"library/unavailable"))}))}return Object.freeze({getSnapshot(){return!D&&Ps(t)!==ce&&(Wt=qe(),ce=Ps(t)),Wt},subscribe(L){if(typeof L!="function")throw new TypeError("subscribe: listener is a function.");return D?()=>{}:(N.add(L),()=>{N.delete(L)})},dispatch:Gv,run(L){return typeof L!="object"||L===null||typeof L.type!="string"?Promise.reject(new TypeError("run: a command is an object with a type.")):D?Promise.resolve(Y(new bn)):Qv(()=>$v(L),"platform/unavailable")},dispose(){D||(D=!0,oe=!1,A?.abort(),gn(),f.cancelAll(),N.clear())}})}var v8="http://www.w3.org/2000/svg";function fp(e,t){for(let n of t)n==null||n===!1||e.appendChild(typeof n=="string"?document.createTextNode(n):n)}function S8(e,t){if(t!==void 0)for(let[n,r]of Object.entries(t))r==null||r===!1||e.setAttribute(n,r===!0?"":String(r))}function M(e,t={},n=[]){let r=document.createElement(e);if(t.className!==void 0&&(r.className=t.className),t.id!==void 0&&(r.id=t.id),t.text!==void 0&&(r.textContent=t.text),S8(r,t.attrs),t.on!==void 0)for(let[o,s]of Object.entries(t.on))r.addEventListener(o,s);return fp(r,n),r}function It(e,t={},n=[]){let r=document.createElementNS(v8,e);for(let[o,s]of Object.entries(t))r.setAttribute(o,String(s));return fp(r,n),r}function rn(e){let t=document.getElementById(e);if(t===null)throw new Error(`missing element #${e}`);return t}function le(e,t){for(;e.firstChild!==null;)e.removeChild(e.firstChild);fp(e,t)}function Z(e,t){e.textContent!==t&&(e.textContent=t)}var i2=0;function kt(e){return i2+=1,`${e}-${i2}`}var M8={undo:"M9 14 4 9l5-5M4 9h10.5a5.5 5.5 0 0 1 0 11H11",redo:"m15 14 5-5-5-5M20 9H9.5a5.5 5.5 0 0 0 0 11H13",link:"M10 14a4.5 4.5 0 0 0 6.4 0l3-3a4.5 4.5 0 0 0-6.4-6.4l-1.1 1.1M14 10a4.5 4.5 0 0 0-6.4 0l-3 3a4.5 4.5 0 0 0 6.4 6.4l1.1-1.1",download:"M12 4v11m0 0-4.5-4.5M12 15l4.5-4.5M5 19h14",copy:"M9 9h10v11H9zM5 15V4h10",print:"M7 9V4h10v5M7 17H5a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-2M7 14h10v6H7z",camera:"M4 8h3l2-3h6l2 3h3v11H4zM12 16.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Z",image:"M4 5h16v14H4zM4 16l5-5 4 4 2-2 5 5M15.5 9.5h.01",file:"M14 3H6v18h12V7zM14 3v4h4",pass:"m5 12.5 4.5 4.5L19 7.5",fail:"M6 6l12 12M18 6 6 18",warn:"M12 4 2.8 20h18.4zM12 10v4.5M12 17.5h.01",pending:"M12 4a8 8 0 1 0 8 8M12 8v4l3 2",shuffle:"M4 7h3.5c3 0 4.5 10 8 10H20m0 0-3-3m3 3-3 3M4 17h3.5c1.2 0 2.1-1.4 2.8-3M20 7h-4.5c-1.2 0-2.1 1.4-2.8 3M20 7l-3-3m3 3-3 3",plus:"M12 5v14M5 12h14",chevron:"m6 9 6 6 6-6",minus:"M5 12h14",eye:"M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12ZM12 14.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z",ruler:"M3 16 16 3l5 5L8 21zM7 12l2 2M10 9l2 2M13 6l2 2",open:"M4 6h6l2 2h8v11H4zM4 10h16",save:"M5 4h11l3 3v13H5zM8 4v5h7V4M8 20v-6h8v6",stop:"M7 7h10v10H7z",close:"M6 6l12 12M18 6 6 18"};function lt(e,t){let n=It("svg",{viewBox:"0 0 24 24",class:t===void 0?"icon":`icon ${t}`,"aria-hidden":"true"});return n.setAttribute("focusable","false"),n.appendChild(It("path",{d:M8[e]})),n}async function a2(e){return e.text()}async function l2(e){return new Uint8Array(await e.arrayBuffer())}var E8=Object.freeze({kind:"pound"}),pp=/\{\s*(\w+)\s*(?:(\})|,\s*(plural|select)\s*,)/y,hp=/\s*(=\d+(?:\.\d+)?|[\w-]+)\s*\{/y,yp=/\s*\}/y;function c2(e,t,n){let r=[],o="",s=()=>{o!==""&&r.push(o),o=""};for(;e.pos<e.source.length;){let i=e.source[e.pos];if(i==="{"){let a=T8(e,n);if(a!==null){s(),r.push(a);continue}}else{if(i==="}"&&t)return s(),{nodes:r,closed:!0};if(i==="#"&&n){s(),r.push(E8),e.pos+=1;continue}}o+=i,e.pos+=1}return s(),{nodes:r,closed:!1}}function T8(e,t){let n=e.pos;pp.lastIndex=n;let r=pp.exec(e.source);if(r===null)return null;let o=r[1];if(e.pos=pp.lastIndex,r[2]!==void 0)return{kind:"argument",name:o,source:e.source.slice(n,e.pos)};let s=r[3],i=new Map;for(;;){if(yp.lastIndex=e.pos,i.size>0&&yp.test(e.source))return e.pos=yp.lastIndex,{kind:s,name:o,source:e.source.slice(n,e.pos),branches:i};hp.lastIndex=e.pos;let a=hp.exec(e.source);if(a===null)break;e.pos=hp.lastIndex;let l=c2(e,!0,t||s==="plural");if(!l.closed)break;e.pos+=1,i.has(a[1])||i.set(a[1],l.nodes)}return e.pos=n,null}function R8(e){return c2({source:e,pos:0},!1,!1).nodes}function gp(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function A8(e,t){return e.get(`=${t}`)??(t===1?e.get("one"):void 0)??e.get("other")}function bp(e,t,n){let r="";for(let o of e){if(typeof o=="string"){r+=o;continue}switch(o.kind){case"pound":r+=n;break;case"argument":r+=gp(t,o.name)?String(t[o.name]):o.source;break;case"select":{let s=gp(t,o.name)?o.branches.get(String(t[o.name]))??o.branches.get("other"):void 0;r+=s===void 0?o.source:bp(s,t,n);break}case"plural":{let s=gp(t,o.name)?t[o.name]:void 0,i=typeof s=="number"||typeof s=="string"&&s.trim()!==""?Number(s):Number.NaN,a=Number.isFinite(i)?A8(o.branches,i):void 0;r+=a===void 0?o.source:bp(a,t,String(s));break}}}return r}function u2(e,t={}){return e.includes("{")?bp(R8(e),t,void 0):e}var d2=Object.freeze({"app.masthead.eyebrow":"Offline QR code studio","app.masthead.title":"Make a QR code that keeps working.","app.masthead.lede":"Everything happens in this page. Nothing is sent anywhere, and you can check that by turning your network off and using it anyway.","app.mode.label":"Mode","app.mode.create":"Create","app.mode.create-hint":"One code","app.mode.scan":"Scan","app.mode.scan-hint":"Read a code","app.mode.bulk":"Bulk","app.mode.bulk-hint":"From a spreadsheet","app.tools.label":"Changes","app.history.undo":"Undo","app.history.redo":"Redo","app.history.undone":"Undone.","app.history.redone":"Redone.","app.link.copy":"Copy design link","app.link.copied":"Design link copied. Put it at the end of this file's address to open the same look, without the content.","app.link.copy-failed":"This browser would not copy from here. Save the design as a file instead.","app.section.content":"Content","app.section.style":"Style","app.section.modules":"Modules","app.section.eyes":"Corner squares","app.section.colour":"Colour","app.section.logo":"Logo","app.section.frame":"Frame","app.section.print":"Printed size","app.section.check":"Scan check","app.section.export":"Save","app.section.library":"Library","app.content.types":"Kind of code","app.content.more":"More kinds","app.content.choose":"Choose","app.content.when-scanned":"When scanned","app.content.advanced":"More options","app.content.required":"Required","app.content.show-secret":"Show","app.content.add-item":"Add another","app.content.remove-item":"Remove","app.content.remove-numbered":"Remove {label} {n}","app.content.add-scheme":"Add https://","app.content.safety":"What a phone may warn about","app.content.compatibility":"Phone support","app.capacity.label":"Space used","app.capacity.empty":"No code yet","app.capacity.value":"Uses {used} of {total} bits, {percent}%","app.capacity.largest":"The largest code these settings allow would be about {percent}% full.","app.encoding.symbology":"Kind of symbol","app.encoding.version":"Version","app.encoding.modules":"Modules","app.encoding.modules-value":"Grid of {width} by {height}","app.encoding.ec":"Error correction","app.encoding.ec-l":"L, about 7%","app.encoding.ec-m":"M, about 15%","app.encoding.ec-q":"Q, about 25%","app.encoding.ec-h":"H, about 30%","app.encoding.mask":"Mask","app.encoding.segments":"Segments","app.encoding.segment":"Mode {mode}, {chars, plural, one {# character} other {# characters}}","app.encoding.mode-numeric":"Numeric","app.encoding.mode-alphanumeric":"Alphanumeric","app.encoding.mode-byte":"Bytes","app.encoding.mode-kanji":"Kanji","app.proof.label":"Proof","app.proof.sample":"Sample","app.proof.sample-note":"This is a sample. Your code appears here as you type.","app.proof.not-updated":"Not updated","app.proof.surround":"Surround","app.proof.surround-light":"Light","app.proof.surround-dark":"Dark","app.proof.true-size":"True size","app.proof.calibrate":"Calibrate","app.proof.calibrate-title":"Match a card","app.proof.calibrate-help":"Hold a bank card against the screen and move the slider until the outline is the same width. The setting lasts until you close the page.","app.proof.calibrate-scale":"Outline width","app.proof.calibrate-reset":"Reset","app.proof.calibrate-done":"Done","app.proof.alt-sample":"A sample code in the current design. It is not your code.","app.proof.alt-summary":"It holds {summary}.","app.proof.alt-stale":"This is the last code that worked, not the content as it stands.","app.proof.alt-check":"Scan check: {verdict}.","app.proof.slug-version":"Version {version}","app.proof.slug-level":"Level {level}","app.proof.slug-modules":"Modules {width} \xD7 {height}","app.proof.slug-mask":"Mask {mask}","app.proof.slug-width":"Width {size} mm","app.strip.label":"Simulated captures","app.strip.caption":"Each picture stands for a condition. The words beside it are the check's result.","app.strip.sharp":"Sharp","app.strip.far":"Far","app.strip.soft":"Soft focus","app.strip.angle":"Angle","app.strip.dim":"Dim","app.strip.glare":"Glare","app.strip.ink":"Ink spread","app.strip.pass":"Reads","app.strip.partial":"Reads in part","app.strip.fail":"Fails","app.strip.unknown":"Not checked","app.strip.running":"Checking","app.check.run":"Check it scans","app.check.cancel":"Stop","app.check.running":"Checking, {percent}%.","app.check.idle":"Not checked yet","app.check.idle-detail":"The check prints the code in simulated captures (far, out of focus, at an angle, in poor light) and reads each one the way a strict phone would.","app.check.stale":"The design has changed since this check.","app.check.quick":"This was a quick check after your change. Check it scans again for the full result before you print.","app.check.unavailable":"The scan check cannot run in this copy of the studio.","app.check.unavailable-detail":"The code is still made to the standard. Before you print many, scan a test print with the phones you expect people to use.","app.check.meta-unavailable":"Not available","app.check.verdict-pass":"Scans well","app.check.verdict-warn":"Scans, with cautions","app.check.verdict-fail":"Will not scan reliably","app.check.status-pass":"Passes","app.check.status-warn":"Caution","app.check.status-fail":"Fails","app.check.measured":"Measured {measured}, needs {threshold}","app.check.limits":"Scans from about {distance} cm when printed {size} mm wide.","app.check.limits-module":"Keep each module at least {size} mm across.","app.check.captures":"Every capture","app.check.fixes":"Suggested changes","app.check.fixed":"Change made. Undo puts it back.","app.axis.distance":"Distance","app.axis.focus":"Focus","app.axis.motion":"Movement","app.axis.noise":"Grain","app.axis.angle":"Angle","app.axis.light":"Light","app.axis.glare":"Glare","app.axis.ink":"Ink spread","app.axis.contrast":"Contrast","app.style.presets":"Presets","app.style.custom":"Your own","app.style.standard":"Standard","app.style.from-kit":"From your brand kit","app.style.shuffle":"Shuffle","app.style.shuffle-hint":"A new combination that still scans. Undo goes back.","app.modules.shape":"Module shape","app.eyes.ring":"Outer ring","app.eyes.centre":"Centre","app.eyes.pairs-note":"Only centres that phones still find inside this ring are offered.","app.colour.modules":"Modules","app.colour.eyes":"Corner squares","app.colour.background":"Background","app.colour.same":"As the modules","app.colour.transparent":"Transparent","app.colour.kind-solid":"Solid","app.colour.kind-linear":"Linear","app.colour.kind-radial":"Radial","app.colour.kind-pattern":"Pattern","app.colour.kind-short-gradient":"Gradient","app.colour.ink":"Colour","app.colour.hex":"Hex value","app.colour.hex-invalid":"Write a colour as six hex digits, such as #1a2b3c.","app.colour.pattern":"Pattern","app.colour.angle":"Angle","app.colour.radius":"Spread","app.colour.stop":"Stop {n}","app.colour.stop-position":"Stop {n} position","app.colour.add-stop":"Add a stop","app.colour.remove-stop":"Remove","app.colour.remove-stop-numbered":"Remove stop {n}","app.colour.space":"Spread over","app.colour.space-symbol":"The whole code","app.colour.space-module":"Each module","app.colour.contrast":"Contrast","app.colour.contrast-value":"Ratio {ratio} to 1","app.colour.contrast-good":"Strong. Phones find this easily.","app.colour.contrast-fair":"Enough for most phones. More is safer in print.","app.colour.contrast-poor":"Too low. Many phones will not find the code.","app.colour.contrast-inverted":"The modules are lighter than the background. Many phones cannot read a code that way round.","app.colour.contrast-transparent":"Measured against white, because the background is transparent. Check it against what it is printed on.","app.colour.meta":"Modules {fg} on {bg}","app.logo.choose":"Logo","app.logo.none":"No logo","app.logo.picture":"Your picture","app.logo.upload":"Choose a picture","app.logo.upload-hint":"PNG, JPEG or WebP. It is made into a PNG of at most 1024 pixels, kept inside the design.","app.logo.added":"Logo added.","app.logo.size":"Size","app.logo.padding":"Clear space","app.logo.padding-value":"Modules: {value}","app.logo.clear":"Modules under the logo","app.logo.clear-none":"Keep them","app.logo.clear-box":"Clear a box","app.logo.clear-shape":"Clear to its shape","app.logo.plate":"Plate behind it","app.logo.plate-none":"None","app.logo.plate-square":"Square","app.logo.plate-rounded":"Rounded","app.logo.plate-circle":"Circle","app.logo.level-hint":"A logo covers part of the code. Error correction level H leaves the most room for it.","app.logo.use-h":"Use level H","app.frame.choose":"Frame","app.frame.caption":"Caption","app.frame.caption-hint":"Up to {chars} characters.","app.frame.default-caption":"Scan me","app.frame.font":"Typeface","app.print.size":"Printed width, mm","app.print.size-hint":"Leave it empty to save at any size. A PDF then prints at the scan check's size.","app.print.basis":"Measured across","app.print.basis-artwork":"The whole artwork","app.print.basis-symbol":"The code alone","app.print.dpi":"Resolution, dpi","app.print.dpi-hint":"For a PNG drawn from the printed width. 300 suits most printers.","app.print.distance":"Furthest scanning distance, cm","app.print.distance-hint":"How far away people will be. The scan check holds the code to it.","app.print.not-set":"Any size","app.print.meta":"Width {size} mm","app.export.format":"Format","app.export.format-svg":"SVG","app.export.format-png":"PNG","app.export.format-pdf":"PDF","app.export.format-eps":"EPS","app.export.format-jpeg":"JPEG","app.export.format-webp":"WebP","app.export.hint-svg":"Sharp at any size. For the web and most design tools.","app.export.hint-png":"A picture with exact pixels. For documents, slides and messages.","app.export.hint-pdf":"For printing and for a print shop, at its printed width.","app.export.hint-eps":"For older print and design software.","app.export.hint-jpeg":"A smaller picture with no transparency.","app.export.hint-webp":"A smaller picture for the web. Not every browser can save it.","app.export.size":"Size","app.export.size-pixels":"Pixels","app.export.size-print":"Printed width","app.export.width-px":"Width in pixels","app.export.width-px-hint":"Leave it empty and every module lands on whole pixels, about 1000 across.","app.export.width-mm":"Width in millimetres","app.export.width-mm-hint":"Leave it empty to use the printed size.","app.export.dpi":"Resolution, dpi","app.export.automatic":"Automatic","app.export.quality":"Quality","app.export.colour-space":"Colour","app.export.colour-srgb":"RGB, for screens and most printers","app.export.colour-cmyk":"CMYK, for a print shop","app.export.bleed":"Bleed, mm","app.export.crop-marks":"Crop marks","app.export.download":"Download","app.export.download-format":"Download {format}","app.export.copy-image":"Copy image","app.export.copy-svg":"Copy SVG","app.export.print":"Print","app.export.print-alt":"The QR code at its printed width of {size} mm.","app.export.saved":"Saved {filename}.","app.export.copied-image":"Image copied.","app.export.copied-svg":"SVG copied.","app.dock.label":"Save the code","app.library.intro":"Saved designs and brand kits are kept in a file you save. Nothing is kept in this browser, and a saved design never holds what a code says, so the file is safe to share.","app.library.name":"Name","app.library.name-hint":"For the design or the brand kit you save next.","app.library.untitled":"Untitled","app.library.save-design":"Save this design","app.library.save-kit":"Save as brand kit","app.library.saved":"Design saved to the library. Save the library file to keep it.","app.library.kit-saved":"Brand kit saved, with this design's colours and logo. Save the library file to keep it.","app.library.designs":"Designs","app.library.kits":"Brand kits","app.library.empty":"Nothing saved yet.","app.library.unsaved":"The library has changes that are not in a file yet.","app.library.saved-at":"Saved {date}","app.library.use":"Use","app.library.use-named":"Use {name}","app.library.used":"Used the look of {name}. What the code says is unchanged, and Undo goes back.","app.library.kit-used":"Used the brand kit {name}: its colours where they still read, and its logo. Undo goes back.","app.library.in-use":"In use","app.library.remove":"Remove","app.library.remove-named":"Remove {name}","app.library.removed":"Removed {name}.","app.library.save-file":"Save library file","app.library.open-file":"Open library file","app.library.opened":"Library opened: designs {designs}, brand kits {kits}.","app.library.count":"Designs {designs}, kits {kits}","app.design.title":"This design on its own","app.design.intro":"A design file holds the look and none of the content, so it is safe to share.","app.design.save-file":"Save design file","app.design.open-file":"Open design file","app.design.applied":"Design opened.","app.scan.title":"Read a code","app.scan.intro":"Point a camera at a code, or open a picture of one. The picture is read in this page and goes nowhere.","app.scan.camera-start":"Start the camera","app.scan.camera-stop":"Stop the camera","app.scan.camera-requesting":"Asking for the camera.","app.scan.camera-live":"Camera on. Hold a code inside the frame.","app.scan.camera-read":"Read. The camera is off again.","app.scan.camera-unavailable":"This browser does not offer the camera to a file opened from this computer. Open a picture of the code instead, or drop one here.","app.scan.camera-fallback":"You can open a picture of the code instead.","app.scan.drop":"Drop a picture of a code here, paste one, or choose one","app.scan.choose":"Choose a picture","app.scan.paste-hint":"A screenshot pasted while Scan is open is read too.","app.scan.reading":"Reading the picture.","app.scan.results":"What it says","app.scan.clear":"Clear","app.scan.nothing-yet":"Nothing read yet. What a code holds appears here, exactly as it is written.","app.scan.found-one":"Found 1 code.","app.scan.found-many":"Found {count} codes.","app.scan.symbol":"Symbol: {symbology}, version {version}, level {level}","app.scan.part":"Part {index} of {total}","app.scan.type":"Kind of content","app.scan.destination":"Where it goes","app.scan.host-ascii":"Written for the browser as {host}.","app.scan.safety":"Before you open it","app.scan.safety-none":"Nothing here looks unusual.","app.scan.text":"Exactly what the code holds","app.scan.inspect-unavailable":"The full reading, with the kind of content and any warnings, cannot be shown in this copy of the studio. The text above is exactly what the code holds.","app.scan.remake":"Remake as a static code","app.scan.remade":"Made into a new code in Create. It holds the same content and never expires.","app.scan.copy-text":"Copy the text","app.scan.copied":"Text copied.","app.bulk.title":"Many codes from a spreadsheet","app.bulk.intro":"Each row of a CSV file becomes a code in the design from Create. The file is read in this page and goes nowhere.","app.bulk.source":"The spreadsheet","app.bulk.drop":"Drop a CSV file here, or choose one","app.bulk.choose":"Choose a CSV file","app.bulk.paste":"Or paste its text","app.bulk.paste-placeholder":"For example: name,url","app.bulk.encoding":"Text encoding","app.bulk.encoding-hint":"A file saved as UTF-8 is always read as UTF-8. If letters from a file look wrong, choose the encoding your spreadsheet saved it in.","app.bulk.encoding-auto":"Automatic (UTF-8, otherwise Windows-1252)","app.bulk.encoding-windows-1252":"Western European (Windows-1252)","app.bulk.encoding-shift-jis":"Japanese (Shift_JIS)","app.bulk.encoding-gb18030":"Simplified Chinese (GBK, GB18030)","app.bulk.encoding-big5":"Traditional Chinese (Big5)","app.bulk.encoding-euc-kr":"Korean (EUC-KR)","app.bulk.encoding-windows-1251":"Cyrillic (Windows-1251)","app.bulk.encoding-windows-1256":"Arabic (Windows-1256)","app.bulk.rows":"Rows {count}, columns {columns}","app.bulk.mapping":"Where each field comes from","app.bulk.type":"Kind of code","app.bulk.template-hint":"A template mixes text and columns: write a column name in curly brackets to put its value in.","app.bulk.no-column":"Leave empty","app.bulk.from-column":"A column","app.bulk.column-n":"Column {n}","app.bulk.from-template":"A template","app.bulk.template-for":"Template for {field}","app.bulk.filename":"File names","app.bulk.filename-hint":"A template, as above. Characters a file name cannot hold are replaced, and repeats are numbered.","app.bulk.preview":"Preview","app.bulk.empty":"Add a spreadsheet to see its rows here.","app.bulk.plan":"Ready {ready}, to be skipped {skipped}.","app.bulk.preview-more":"And {count, plural, one {# more row} other {# more rows}}.","app.bulk.row":"Row {row}","app.bulk.row-ok":"Ready","app.bulk.row-skipped":"Skipped","app.bulk.output":"Output","app.bulk.output-zip":"A ZIP of files","app.bulk.output-sheet":"Label sheets as a PDF","app.bulk.format":"Format of each file","app.bulk.sheet":"Label sheet","app.bulk.sheet-hint":"Print a test page on plain paper and hold it against the labels first.","app.bulk.design-note":"Every code uses the design from Create.","app.bulk.make":"Make {count, plural, one {# code} other {# codes}}","app.bulk.making":"Making codes, {done} of {total}.","app.bulk.done":"Made {written, plural, one {# code} other {# codes}}. Rows skipped: {skipped}.","app.bulk.download-again":"Download again","app.drop.title":"Drop to open","app.drop.text":"A design file, a library file, a picture of a code, or a CSV file.","app.drop.unknown":"That is not a file this studio opens. It takes design files, library files, pictures of codes and CSV files.","app.about.title":"About this file","app.about.facts":"What this file does","app.about.check":"To check, turn your network off and use it. Every part still works.","app.about.version":"Version","app.about.source":"Source code","app.about.licence":"Font licence","app.about.licence-intro":"Frame captions are drawn with IBM Plex Sans, which this file carries under the SIL Open Font License. Its terms follow."});var m2=Object.freeze({"batch.malformed-csv.unterminated-quote":"This file has a quoted cell that never ends, so it cannot be read. Check row {row}, column {column}.","batch.malformed-csv.stray-quote":"Row {row}, column {column} has a quote mark in the middle of a cell. Save the file again from your spreadsheet, or put that cell in quotes.","batch.malformed-csv.text-after-quote":"Row {row}, column {column} has text straight after the end of a quoted cell. Save the file again from your spreadsheet.","batch.malformed-csv.empty":"This file has no rows in it.","batch.encoding-unavailable":"This browser cannot read text in the encoding chosen for this file. Choose another, or save the file from your spreadsheet as CSV UTF-8.","batch.too-many-rows":"This file has more than {max, plural, one {# row} other {# rows}}. Split it into smaller files and make each batch on its own.","batch.unknown-column":"This refers to a column the file does not have. Choose one of its columns.","batch.csv.short-row":"Row {row} has {cells, plural, one {# cell} other {# cells}} where the header has {expected}. The missing ones were left empty.","batch.csv.long-row":"Row {row} has {cells} cells where the header has {expected}. The extra ones have no column and were left out.","batch.csv.duplicate-header":"Column {column} has the same name as column {first}. Anything that refers to that name uses column {first}.","batch.csv.fallback-encoding":"This file is not in UTF-8, so it was read as {encoding, select, windows-1252 {Western European (Windows-1252)} shift_jis {Japanese (Shift_JIS)} gb18030 {Simplified Chinese (GBK, GB18030)} big5 {Traditional Chinese (Big5)} euc-kr {Korean (EUC-KR)} windows-1251 {Cyrillic (Windows-1251)} windows-1256 {Arabic (Windows-1256)} other {{encoding}}}. If any letters look wrong, choose the encoding it was saved in, or save it from your spreadsheet as CSV UTF-8.","batch.csv.utf-16":"This file is in UTF-16, and was read as that.","batch.csv.odd-length":"This file ends partway through a character. The last byte was left out.","batch.issue.empty-row":"This row is empty, so no code was made for it.","batch.issue.number-format":"Write this number with a full stop for the decimal point and no thousands separators, such as 1250.50.","batch.issue.filename-fallback":"The file name for this row came out empty, so the row number was used instead.","batch.issue.filename-cleaned":"Characters a file name cannot hold were taken out of this one.","batch.issue.filename-numbered":"Another row has the same file name, so this one has {number} on the end.","batch.issue.eps-fallback":"EPS cannot carry this design's transparency, so this code was saved as a PDF instead.","batch.issue.failed":"This code could not be made.","batch.issue.check-failed":"This code did not pass the scan check. Phones may not read it reliably at this size.","batch.issue.check-warned":"This code passed the scan check, with something to look at.","batch.issue.check-unavailable":"The scan check could not be run for this code."});var f2=Object.freeze({"decode.not-found":"No code was found in this picture.","decode.not-found.geometry":"Part of a code may be here, but no whole code could be found. Make sure all of it is in the picture, with some space around it.","decode.unreadable":"A code was found here, but it could not be read.","decode.unreadable.format":"A code was found here, but the part that says how it was made could not be read.","decode.unreadable.version":"A code was found here, but its size could not be worked out. Try a sharper or straighter picture.","decode.unreadable.reed-solomon":"A code was found here, but too much of it is damaged or unclear to read, even with its error correction.","decode.unreadable.segments":"A code was found here, but it was not made correctly, so what it holds cannot be read.","decode.unreadable.margin":"This code reads here, but without enough to spare for every phone. The picture may be too coarse, taken at too steep an angle, smeared by a moving camera, or too noisy or washed out in places. The corner squares may be dotted, or too round or too cut away at the corners for some phones to follow. Or something else in the picture may look like them.","decode.unsupported":"This code uses a feature this tool cannot read.","decode.unsupported.eci":"This code uses a character set this tool cannot read.","decode.unsupported.kanji":"This code holds Japanese text, and this browser cannot read the character set it uses."});var p2=Object.freeze({"design.module.square":"Square","design.module.rounded":"Rounded","design.module.dot":"Dot","design.module.diamond":"Diamond","design.module.squircle":"Squircle","design.module.hex":"Hexagon","design.module.bars-horizontal":"Horizontal bars","design.module.bars-vertical":"Vertical bars","design.module.fluid":"Fluid","design.module.classy":"Classy","design.module.cross":"Cross","design.module.tiny-square":"Small square","design.module.mosaic":"Mosaic","design.module.star":"Star","design.region.square":"Square","design.region.rounded":"Rounded","design.region.extra-rounded":"Extra rounded","design.region.circle":"Circle","design.region.squircle":"Squircle","design.region.cushion":"Cushion","design.region.dot-ring":"Ring of dots","design.region.octagon":"Octagon","design.region.scooped":"Scooped corners","design.region.square-centre":"Square","design.region.rounded-centre":"Rounded","design.region.circle-centre":"Circle","design.region.squircle-centre":"Squircle","design.region.leaf-centre":"Leaf","design.region.octagon-centre":"Octagon","design.region.scooped-centre":"Scooped corners","design.region.flower-centre":"Flower","design.fill.palette-scatter":"Scattered colours","design.fill.two-tone-diagonal":"Two colours, split","design.frame.none":"No frame","design.frame.banner-bottom":"Banner below","design.frame.banner-top":"Banner above","design.frame.rounded-card":"Rounded card","design.frame.speech-bubble":"Speech bubble","design.frame.ticket":"Ticket","design.frame.polaroid":"Instant photo","design.frame.badge-circle":"Round badge","design.frame.phone":"Phone","design.frame.hang-tag":"Hang tag","design.frame.corner-brackets":"Corner brackets","design.frame.stamp":"Stamp","design.icon.link":"Link","design.icon.wifi":"Wi-Fi","design.icon.mail":"Email","design.icon.phone":"Phone","design.icon.chat":"Chat","design.icon.location-pin":"Location pin","design.icon.calendar":"Calendar","design.icon.contact-card":"Contact card","design.icon.cart":"Shopping cart","design.icon.food":"Knife and fork","design.icon.star":"Star","design.icon.heart":"Heart","design.icon.play":"Play","design.icon.music":"Music","design.icon.shop":"Shop","design.icon.info":"Information","design.preset.classic-black":"Classic black","design.preset.classic-navy":"Classic navy","design.preset.classic-soft-corners":"Soft corners","design.preset.classic-ink-blue":"Ink blue","design.preset.classic-octagon":"Octagon eyes","design.preset.rounded-graphite":"Rounded graphite","design.preset.rounded-ocean":"Rounded ocean","design.preset.rounded-forest":"Forest squircles","design.preset.rounded-plum":"Rounded plum","design.preset.rounded-terracotta":"Terracotta leaves","design.preset.rounded-link":"Rounded with link icon","design.preset.midnight-dots":"Midnight dots","design.preset.charcoal-dots":"Charcoal dots","design.preset.teal-dots":"Teal dots","design.preset.berry-dots":"Berry dots","design.preset.confetti-dots":"Confetti dots","design.preset.hex-pro-blue":"Hex blue","design.preset.hex-graphite":"Hex graphite","design.preset.hex-honey":"Honeycomb","design.preset.hex-night":"Hex night","design.preset.fluid-ink":"Fluid ink","design.preset.fluid-lagoon":"Fluid lagoon","design.preset.fluid-aubergine":"Fluid aubergine","design.preset.classy-slate":"Classy slate","design.preset.cobalt-bars":"Cobalt bars","design.preset.poster-yellow":"Yellow poster","design.preset.bold-tomato":"Tomato card","design.preset.bold-crosses":"Crosses","design.preset.slate-bars":"Slate bars","design.preset.red-badge":"Red badge","design.preset.chat-bubble":"Speech bubble","design.preset.minimal-tiny":"Small squares","design.preset.minimal-diamond":"Diamonds","design.preset.minimal-brackets":"Corner brackets","design.preset.minimal-stars":"Stars","design.preset.sunset-gradient":"Sunset gradient","design.preset.deep-sea-gradient":"Deep sea gradient","design.preset.two-tone":"Two tone","design.preset.violet-glow":"Violet glow","design.preset.mosaic-tiles":"Mosaic tiles","design.preset.teal-and-rust":"Teal and rust","design.preset.shop-tag":"Shop tag","design.preset.print-black":"Print black","design.preset.print-navy":"Print navy","design.preset.print-ticket":"Print ticket","design.preset.print-stamp":"Print stamp","design.param.radius":"Corner radius","design.param.size":"Size","design.param.orientation":"Orientation","design.param.thickness":"Thickness","design.param.scale":"Scale","design.param.jitter":"Variation","design.param.inner":"Inner depth","design.param.cut":"Corner cut","design.param.bite":"Corner scoop","design.param.petal":"Petal size","design.param.colour-1":"First colour","design.param.colour-2":"Second colour","design.param.colour-3":"Third colour","design.param.colour-4":"Fourth colour","design.param.count":"Colours used","design.param.angle":"Angle","design.param.split":"Split position","design.param.border":"Border","design.param.band":"Band depth","design.param.padding":"Padding","design.param.caption":"Caption space","design.param.tail":"Tail size","design.param.stub":"Stub depth","design.param.notch":"Notch size","design.param.bezel":"Bezel","design.param.gap":"Gap","design.param.arm":"Arm length","design.option.pointy":"Point at the top","design.option.flat":"Flat at the top","design.issue.not-an-object":"This should be a group of settings.","design.issue.not-a-list":"This should be a list.","design.issue.not-a-number":"Enter a number.","design.issue.not-an-integer":"Enter a whole number.","design.issue.not-a-boolean":"This should be on or off.","design.issue.not-text":"This should be text.","design.issue.out-of-range":"This is outside the range from {min} to {max}.","design.issue.invalid-option":"Choose one of the options.","design.issue.invalid-colour":"Colours are written as a # and three, four, six or eight hex digits.","design.issue.cmyk":"A print colour is four values from 0 to 1, for cyan, magenta, yellow and black.","design.issue.required":"This is required.","design.issue.unknown-key":"This setting is not part of a design, so it was left out.","design.issue.filled-default":"This was missing, so the usual setting was used.","design.issue.angle-normalised":"This angle was brought round to between 0 and 360 degrees.","design.issue.schema":"This is not a design file.","design.issue.unsupported-version":"This design was made by a different version of the studio. This one reads version {supported}.","design.issue.symbology":"Choose one of the kinds of code this studio makes.","design.issue.version-name":"This is not a size this kind of code comes in.","design.issue.version-range":"The largest size allowed is smaller than the smallest.","design.issue.mask":"Choose a mask from 0 to {max}, or let one be chosen.","design.issue.stop-count":"A gradient has from {min} to {max} colour stops.","design.issue.stop-order":"Each colour stop must come at or after the one before it.","design.issue.unknown-entry":"This refers to a style this version of the studio does not include.","design.issue.param-ignored":"This setting does not suit the style it is on, so the usual value was used.","design.issue.region-part":"This shape is for the other part of the position marks, the ring or the centre.","design.issue.region-kind":"This shape cannot draw one of this code's position marks, so that mark is drawn with squares.","design.issue.region-corners":"Readers find this kind of code by the corners of its position marks, so they are drawn square and only the centre of the main one takes the style.","design.issue.region-pair":"Strict readers may not find position marks with this ring and this centre. Choose a different centre or ring.","design.issue.ring-not-traceable":"Many phone readers cannot find position marks with a ring of dots, so it cannot be used for the corners of a QR code. Choose another ring.","design.issue.ring-round":"Some phone readers struggle to find round corners when the code is seen at an angle. A squarer ring scans more reliably.","design.issue.quiet-zone":"The margin round the code was not a usable width, so the usual width was used.","design.issue.quiet-zone-small":"The margin round the code is narrower than the {min} modules this kind of code needs, and some readers will miss it.","design.issue.asset-missing":"This logo refers to an image the design does not hold.","design.issue.asset-unavailable":"The logo image could not be loaded, so the code is shown without it.","design.issue.asset-id":"Image names use lowercase letters, digits and hyphens.","design.issue.asset-encoding":"This image is damaged.","design.issue.asset-not-png":"Images in a design are PNG files.","design.issue.asset-too-large":"This image is larger than the {max} bytes a design can hold.","design.issue.asset-mismatch":"This image is not the size the design says it is.","design.issue.too-many-assets":"A design holds at most {max} images, and this one has {count}.","design.issue.unused-asset":"Nothing in the design uses this image, so it was left out.","design.issue.logo-paint-ignored":"A picture logo keeps its own colours, so this colour was left out.","design.issue.logo-too-small":"The logo is too small to draw at this size of code.","design.issue.logo-shrunk":"The logo was made smaller to keep it off the patterns a reader uses to find and line up the code.","design.issue.frame-unsupported":"Readers lose rectangular Micro QR codes inside a frame, so this code is shown without its frame.","design.issue.caption-unsupported":"This frame has no space for a caption, so the caption was left out.","design.issue.caption-missing-glyphs":"This font cannot draw {count, plural, one {one of the characters in the caption, so it was} other {# of the characters in the caption, so they were}} left out. Choose another font, or change the text.","design.issue.caption-overflow":"The caption does not fit this frame even at its smallest size, so it is cut off. Shorten it, or choose a frame with more room.","design.issue.font-unavailable":"This font is not available here, so the caption cannot be drawn.","design.issue.too-long":"This is {length} characters and the limit is {max}.","design.issue.too-many-lines":"This has {lines} lines and the frame holds {max}.","design.issue.control-character":"This contains a control character at position {position}, which would not be shown.","design.issue.font-id":"Font names use lowercase letters, digits and hyphens.","design.issue.design-locked":"This content has a fixed design, so the design was set to it.","design.issue.colours-constrained":"This content is printed in black on white, so the colours were changed.","design.issue.symbology-constrained":"This content needs a different kind of code, so it was changed.","design.issue.ec-level-constrained":"This content needs error correction level {level}, so that level is used.","design.issue.boost-constrained":"Raising the error correction is switched off, because this content allows only certain levels.","design.issue.version-constrained":"This content allows a code no larger than version {max}.","design.issue.eci-constrained":"This content names its own character set, so no character set marker is added.","design.issue.size-constrained":"This content is printed with the code itself {size} mm wide, not counting its margin, so that size is used.","design.issue.overlay-unsupported":"The Swiss cross this content needs is printed over QR codes only, so it was left out.","design.issue.link-assets-dropped":"Images are too large to put in a link, so the logo picture was left out of it."});var h2=Object.freeze({"design.issue.svg-logo-later":"SVG logos are not supported yet. Save the logo as a PNG and choose that instead.","dom.issue.logo-downscaled":"The picture was made smaller, to {width} by {height} pixels, so the design can hold it."});var y2=Object.freeze({"encode.too-much-data":"That is too much to fit in one code at these settings. Shorten it, lower the error correction, or allow a larger code.","encode.unsupported-feature.eci":"This kind of code cannot say which character set it uses. Choose a QR code, or turn that option off.","encode.unsupported-feature.fnc1":"This kind of code cannot carry GS1 data. Choose a QR code.","encode.unsupported-feature.structured-append":"This kind of code cannot be split across several codes. Choose a QR code.","encode.unsupported-content.lone-surrogate":"This text has a broken character in it and cannot be put into a code as it is.","encode.unsupported-content.mode":"This code size cannot hold some of these characters. Choose a larger kind of code."});var g2=Object.freeze({"inspect.label.symbology":"Kind of code","inspect.label.version":"Size","inspect.label.error-correction":"Error correction","inspect.label.mask":"Mask","inspect.label.text-source":"Character set","inspect.label.segments":"Encoding","inspect.label.structured-append":"Part of a set","inspect.label.gs1":"GS1 data","inspect.label.quality":"How well it read","inspect.label.errors-corrected":"Errors repaired","inspect.label.format-errors":"Format bits repaired","inspect.label.mirrored":"Read as a mirror image","inspect.label.inverted":"Read light on dark","inspect.label.confidence":"Least certain square","inspect.label.content":"What it holds","inspect.label.destination":"Where it goes","inspect.label.unicode-host":"Address as written","inspect.text-source.utf-8":"Unicode","inspect.text-source.latin1-fallback":"Western European, guessed","inspect.text-source.shift-jis":"Japanese","inspect.text-source.eci":"Declared by the code","inspect.set.complete":"{total, plural, one {The one part of this set was found and read.} other {All # parts were found and put together.}}","inspect.set.incomplete":"This is one part of a set of {total}. Scan the other parts too to see the whole message.","inspect.set.parity-mismatch":"These parts do not belong to the same message, so they were not put together.","inspect.not-opened":"Nothing has been opened. This is where the code goes, so you can decide whether to.","inspect.issue.unreadable-as-type":"This looked like a particular kind of content but could not be read as one, so it is shown as plain text.","inspect.gs1.00":"Shipping container code","inspect.gs1.01":"Product number","inspect.gs1.02":"Product number of contents","inspect.gs1.10":"Batch or lot","inspect.gs1.11":"Production date","inspect.gs1.12":"Due date","inspect.gs1.13":"Packaging date","inspect.gs1.15":"Best before","inspect.gs1.16":"Sell by","inspect.gs1.17":"Use by or expiry","inspect.gs1.20":"Variant","inspect.gs1.21":"Serial number","inspect.gs1.22":"Consumer product variant","inspect.gs1.240":"Additional product identification","inspect.gs1.241":"Customer part number","inspect.gs1.250":"Secondary serial number","inspect.gs1.251":"Reference to source entity","inspect.gs1.253":"Document type identifier","inspect.gs1.254":"Location number extension","inspect.gs1.30":"Variable count","inspect.gs1.37":"Count of items contained","inspect.gs1.400":"Order number","inspect.gs1.401":"Consignment number","inspect.gs1.402":"Shipment number","inspect.gs1.403":"Routing code","inspect.gs1.410":"Ship to location","inspect.gs1.411":"Bill to location","inspect.gs1.412":"Purchased from","inspect.gs1.413":"Ship for location","inspect.gs1.414":"Physical location","inspect.gs1.415":"Invoicing party","inspect.gs1.416":"Production or service location","inspect.gs1.420":"Ship to postcode","inspect.gs1.421":"Ship to postcode with country","inspect.gs1.422":"Country of origin","inspect.gs1.7003":"Expiry date and time","inspect.gs1.8003":"Returnable asset identifier","inspect.gs1.8004":"Individual asset identifier","inspect.gs1.8020":"Payment slip reference","inspect.gs1.90":"Agreed between trading partners","inspect.gs1.measure":"Measurement","inspect.gs1.amount":"Amount or price","inspect.gs1.unknown":"Other GS1 data"});var b2=Object.freeze({"dom.library.issue.too-large":"This file is too large to be a library. A library file holds at most {max} bytes.","dom.library.issue.too-deep":"This file nests too deeply to be a library, so it was not opened.","dom.library.issue.not-json":"This file could not be read as a library. Choose a .qrlibrary.json file saved from the studio.","dom.library.issue.not-a-library":"This is not a library file. Choose a .qrlibrary.json file saved from the studio.","dom.library.issue.version":"This library was saved by a different version of the studio and cannot be opened here.","dom.library.issue.unknown-key":"This library file has a part the studio does not know, so it was not opened.","dom.library.issue.too-many":"This library file holds {count} entries of one kind, and a library holds at most {max}.","dom.library.issue.unreadable":"This file could not be read. Choose it again.","dom.library.issue.content":"A saved item held the content of a code, which a library never keeps, so it was left out.","dom.library.issue.corrupt":"A saved item is damaged and was left out.","dom.library.error.blocked":"The library is open in another tab. Close that tab and the library will be deleted.","dom.library.error.missing":"That saved item is no longer in the library.","dom.library.error.file-full":"This library holds as much as one file can. Remove something, or save it and start another.","dom.library.error.kit":"This brand kit has a colour, logo or preset the studio cannot use."});var x2=Object.freeze({"symbology.micro.label":"Micro QR","symbology.micro.not-phone-readable":"Most phone cameras cannot read Micro QR codes. Use one only where you know the scanner that will read it supports Micro QR, and test it with that scanner before printing.","symbology.micro.detection-only":"The smallest size, M1, can tell when it has been damaged but cannot repair any of the damage."});var w2=Object.freeze({"own-link.issue.from":"Enter the full address on your own site that the code will hold, starting with https://.","own-link.issue.from-query":"The address the code holds cannot include a query string or a fragment, because redirect rules match the path alone.","own-link.issue.from-path":"Use only letters, digits, hyphens, dots, underscores and slashes in the path, so every platform matches it the same way.","own-link.issue.to":"Enter the full destination address, starting with https://.","own-link.issue.to-userinfo":"The destination has a user name or password in it. Browsers warn about these links, so leave it out.","own-link.issue.to-insecure":"The destination does not use a secure connection. Use https:// if the site supports it.","own-link.issue.status":"Choose 302 or 307 for a destination you may change, or 301 or 308 for one you will not.","own-link.issue.permanent":"Browsers remember a permanent redirect, so if you change the destination later, people who scanned before may still go to the old one.","own-link.issue.loop":"The destination is the same address as the code, so it would redirect to itself.","own-link.issue.target":"Choose from the listed hosting setups.","own-link.issue.url":"Enter the full address, starting with https://.","own-link.issue.utm-required":"Fill in the source, medium and campaign. Analytics groups visits by all three.","own-link.issue.utm-value":"This contains a character that cannot go in a link.","own-link.note.cloudflare-bulk":"Upload this to a Bulk Redirect List in the Cloudflare dashboard, then turn the list on with a Bulk Redirect Rule.","own-link.note.cloudflare-rule":"Create a Redirect Rule with this expression and target in the Cloudflare dashboard, or send it to the Rulesets API.","own-link.note.netlify":"Put this line in the _redirects file in the folder your site is published from.","own-link.note.netlify-status":"Put this line in the _redirects file in the folder your site is published from. Netlify does not support 307 or 308, so the nearest status it does support is used.","own-link.note.vercel":"Add this to the redirects in vercel.json at the root of your project, keeping any that are already there.","own-link.note.apache":"Add this line to the .htaccess file in your site folder. The server has to allow FileInfo overrides.","own-link.note.nginx":"Add this block inside the server block for your site, then reload nginx.","own-link.note.html":"Upload this page to your site at the path the code holds. Use it only where the host has no redirect settings, because search engines treat it as a page rather than a redirect."});var k2=Object.freeze({"payload.issue.wrong-kind":"This value is the wrong kind of thing for this field.","payload.issue.required":"This is required.","payload.issue.too-long":"This is {length} characters and the limit is {max}.","payload.issue.too-many":"There are {count} of these and the limit is {max}.","payload.issue.line-break":"This has to fit on one line.","payload.issue.control-character":"This contains a control character at position {position}, which a reader would not show.","payload.issue.unpaired-surrogate":"This contains a broken character at position {position}.","payload.issue.not-a-number":"Enter a number.","payload.issue.not-an-integer":"Enter a whole number.","payload.issue.below-min":"This is below the minimum of {min}.","payload.issue.above-max":"This is above the maximum of {max}.","payload.issue.invalid-option":"Choose one of the options.","payload.issue.invalid-url":"This is not a complete web address. It should start with https://.","payload.issue.url-scheme":"Only web addresses starting with https:// or http:// work here.","payload.issue.invalid-email":"This is not an email address.","payload.issue.invalid-tel":"Enter a phone number using digits, with + and the country code if it is international.","payload.issue.invalid-date":"Enter a real date.","payload.issue.invalid-datetime":"Enter a real date and time.","payload.issue.invalid-iban":"This is not an IBAN. It starts with two letters and two digits.","payload.issue.iban-country":"This IBAN starts with a country code that has no IBANs.","payload.issue.iban-length":"This IBAN has {length} characters, and IBANs from this country have {expected}.","payload.issue.iban-checksum":"This IBAN fails its check digits. A character is probably mistyped.","payload.issue.invalid-bic":"This is not a BIC. It is 8 or 11 letters and digits.","payload.issue.amount-decimals":"Use at most {max} decimal places.","payload.issue.invalid-currency":"Use a three-letter currency code.","payload.issue.invalid-country":"Use a two-letter country code.","payload.issue.invalid-latitude":"Latitude is between -90 and 90.","payload.issue.invalid-longitude":"Longitude is between -180 and 180.","payload.issue.creditor-reference":"This creditor reference fails its check digits. It starts with RF and two digits.","payload.safety.scheme.dangerous":"This code runs a script or opens something on the device ({scheme}) instead of going to a website. Do not open it.","payload.safety.scheme.unusual":"This link opens an app rather than a web page ({scheme}). Check that is what you expected.","payload.safety.host.ip-literal":"This link goes to a numeric address, {host}, rather than to a named website.","payload.safety.host.mixed-script":"The address {host} mixes letters from different alphabets, which is how look-alike addresses are made.","payload.safety.host.punycode":"The address {host} is shown in its own letters as {unicodeHost}. Check it is the site you expect.","payload.safety.host.lookalike":"The address {host} is written in letters that look like ordinary ones but come from another alphabet.","payload.safety.url.userinfo":"This link is written to look like another address. It goes to {host}.","payload.safety.host.shortener":"This link goes through a redirect service, {host}, and whoever runs it decides where it ends up.","payload.safety.host.dynamic-qr":"This code goes through a QR code redirect service, {host}, and whoever runs it decides where it ends up.","payload.safety.url.tracking-params":"This link carries tracking parameters ({count}) that record where you came from. The page is the same without them.","payload.safety.url.insecure":"This link does not use a secure connection, so what you see or send could be read or changed on the way.","payload.safety.url.very-long":"This link is {length} characters long, so the part you can see may not be the part that matters.","payload.safety.payload.open-wifi":"This network has no password, so anyone nearby can join it and may see what you send over it.","payload.safety.payload.payment":"This code starts a payment. Check who is being paid and how much before you confirm.","payload.safety.payload.service-code":"This code dials a service code with * or #, which can change phone settings such as call forwarding. Do not call it.","payload.safety.payload.sends-message":"This code prepares a message. Nothing is sent until you choose to send it.","payload.text.label":"Text","payload.text.description":"Any text, shown as it is.","payload.text.action":"Shows some text.","payload.text.field.text":"Text","payload.url.label":"Web link","payload.url.description":"A web address that opens in the browser.","payload.url.action":"Opens a web page.","payload.url.field.url":"Web address","payload.url.hint.url":"The full address, starting with https://.","payload.url.field.utm-source":"Campaign source","payload.url.field.utm-medium":"Campaign medium","payload.url.field.utm-campaign":"Campaign name","payload.url.field.utm-term":"Campaign term","payload.url.field.utm-content":"Campaign content","payload.url.issue.utm-incomplete":"Analytics groups visits by source, medium and campaign together, so fill in all three.","payload.email.label":"Email","payload.email.description":"An email with the address, subject and message filled in.","payload.email.action":"Opens an email ready to send.","payload.email.field.to":"To","payload.email.field.cc":"Cc","payload.email.field.bcc":"Bcc","payload.email.field.subject":"Subject","payload.email.field.body":"Message","payload.email.issue.no-recipient":"Add at least one address to send to.","payload.phone.label":"Phone call","payload.phone.description":"A phone number to call.","payload.phone.action":"Offers to call a phone number.","payload.phone.field.number":"Phone number","payload.phone.hint.number":"Include + and the country code so it works from anywhere.","payload.sms.label":"Text message","payload.sms.description":"A text message with the number and message filled in.","payload.sms.action":"Opens a text message ready to send.","payload.sms.field.number":"Phone number","payload.sms.hint.number":"Include + and the country code so it works from anywhere.","payload.sms.field.message":"Message","payload.whatsapp.label":"WhatsApp chat","payload.whatsapp.description":"A WhatsApp chat with a number, with a message typed in if you like.","payload.whatsapp.action":"Opens a WhatsApp chat.","payload.whatsapp.field.number":"WhatsApp number","payload.whatsapp.hint.number":"The full international number, starting with + and the country code.","payload.whatsapp.field.message":"Message","payload.whatsapp.issue.international":"Start the number with + and the country code. WhatsApp links only work with the full number.","payload.whatsapp.compat.app":"Opens in WhatsApp if it is installed, otherwise on the WhatsApp website.","payload.telegram.label":"Telegram chat","payload.telegram.description":"A Telegram chat with a username or a phone number.","payload.telegram.action":"Opens a Telegram chat.","payload.telegram.field.target":"Chat with","payload.telegram.option.target.username":"A username","payload.telegram.option.target.phone":"A phone number","payload.telegram.field.username":"Username","payload.telegram.hint.username":"Without the @.","payload.telegram.field.phone":"Phone number","payload.telegram.hint.phone":"The full international number, starting with + and the country code.","payload.telegram.field.message":"Message","payload.telegram.issue.international":"Start the number with + and the country code.","payload.telegram.issue.username":"A Telegram username is 5 to 32 letters, digits and underscores.","payload.telegram.compat.app":"Opens in Telegram if it is installed, otherwise on the Telegram website.","payload.signal.label":"Signal chat","payload.signal.description":"A Signal chat with a phone number.","payload.signal.action":"Opens a Signal chat.","payload.signal.field.number":"Signal number","payload.signal.hint.number":"The full international number, starting with + and the country code.","payload.signal.issue.international":"Start the number with + and the country code.","payload.signal.compat.app":"Needs the Signal app to open the chat.","payload.facetime.label":"FaceTime call","payload.facetime.description":"A FaceTime call to a phone number or an email address.","payload.facetime.action":"Offers to start a FaceTime call.","payload.facetime.field.contact":"Phone number or email","payload.facetime.hint.contact":"The number or email address the person uses for FaceTime.","payload.facetime.field.audio-only":"Audio only","payload.facetime.issue.contact":"Enter a phone number or an email address.","payload.facetime.compat.apple-only":"Only iPhone, iPad and Mac open FaceTime calls.","payload.wifi.label":"Wi-Fi network","payload.wifi.description":"The name and password of a Wi-Fi network, so a phone can join without typing them.","payload.wifi.action":"Joins a Wi-Fi network.","payload.wifi.field.ssid":"Network name","payload.wifi.hint.ssid":"Exactly as it appears in the list of networks, including capitals.","payload.wifi.field.security":"Security","payload.wifi.hint.security":"Most home and office networks use WPA. Choose WPA3 only if the network accepts nothing else.","payload.wifi.option.security.wpa":"WPA2 or WPA3","payload.wifi.option.security.sae":"WPA3 only","payload.wifi.option.security.wep":"WEP (old)","payload.wifi.option.security.nopass":"No password","payload.wifi.option.security.wpa2-eap":"Enterprise (WPA2-EAP)","payload.wifi.field.password":"Password","payload.wifi.field.hidden":"Hidden network","payload.wifi.hint.hidden":"Tick this if the network does not appear in the list of networks.","payload.wifi.field.eap-method":"EAP method","payload.wifi.option.eap-method.peap":"PEAP","payload.wifi.option.eap-method.tls":"TLS","payload.wifi.option.eap-method.ttls":"TTLS","payload.wifi.option.eap-method.pwd":"PWD","payload.wifi.option.eap-method.sim":"SIM","payload.wifi.option.eap-method.aka":"AKA","payload.wifi.option.eap-method.aka-prime":"AKA'","payload.wifi.field.phase2":"Phase 2 method","payload.wifi.option.phase2.pap":"PAP","payload.wifi.option.phase2.mschap":"MSCHAP","payload.wifi.option.phase2.mschapv2":"MSCHAPv2","payload.wifi.option.phase2.gtc":"GTC","payload.wifi.option.phase2.sim":"SIM","payload.wifi.option.phase2.aka":"AKA","payload.wifi.option.phase2.aka-prime":"AKA'","payload.wifi.field.identity":"Identity","payload.wifi.field.anonymous-identity":"Anonymous identity","payload.wifi.issue.ssid-too-long":"This network name is {length} bytes and Wi-Fi allows {max}.","payload.wifi.issue.password-required":"Enter the password, or choose No password.","payload.wifi.issue.wep-key":"A WEP key is 5 or 13 characters, or 10 or 26 hexadecimal digits.","payload.wifi.issue.wpa-ascii":"A WPA password uses only the letters, digits and symbols on an English keyboard.","payload.wifi.issue.wpa-length":"This password is {length, plural, one {# character} other {# characters}}. A WPA password is {min} to {max}.","payload.wifi.issue.eap-ignored":"The enterprise settings are only used when Security is Enterprise.","payload.wifi.issue.hex-ssid":"Some Android apps read a network name made only of the digits 0 to 9 and the letters A to F as raw bytes, and will not find this network.","payload.wifi.compat.enterprise":"The camera built into Android treats an enterprise network as one with a password and may not join it. Apps based on ZXing read the enterprise settings.","payload.wifi.issue.password-ignored":"A network with no password ignores the password.","payload.vcard.label":"Contact card","payload.vcard.description":"A contact with name, numbers, email and address, saved to the address book in one step.","payload.vcard.action":"Offers to save a contact.","payload.vcard.field.prefix":"Title before the name","payload.vcard.field.given-name":"First name","payload.vcard.field.additional-names":"Middle names","payload.vcard.field.family-name":"Last name","payload.vcard.field.suffix":"Title after the name","payload.vcard.field.formatted-name":"Name as shown","payload.vcard.hint.formatted-name":"Leave this empty to use the name parts above.","payload.vcard.field.organisation":"Organisation","payload.vcard.field.department":"Department","payload.vcard.field.title":"Job title","payload.vcard.field.mobile":"Mobile","payload.vcard.field.work-phone":"Work phone","payload.vcard.field.home-phone":"Home phone","payload.vcard.field.fax":"Fax","payload.vcard.field.other-phone":"Other phone","payload.vcard.field.email":"Email","payload.vcard.field.website":"Website","payload.vcard.field.street":"Street address","payload.vcard.field.locality":"Suburb or city","payload.vcard.field.region":"State or region","payload.vcard.field.postcode":"Postcode","payload.vcard.field.country":"Country","payload.vcard.field.address-type":"Address type","payload.vcard.option.address-type.work":"Work","payload.vcard.option.address-type.home":"Home","payload.vcard.field.note":"Note","payload.vcard.field.birthday":"Birthday","payload.vcard.issue.no-name":"Add a name or an organisation.","payload.mecard.label":"Contact card (compact)","payload.mecard.description":"A shorter contact card that makes a smaller code, with fewer details than a full one.","payload.mecard.action":"Offers to save a contact.","payload.mecard.field.family-name":"Last name","payload.mecard.field.given-name":"First name","payload.mecard.field.nickname":"Nickname","payload.mecard.field.phones":"Phone","payload.mecard.field.email":"Email","payload.mecard.field.url":"Website","payload.mecard.field.address":"Address","payload.mecard.field.organisation":"Organisation","payload.mecard.hint.organisation":"Some older readers ignore this.","payload.mecard.field.note":"Note","payload.mecard.field.birthday":"Birthday","payload.mecard.issue.no-name":"Add a first or last name.","payload.mecard.compat.org":"The organisation is a later addition to this format and some older readers ignore it.","payload.event.label":"Calendar event","payload.event.description":"An event with its time and place, added to the calendar in one step.","payload.event.action":"Offers to add an event to the calendar.","payload.event.field.summary":"Event name","payload.event.field.timing":"Time","payload.event.hint.timing":"A set time is the same moment everywhere. Local time is that time wherever the reader is.","payload.event.option.timing.utc":"At a set time","payload.event.option.timing.floating":"At a local time","payload.event.option.timing.all-day":"All day","payload.event.field.start":"Starts","payload.event.field.end":"Ends","payload.event.field.start-date":"First day","payload.event.field.end-date":"Last day","payload.event.hint.end-date":"Leave this empty for a one-day event.","payload.event.field.location":"Location","payload.event.field.description":"Description","payload.event.field.url":"Web address","payload.event.issue.end-before-start":"The end is before the start.","payload.geo.label":"Map location","payload.geo.description":"A point on the map, opened in the map app.","payload.geo.action":"Shows a place on a map.","payload.geo.field.latitude":"Latitude","payload.geo.field.longitude":"Longitude","payload.geo.field.altitude":"Altitude","payload.geo.hint.altitude":"In metres above sea level. Most map apps ignore it.","payload.geo.field.uncertainty":"Accuracy","payload.geo.hint.uncertainty":"How far off the point may be, in metres.","payload.bitcoin.label":"Bitcoin payment","payload.bitcoin.description":"A request to pay a Bitcoin address, with the amount filled in if you like.","payload.bitcoin.action":"Opens a Bitcoin payment in a wallet.","payload.bitcoin.field.address":"Bitcoin address","payload.bitcoin.hint.address":"Paste it from the wallet that will receive the payment rather than typing it.","payload.bitcoin.field.amount":"Amount (BTC)","payload.bitcoin.field.label":"Paid to","payload.bitcoin.field.message":"Message","payload.bitcoin.issue.address":"This is not a Bitcoin address.","payload.bitcoin.issue.address-checksum":"This address fails its own check. A character is mistyped, and a payment to it would fail.","payload.bitcoin.issue.testnet":"This is a test network address. Real bitcoin sent to it is lost.","payload.lightning.label":"Lightning invoice","payload.lightning.description":"A Lightning invoice from a wallet, as a code that can be scanned to pay it.","payload.lightning.action":"Opens a Lightning payment in a wallet.","payload.lightning.field.invoice":"Invoice","payload.lightning.hint.invoice":"Paste the invoice from the wallet that will be paid. It starts with lnbc.","payload.lightning.issue.format":"This is not a Lightning invoice.","payload.lightning.issue.checksum":"This invoice fails its own check. It was copied incompletely or changed.","payload.lightning.issue.prefix":"This invoice does not say which network it is for in a way wallets accept.","payload.lightning.issue.amount":"The amount in this invoice is written in a way wallets refuse.","payload.lightning.issue.testnet":"This invoice is for a test network. A real wallet cannot pay it.","payload.epc.label":"SEPA transfer","payload.epc.description":"A euro bank transfer with the account, amount and reference filled in, for banking apps in Europe.","payload.epc.action":"Opens a bank transfer in a banking app.","payload.epc.field.name":"Pay to","payload.epc.field.iban":"IBAN","payload.epc.field.bic":"BIC","payload.epc.hint.bic":"Needed only for banks outside the European Economic Area.","payload.epc.field.amount":"Amount (EUR)","payload.epc.field.reference":"Creditor reference","payload.epc.hint.reference":"A structured reference, usually starting with RF. Use either this or a message.","payload.epc.field.message":"Message","payload.epc.field.purpose":"Purpose code","payload.epc.hint.purpose":"A four-letter ISO 20022 code, such as CHAR for a donation.","payload.epc.field.information":"Note for the payer","payload.epc.hint.information":"Shown to the person paying. It is not sent with the payment.","payload.epc.field.version":"Format version","payload.epc.option.version.002":"Version 2","payload.epc.option.version.001":"Version 1 (needs a BIC)","payload.epc.issue.bic-required":"Version 1 needs a BIC.","payload.epc.issue.bic-outside-eea":"This IBAN is from a SEPA country outside the European Economic Area, so the transfer needs a BIC.","payload.epc.issue.not-sepa":"This IBAN is not from a SEPA country, so a SEPA transfer may not reach it.","payload.epc.issue.purpose":"A purpose code is four capital letters or digits.","payload.epc.issue.reference-and-message":"Use either a creditor reference or a message, not both.","payload.epc.issue.reference-unchecked":"This reference does not start with RF, so its check digits cannot be checked here.","payload.epc.issue.too-long":"This transfer is {length} bytes and the format allows {max}. Shorten the name or the message.","payload.swiss-qr-bill.label":"Swiss QR-bill","payload.swiss-qr-bill.description":"The payment part of a Swiss QR-bill, in francs or euros.","payload.swiss-qr-bill.action":"Opens a bill payment in a Swiss banking app.","payload.swiss-qr-bill.field.iban":"Account (IBAN or QR-IBAN)","payload.swiss-qr-bill.hint.iban":"A Swiss or Liechtenstein IBAN. A QR-IBAN needs a QR reference.","payload.swiss-qr-bill.field.creditor-name":"Payable to","payload.swiss-qr-bill.field.creditor-street":"Street","payload.swiss-qr-bill.field.creditor-building":"Building number","payload.swiss-qr-bill.field.creditor-postcode":"Postcode","payload.swiss-qr-bill.field.creditor-town":"Town","payload.swiss-qr-bill.field.creditor-country":"Country","payload.swiss-qr-bill.field.creditor-address-type":"Address format","payload.swiss-qr-bill.hint.creditor-address-type":"Bills are made with separate address lines. Combined lines are only read from older bills.","payload.swiss-qr-bill.option.creditor-address-type.s":"Separate lines","payload.swiss-qr-bill.option.creditor-address-type.k":"Combined lines (old)","payload.swiss-qr-bill.field.amount":"Amount","payload.swiss-qr-bill.field.currency":"Currency","payload.swiss-qr-bill.option.currency.chf":"Swiss francs (CHF)","payload.swiss-qr-bill.option.currency.eur":"Euros (EUR)","payload.swiss-qr-bill.field.debtor-name":"Payable by","payload.swiss-qr-bill.field.debtor-street":"Street","payload.swiss-qr-bill.field.debtor-building":"Building number","payload.swiss-qr-bill.field.debtor-postcode":"Postcode","payload.swiss-qr-bill.field.debtor-town":"Town","payload.swiss-qr-bill.field.debtor-country":"Country","payload.swiss-qr-bill.field.debtor-address-type":"Address format","payload.swiss-qr-bill.hint.debtor-address-type":"Bills are made with separate address lines. Combined lines are only read from older bills.","payload.swiss-qr-bill.option.debtor-address-type.s":"Separate lines","payload.swiss-qr-bill.option.debtor-address-type.k":"Combined lines (old)","payload.swiss-qr-bill.field.reference-type":"Reference","payload.swiss-qr-bill.hint.reference-type":"A QR-IBAN takes a QR reference. Any other IBAN takes a creditor reference or none.","payload.swiss-qr-bill.option.reference-type.qrr":"QR reference","payload.swiss-qr-bill.option.reference-type.scor":"Creditor reference (RF)","payload.swiss-qr-bill.option.reference-type.non":"No reference","payload.swiss-qr-bill.field.reference":"Reference number","payload.swiss-qr-bill.field.message":"Additional information","payload.swiss-qr-bill.field.billing-information":"Billing information","payload.swiss-qr-bill.field.alternative1":"Alternative procedure 1","payload.swiss-qr-bill.field.alternative2":"Alternative procedure 2","payload.swiss-qr-bill.issue.iban-country":"A QR-bill account is a Swiss (CH) or Liechtenstein (LI) IBAN.","payload.swiss-qr-bill.issue.combined-address":"This bill uses combined address lines, which QR-bills stopped accepting in November 2025. Split the address into its lines before making the bill again.","payload.swiss-qr-bill.issue.qrr-needs-qr-iban":"A QR reference needs a QR-IBAN.","payload.swiss-qr-bill.issue.qr-iban-needs-qrr":"A QR-IBAN needs a QR reference.","payload.swiss-qr-bill.issue.qrr-chf-only":"From QR-bill version 2.4 a QR reference is only for bills in Swiss francs. A bill in euros made this way is accepted until November 2027.","payload.swiss-qr-bill.issue.notification":"An amount of 0.00 makes a notification, not a bill to pay. Put DO NOT USE FOR PAYMENT in the additional information.","payload.swiss-qr-bill.issue.bytes":"This bill is {length} bytes once its accented letters are encoded, and the code holds {max}. It may not fit.","payload.swiss-qr-bill.issue.qr-reference":"A QR reference is 27 digits and this one fails its check digit.","payload.swiss-qr-bill.issue.reference-not-allowed":"Choose a reference type before entering a reference.","payload.swiss-qr-bill.issue.message-too-long":"The additional and billing information together are {length} characters, and a bill allows {max}.","payload.swiss-qr-bill.issue.character":"This contains a character QR-bills do not allow, at position {position}.","payload.swiss-qr-bill.issue.too-long":"This bill is {length} characters and a QR-bill allows {max}.","payload.pix.label":"Pix payment","payload.pix.description":"A Pix payment to a Pix key, for banking apps in Brazil.","payload.pix.action":"Opens a Pix payment in a banking app.","payload.pix.field.key":"Pix key","payload.pix.hint.key":"A CPF, CNPJ, email address, phone number with +55, or random key.","payload.pix.field.name":"Receiver name","payload.pix.field.city":"City","payload.pix.field.amount":"Amount (BRL)","payload.pix.field.description":"Message","payload.pix.field.txid":"Transaction ID","payload.pix.hint.txid":"Letters and digits only. Leave it empty if you do not use one.","payload.pix.issue.key":"This is not a Pix key.","payload.pix.issue.account-too-long":"The key and the message together take {length} characters and Pix allows {max}.","payload.pix.issue.txid":"A transaction ID is up to 25 letters and digits.","payload.pix.issue.non-ascii":"Some banking apps show accented letters incorrectly. Consider writing this without them.","payload.pix.compat.banking-apps":"Opens in the banking apps of Brazilian banks that offer Pix.","payload.upi.label":"UPI payment","payload.upi.description":"A UPI payment to a payment address, for payment apps in India.","payload.upi.action":"Opens a UPI payment in a payment app.","payload.upi.field.address":"UPI ID","payload.upi.hint.address":"The payment address, such as name@bank.","payload.upi.field.name":"Payee name","payload.upi.field.amount":"Amount (INR)","payload.upi.field.note":"Note","payload.upi.issue.address":"This is not a UPI ID. It looks like name@bank.","payload.gs1-digital-link.label":"Product link (GS1)","payload.gs1-digital-link.description":"A product code that tills read as the barcode and phones open as a web page.","payload.gs1-digital-link.action":"Opens a product page.","payload.gs1-digital-link.field.domain":"Web domain","payload.gs1-digital-link.hint.domain":"Your own domain, or id.gs1.org if you do not have one.","payload.gs1-digital-link.field.gtin":"GTIN","payload.gs1-digital-link.hint.gtin":"The number under the product barcode: 8, 12, 13 or 14 digits.","payload.gs1-digital-link.field.batch":"Batch or lot","payload.gs1-digital-link.field.serial":"Serial number","payload.gs1-digital-link.field.expiry":"Expiry date","payload.gs1-digital-link.hint.expiry":"As YYMMDD. A day of 00 means the end of the month.","payload.gs1-digital-link.field.best-before":"Best before","payload.gs1-digital-link.hint.best-before":"As YYMMDD. A day of 00 means the end of the month.","payload.gs1-digital-link.issue.domain":"This is not a web domain.","payload.gs1-digital-link.issue.gtin":"A GTIN is 8, 12, 13 or 14 digits.","payload.gs1-digital-link.issue.gtin-check-digit":"This GTIN fails its check digit. A digit is probably mistyped.","payload.gs1-digital-link.issue.character":"This contains a character GS1 codes do not allow.","payload.gs1-digital-link.issue.date":"Enter the date as YYMMDD.","payload.zatca.label":"Saudi e-invoice","payload.zatca.description":"The code on a Saudi tax invoice. It can be read here but not made.","payload.zatca.action":"Shows the details of a tax invoice.","payload.zatca.field.seller-name":"Seller","payload.zatca.field.vat-number":"VAT number","payload.zatca.field.timestamp":"Issued","payload.zatca.field.total":"Total with VAT","payload.zatca.field.vat-total":"VAT","payload.zatca.field.has-invoice-hash":"Invoice hash","payload.zatca.field.has-signature":"Signature","payload.zatca.field.has-public-key":"Public key","payload.zatca.field.has-stamp-signature":"Stamp signature","payload.zatca.issue.vat-number":"A Saudi VAT number is 15 digits that start and end with 3.","payload.zatca.issue.timestamp":"The issue time is not written as a date and time.","payload.zatca.issue.amount":"This amount is not written as a number.","payload.zatca.issue.phase-one":"This code has no signature parts. Invoices have needed them since 1 January 2023, so it may be old or incomplete."});var v2=Object.freeze({"symbology.rmqr.label":"Rectangular Micro QR","symbology.rmqr.not-phone-readable":"Most phone cameras cannot read rectangular Micro QR codes. Use one only where you know the scanner that will read it supports rMQR, and test it with that scanner before printing."});var S2=Object.freeze({"studio.issue.content-invalid":"The code shown is the last one that worked. Fix what is highlighted to update it.","studio.issue.content-empty":"Fill in the details and the code appears here.","studio.issue.design-locked":"This kind of code has a fixed design that its specification sets, so the design cannot be changed.","studio.issue.constrained":"This kind of code does not allow that change. Its specification sets this part of the design.","studio.issue.unknown-type":"This version of the studio does not include that kind of content.","studio.issue.read-only-type":"This kind of code can be read and explained here, but not made: it has to come from the system that issues it.","studio.issue.unknown-field":"This kind of content has no such field.","studio.issue.field-value":"That value is the wrong kind of thing for this field.","studio.issue.unknown-preset":"This version of the studio does not include that preset.","studio.issue.patch-path":"That change does not refer to a part of a design.","studio.issue.design-file":"This file is not a design, or it is damaged. Design files are saved from this studio as JSON.","studio.issue.design-link":"The design in this link could not be opened, so the studio started with the standard design.","studio.issue.raw-too-long":"This is {length} characters, and no code holds more than {max}. Shorten it to make a code from it.","studio.issue.unknown-fix":"That suggestion no longer applies. Run the scan check again.","studio.issue.conditions":"Enter a number greater than zero, or leave this empty.","studio.issue.document-repaired":"Part of what was opened could not be used as it was, so the standard setting was used instead.","studio.issue.quiet-zone-below-minimum":"This leaves less than {min} modules of space round the code, which some phones need to find it.","studio.issue.export-size-constrained":"This kind of code is printed at {size} mm, which its specification sets, so that size was used.","studio.issue.export-option":"This setting is out of range, so it was left out.","studio.category.link":"Links","studio.category.contact":"Contact details","studio.category.message":"Messages","studio.category.network":"Networks","studio.category.event":"Events","studio.category.place":"Places","studio.category.payment":"Payments","studio.category.commerce":"Products","studio.category.text":"Text","studio.preset-category.classic":"Classic","studio.preset-category.rounded":"Rounded","studio.preset-category.dots":"Dots","studio.preset-category.hex":"Hexagons","studio.preset-category.fluid":"Fluid","studio.preset-category.bold":"Bold","studio.preset-category.minimal":"Minimal","studio.preset-category.colour":"Colour","studio.preset-category.print":"For print","studio.group.address":"Address","studio.group.creditor":"Payable to","studio.group.debtor":"Payable by","studio.group.eap":"Enterprise sign in","studio.group.name":"Name","studio.group.phones":"Phone numbers","studio.group.time":"Date and time","studio.group.utm":"Campaign tracking","studio.axis.static":"Checking the design","studio.axis.distance":"Checking from further away","studio.axis.focus":"Checking out of focus","studio.axis.motion":"Checking with a moving phone","studio.axis.noise":"Checking in a grainy picture","studio.axis.angle":"Checking at an angle","studio.axis.light":"Checking in poor light","studio.axis.glare":"Checking with glare","studio.axis.ink":"Checking with ink spread","studio.axis.contrast":"Checking at low contrast","error.encode.too-much-data":"That is too much to fit in one code at these settings. Shorten it, lower the error correction, or allow a larger code.","error.encode.unsupported-content":"This content cannot be put into this kind of code as it is.","error.encode.unsupported-feature":"This kind of code cannot do that. Choose a QR code.","error.design.invalid":"This design is damaged or incomplete.","error.design.unsupported-schema":"This design was made by a different version of the studio and cannot be opened here.","error.design.unknown-entry":"This design uses something this version of the studio does not include.","error.payload.invalid":"The content has problems to fix before the code can be made.","error.payload.unparseable":"That text could not be read as this kind of content.","error.decode.not-found":"No code was found in this picture.","error.decode.unreadable":"A code was found here, but it could not be read.","error.decode.unsupported":"This code uses a feature this tool cannot read.","error.decode.incomplete-set":"This code is one of a set, and some of the set is missing. Scan every code in the set.","error.decode.conflicting-set":"These codes say they are one set, but they do not fit together. Scan the codes of one set only.","error.image.unreadable":"This picture could not be opened. Try a PNG or JPEG, or take a screenshot of it.","error.image.too-large":"This picture is larger than this tool will open. Try a smaller one.","error.font.malformed":"This font file is damaged, or is not a font this tool can read.","error.font.missing-glyphs":"This font cannot draw some of these characters.","error.render.surface-too-large":"That picture is too large to draw here. Choose a smaller size.","error.render.format-unavailable":"This browser cannot save in that format. Choose PNG or SVG.","error.archive.too-large":"This is larger than this tool will handle in one go.","error.archive.malformed":"This file is damaged and cannot be opened.","error.batch.malformed-csv":"This spreadsheet file could not be read. Save it as CSV from your spreadsheet and try again.","error.batch.too-many-rows":"This file has more rows than can be made into codes at once.","error.batch.unknown-column":"A column this needs is not in the file.","error.library.unavailable":"The library is not available in this browser, so designs and brand kits cannot be saved here.","error.library.not-enabled":"The library is switched off. Switch it on to save designs and brand kits in this browser.","error.library.quota":"This browser has no more room for saved designs and brand kits. Remove some and try again.","error.library.corrupt":"A saved design or brand kit is damaged and cannot be opened.","error.camera.permission-denied":"The camera is not allowed for this page. Allow it in the browser settings, or choose a picture instead.","error.camera.unavailable":"No camera could be opened. Choose a picture instead.","error.camera.in-use":"The camera is in use by another app or tab. Close it there, then try again.","error.camera.insecure-context":"The camera only works on a secure page. Open this page over https, or choose a picture instead.","error.verify.missing-entry":"The scan check could not run, because this design uses something it does not include.","error.platform.unavailable":"This browser cannot do that.","error.cancelled":"That was stopped before it finished."});var M2=Object.freeze({"symbology.qr.label":"QR code","symbology.read.version":"This code is not a size its kind of code comes in, or it says it is a different version from its size.","symbology.read.format":"The part of this code that says how it was made is too damaged to read.","symbology.read.reed-solomon":"Part of this code is too damaged to read, even with its error correction.","symbology.read.segments":"This code was not made correctly, so what it holds cannot be read.","symbology.read.unsupported.eci":"This code uses a character set this tool cannot read.","symbology.read.unsupported.kanji":"This code holds Japanese text, and this browser cannot read the character set it uses."});var E2=Object.freeze({"text.font.plex-sans-regular":"Sans","text.font.plex-sans-bold":"Sans bold","text.font.registered":"Your font","text.font.malformed":"This font file is damaged, or is not a TrueType font this tool can read.","text.font.missing-glyphs":"This font cannot draw some of these characters. Choose another font, or change the text.","render.print.too-large":"That page is larger than a PDF can be. Choose a smaller size.","render.eps.transparency":"EPS cannot carry transparency. Save this design as a PDF, or make every colour in it opaque.","sheet.cell-too-small":"This code is larger than the labels on this sheet. Make it smaller, or choose a sheet with larger labels.","sheet.template.a4-21-63x38":"A4, 21 labels 63.5 x 38.1 mm","sheet.template.a4-24-63x34":"A4, 24 labels 63.5 x 33.9 mm","sheet.template.a4-14-99x38":"A4, 14 labels 99.1 x 38.1 mm","sheet.template.a4-8-99x68":"A4, 8 labels 99.1 x 67.7 mm","sheet.template.a4-65-38x21":"A4, 65 labels 38.1 x 21.2 mm","sheet.template.a4-12-round-64":"A4, 12 round labels 63.5 mm","sheet.template.a4-10-cards-85x54":"A4, 10 business cards 85 x 54 mm","sheet.template.letter-30-67x25":"US Letter, 30 labels 2 5/8 x 1 in","sheet.template.letter-10-102x51":"US Letter, 10 labels 4 x 2 in","sheet.template.letter-80-44x13":"US Letter, 80 labels 1 3/4 x 1/2 in","sheet.template.letter-12-round-51":"US Letter, 12 round labels 2 in","sheet.template.letter-12-square-51":"US Letter, 12 square labels 2 x 2 in","sheet.template.letter-10-cards-89x51":"US Letter, 10 business cards 3 1/2 x 2 in","sheet.template.print-a4":"A4, copies with crop marks","sheet.template.print-letter":"US Letter, copies with crop marks"});var T2=Object.freeze({"verify.check-name.quiet-zone":"Clear margin","verify.check-name.contrast":"Overall contrast","verify.check-name.modulation":"Clear squares","verify.check-name.polarity":"Dark on light","verify.check-name.function-patterns":"Patterns readers look for","verify.check-name.logo-budget":"Logo size","verify.check-name.module-size":"Print size","verify.check-name.finder-shape":"Corner square shape","verify.check-name.colour-red-channel":"Colours under red light","verify.check-name.reader-support":"Phone support","verify.status.pass":"Passes","verify.status.warn":"Worth checking","verify.status.fail":"Will not scan reliably","verify.verdict.pass":"This should scan on the phones people carry, in everyday conditions.","verify.verdict.warn":"This scans, but some people will have trouble with it. The checks below say when.","verify.verdict.fail":"This is likely to fail for many people. Fix the problems below before printing it.","verify.baseline.fail":"Even a clean photograph of this design did not scan.","verify.error.missing-entry":"This check needs a style or picture this copy of the studio does not have, so it was not run.","verify.check.quiet-zone.pass":"There is a clear margin {modules} squares wide all round the code.","verify.check.quiet-zone.fail":"{modules, plural, =0 {There is no clear margin round the code.} one {The clear margin round the code is only # square wide.} other {The clear margin round the code is only # squares wide.}} Readers need one at least {minimum} squares wide, with nothing printed in it.","verify.check.contrast.sc.pass":"The dark and light parts differ by {percent} percent, grade {grade}.","verify.check.contrast.sc.warn":"The dark and light parts differ by only {percent} percent, grade {grade}. Some phones will struggle, more so in poor light.","verify.check.contrast.sc.fail":"The dark and light parts differ by only {percent} percent, grade {grade}. That is too little for phones to tell them apart.","verify.check.contrast.mod.pass":"Every square reads clearly as dark or light, grade {grade}.","verify.check.contrast.mod.warn":"Some squares are close to the middle shade, so they read less clearly, grade {grade}.","verify.check.contrast.mod.fail":"Some squares are too close to the middle shade to read reliably, grade {grade}.","verify.check.contrast.mod.wrong":"Some squares read as the wrong shade even in a clean photograph. Check the colours of the squares and any gradient.","verify.check.polarity.pass":"Dark squares on a light background, which every reader expects.","verify.check.polarity.warn":"Light squares on a dark background. Some phone readers cannot read a code this way round.","verify.check.function-patterns.pass":"Nothing covers the corner squares or the other patterns readers find the code by.","verify.check.function-patterns.covered":"The logo or its background covers part of the patterns readers find the code by. Make the logo smaller.","verify.check.function-patterns.finder":"The corner squares are drawn in a shape readers may not recognise.","verify.check.function-patterns.alignment":"The logo covers one of the small alignment squares inside the code. Most readers manage without it, but not all.","verify.check.logo-budget.none":"Nothing covers the code, so all of its error correction is kept for wear and poor light.","verify.check.logo-budget.pass":"The logo covers {codewords, plural, one {# piece} other {# pieces}} of the code, and enough error correction is left for wear and poor light.","verify.check.logo-budget.warn":"The logo covers {codewords, plural, one {# piece} other {# pieces}} of the code. It reads, but little error correction is left for wear and poor light.","verify.check.logo-budget.fail":"The logo covers too much of the code: repairing it would use up the error correction kept for wear and poor light.","verify.check.module-size.unknown":"Give the printed size to check how far away this scans from.","verify.check.module-size.unread":"Printed {sizeMm} mm wide, this did not scan from any distance in the check.","verify.check.module-size.fail":"Printed {sizeMm} mm wide, the squares are too small for a phone to focus on. Print it at least {minimumMm} mm wide.","verify.check.module-size.short":"Scans from about {distanceCm} cm away when printed {sizeMm} mm wide, but people are expected to scan it from {expectedCm} cm. Print it at least {minimumMm} mm wide.","verify.check.module-size.close":"Scans from about {distanceCm} cm away when printed {sizeMm} mm wide, so people will have to hold their phone close to it.","verify.check.module-size.pass":"Scans from about {distanceCm} cm away when printed {sizeMm} mm wide.","verify.check.finder-shape.pass":"The corner squares are a shape readers recognise.","verify.check.finder-shape.fail":"The corner squares are drawn in a shape readers may not recognise. Choose another corner style.","verify.check.colour-red-channel.pass":"Also reads under the red light of shop and warehouse scanners.","verify.check.colour-red-channel.warn":"Under the red light many shop and warehouse scanners use, these colours keep only {percent} percent of their contrast. Phones see colour and are not affected; those scanners may be.","verify.check.reader-support.pass":"Phone cameras read this kind of code.","verify.check.reader-support.micro":"Most phone cameras cannot read Micro QR codes. Use one only with a scanner you know reads them.","verify.check.reader-support.rmqr":"Most phone cameras cannot read rectangular Micro QR codes. Use one only with a scanner you know reads them.","verify.check.reader-support.kanji":"This code stores Japanese text in a compact form that some readers show wrongly.","verify.check.reader-support.eci":"This code says which character set it uses. A few older readers ignore that and may show some characters wrongly.","verify.axis.distance":"Distance","verify.axis.distance.ok":"Scans from as far away as people will hold their phone.","verify.axis.distance.short":"Does not scan from as far away as people will hold their phone.","verify.axis.focus":"Focus","verify.axis.focus.ok":"Scans while the camera is still finding its focus.","verify.axis.focus.short":"Needs the camera perfectly in focus.","verify.axis.motion":"Movement","verify.axis.motion.ok":"Scans with a slightly unsteady hand.","verify.axis.motion.short":"Needs a very steady hand.","verify.axis.noise":"Grain","verify.axis.noise.ok":"Scans through the grain a phone camera adds indoors.","verify.axis.noise.short":"Struggles with the grain a phone camera adds indoors.","verify.axis.angle":"Angle","verify.axis.angle.ok":"Scans with the phone held at an angle.","verify.axis.angle.short":"Needs the phone held almost straight on.","verify.axis.light":"Dim light","verify.axis.light.ok":"Scans in dim, uneven light.","verify.axis.light.short":"Needs good, even light.","verify.axis.glare":"Glare","verify.axis.glare.ok":"Scans with a reflection across it.","verify.axis.glare.short":"A reflection on glossy paper or a screen stops it scanning.","verify.axis.ink":"Ink spread","verify.axis.ink.ok":"Scans when the ink spreads a little or prints thin.","verify.axis.ink.short":"Needs crisp printing: ink that spreads or prints thin stops it scanning.","verify.axis.contrast":"Fading","verify.axis.contrast.ok":"Scans after the print has faded.","verify.axis.contrast.short":"Stops scanning as the print fades.","verify.fix.raise-ec":"Use error correction level {level}","verify.fix.shrink-logo":"Make the logo smaller, {percent} percent of the width","verify.fix.logo-clear-shape":"Clear only the space the logo itself takes","verify.fix.dark-on-light":"Swap to dark squares on a light background","verify.fix.darken-modules":"Use the darkest colour in the design for every square","verify.fix.black-modules":"Print the squares in black","verify.fix.low-red-ink":"Use the colour red light scanners see best","verify.fix.widen-quiet-zone":"Widen the clear margin to {modules} squares","verify.fix.square-finders":"Use plain square corners","verify.fix.solid-modules":"Draw the code with plain squares","verify.fix.print-larger":"Print it at least {sizeMm} mm wide"});var A2=Object.freeze({app:d2,batch:m2,decode:f2,design:p2,dom:h2,encode:y2,inspect:g2,library:b2,micro:x2,"own-link":w2,payload:k2,rmqr:v2,studio:S2,symbology:M2,text:E2,verify:T2}),_Q=Object.freeze(Object.keys(A2).filter(e=>e!=="app")),R2=Object.freeze(Object.assign({},...Object.values(A2)));function ru(e,t={}){let n=Object.prototype.hasOwnProperty.call(R2,e)?R2[e]:void 0;return n===void 0?e:u2(n,t)}function v(e,t={}){return ru(e,t)}function Ft(e){return ru(e.code,e.params??{})}function yt(e){return ru(e.messageKey,e.params)}var I8=new Intl.NumberFormat("en-AU",{maximumFractionDigits:1}),P8=new Intl.NumberFormat("en-AU",{maximumFractionDigits:0}),C8=new Intl.NumberFormat("en-AU",{maximumFractionDigits:2});function zn(e){return I8.format(e)}function nr(e){return P8.format(e)}function Vn(e){return C8.format(e)}var N8=new Intl.NumberFormat("en-AU",{style:"percent",maximumFractionDigits:0}),L8=new Intl.NumberFormat("en-AU",{style:"unit",unit:"degree",unitDisplay:"long",maximumFractionDigits:0});function oa(e){return N8.format(e)}function ou(e){return L8.format(e)}var O8=new Intl.DateTimeFormat("en-AU",{dateStyle:"medium",timeStyle:"short"});function xp(e){return O8.format(new Date(e))}function de(e,t){let n=["btn"];return t.primary===!0&&n.push("btn--primary"),t.small===!0&&n.push("btn--small"),t.compact===!0&&n.push("btn--compact"),M("button",{className:n.join(" "),attrs:{type:"button",...t.attrs},on:{click:t.onClick}},[t.icon===void 0?null:lt(t.icon),M("span",{className:"btn__label",text:e})])}function rr(e,t){let n=e.querySelector(".btn__label");n!==null&&Z(n,t)}function on(e,t,n,r){let o=M("span",{className:"card__meta"}),s=M("div",{className:"card__body"}),i=M("details",{className:"card",...r===void 0?{}:{id:r}},[M("summary",{className:"card__head"},[M("span",{className:"card__num",text:String(e).padStart(2,"0")}),M("h2",{className:"card__title",text:t}),o,lt("chevron","card__chevron")]),s]);return i.open=n,{root:i,body:s,meta:o}}function vt(e,t){if(t.length===0){le(e,[]),e.hidden=!0;return}e.hidden=!1,le(e,t.map(n=>M("li",{className:`note note--${n.severity}`},[lt(n.severity==="error"?"fail":n.severity==="warning"?"warn":"pending"),M("span",{text:Ft(n)})])))}function Ve(e,t,n,r="segments",o={}){let s=o.name??kt("choice"),i=M("div",{className:`${r}__grid`}),a=M("fieldset",{className:r},[M("legend",{className:o.legendHidden===!0?"sr-only":"legend",text:e}),i]),l=null,c=d=>{le(i,d.map(m=>{let f=M("input",{className:"choice__input",attrs:{type:"radio",name:s,value:m.value,disabled:m.disabled===!0},on:{change:()=>{f.checked&&n(m.value)}}});f.checked=m.value===l;let p=[f],h=M("span",{className:"choice__box"},[m.picture===void 0?null:M("img",{className:"choice__img",attrs:{src:m.picture,alt:"",width:48,height:48,decoding:"async"}}),M("span",{className:"choice__label",text:m.label}),m.hint===void 0?null:M("span",{className:"choice__hint",text:m.hint})]);return p.push(h),M("label",{className:"choice"},p)}))};c(t);let u=()=>[...i.querySelectorAll("input")];return{root:a,inputs:u,set(d){l=d;for(let m of u()){let f=m.value===d;m.checked!==f&&(m.checked=f)}},setChoices(d){let m=document.activeElement,f=m instanceof HTMLInputElement&&i.contains(m);c(d),f&&(u().find(h=>h.checked)??u()[0])?.focus()}}}function ct(e,t,n){let r=t.id===""?kt("field"):t.id;t.id=r;let o=`${r}-hint`,s=`${r}-issues`,i=M("label",{className:"field__label",text:e,attrs:{for:r}}),a=M("p",{className:"field__hint",id:o,text:n??""});a.hidden=n===void 0;let l=M("ul",{className:"field__issues",id:s});l.hidden=!0;let c=`${o} ${s}`;t.setAttribute("aria-describedby",c);let u=t instanceof HTMLSelectElement?M("div",{className:"field__select"},[t]):t;return{root:M("div",{className:"field"},[i,u,a,l]),label:i,hint:a,issues:l,describedBy:c}}function or(e,t,n,r){let o=kt("slider"),s=M("output",{className:"slider__value",attrs:{for:o}}),i=M("input",{className:"slider__input",id:o,attrs:{type:"range",min:t.min,max:t.max,step:t.step},on:{input:()=>{let l=Number(i.value);Z(s,n(l)),r(l,"move")},change:()=>r(Number(i.value),"end")}});return{root:M("div",{className:"slider"},[M("label",{className:"slider__label",text:e,attrs:{for:o}}),s,i]),input:i,set(l){Number(i.value)!==l&&(i.value=String(l)),Z(s,n(l))}}}function I2(e,t,n,r){let o=!1;return(s,i)=>{o||(t(e),o=!0),n(s),i==="end"&&(r(e),o=!1)}}function P2(e,t){let n=v(e.labelKey);switch(e.kind){case"boolean":{let r=M("input",{attrs:{type:"checkbox"},on:{change:()=>t(r.checked,"end")}});return{root:M("label",{className:"tick"},[r,M("span",{text:n})]),set(s){r.checked=s===!0}}}case"select":{let r=M("select",{on:{change:()=>t(r.value,"end")}},(e.options??[]).map(s=>M("option",{text:v(s.labelKey),attrs:{value:s.value}})));return{root:ct(n,r).root,set(s){r.value=String(s)}}}case"colour":{let r=M("input",{className:"colour-well",attrs:{type:"color"},on:{input:()=>t(r.value,"move"),change:()=>t(r.value,"end")}});return{root:ct(n,r).root,set(s){typeof s=="string"&&/^#[0-9a-f]{6}$/i.test(s)&&(r.value=s)}}}default:{let r=e.kind==="angle",o=e.min??0,s=e.max??(r?360:1),i=e.step??(e.kind==="integer"||r?1:(s-o)/100),a=r?ou:e.kind==="integer"?c=>String(c):Vn,l=or(n,{min:o,max:s,step:i},a,(c,u)=>t(c,u));return{root:l.root,set(c){typeof c=="number"&&l.set(c)}}}}}var C2=new WeakSet;function Os(e){C2.add(e)}function N2(e){return e instanceof Element&&C2.has(e)}var wp=12,D8={"windows-1252":"app.bulk.encoding-windows-1252",shift_jis:"app.bulk.encoding-shift-jis",gb18030:"app.bulk.encoding-gb18030",big5:"app.bulk.encoding-big5","euc-kr":"app.bulk.encoding-euc-kr","windows-1251":"app.bulk.encoding-windows-1251","windows-1256":"app.bulk.encoding-windows-1256"};function L2(e){let t=null,n=null,r="auto",o="url",s={},i="",a="zip",l="png",c=Xi()[0]?.id??"",u="srgb",d=null,m=M("ul",{className:"field__issues"});m.hidden=!0;let f=M("p",{className:"bulk__summary"}),p=M("input",{attrs:{type:"file",accept:".csv,.tsv,.txt,text/csv,text/plain"}});p.hidden=!0,p.addEventListener("change",()=>{let ce=p.files?.[0];p.value="",ce!==void 0&&w(ce)});let h=kt("paste"),g=M("textarea",{className:"input input--area input--mono",id:h,attrs:{rows:5,spellcheck:"false",autocomplete:"off",placeholder:v("app.bulk.paste-placeholder")}});Os(g);let y=null;g.addEventListener("input",()=>{y!==null&&clearTimeout(y),y=setTimeout(()=>{y=null,n=null,g.value.trim()===""?(t=null,Ce()):x(g.value)},250)});let b=M("div",{className:"dropzone dropzone--compact",attrs:{role:"group","aria-label":v("app.bulk.drop")}},[lt("file","dropzone__icon"),M("p",{className:"dropzone__text",text:v("app.bulk.drop")}),de(v("app.bulk.choose"),{icon:"open",onClick:()=>p.click()}),p]);b.addEventListener("dragover",ce=>{ce.preventDefault(),b.dataset.over="true"}),b.addEventListener("dragleave",()=>{b.dataset.over="false"}),b.addEventListener("drop",ce=>{ce.preventDefault(),ce.stopPropagation(),b.dataset.over="false";let re=ce.dataTransfer?.files[0];re!==void 0&&w(re)});function x(ce,re=!1){try{let oe=typeof ce=="string"?null:gc(ce,{fallback:r==="auto"?bf:r}),se=wc(oe===null?ce:oe.text),Se=t?.table.headers;t={csv:ce,table:se},re&&Se!==void 0&&Se.length===se.headers.length&&Se.every((_e,gn)=>_e===se.headers[gn])||E(),vt(m,[...oe?.issues??[],...se.issues].slice(0,6))}catch(oe){t=null;let se=oe instanceof K?oe:new K("batch/malformed-csv","This spreadsheet file could not be read.");vt(m,[]),m.hidden=!1,le(m,[M("li",{className:"note note--error",text:yt(Fe(se))})])}Ce()}async function w(ce){g.value="",n=await l2(ce),x(n)}let k=M("select",{className:"input input--select",on:{change:()=>{r=k.value,n!==null&&x(n,!0)}}},[M("option",{text:v("app.bulk.encoding-auto"),attrs:{value:"auto"}}),...hc.map(ce=>M("option",{text:v(D8[ce]),attrs:{value:ce}}))]);k.value=r;let S=ct(v("app.bulk.encoding"),k,v("app.bulk.encoding-hint"));function E(){if(t===null)return;let ce=e.registries.payloads.get(o),re=t.table.headers,oe={};for(let st of ce?.fields??[]){let _e=Ss(re,st.key);_e===-1&&(_e=Ss(re,v(st.labelKey))),oe[st.key]=_e===-1?null:{column:re[_e]}}let se=(ce?.fields??[]).filter(st=>st.required===!0);re.length===1&&se.length===1&&Object.values(oe).every(st=>st===null)&&(oe[se[0].key]={column:re[0]}),s=oe;let Se=re[0];i=Se===void 0?"":`qr-{${Se}}`,O.value=i}let R=kt("bulk-type"),C=M("select",{className:"input input--select",id:R,on:{change:()=>{o=C.value,E(),Ce()}}}),A=M("div",{className:"mapping"}),O=M("input",{className:"input input--mono",attrs:{type:"text",autocomplete:"off",spellcheck:"false"},on:{input:()=>{i=O.value,H()}}});Os(O);let D=ct(v("app.bulk.filename"),O,v("app.bulk.filename-hint"));function N(){let ce=e.registries.payloads.get(o);if(ce===void 0||t===null){le(A,[]);return}let re=t.table.headers;le(A,ce.fields.map(oe=>{let se=kt("map"),Se=s[oe.key]??null,st=M("select",{className:"input input--select",id:se});le(st,[M("option",{text:v("app.bulk.no-column"),attrs:{value:""}}),M("optgroup",{attrs:{label:v("app.bulk.from-column")}},re.map((gn,mu)=>M("option",{text:gn===""?v("app.bulk.column-n",{n:mu+1}):gn,attrs:{value:`c:${gn}`}}))),M("option",{text:v("app.bulk.from-template"),attrs:{value:"template"}})]),st.value=Se===null?"":"column"in Se?`c:${Se.column}`:"template";let _e=M("input",{className:"input input--mono",attrs:{type:"text",autocomplete:"off",spellcheck:"false","aria-label":v("app.bulk.template-for",{field:v(oe.labelKey)})}});return Os(_e),_e.value=Se!==null&&"template"in Se?Se.template:"",_e.hidden=!(Se!==null&&"template"in Se),st.addEventListener("change",()=>{st.value===""?s[oe.key]=null:st.value==="template"?(s[oe.key]={template:_e.value},_e.hidden=!1,_e.focus()):s[oe.key]={column:st.value.slice(2)},st.value!=="template"&&(_e.hidden=!0),H()}),_e.addEventListener("input",()=>{s[oe.key]={template:_e.value},H()}),M("div",{className:"mapping__row"},[M("label",{className:"field__label",text:v(oe.labelKey),attrs:{for:se}},oe.required===!0?[M("span",{className:"tag",text:v("app.content.required")})]:[]),st,_e])}))}let T=M("p",{className:"bulk__summary"}),I=M("ol",{className:"preview"}),U=[];function q(){let ce={};for(let[re,oe]of Object.entries(s))oe!==null&&(ce[re]=oe);return{typeId:o,fields:ce,filename:i}}function H(){if(t===null){U=[],le(I,[]),Z(T,v("app.bulk.empty")),me.disabled=!0;return}try{U=Mc(t.table,q(),e.registries)}catch(oe){U=[],le(I,[]);let se=oe instanceof K?oe:new K("batch/unknown-column","A column this needs is not in the file.");Z(T,yt(Fe(se))),me.disabled=!0;return}let ce=U.filter(oe=>oe.content!==null).length;Z(T,v("app.bulk.plan",{ready:ce,skipped:U.length-ce})),rr(me,v("app.bulk.make",{count:ce})),me.disabled=ce===0||e.snapshot().batch.status==="running";let re=U.slice(0,wp);le(I,[...re.map(oe=>{let se=M("li",{className:"preview__row"},[M("span",{className:"preview__number",text:v("app.bulk.row",{row:oe.rowNumber})}),M("span",{className:"preview__name",text:oe.filename}),M("span",{className:"preview__state"},[lt(oe.content===null?"fail":"pass"),M("span",{text:oe.content===null?v("app.bulk.row-skipped"):v("app.bulk.row-ok")})]),oe.issues.length===0?null:M("ul",{className:"preview__issues"},oe.issues.slice(0,3).map(Se=>M("li",{text:Ft(Se)})))]);return se.dataset.result=oe.content===null?"fail":"pass",se}),U.length>wp?M("li",{className:"preview__more",text:v("app.bulk.preview-more",{count:U.length-wp})}):null])}let W=Ve(v("app.bulk.output"),[{value:"zip",label:v("app.bulk.output-zip")},{value:"sheet",label:v("app.bulk.output-sheet")}],ce=>{a=ce,be()});W.set(a);let $=M("div",{className:"bulk__output"});function be(){if(a==="zip"){let se=Ve(v("app.bulk.format"),["png","svg","pdf","eps"].map(Se=>({value:Se,label:v(Se==="png"?"app.export.format-png":Se==="svg"?"app.export.format-svg":Se==="pdf"?"app.export.format-pdf":"app.export.format-eps")})),Se=>{l=Se});se.set(l),le($,[se.root]);return}let ce=kt("sheet"),re=M("select",{className:"input input--select",id:ce,on:{change:()=>{c=re.value}}},Xi().map(se=>M("option",{text:v(se.labelKey),attrs:{value:se.id}})));re.value=c;let oe=Ve(v("app.export.colour-space"),[{value:"srgb",label:v("app.export.colour-srgb")},{value:"cmyk",label:v("app.export.colour-cmyk")}],se=>{u=se});oe.set(u),le($,[ct(v("app.bulk.sheet"),re,v("app.bulk.sheet-hint")).root,oe.root])}be();let X=M("span",{className:"check__progress",attrs:{"aria-hidden":"true"}},[M("span",{className:"check__progress-fill"})]),ne=M("p",{className:"bulk__summary"}),me=de(v("app.bulk.make",{count:0}),{icon:"download",primary:!0,onClick:()=>void Oe()});me.disabled=!0;let fe=de(v("app.bulk.download-again"),{icon:"download",small:!0,onClick:()=>{d!==null&&_n(d.bytes,d.filename,d.mime)}});fe.hidden=!0;let ke=M("ul",{className:"field__issues"});ke.hidden=!0;async function Oe(){if(t===null)return;let ce=a==="zip"?{kind:"zip",format:l}:{kind:"sheet",template:c,colourSpace:u},re=await e.studio.run({type:"batch",csv:t.csv,encoding:r,mapping:q(),output:ce});if(!re.ok){re.error.code!=="cancelled"&&e.announce(yt(Fe(re.error)));return}let oe=a==="zip"?"qr-codes.zip":"qr-labels.pdf",se=a==="zip"?"application/zip":"application/pdf";d={bytes:re.value,filename:oe,mime:se},_n(re.value,oe,se).ok&&e.announce(v("app.export.saved",{filename:oe})),fe.hidden=!1}let gt=M("div",{className:"bulk"},[M("div",{className:"scan__intro"},[M("h2",{className:"mode__title",text:v("app.bulk.title")}),M("p",{className:"mode__lede",text:v("app.bulk.intro")})]),M("ol",{className:"steps"},[ie(1,v("app.bulk.source"),[b,M("div",{className:"field"},[M("label",{className:"field__label",text:v("app.bulk.paste"),attrs:{for:h}}),g]),S.root,f,m]),ie(2,v("app.bulk.mapping"),[ct(v("app.bulk.type"),C).root,M("p",{className:"field__hint",text:v("app.bulk.template-hint")}),A,D.root]),ie(3,v("app.bulk.preview"),[T,I]),ie(4,v("app.bulk.output"),[W.root,$,M("p",{className:"field__hint",text:v("app.bulk.design-note")}),M("div",{className:"bulk__run"},[me,fe]),X,ne,ke])])]);function ie(ce,re,oe){return M("li",{className:"card card--static step"},[M("div",{className:"card__head card__head--static"},[M("span",{className:"card__num",text:String(ce).padStart(2,"0")}),M("h3",{className:"card__title",text:re})]),M("div",{className:"card__body"},oe)])}function Ce(){t===null?Z(f,""):Z(f,v("app.bulk.rows",{count:nr(t.table.rows.length),columns:t.table.headers.length})),N(),H()}let qe=null,Wt=null;return Ce(),{root:gt,readFile:w,update(ce){qe!==ce.catalogue&&(qe=ce.catalogue,le(C,ce.catalogue.payloadTypes.map(oe=>M("optgroup",{attrs:{label:v(oe.labelKey)}},oe.types.filter(se=>se.generate).map(se=>M("option",{text:v(se.labelKey),attrs:{value:se.id}}))))),C.value=o);let re=ce.batch;if(re!==Wt)switch(Wt=re,gt.dataset.status=re.status,re.status){case"idle":Z(ne,"");break;case"running":X.style.setProperty("--fill",String(re.total===0?0:re.done/re.total)),Z(ne,v("app.bulk.making",{done:re.done,total:re.total})),me.disabled=!0;break;case"done":{X.style.setProperty("--fill","1"),Z(ne,v("app.bulk.done",{written:re.written,skipped:re.skipped}));let oe=re.outcomes.filter(se=>se.status==="skipped"||se.check==="fail"||se.check==="warn").slice(0,8);ke.hidden=oe.length===0,le(ke,oe.map(se=>M("li",{className:se.status==="skipped"||se.check==="fail"?"note note--warning":"note note--info",text:`${v("app.bulk.row",{row:se.rowNumber})}: ${se.issues.map(Ft).join(" ")}`}))),H();break}case"failed":Z(ne,yt(re.error)),H();break}}}}var su=new WeakMap,O2=new Map;function Fr(e,t){let n=su.get(e);if(n!==void 0&&n.svg===t)return;let r=URL.createObjectURL(new Blob([t],{type:"image/svg+xml"}));su.set(e,{url:r,svg:t}),e.src=r,n!==void 0&&URL.revokeObjectURL(n.url)}function D2(e){let t=su.get(e);t!==void 0&&URL.revokeObjectURL(t.url),su.delete(e),e.removeAttribute("src")}function j2(e,t){let n=O2.get(e);return n===void 0&&(n=URL.createObjectURL(new Blob([t()],{type:"image/svg+xml"})),O2.set(e,n)),n}var B2={pass:"pass",partial:"warn",fail:"fail",unknown:"pending",running:"pending",unavailable:"pending"},F2={pass:"app.strip.pass",partial:"app.strip.partial",fail:"app.strip.fail",unknown:"app.strip.unknown",running:"app.strip.running",unavailable:"app.strip.unknown"},j8=[{id:"sharp",labelKey:"app.strip.sharp",axis:"static"},{id:"far",labelKey:"app.strip.far",axis:"distance"},{id:"soft",labelKey:"app.strip.soft",axis:"focus"},{id:"angle",labelKey:"app.strip.angle",axis:"angle"},{id:"dim",labelKey:"app.strip.dim",axis:"light"},{id:"glare",labelKey:"app.strip.glare",axis:"glare"},{id:"ink",labelKey:"app.strip.ink",axis:"ink"}],B8={distance:"app.axis.distance",focus:"app.axis.focus",motion:"app.axis.motion",noise:"app.axis.noise",angle:"app.axis.angle",light:"app.axis.light",glare:"app.axis.glare",ink:"app.axis.ink",contrast:"app.axis.contrast"};function U2(e){return e===void 0?"unknown":e.firstFailed===null||e.firstFailed>e.typical?"pass":e.worstPassed===null?"fail":"partial"}function F8(e){return!e.baseline.passed||e.checks.some(t=>t.status==="fail")?"fail":e.checks.some(t=>t.status==="warn")?"partial":"pass"}function Ds(e){let t=e.verify;return t.status==="failed"&&t.error.params.feature==="verify"}function U8(e,t){let n=e.verify;if(Ds(e))return"unavailable";if(n.status==="running")return"running";if(n.status!=="done")return"unknown";let r=n.report;return t==="static"?F8(r):U2(r.captures.find(o=>o.axis===t))}function z2(e,t){let n=j8.map(s=>{let i=M("img",{className:"capture__img",attrs:{alt:"",decoding:"async"}}),a=M("span",{className:"capture__result"}),l=M("li",{className:`capture capture--${s.id}`},[M("span",{className:"capture__view",attrs:{"aria-hidden":"true"}},[i]),M("span",{className:"capture__name",text:v(s.labelKey)}),a]);return{tile:s,img:i,result:a,root:l}}),r=M("p",{className:"strip__caption"}),o=M("div",{className:"strip"},[M("h3",{className:"strip__title",text:v("app.strip.label")}),M("ol",{className:"strip__row"},n.map(s=>s.root)),r]);return t.onDrawn(s=>{for(let i of n)s!==null&&Fr(i.img,s.svg)}),{root:o,update(s){let i=s.verify.status==="done"&&s.verify.stale;o.dataset.stale=String(i);for(let{tile:a,result:l,root:c}of n){let u=U8(s,a.axis);c.dataset.result=u,le(l,[lt(B2[u]),M("span",{text:v(F2[u])})])}Z(r,Ds(s)?v("app.check.unavailable"):i?v("app.check.stale"):v("app.strip.caption"))}}}function V2(e){let t=M("p",{className:"check__status",attrs:{"aria-live":"off"}}),n=M("span",{className:"check__progress",attrs:{"aria-hidden":"true"}},[M("span",{className:"check__progress-fill"})]),r=de(v("app.check.run"),{icon:"pass",onClick:()=>e.dispatch({type:"verify/request"})}),o=de(v("app.check.cancel"),{icon:"stop",small:!0,onClick:()=>e.dispatch({type:"verify/cancel"})}),s=M("div",{className:"check__detail"}),i=M("div",{className:"panel check"},[M("div",{className:"check__head"},[t,r,o]),n,s]),a=null;function l(u){return u.verdict==="pass"?v("app.check.verdict-pass"):u.verdict==="warn"?v("app.check.verdict-warn"):v("app.check.verdict-fail")}function c(u,d){let m=M("ul",{className:"checks"},u.checks.map(y=>{let b=y.status==="pass"?v("app.check.status-pass"):y.status==="warn"?v("app.check.status-warn"):v("app.check.status-fail"),x=M("li",{className:"checks__row"},[lt(y.status==="pass"?"pass":y.status==="warn"?"warn":"fail"),M("span",{className:"checks__name",text:v(bd(y.id,y.grade))}),M("span",{className:"checks__word",text:b}),M("span",{className:"checks__sentence",text:v(y.messageKey,{measured:Vn(y.measured),threshold:Vn(y.threshold)})}),M("span",{className:"checks__numbers",text:v("app.check.measured",{measured:Vn(y.measured),threshold:Vn(y.threshold)})})]);return x.dataset.result=y.status,x})),f=M("ul",{className:"checks checks--captures"},u.captures.map(y=>{let b=U2(y),x=M("li",{className:"checks__row"},[lt(B2[b]),M("span",{className:"checks__name",text:v(B8[y.axis])}),M("span",{className:"checks__word",text:v(F2[b])})]);return x.dataset.result=b==="partial"?"warn":b,x})),p=[],h=u.conditions.sizeMm;u.limits.maxDistanceMm!==null&&h!==null&&p.push(M("p",{className:"check__limit",text:v("app.check.limits",{distance:nr(u.limits.maxDistanceMm/10),size:zn(h)})})),u.limits.minModuleMm!==null&&p.push(M("p",{className:"check__limit",text:v("app.check.limits-module",{size:Vn(u.limits.minModuleMm)})}));let g=d.length===0?null:M("div",{className:"fixes"},[M("h3",{className:"notes__title",text:v("app.check.fixes")}),M("div",{className:"fixes__list"},d.map(y=>de(v(y.labelKey),{small:!0,onClick:()=>{e.dispatch({type:"fix/apply",fixId:y.id}),e.announce(v("app.check.fixed"))}})))]);le(s,[...p,m,M("details",{className:"advanced"},[M("summary",{className:"advanced__head",text:v("app.check.captures")}),M("div",{className:"advanced__body"},[f])]),g])}return{root:i,update(u){let d=u.verify;if(o.hidden=d.status!=="running",r.hidden=d.status==="running"||Ds(u),i.dataset.status=Ds(u)?"unavailable":d.status,d.status==="running"&&(n.style.setProperty("--fill",String(d.progress)),Z(t,`${v("app.check.running",{percent:Math.round(d.progress*100)})} ${d.axis===null?"":v(xd(d.axis))}`.trim())),a!==d){if(a=d,Ds(u)){Z(t,v("app.check.unavailable")),le(s,[M("p",{className:"field__hint",text:v("app.check.unavailable-detail")})]);return}switch(d.status){case"idle":Z(t,v("app.check.idle")),le(s,[M("p",{className:"field__hint",text:v("app.check.idle-detail")})]);return;case"running":return;case"failed":Z(t,yt(d.error)),le(s,[]);return;case"done":Z(t,d.stale?`${l(d.report)}. ${v("app.check.stale")}`:d.full?l(d.report):`${l(d.report)}. ${v("app.check.quick")}`),i.dataset.depth=d.full?"full":"quick",i.dataset.verdict=d.report.verdict,c(d.report,d.fixes);return}}},meta(u){if(Ds(u))return v("app.check.meta-unavailable");let d=u.verify;return d.status==="done"?d.report.verdict==="pass"?v("app.check.verdict-pass"):d.report.verdict==="warn"?v("app.check.verdict-warn"):v("app.check.verdict-fail"):d.status==="running"?v("app.strip.running"):v("app.check.idle")}}}var wW=Object.freeze(["scheme/dangerous","scheme/unusual","host/ip-literal","host/mixed-script","host/punycode","host/lookalike","url/userinfo","host/shortener","host/dynamic-qr","url/tracking-params","url/insecure","url/very-long","payload/open-wifi","payload/payment","payload/sends-message","payload/service-code"]);function iu(e){return`payload.safety.${e.replace("/",".")}`}var sa=["url","text","wifi","vcard","email","phone","sms","whatsapp","geo","event"],z8=new Set(["number","integer","amount","latitude","longitude"]);function V8(e){switch(e){case"url":return"url";case"email":return"email";case"tel":return"tel";case"date":return"date";case"datetime":return"datetime-local";case"secret":return"password";default:return"text"}}function q8(e){switch(e){case"integer":return"numeric";case"number":case"amount":case"latitude":case"longitude":return"decimal";case"url":return"url";case"email":return"email";case"tel":return"tel";default:return null}}function H8(e){return["url","email","tel","iban","bic","currency","country","secret"].includes(e)}function q2(e){let t=e.trim();return t===""?null:Number(t.replace(",","."))}function K8(e,t){return e===null?t===null:typeof t!="number"?!1:e===t||Number.isNaN(e)&&Number.isNaN(t)}function au(e,t){return t?e.issues:[]}function K2(e,t,n){let r=z8.has(e.kind),o=e.kind==="multiline"?M("textarea",{className:"input input--area",attrs:{rows:3}}):M("input",{className:"input",attrs:{type:V8(e.kind)}});o.setAttribute("autocomplete","off"),e.maxLength!==null&&o.setAttribute("maxlength",String(e.maxLength));let s=q8(e.kind);return s!==null&&o.setAttribute("inputmode",s),H8(e.kind)&&(o.setAttribute("spellcheck","false"),o.setAttribute("autocapitalize","off"),o.setAttribute("autocorrect","off")),(e.kind==="iban"||e.kind==="bic"||e.kind==="currency"||e.kind==="country")&&o.setAttribute("autocapitalize","characters"),o.addEventListener("input",()=>{t(r?q2(o.value):o.value)}),o.addEventListener("blur",n),{control:o,sync(i){if(r){K8(q2(o.value),i)||(o.value=i===null?"":String(i));return}let a=typeof i=="string"?i:i===null?"":String(i);o.value!==a&&(o.value=a)}}}function G8(e,t,n){let r=t.key,o=p=>{e.dispatch({type:"payload/field",key:r,value:p})},s=()=>n(r),i=v(t.labelKey),a=t.hintKey===null?void 0:v(t.hintKey);if(t.kind==="boolean"){let p=M("input",{attrs:{type:"checkbox"},on:{change:()=>{s(),o(p.checked)}}}),h=M("ul",{className:"field__issues",id:kt("issues")});return h.hidden=!0,p.setAttribute("aria-describedby",h.id),{root:M("div",{className:"field field--check"},[M("label",{className:"tick"},[p,M("span",{text:i})]),a===void 0?null:M("p",{className:"field__hint",text:a}),h]),update(y,b){p.checked=y.value===!0,vt(h,au(y,b))}}}if(t.kind==="select"){let p=M("select",{className:"input input--select",on:{change:()=>{s(),o(p.value)}}}),h=t.options.map(y=>M("option",{text:v(y.labelKey),attrs:{value:y.value}}));t.options.some(y=>y.value==="")||h.unshift(M("option",{text:v("app.content.choose"),attrs:{value:""}})),le(p,h);let g=ct(i,p,a);return t.required&&g.label.appendChild(H2()),{root:g.root,update(y,b){let x=typeof y.value=="string"?y.value:"";p.value!==x&&(p.value=x);let w=au(y,b);vt(g.issues,w),p.setAttribute("aria-invalid",String(w.some(k=>k.severity==="error")))}}}if(t.multiple)return _8(t,o,s,i,a);let{control:l,sync:c}=K2(t,o,s),u=ct(i,l,a);t.required&&(u.label.appendChild(H2()),l.setAttribute("aria-required","true"));let d=M("div",{className:"field__extras"});u.root.insertBefore(d,u.hint);let m=null;t.secret&&(m=de(v("app.content.show-secret"),{small:!0,icon:"eye",attrs:{"aria-pressed":"false","aria-controls":l.id},onClick:()=>{let p=l.getAttribute("type")==="password";l.setAttribute("type",p?"text":"password"),m?.setAttribute("aria-pressed",String(p))}}),d.appendChild(m));let f=t.kind==="url"?de(v("app.content.add-scheme"),{small:!0,onClick:()=>{o(`https://${l.value.trim()}`),l.focus()}}):null;return f!==null&&(f.hidden=!0,d.appendChild(f)),{root:u.root,update(p,h){c(p.value);let g=au(p,h);if(vt(u.issues,g),l.setAttribute("aria-invalid",String(g.some(y=>y.severity==="error"))),f!==null){let y=typeof p.value=="string"?p.value.trim():"";f.hidden=!(y!==""&&!y.includes(":")&&/^[^\s/]+\.[^\s]+/.test(y)&&p.issues.some(b=>b.code==="payload.issue.invalid-url"))}d.hidden=d.querySelectorAll("button:not([hidden])").length===0}}}function H2(){return M("span",{className:"tag",text:v("app.content.required")})}function _8(e,t,n,r,o){let s=kt("list"),i=M("div",{className:"list"}),a=M("ul",{className:"field__issues",id:kt("issues")});a.hidden=!0;let l=[],c=de(v("app.content.add-item"),{small:!0,icon:"plus",onClick:()=>{t([...l,""]),queueMicrotask(()=>i.querySelector(".list__row:last-child input")?.focus())}}),u=M("fieldset",{className:"field field--list"},[M("legend",{className:"field__label",id:s,text:r}),i,o===void 0?null:M("p",{className:"field__hint",text:o}),a,M("div",{className:"field__extras"},[c])]),d=f=>{le(i,Array.from({length:Math.max(1,f)},(p,h)=>{let g={...e},{control:y}=K2(g,x=>{let w=[...l];for(;w.length<=h;)w.push("");w[h]=typeof x=="string"?x:x===null?"":String(x),t(w)},n);y.setAttribute("aria-label",`${r} ${h+1}`),y.setAttribute("aria-describedby",a.id);let b=f>1?de(v("app.content.remove-item"),{small:!0,icon:"minus",attrs:{"aria-label":v("app.content.remove-numbered",{label:r,n:h+1})},onClick:()=>t(l.filter((x,w)=>w!==h))}):null;return M("div",{className:"list__row"},[y,b])}))},m=-1;return{root:u,update(f,p){l=Array.isArray(f.value)?[...f.value]:[];let h=Math.max(1,l.length);h!==m&&(d(h),m=h),i.querySelectorAll("input").forEach((g,y)=>{let b=l[y]??"";g.value!==b&&(g.value=b)}),c.hidden=f.maxItems!==null&&l.length>=f.maxItems,vt(a,au(f,p))}}}function Q8(e){let t=M("span",{className:"meter__fill"}),n=M("span",{className:"meter",attrs:{role:"meter","aria-valuemin":0,"aria-valuemax":100,"aria-label":v("app.capacity.label")}},[t]),r=M("span",{className:"encoding__reading"}),o=M("summary",{className:"encoding__head"},[M("span",{className:"encoding__title",text:v("app.capacity.label")}),n,r]),s=Ve(v("app.encoding.symbology"),[],h=>{let g=e.snapshot().catalogue.symbologies.find(x=>x.id===h);if(g===void 0)return;let y=e.snapshot().document.design.symbol.ecLevel,b=y!==void 0&&g.ecLevels.includes(y)?y:g.ecLevels[0];e.dispatch({type:"design/patch",patch:{path:["symbol"],value:{symbology:h,...b===void 0?{}:{ecLevel:b}}}})},"segments"),i=M("p",{className:"note note--warning"});i.hidden=!0;let a=Ve(v("app.encoding.ec"),[],h=>e.dispatch({type:"design/patch",patch:{path:["symbol","ecLevel"],value:h}})),l=M("dl",{className:"facts facts--mono"}),c=M("p",{className:"field__hint"}),u=M("details",{className:"encoding"},[o,M("div",{className:"encoding__body"},[c,l,s.root,i,a.root])]),d={L:"app.encoding.ec-l",M:"app.encoding.ec-m",Q:"app.encoding.ec-q",H:"app.encoding.ec-h"},m={numeric:"app.encoding.mode-numeric",alphanumeric:"app.encoding.mode-alphanumeric",byte:"app.encoding.mode-byte",kanji:"app.encoding.mode-kanji"},f=null,p="";return{root:u,update(h){let g=h.catalogue,y=h.design.effective;f!==g&&(f=g,s.setChoices(g.symbologies.map(C=>({value:C.id,label:v(C.labelKey)})))),s.set(y.symbol.symbology);let b=g.symbologies.find(C=>C.id===y.symbol.symbology),x=b?.noteKey??null;i.hidden=x===null,x!==null&&Z(i,v(x));let w=(b?.ecLevels??[]).join("");w!==p&&(p=w,a.setChoices((b?.ecLevels??[]).map(C=>({value:C,label:v(d[C]??C)}))));let k=h.symbol,S=k.status==="empty"?null:k.view;if(a.set(S?.ecLevel??y.symbol.ecLevel??null),S===null){t.style.setProperty("--fill","0"),n.setAttribute("aria-valuenow","0"),Z(r,v("app.capacity.empty")),le(l,[]),c.hidden=!0;return}let E=Math.round(S.capacity.fraction*100);t.style.setProperty("--fill",String(Math.min(1,S.capacity.fraction))),n.setAttribute("aria-valuenow",String(E)),n.setAttribute("aria-valuetext",v("app.capacity.value",{used:nr(S.capacity.usedBits),total:nr(S.capacity.totalBits),percent:E})),n.dataset.level=S.capacity.ofLargest>.85?"high":"normal",Z(r,v("app.capacity.value",{used:nr(S.capacity.usedBits),total:nr(S.capacity.totalBits),percent:E})),c.hidden=!1,Z(c,v("app.capacity.largest",{percent:Math.max(1,Math.round(S.capacity.ofLargest*100))}));let R=[[v("app.encoding.version"),S.version],[v("app.encoding.modules"),v("app.encoding.modules-value",{width:S.modules[0],height:S.modules[1]})],[v("app.encoding.ec"),S.ecLevel],[v("app.encoding.mask"),String(S.mask)],[v("app.encoding.segments"),S.segments.map(C=>v("app.encoding.segment",{mode:v(m[C.mode]??C.mode),chars:C.chars})).join("; ")]];le(l,R.flatMap(([C,A])=>[M("dt",{text:C}),M("dd",{text:A})]))}}}function G2(e){let t=Ve(v("app.content.types"),[],k=>e.dispatch({type:"payload/type",typeId:k}),"chips"),n=M("select",{className:"input input--select more__select",attrs:{"aria-label":v("app.content.more")},on:{change:()=>{n.value!==""&&e.dispatch({type:"payload/type",typeId:n.value})}}}),r=M("div",{className:"more"},[n]),o=M("p",{className:"content__description"}),s=M("p",{className:"content__action"},[M("span",{className:"content__action-label",text:v("app.content.when-scanned")}),M("span",{className:"content__action-text"})]),i=M("div",{className:"form"}),a=M("ul",{className:"field__issues"});a.hidden=!0;let l=M("div",{className:"content__notes"}),c=Q8(e),u=M("p",{className:"note note--info",text:v("studio.issue.design-locked")});u.hidden=!0;let d=M("div",{className:"content"},[t.root,i,a,s,o,u,l,c.root]),m=null,f=null,p="",h=new Map,g=new Set,y=k=>{if(!g.has(k)&&(g.add(k),f!==null)){let S=f.fields.find(E=>E.key===k);S!==void 0&&h.get(k)?.update(S,!0)}};function b(k){h=new Map;let S=new Map(k.fields.map(A=>[A.key,A])),E=[],R=[];for(let A of k.groups){let O=[],D=[];for(let T of A.fields){let I=S.get(T);if(I===void 0)continue;let U=G8(e,I,y);h.set(T,U),(I.advanced?D:O).push(U.root)}let N=T=>A.labelKey===null?M("div",{className:"form__group"},T):M("fieldset",{className:"form__group form__group--named"},[M("legend",{className:"legend",text:v(A.labelKey)}),...T]);O.length>0&&E.push(N(O)),D.length>0&&R.push(N(D))}let C=[...E];R.length>0&&C.push(M("details",{className:"advanced"},[M("summary",{className:"advanced__head",text:v("app.content.advanced")}),M("div",{className:"advanced__body"},R)])),le(i,C)}function x(k){let S=[];k.safety.length>0&&S.push(M("div",{className:"notes"},[M("h3",{className:"notes__title",text:v("app.content.safety")}),M("ul",{className:"notes__list"},k.safety.map(E=>M("li",{className:`note note--${E.severity==="danger"?"error":E.severity==="caution"?"warning":"info"}`},[lt(E.severity==="danger"?"fail":"warn"),M("span",{text:v(iu(E.code),E.params??{})})])))])),k.compatibility.length>0&&S.push(M("div",{className:"notes"},[M("h3",{className:"notes__title",text:v("app.content.compatibility")}),M("ul",{className:"notes__list"},k.compatibility.map(E=>M("li",{className:"note note--info"},[lt("pending"),M("span",{text:v(E.noteKey)})])))])),le(l,S)}function w(k){let S=k.catalogue;if(m!==S){m=S;let C=S.payloadTypes.flatMap(A=>A.types).filter(A=>A.generate);t.setChoices(sa.map(A=>C.find(O=>O.id===A)).filter(A=>A!==void 0).map(A=>({value:A.id,label:v(A.labelKey)}))),t.root.querySelector(".chips__grid")?.appendChild(r),le(n,[M("option",{text:v("app.content.more"),attrs:{value:""}}),...S.payloadTypes.map(A=>({group:A,types:A.types.filter(O=>O.generate&&!sa.includes(O.id))})).filter(({types:A})=>A.length>0).map(({group:A,types:O})=>M("optgroup",{attrs:{label:v(A.labelKey)}},O.map(D=>M("option",{text:v(D.labelKey),attrs:{value:D.id}}))))])}let E=k.form,R=k.document.typeId;if(t.set(sa.includes(R)?R:null),n.value=sa.includes(R)?"":R,r.dataset.active=sa.includes(R)?"false":"true",E!==f){let C=`${E.typeId}:${E.fields.map(A=>A.key).join(",")}`;C!==p?(f?.typeId!==E.typeId&&(g=new Set),p=C,b(E),x(E)):(f===null||f.safety!==E.safety||f.compatibility!==E.compatibility)&&x(E);for(let A of E.fields)h.get(A.key)?.update(A,g.has(A.key));vt(a,E.issues),Z(o,v(E.descriptionKey)),Z(s.lastElementChild,v(E.actionKey)),u.hidden=!E.designLocked,f=E}c.update(k)}return{root:d,update:w,meta:k=>v(k.form.labelKey)}}function kp(e,t,n){let r=Math.max(e,t);if(r<=n)return[e,t];let o=n/r;return[Math.max(1,Math.round(e*o)),Math.max(1,Math.round(t*o))]}function _2(e,t){let n=e/t,r=[];for(let o=0;o<t;o+=1){let s=o*n,i=(o+1)*n,a=Math.floor(s),l=Math.min(e,Math.ceil(i)),c=new Float64Array(l-a);for(let u=a;u<l;u+=1)c[u-a]=(Math.min(i,u+1)-Math.max(s,u))/n;r.push({start:a,weights:c})}return r}function vp(e,t,n){if(!Number.isInteger(t)||!Number.isInteger(n)||t<1||n<1||t>e.width||n>e.height)throw new TypeError("areaAverage: the target is a whole number of pixels, 1 to the source size.");if(t===e.width&&n===e.height)return e;let{data:r}=e,o=_2(e.width,t),s=new Float64Array(t*e.height*4);for(let l=0;l<e.height;l+=1)for(let c=0;c<t;c+=1){let{start:u,weights:d}=o[c],m=0,f=0,p=0,h=0;for(let y=0;y<d.length;y+=1){let b=(l*e.width+u+y)*4,x=d[y],w=r[b+3]*x;m+=r[b]*w,f+=r[b+1]*w,p+=r[b+2]*w,h+=w}let g=(l*t+c)*4;s[g]=m,s[g+1]=f,s[g+2]=p,s[g+3]=h}let i=_2(e.height,n),a=new Uint8ClampedArray(t*n*4);for(let l=0;l<n;l+=1){let{start:c,weights:u}=i[l];for(let d=0;d<t;d+=1){let m=0,f=0,p=0,h=0;for(let y=0;y<u.length;y+=1){let b=((c+y)*t+d)*4,x=u[y];m+=s[b]*x,f+=s[b+1]*x,p+=s[b+2]*x,h+=s[b+3]*x}let g=(l*t+d)*4;h>0&&(a[g]=Math.round(m/h),a[g+1]=Math.round(f/h),a[g+2]=Math.round(p/h)),a[g+3]=Math.round(h)}}return{width:t,height:n,data:a}}var W8="design.issue.svg-logo-later",X8="dom.issue.logo-downscaled",Y8=4*Ji*Ji,Q2=16;function Z8(e){let t=0;for(e[0]===239&&e[1]===187&&e[2]===191&&(t=3);t<e.length&&(e[t]===32||e[t]===9||e[t]===10||e[t]===13);)t+=1;return e[t]===60}async function $8(e){if(e.type==="image/svg+xml")return!0;let t=e.name;if(typeof t=="string"&&/\.svgz?$/i.test(t))return!0;try{return Z8(new Uint8Array(await e.slice(0,64).arrayBuffer()))}catch{return!1}}async function W2(e,t={}){if(await $8(e))return Y(P(W8,["logo"],"error"));let n=await io(e,{maxPixels:Y8,...t.deps===void 0?{}:{deps:t.deps}});if(!n.ok)return Y(P(gi(n.error),["logo"],"error",n.error.params));let r=n.value,[o,s]=kp(r.width,r.height,Ji),i=vp(r,o,s),a=Gn(i,{level:9});for(;a.length>Xc&&Math.max(o,s)>Q2;){let c=Math.max(o,s),u=Math.sqrt(Xc/a.length)*.95,d=Math.max(Q2,Math.min(c-1,Math.floor(c*u)));[o,s]=kp(o,s,d),i=vp(r,o,s),a=Gn(i,{level:9})}let l=[];return(o!==r.width||s!==r.height)&&l.push(P(X8,["logo"],"info",{width:o,height:s})),ae(Object.freeze({asset:Object.freeze({png:fc(a),width:o,height:s}),image:i,issues:Object.freeze(l)}))}function aa(e){return Array.isArray(e)?`[${e.map(aa).join(",")}]`:typeof e=="object"&&e!==null?`{${Object.entries(e).filter(([,n])=>n!==void 0).sort(([n],[r])=>n<r?-1:n>r?1:0).map(([n,r])=>`${JSON.stringify(n)}:${aa(r)}`).join(",")}}`:JSON.stringify(e)??"null"}function Ut(e,t,n,r){let o=r===void 0?{type:"design/patch",patch:{path:t,value:n}}:{type:"design/patch",patch:{path:t,value:n},coalesce:r};e.dispatch(o)}function ia(e,t,n){return I2(t,r=>e.dispatch({type:"history/begin",key:r}),r=>{let o=n(r);Ut(e,o.path,o.value)},r=>e.dispatch({type:"history/commit",key:r}))}function Bs(e,t){return j2(`${e}:${t.id}`,()=>t.thumbnail())}function la(e,t,n,r,o){let s=null,i=new Map;return{draw(a,l){let c=a?.id??null;if(c!==s){s=c,i=new Map;let u=[];for(let d of a?.params??[]){let m=!1,p=P2(d,(h,g)=>{let y=r();if(y===void 0)return;let b=o({id:y.id,params:{...y.params,[d.key]:h}}),x=`${n}:${d.key}`;g==="move"&&!m&&(e.dispatch({type:"history/begin",key:x}),m=!0),Ut(e,b.path,b.value),g==="end"&&m&&(e.dispatch({type:"history/commit",key:x}),m=!1)});i.set(d.key,p),u.push(p.root)}le(t,u),t.hidden=u.length===0}for(let u of a?.params??[])i.get(u.key)?.set(l?.params?.[u.key]??u.default)}}}function Z2(e,t){let n=M("div",{className:"gallery__grid"}),r=kt("preset"),o=de(v("app.style.shuffle"),{icon:"shuffle",onClick:()=>{let g=crypto.getRandomValues(new Uint32Array(1))[0]??1;e.dispatch({type:"design/shuffle",seed:g})}}),s=M("div",{className:"gallery"},[M("fieldset",{className:"gallery__set"},[M("legend",{className:"sr-only",text:v("app.style.presets")}),n]),M("div",{className:"gallery__actions"},[o,M("p",{className:"field__hint",text:v("app.style.shuffle-hint")})])]),i=[],a=[],l="",c=null,u=null,d=null,m=null;function f(g){let y=g.library;return y.status!=="on"&&y.status!=="file"?[]:y.kit?.kit.presets??[]}function p(g){i.length=0,a.length=0;let y=[],b=g.catalogue.presets.flatMap(k=>k.presets),x=f(g).map(k=>b.find(S=>S.id===k)).filter(k=>k!==void 0),w=[...x.length===0?[]:[{labelKey:"app.style.from-kit",presets:x}],...g.catalogue.presets];for(let k of w){y.push(M("p",{className:"gallery__category",text:v(k.labelKey)}));for(let S of k.presets){let E=M("img",{className:"choice__img",attrs:{alt:"",width:72,height:72,decoding:"async"}}),R=M("input",{className:"choice__input",attrs:{type:"radio",name:r,value:S.id},on:{change:()=>{R.checked&&e.dispatch({type:"design/preset",id:S.id})}}});i.push([S.id,E]),a.push([S.id,R]),y.push(M("label",{className:"choice choice--preset"},[R,M("span",{className:"choice__box"},[E,M("span",{className:"choice__label",text:v(S.labelKey)})])]))}}le(n,y)}function h(){if(m=null,!t.open||u===null||u===d)return;let g=u;d=g;let y=[...i],b=()=>{if(g!==u)return;let x=performance.now();for(;y.length>0&&performance.now()-x<12;){let[w,k]=y.shift(),S=g.get(w);S!==null&&Fr(k,S)}y.length>0&&setTimeout(b,0)};b()}return t.addEventListener("toggle",()=>{t.open&&m===null&&(m=setTimeout(h,0))}),{root:s,update(g){let y=f(g).join(",");(c!==g.catalogue||y!==l)&&(c=g.catalogue,l=y,p(g),d=null),g.presetThumbnails!==u&&(u=g.presetThumbnails,m!==null&&clearTimeout(m),m=setTimeout(h,d===null?0:350));let b=cu(e,g.document.design);for(let[x,w]of a){let k=x===b;w.checked!==k&&(w.checked=k),w.disabled=g.design.locked}o.disabled=g.design.locked},meta(g){let y=g.document.design,b=cu(e,y),x=b===null?void 0:e.registries.design.presets.get(b);return x!==void 0?v(x.labelKey):eO(y)?v("app.style.standard"):v("app.style.custom")}}}var J8=aa($2(cr()));function $2(e){return{modules:e.modules,regions:e.regions,background:e.background,frame:e.frame,logo:e.logo}}function eO(e){return aa($2(e))===J8}var X2=new WeakMap;function cu(e,t){let n=X2.get(t);if(n!==void 0)return n;let r=(s,i)=>aa({modules:s.modules,regions:s.regions,background:s.background,frame:s.frame,quietZone:s.quietZone,logo:i?s.logo:null}),o=null;for(let s of e.registries.design.presets.list()){let i=s.design.logo!==null;if(r(t,i)===r(s.design,i)){o=s.id;break}}return X2.set(t,o),o}function J2(e){let t=M("div",{className:"params"}),n=Ve(v("app.modules.shape"),[],i=>Ut(e,["modules","shape"],{id:i}),"swatches"),r=la(e,t,"modules",()=>e.snapshot().document.design.modules.shape,i=>({path:["modules","shape"],value:i})),o=M("div",{className:"panel"},[n.root,t]),s=null;return{root:o,update(i){let a=i.catalogue;s!==a&&(s=a,n.setChoices(a.moduleShapes.map(c=>({value:c.id,label:v(c.labelKey),picture:Bs("module",c)}))));let l=i.document.design.modules.shape;n.set(l.id),r.draw(a.moduleShapes.find(c=>c.id===l.id),l);for(let c of n.inputs())c.disabled=i.design.locked},meta(i){let a=i.catalogue.moduleShapes.find(l=>l.id===i.document.design.modules.shape.id);return a===void 0?"":v(a.labelKey)}}}var tO={finder:"concentric-7","sub-finder":"concentric-5","corner-finder":"corner-l"},ev=["finder","sub-finder","corner-finder"];function Sp(e,t,n){let r=n.document.design.regions,o=n.catalogue.rings.find(a=>a.id===e.id),s=n.catalogue.centres.find(a=>a.id===t.id),i={};for(let a of ev){let l=tO[a],c=r[a]??r.finder,u={outer:e,inner:t,...c?.outerPaint===void 0?{}:{outerPaint:c.outerPaint},...c?.innerPaint===void 0?{}:{innerPaint:c.innerPaint}};o!==void 0&&s!==void 0&&o.kinds.includes(l)&&s.kinds.includes(l)?i[a]=u:r[a]!==void 0&&a!=="finder"&&(i[a]=r[a])}return i}function tv(e){let t=e.document.design.modules.shape.id;return e.catalogue.moduleShapes.find(n=>n.id===t)?.family??"square"}function Y2(e,t){return e===void 0?[]:e.pairsByFamily[tv(t)]}function Ur(e){let t=e.document.design.regions.finder;return{outer:t?.outer??{id:"square"},inner:t?.inner??{id:"square-centre"}}}function nv(e){let t=M("div",{className:"params"}),n=M("div",{className:"params"}),r=(m,f)=>{Ut(e,["regions"],Sp(m,f,e.snapshot()))},o=Ve(v("app.eyes.ring"),[],m=>{let f=e.snapshot(),p=f.catalogue.rings.find(b=>b.id===m),{inner:h}=Ur(f),g=Y2(p,f),y=g.includes(h.id)?h:{id:g[0]??"square-centre"};r({id:m},y)},"swatches"),s=Ve(v("app.eyes.centre"),[],m=>r(Ur(e.snapshot()).outer,{id:m}),"swatches"),i=la(e,t,"ring",()=>Ur(e.snapshot()).outer,m=>({path:["regions"],value:Sp(m,Ur(e.snapshot()).inner,e.snapshot())})),a=la(e,n,"centre",()=>Ur(e.snapshot()).inner,m=>({path:["regions"],value:Sp(Ur(e.snapshot()).outer,m,e.snapshot())})),l=M("div",{className:"panel"},[o.root,t,s.root,M("p",{className:"field__hint",text:v("app.eyes.pairs-note")}),n]),c=null,u=null,d="";return{root:l,update(m){let f=m.catalogue,{outer:p,inner:h}=Ur(m),g=tv(m);(c!==f||u!==g)&&(c=f,u=g,o.setChoices(f.rings.filter(w=>w.pairsByFamily[g].length>0||w.id===p.id).map(w=>({value:w.id,label:v(w.labelKey),picture:Bs("ring",w)}))),d="");let y=f.rings.find(w=>w.id===p.id),b=y===void 0?f.centres.map(w=>w.id):Y2(y,m),x=`${p.id}:${b.join(",")}`;if(x!==d){d=x;let w=f.centres.filter(k=>b.includes(k.id)||k.id===h.id).map(k=>({value:k.id,label:v(k.labelKey),picture:Bs("centre",k)}));s.setChoices(w)}o.set(p.id),s.set(h.id),i.draw(y,p),a.draw(f.centres.find(w=>w.id===h.id),h);for(let w of[...o.inputs(),...s.inputs()])w.disabled=m.design.locked},meta(m){let{outer:f}=Ur(m),p=m.catalogue.rings.find(h=>h.id===f.id);return p===void 0?"":v(p.labelKey)}}}function js(e){let t=typeof e=="string"?e:e.srgb;if(/^#[0-9a-f]{6}$/i.test(t))return t.toLowerCase();let n=/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(t);return n!==null?`#${n[1]}${n[1]}${n[2]}${n[2]}${n[3]}${n[3]}`.toLowerCase():/^#[0-9a-f]{8}$/i.test(t)?t.slice(0,7).toLowerCase():"#000000"}function lu(e,t){if(t==null)return[];switch(t.kind){case"solid":return[t.ink];case"entry":{let n=e.registries.design.fills.get(t.ref.id),r=[];for(let o of n?.params??[]){if(o.kind!=="colour")continue;let s=t.ref.params?.[o.key]??o.default;typeof s=="string"&&r.push(s)}return r}default:return t.stops.map(n=>n.ink)}}function Mp(e,t){let n=M("div",{className:"paint__body"}),r=(f,p)=>{let h=t.write(f),g=p===void 0?{type:"design/patch",patch:h}:{type:"design/patch",patch:h,coalesce:p};e.dispatch(g)},o=[];t.extra.includes("same")&&o.push({value:"same",label:v("app.colour.same")}),t.extra.includes("none")&&o.push({value:"none",label:v("app.colour.transparent")}),o.push({value:"solid",label:v("app.colour.kind-solid")},{value:"linear",label:v("app.colour.kind-linear")},{value:"radial",label:v("app.colour.kind-radial")}),t.extra.includes("entry")&&o.push({value:"entry",label:v("app.colour.kind-pattern")});let s=f=>f===void 0?"same":f===null?"none":f.kind==="conic"?"radial":f.kind,i=f=>lu(e,f)[0]??"#000000",a=Ve(t.label,o,f=>{let p=t.read(e.snapshot()),h=js(i(p??t.read(e.snapshot()))),g="#1d4ed8",y=p!=null&&"stops"in p&&p.stops.length>=2?[...p.stops]:[{offset:0,ink:h},{offset:1,ink:h===g?"#000000":g}];switch(f){case"same":r(void 0);return;case"none":r(null);return;case"solid":r({kind:"solid",ink:h});return;case"linear":r({kind:"linear",angle:45,stops:y,space:"symbol"});return;case"radial":r({kind:"radial",cx:.5,cy:.5,radius:.75,stops:y,space:"symbol"});return;case"entry":{let b=e.snapshot().catalogue.fills[0];b!==void 0&&r({kind:"entry",ref:{id:b.id}});return}}}),l="",c=[],u=(f,p,h,g)=>{let y=M("input",{className:"colour-well",attrs:{type:"color","aria-label":f}}),b=kt("hex"),x=M("input",{className:"input input--hex",id:b,attrs:{type:"text",spellcheck:"false",autocomplete:"off",maxlength:7,"aria-label":`${f}, ${v("app.colour.hex")}`}}),w=M("p",{className:"field__hint field__hint--error",text:v("app.colour.hex-invalid")});w.hidden=!0;let k=!1,S=(E,R)=>{let C=t.read(e.snapshot());C!=null&&(R==="move"&&!k&&(e.dispatch({type:"history/begin",key:g}),k=!0),r(h(C,E)),R==="end"&&k&&(e.dispatch({type:"history/commit",key:g}),k=!1))};return y.addEventListener("input",()=>S(y.value,"move")),y.addEventListener("change",()=>S(y.value,"end")),x.addEventListener("change",()=>{let E=x.value.trim(),R=E.startsWith("#")?E:`#${E}`,C=/^#[0-9a-f]{6}$/i.test(R);w.hidden=C,x.setAttribute("aria-invalid",String(!C)),C&&S(R.toLowerCase(),"end")}),c.push(E=>{if(E==null)return;let R=p(E);if(R===void 0)return;let C=js(R);y.value!==C&&(y.value=C),document.activeElement!==x&&x.value!==C&&(x.value=C)}),M("div",{className:"ink"},[M("span",{className:"ink__label",text:f}),y,x,w])};function d(f){c=[];let p=[];if(f==null){le(n,p);return}if(f.kind==="solid")p.push(u(v("app.colour.ink"),h=>h.kind==="solid"?h.ink:void 0,(h,g)=>({kind:"solid",ink:g}),`${t.key}:solid`));else if(f.kind==="entry"){let h=Ve(v("app.colour.pattern"),e.snapshot().catalogue.fills.map(b=>({value:b.id,label:v(b.labelKey),picture:Bs("fill",b)})),b=>r({kind:"entry",ref:{id:b}}),"swatches");h.set(f.ref.id);let g=M("div",{className:"params"}),y=la(e,g,`${t.key}:fill`,()=>{let b=t.read(e.snapshot());return b?.kind==="entry"?b.ref:void 0},b=>{let[x]=t.write({kind:"entry",ref:b});return x??{path:[],value:void 0}});c.push(b=>{b?.kind==="entry"&&(h.set(b.ref.id),y.draw(e.snapshot().catalogue.fills.find(x=>x.id===b.ref.id),b.ref))}),p.push(h.root,g)}else{let h=f;if(h.kind==="linear"){let x=or(v("app.colour.angle"),{min:0,max:360,step:1},w=>ou(w),ia(e,`${t.key}:angle`,w=>{let k=t.read(e.snapshot()),S=k?.kind==="linear"?{...k,angle:w}:k,[E]=t.write(S);return E??{path:[],value:void 0}}));c.push(w=>{w?.kind==="linear"&&x.set(w.angle)}),p.push(x.root)}else{let x=or(v("app.colour.radius"),{min:.1,max:2,step:.01},Vn,ia(e,`${t.key}:radius`,w=>{let k=t.read(e.snapshot()),S=k?.kind==="radial"?{...k,radius:w}:k,[E]=t.write(S);return E??{path:[],value:void 0}}));c.push(w=>{w?.kind==="radial"&&x.set(w.radius)}),p.push(x.root)}let g=M("ol",{className:"stops"});h.stops.forEach((x,w)=>{let k=or(v("app.colour.stop-position",{n:w+1}),{min:0,max:100,step:1},R=>oa(R/100),ia(e,`${t.key}:stop-${w}`,R=>{let C=t.read(e.snapshot());if(C==null||!("stops"in C))return{path:[],value:void 0};let A={...C,stops:C.stops.map((D,N)=>N===w?{...D,offset:R/100}:D)},[O]=t.write(A);return O??{path:[],value:void 0}}));c.push(R=>{if(R!=null&&"stops"in R){let C=R.stops[w];C!==void 0&&k.set(Math.round(C.offset*100))}});let S=u(v("app.colour.stop",{n:w+1}),R=>"stops"in R?R.stops[w]?.ink:void 0,(R,C)=>"stops"in R?{...R,stops:R.stops.map((A,O)=>O===w?{...A,ink:C}:A)}:R,`${t.key}:stop-ink-${w}`),E=h.stops.length>2?de(v("app.colour.remove-stop"),{small:!0,icon:"minus",attrs:{"aria-label":v("app.colour.remove-stop-numbered",{n:w+1})},onClick:()=>{let R=t.read(e.snapshot());R!=null&&"stops"in R&&r({...R,stops:R.stops.filter((C,A)=>A!==w)})}}):null;g.appendChild(M("li",{className:"stops__row"},[S,k.root,E]))});let y=h.stops.length<16?de(v("app.colour.add-stop"),{small:!0,icon:"plus",onClick:()=>{let x=t.read(e.snapshot());if(x==null||!("stops"in x))return;let w=x.stops[x.stops.length-1],k={offset:1,ink:w===void 0?"#000000":w.ink},S=[...x.stops,k].map((E,R,C)=>({...E,offset:C.length===1?0:R/(C.length-1)}));r({...x,stops:S})}}):null,b=Ve(v("app.colour.space"),[{value:"symbol",label:v("app.colour.space-symbol")},{value:"module",label:v("app.colour.space-module")}],x=>{let w=t.read(e.snapshot());w!=null&&"space"in w&&r({...w,space:x})});c.push(x=>{x!=null&&"space"in x&&b.set(x.space)}),p.push(g,...y===null?[]:[y],b.root)}le(n,p)}return{root:M("div",{className:"paint"},[a.root,n]),update(f){let p=t.read(f),h=s(p);a.set(h);let g=p==null?h:p.kind==="entry"?"entry":p.kind==="solid"?"solid":`${p.kind}:${p.stops.length}`;g!==l&&(l=g,d(p));for(let y of c)y(p);for(let y of a.inputs())y.disabled=f.design.locked}}}function rv(e){let t=Mp(e,{label:v("app.colour.modules"),read:u=>u.document.design.modules.paint,write:u=>[{path:["modules","paint"],value:u??{kind:"solid",ink:"#000000"}}],extra:["entry"],key:"colour:modules"}),n=Mp(e,{label:v("app.colour.eyes"),read:u=>u.document.design.regions.finder?.outerPaint,write:u=>{let m=e.snapshot().document.design.regions,f=m.finder??{outer:{id:"square"},inner:{id:"square-centre"}},p={};for(let h of ev){let g=h==="finder"?f:m[h];if(g===void 0)continue;let{outerPaint:y,innerPaint:b,...x}=g;p[h]=u==null?x:{...x,outerPaint:u,innerPaint:u}}return[{path:["regions"],value:p}]},extra:["same"],key:"colour:eyes"}),r=Mp(e,{label:v("app.colour.background"),read:u=>u.document.design.background,write:u=>[{path:["background"],value:u===void 0?null:u}],extra:["none"],key:"colour:background"}),o=M("p",{className:"contrast__ratio"}),s=M("p",{className:"contrast__verdict"}),i=M("ul",{className:"field__issues"}),a=M("span",{className:"contrast__swatch",attrs:{"aria-hidden":"true"}},[M("span",{className:"contrast__fg"})]),l=M("div",{className:"contrast",attrs:{role:"group","aria-label":v("app.colour.contrast")}},[M("p",{className:"legend",text:v("app.colour.contrast")}),M("div",{className:"contrast__row"},[a,M("div",{},[o,s])]),i]);return{root:M("div",{className:"panel"},[M("section",{className:"panel__part"},[t.root]),M("section",{className:"panel__part"},[n.root]),M("section",{className:"panel__part"},[r.root]),l]),update(u){t.update(u),n.update(u),r.update(u);let d=u.design.effective,m=[...lu(e,d.modules.paint),...lu(e,d.regions.finder?.outerPaint)],f=d.background===null?["#ffffff"]:lu(e,d.background),p=21,h=!1;for(let b of m)for(let x of f)try{let w=xo(b,x);w<p&&(p=w,h=nn(b)>nn(x))}catch{}a.style.setProperty("--fg",js(m[0]??"#000000")),a.style.setProperty("--bg",js(f[0]??"#ffffff")),Z(o,v("app.colour.contrast-value",{ratio:zn(p)}));let g=p>=7?"good":p>=4.5?"fair":"poor";l.dataset.level=h?"poor":g,Z(s,h?v("app.colour.contrast-inverted"):g==="good"?v("app.colour.contrast-good"):g==="fair"?v("app.colour.contrast-fair"):v("app.colour.contrast-poor"));let y=[];d.background===null&&y.push(v("app.colour.contrast-transparent")),u.form.designLocked&&y.push(v("studio.issue.design-locked")),le(i,y.map(b=>M("li",{className:"note note--info",text:b}))),i.hidden=y.length===0},meta(u){let d=u.document.design.modules.paint,m=u.document.design.background,f=d.kind==="solid"?js(d.ink):v("app.colour.kind-short-gradient"),p=m===null?v("app.colour.transparent"):m.kind==="solid"?js(m.ink):v("app.colour.kind-short-gradient");return v("app.colour.meta",{fg:f,bg:p})}}}function ov(e){let t=M("input",{attrs:{type:"file",accept:"image/png,image/jpeg,image/webp,image/gif,image/svg+xml"}});t.hidden=!0;let n=M("ul",{className:"field__issues"});n.hidden=!0;let r=Ve(v("app.logo.choose"),[],p=>{let h=e.snapshot().document.design;if(p==="none"){e.dispatch({type:"design/patch",patch:np(h)});return}if(p==="asset")return;let g=h.logo;e.dispatch({type:"design/patch",patch:[{path:["logo"],value:{source:{kind:"icon",id:p},size:g?.size??.2,clear:g?.clear??"box",padding:g?.padding??1,plate:g?.plate??null}},...g?.source.kind==="asset"?[{path:["assets"],value:void 0}]:[]]})},"swatches"),o=de(v("app.logo.upload"),{icon:"image",onClick:()=>t.click()}),s=async p=>{let h=await W2(p);if(!h.ok){vt(n,[h.error]),e.announce(v(h.error.code,h.error.params??{}));return}vt(n,h.value.issues),e.dispatch({type:"design/patch",patch:tp(e.snapshot().document.design,h.value.asset)}),e.announce(v("app.logo.added"))};t.addEventListener("change",()=>{let p=t.files?.[0];t.value="",p!==void 0&&s(p)});let i=or(v("app.logo.size"),{min:.05,max:.4,step:.01},p=>oa(p),ia(e,"logo:size",p=>({path:["logo","size"],value:p}))),a=or(v("app.logo.padding"),{min:0,max:4,step:.5},p=>v("app.logo.padding-value",{value:zn(p)}),ia(e,"logo:padding",p=>({path:["logo","padding"],value:p}))),l=Ve(v("app.logo.clear"),[{value:"none",label:v("app.logo.clear-none")},{value:"box",label:v("app.logo.clear-box")},{value:"shape",label:v("app.logo.clear-shape")}],p=>Ut(e,["logo","clear"],p)),c=Ve(v("app.logo.plate"),[{value:"none",label:v("app.logo.plate-none")},{value:"square",label:v("app.logo.plate-square")},{value:"rounded",label:v("app.logo.plate-rounded")},{value:"circle",label:v("app.logo.plate-circle")}],p=>{let h=e.snapshot().document.design.background,g=h?.kind==="solid"?h:{kind:"solid",ink:"#ffffff"};Ut(e,["logo","plate"],p==="none"?null:{paint:g,shape:p})}),u=M("div",{className:"note note--warning logo__level"},[M("span",{text:v("app.logo.level-hint")}),de(v("app.logo.use-h"),{small:!0,onClick:()=>Ut(e,["symbol","ecLevel"],"H")})]),d=M("div",{className:"logo__settings"},[i.root,l.root,a.root,c.root,u]),m=M("div",{className:"panel"},[r.root,M("div",{className:"logo__upload"},[o,M("p",{className:"field__hint",text:v("app.logo.upload-hint")}),t]),n,d]),f="";return{root:m,update(p){let h=p.document.design,g=h.logo,y=g?.source.kind==="asset",b=`${p.catalogue.icons.length}:${y}`;if(b!==f){f=b;let k=[{value:"none",label:v("app.logo.none")}];y&&k.push({value:"asset",label:v("app.logo.picture")});for(let S of p.catalogue.icons)k.push({value:S.id,label:v(S.labelKey),picture:Bs("icon",S)});r.setChoices(k)}r.set(g===null?"none":g.source.kind==="asset"?"asset":g.source.id),d.hidden=g===null,g!==null&&(i.set(g.size),a.set(g.padding),l.set(g.clear),c.set(g.plate?.shape??"none"));let x=p.symbol.status==="empty"?h.symbol.ecLevel:p.symbol.view.ecLevel;u.hidden=g===null||x==="H";let w=p.design.locked;for(let k of[...r.inputs(),...l.inputs(),...c.inputs()])k.disabled=w;o.disabled=w},meta(p){let h=p.document.design.logo;if(h===null)return v("app.logo.none");if(h.source.kind==="asset")return v("app.logo.picture");let g=h.source,y=p.catalogue.icons.find(b=>b.id===g.id);return y===void 0?"":v(y.labelKey)}}}function sv(e){let t=M("div",{className:"params"}),n=Ve(v("app.frame.choose"),[],u=>{if(u==="none"){Ut(e,["frame"],null);return}let d=e.snapshot().catalogue.frames.find(p=>p.id===u),m=e.snapshot().document.design.frame,f=m?.text?.content??v("app.frame.default-caption");Ut(e,["frame"],{ref:{id:u},...d?.text===null||d===void 0?{}:{text:{content:f.slice(0,d.text.maxChars),fontId:m?.text?.fontId??Uo[1]}}})},"swatches"),r=M("input",{className:"input",attrs:{type:"text",autocomplete:"off"},on:{input:()=>{let u=e.snapshot().document.design.frame;u!==null&&Ut(e,["frame","text"],{content:r.value,fontId:u.text?.fontId??Uo[1]},"caption")}}}),o=ct(v("app.frame.caption"),r),s=Ve(v("app.frame.font"),[{value:Uo[0],label:v("text.font.plex-sans-regular")},{value:Uo[1],label:v("text.font.plex-sans-bold")}],u=>{let d=e.snapshot().document.design.frame;d!==null&&Ut(e,["frame","text"],{content:d.text?.content??"",fontId:u})}),i=M("div",{className:"frame__text"},[o.root,s.root]),a=la(e,t,"frame",()=>e.snapshot().document.design.frame?.ref,u=>({path:["frame","ref"],value:u})),l=M("div",{className:"panel"},[n.root,i,t]),c=null;return{root:l,update(u){let d=u.catalogue;c!==d&&(c=d,n.setChoices(d.frames.map(y=>({value:y.id,label:v(y.labelKey),picture:Bs("frame",y)}))));let m=u.document.design.frame,f=m?.ref.id??"none";n.set(f);let p=d.frames.find(y=>y.id===f),h=p?.text??null;if(i.hidden=m===null||h===null,h!==null&&m!==null){r.maxLength=h.maxChars;let y=m.text?.content??"";r.value!==y&&(r.value=y),Z(o.hint,v("app.frame.caption-hint",{chars:h.maxChars})),o.hint.hidden=!1,s.set(m.text?.fontId??Uo[1])}a.draw(f==="none"?void 0:p,m?.ref);let g=u.design.locked;for(let y of[...n.inputs(),...s.inputs()])y.disabled=g;r.disabled=g},meta(u){let d=u.document.design.frame?.ref.id??"none",m=u.catalogue.frames.find(f=>f.id===d);return m===void 0?"":v(m.labelKey)}}}function Ep(e,t){let n=M("input",{className:"input input--number",attrs:{type:"number",inputmode:"decimal",...t}});return n.addEventListener("change",()=>{let r=n.value.trim();e(r===""?null:Number(r))}),n}function iv(e){let t=Ep(u=>Ut(e,["output","sizeMm"],u===null?void 0:u),{min:5,max:2e3,step:.5}),n=ct(v("app.print.size"),t,v("app.print.size-hint")),r=Ve(v("app.print.basis"),[{value:"artwork",label:v("app.print.basis-artwork")},{value:"symbol",label:v("app.print.basis-symbol")}],u=>Ut(e,["output","sizeBasis"],u)),o=Ep(u=>Ut(e,["output","dpi"],u===null?void 0:u),{min:72,max:2400,step:1}),s=ct(v("app.print.dpi"),o,v("app.print.dpi-hint")),i=Ep(u=>e.dispatch({type:"conditions",conditions:{distanceMm:u===null?null:u*10}}),{min:1,max:1e4,step:1}),a=ct(v("app.print.distance"),i,v("app.print.distance-hint")),l=M("ul",{className:"field__issues"});return{root:M("div",{className:"panel"},[n.root,r.root,s.root,a.root,l]),update(u){let d=u.document.design.output,m=(g,y)=>{let b=y==null?"":String(y);document.activeElement!==g&&g.value!==b&&(g.value=b)};m(t,d.sizeMm),m(o,d.dpi);let f=u.document.conditions.distanceMm;m(i,f===null?null:f/10),r.set(d.sizeBasis??"artwork");let p=u.refusal;vt(l,p!==null&&p.issues.some(g=>g.path[0]==="output"||g.path[0]==="conditions")?p.issues:[]);let h=u.design.locked;t.disabled=h,o.disabled=h;for(let g of r.inputs())g.disabled=h},meta(u){let d=u.document.design.output.sizeMm;return d===void 0?v("app.print.not-set"):v("app.print.meta",{size:zn(d)})}}}function Tp(e){let t=e.library;return t.status==="on"||t.status==="file"?t:null}function av(e,t){let n=N=>e.announce(yt(Fe(N))),r=M("input",{className:"input",attrs:{type:"text",autocomplete:"off",maxlength:80,placeholder:v("app.library.untitled")}});Os(r);let o=ct(v("app.library.name"),r,v("app.library.name-hint")),s=()=>r.value.trim()===""?v("app.library.untitled"):r.value.trim(),i=de(v("app.library.save-design"),{icon:"save",primary:!0,onClick:async()=>{let N=await e.studio.run({type:"library/save",name:s()});if(!N.ok)return n(N.error);r.value="",e.announce(v("app.library.saved"))}}),a=de(v("app.library.save-kit"),{icon:"save",onClick:async()=>{let N=e.snapshot().document.design,T=t(N),I={...sp(N),presets:T===null?[]:[T]},U=await e.studio.run({type:"library/save-kit",name:s(),kit:I});if(!U.ok)return n(U.error);r.value="",e.announce(v("app.library.kit-saved"))}}),l=M("ul",{className:"library__list"}),c=M("ul",{className:"library__list"}),u=M("p",{className:"field__hint",text:v("app.library.empty")}),d=M("p",{className:"note note--warning",text:v("app.library.unsaved")});d.hidden=!0;let m=M("ul",{className:"field__issues"});m.hidden=!0;let f=M("h3",{className:"notes__title",text:v("app.library.designs")}),p=M("h3",{className:"notes__title",text:v("app.library.kits")}),h=M("input",{attrs:{type:"file",accept:`${wi},application/json`}});h.hidden=!0;let g=M("input",{attrs:{type:"file",accept:".json,application/json"}});g.hidden=!0;async function y(N){let T=await e.studio.run({type:"library/open-file",file:N});if(!T.ok)return n(T.error);if(!T.value.opened){vt(m,T.value.issues),e.announce(T.value.issues.map(Ft).join(" "));return}let I=Tp(e.snapshot());e.announce(v("app.library.opened",{designs:I?.items.length??0,kits:I?.kits.length??0}))}async function b(N){let T=await a2(N),I=e.snapshot().document.design;e.dispatch({type:"design/replace",design:T});let U=e.snapshot();U.document.design!==I?e.announce(v("app.design.applied")):U.refusal!==null&&e.announce(U.refusal.issues.map(Ft).join(" "))}h.addEventListener("change",()=>{let N=h.files?.[0];h.value="",N!==void 0&&y(N)}),g.addEventListener("change",()=>{let N=g.files?.[0];g.value="",N!==void 0&&b(N)});let x=de(v("app.library.save-file"),{icon:"download",onClick:async()=>{let N=await e.studio.run({type:"library/save-file"});if(!N.ok)return n(N.error);e.announce(v("app.export.saved",{filename:N.value.filename}))}}),w=de(v("app.library.open-file"),{icon:"open",onClick:()=>h.click()}),k=de(v("app.design.save-file"),{icon:"save",onClick:()=>{let N=e.snapshot().document.design,T=new TextEncoder().encode(JSON.stringify(N,null," ")),I=_n(T,"qr-design.json","application/json");I.ok?e.announce(v("app.export.saved",{filename:"qr-design.json"})):n(I.error)}}),S=de(v("app.design.open-file"),{icon:"open",onClick:()=>g.click()}),E=M("div",{className:"panel library"},[M("p",{className:"field__hint",text:v("app.library.intro")}),M("div",{className:"library__save"},[o.root,i,a]),d,m,u,f,l,p,c,M("div",{className:"library__files"},[x,w,h]),M("h3",{className:"notes__title",text:v("app.design.title")}),M("p",{className:"field__hint",text:v("app.design.intro")}),M("div",{className:"library__files"},[k,S,g])]);function R(N,T,I,U,q){return M("li",{className:"library__item"},[M("div",{className:"library__about"},[M("span",{className:"library__name",text:N}),M("span",{className:"library__when",text:T}),q?M("span",{className:"tag",text:v("app.library.in-use")}):null]),M("div",{className:"library__actions"},[de(v("app.library.use"),{small:!0,attrs:{"aria-label":v("app.library.use-named",{name:N})},onClick:()=>void I()}),de(v("app.library.remove"),{small:!0,icon:"minus",attrs:{"aria-label":v("app.library.remove-named",{name:N})},onClick:()=>void U()})])])}function C(N,T){let I=T.catalogue.payloadTypes.flatMap(q=>q.types).find(q=>q.id===N.typeId),U=v("app.library.saved-at",{date:xp(N.savedAt)});return R(N.name,I===void 0?U:`${v(I.labelKey)}. ${U}`,async()=>{let q=await e.studio.run({type:"library/load",id:N.id});if(!q.ok)return n(q.error);e.announce(v("app.library.used",{name:N.name}))},async()=>{let q=await e.studio.run({type:"library/remove",id:N.id});if(!q.ok)return n(q.error);e.announce(v("app.library.removed",{name:N.name}))},!1)}function A(N,T){return R(N.name,v("app.library.saved-at",{date:xp(N.savedAt)}),async()=>{let I=await e.studio.run({type:"library/load-kit",id:N.id});if(!I.ok)return n(I.error);e.announce(v("app.library.kit-used",{name:N.name}))},async()=>{let I=await e.studio.run({type:"library/remove-kit",id:N.id});if(!I.ok)return n(I.error);e.announce(v("app.library.removed",{name:N.name}))},N.id===T)}let O=null;function D(N){let T=N.library;if(T===O)return;O=T;let I=Tp(N),U=I?.items??[],q=I?.kits??[];i.disabled=I===null,a.disabled=I===null,d.hidden=!(T.status==="file"&&T.unsaved),vt(m,I?.skipped??[]),f.hidden=U.length===0,p.hidden=q.length===0,T.status==="failed"?(Z(u,yt(T.error)),u.hidden=!1):(Z(u,v("app.library.empty")),u.hidden=U.length>0||q.length>0),le(l,U.map(H=>C(H,N))),le(c,q.map(H=>A(H,I?.kit?.id??null)))}return window.addEventListener("beforeunload",N=>{let T=e.snapshot().library;T.status==="file"&&T.unsaved&&(N.preventDefault(),N.returnValue="")}),{root:E,update:D,meta:N=>{let T=Tp(N);return v("app.library.count",{designs:T?.items.length??0,kits:T?.kits.length??0})},openFile:y,openDesign:b}}var Rp=96/25.4;function Ap(e,t,n){if(e.unitsPerMm!==void 0&&e.unitsPerMm>0)return e.width/e.unitsPerMm;let r=t===null?e.width:t.modules[0]+2*t.quietZone,o=n.document.conditions.sizeMm??_c;return e.width*o/r}function lv(e,t){let n=t.logo!==null&&t.logo.source.kind==="asset"?{...t,logo:null}:t,r=[n,{...n,symbol:{symbology:"qr",ecLevel:n.symbol.ecLevel??"M"}}];for(let o of r)try{let s=Fn(qc,{symbology:o.symbol.symbology,...o.symbol.ecLevel===void 0?{}:{ecLevel:o.symbol.ecLevel}},e.symbologies),i=tn(s,o,{registries:e.design,seed:1}).scene;return{svg:yn(i,{idPrefix:"sample-"}),scene:i}}catch{}return null}var cv=85.6,nO=53.98/85.6,wo=Rp;function rO(e){let t=e.verify;return t.status!=="done"||t.stale?null:t.report.verdict==="pass"?v("app.check.verdict-pass"):t.report.verdict==="warn"?v("app.check.verdict-warn"):v("app.check.verdict-fail")}function oO(e){for(let t of e.form.fields){if(t.secret||t.advanced)continue;let n=Array.isArray(t.value)?t.value.find(o=>o!==""):t.value;if(typeof n!="string"||n.trim()==="")continue;let r=n.trim().replace(/\s+/g," ");return r.length>60?`${r.slice(0,57)}...`:r}return null}function sO(e,t,n){let r=[`${v(t.symbologyLabelKey)}. ${v(e.form.labelKey)}.`];if(n)r.push(v("app.proof.alt-stale"));else{let s=oO(e);s!==null&&r.push(v("app.proof.alt-summary",{summary:s}))}r.push(v(e.form.actionKey));let o=rO(e);return o!==null&&r.push(v("app.proof.alt-check",{verdict:o})),r.join(" ")}function uv(e,t,n,r){e.setAttribute("viewBox",r?`0 0 ${t} 18`:`0 0 18 ${t}`),e.setAttribute("width",String(r?t:18)),e.setAttribute("height",String(r?18:t));let s=[];if(t>0&&n>0){let i=t/n,a=[1,2,5,10,20,50,100,200,500].find(u=>u*i>=5)??1e3,l=a*(a===2?5:10),c="";for(let u=0;u<=n+1e-9;u+=a){let d=Math.round(u*i)+.5,m=Math.abs(u%l)<1e-9,f=!m&&Math.abs(u%(l/2))<1e-9,p=m?9:f?6:3.5;if(c+=r?`M${d} 18v-${p}`:`M18 ${d}h-${p}`,m&&u>0&&u<n-a*.5){let h=It("text",r?{x:d+2,y:8}:{x:7,y:d-2},[String(Math.round(u))]);r||h.setAttribute("transform",`rotate(-90 7 ${d-2})`),s.push(h)}}s.unshift(It("path",{d:c}))}le(e,s)}function dv(e,t,n){let r=[],o=null,s="none",i=!1,a=M("img",{className:"proof__img",attrs:{alt:"",decoding:"sync"}}),l=It("svg",{class:"proof__quiet","aria-hidden":"true",preserveAspectRatio:"none"}),c=M("span",{className:"proof__badge"}),u=M("div",{className:"proof__stage"},[a,l,c]),d=It("svg",{class:"ruler ruler--top","aria-hidden":"true"}),m=It("svg",{class:"ruler ruler--left","aria-hidden":"true"}),f=["tl","tr","bl","br"].map(X=>M("span",{className:`crop crop--${X}`,attrs:{"aria-hidden":"true"}})),p=M("div",{className:"proof__frame"},[M("span",{className:"proof__corner",attrs:{"aria-hidden":"true"}}),d,m,u,...f]),h=It("svg",{class:"proof__registration",viewBox:"0 0 24 24","aria-hidden":"true"},[It("circle",{cx:12,cy:12,r:6.5}),It("path",{d:"M12 1v22M1 12h22"})]),g=M("p",{className:"proof__slug"}),y=M("div",{className:"proof__sheet"},[h,p,g]);y.dataset.surround="light";let b=M("p",{className:"proof__note",attrs:{role:"note"}});b.hidden=!0;let x=Ve(v("app.proof.surround"),[{value:"light",label:v("app.proof.surround-light")},{value:"dark",label:v("app.proof.surround-dark")}],X=>{y.dataset.surround=X},"segments",{legendHidden:!0});x.set("light");let w=de(v("app.proof.true-size"),{icon:"ruler",small:!0,attrs:{"aria-pressed":"false"},onClick:()=>{i=!i,w.setAttribute("aria-pressed",String(i)),T()}}),k=M("div",{className:"calibrate__card",attrs:{"aria-hidden":"true"}}),S=M("input",{className:"slider__input",id:"calibrate-scale",attrs:{type:"range",min:2,max:8,step:.01},on:{input:()=>{wo=Number(S.value),E(),T()}}}),E=()=>{k.style.setProperty("width",`${cv*wo}px`),k.style.setProperty("height",`${cv*nO*wo}px`)},R=M("dialog",{className:"calibrate",attrs:{"aria-labelledby":"calibrate-title"}},[M("h2",{id:"calibrate-title",className:"calibrate__title",text:v("app.proof.calibrate-title")}),M("p",{className:"calibrate__help",text:v("app.proof.calibrate-help")}),M("div",{className:"calibrate__bench"},[k]),M("div",{className:"slider"},[M("label",{className:"slider__label",text:v("app.proof.calibrate-scale"),attrs:{for:"calibrate-scale"}}),S]),M("div",{className:"calibrate__actions"},[de(v("app.proof.calibrate-reset"),{small:!0,onClick:()=>{wo=Rp,S.value=String(wo),E(),T()}}),de(v("app.proof.calibrate-done"),{primary:!0,small:!0,onClick:()=>R.close()})])]),C=de(v("app.proof.calibrate"),{small:!0,onClick:()=>{S.value=String(wo),E(),R.showModal()}}),A=M("div",{className:"proof__bar"},[x.root,w,C]),O=M("h2",{className:"sr-only",id:"proof-title",text:v("app.proof.label")}),D=M("div",{className:"proof__bar-host"},[A]),N=M("section",{className:"proof",attrs:{"aria-labelledby":"proof-title"}},[O,D,M("div",{className:"proof__desk"},[y]),b,n,t,R]);function T(){if(o===null)return;let X=o.scene.height/o.scene.width;u.style.setProperty("--ratio",String(X)),i?(u.style.setProperty("--true-width",`${o.widthMm*wo}px`),y.dataset.size="true"):y.dataset.size="fit",I()}function I(){if(o===null)return;let X=u.clientWidth,ne=u.clientHeight,me=o.widthMm*o.scene.height/o.scene.width;uv(d,X,o.widthMm,!0),uv(m,ne,me,!1)}typeof ResizeObserver=="function"&&new ResizeObserver(()=>I()).observe(u);function U(X,ne,me){if(ne===null||me){le(l,[]);return}let fe=ne.quietZone;l.setAttribute("viewBox",`0 0 ${X.width} ${X.height}`),le(l,[It("rect",{x:fe,y:fe,width:X.width-2*fe,height:X.height-2*fe,"vector-effect":"non-scaling-stroke"})])}function q(X,ne,me){let fe=[];X!==null&&(fe.push(v("app.proof.slug-version",{version:X.version})),fe.push(v("app.proof.slug-level",{level:X.ecLevel})),fe.push(v("app.proof.slug-modules",{width:X.modules[0],height:X.modules[1]})),fe.push(v("app.proof.slug-mask",{mask:X.mask}))),fe.push(v("app.proof.slug-width",{size:zn(ne)})),le(g,[M("span",{className:"proof__slug-label",text:me?v("app.proof.sample"):v("app.proof.label")}),...fe.map(ke=>M("span",{text:ke}))])}function H(X){o=X;for(let ne of r)ne(X)}let W=null,$=null;function be(X){let ne=X.symbol,me=X.design.effective,fe=null,ke=null,Oe;if(ne.status==="empty")Oe="sample",W!==me&&(W=me,$=lv(e.registries,me)),$!==null&&(fe={svg:$.svg,scene:$.scene,widthMm:Ap($.scene,null,X),sample:!0});else{Oe=ne.status,ke=ne.view;let ie=X.preview;ie!==null&&(fe={svg:ie.svg,scene:ie.scene,widthMm:Ap(ie.scene,ke,X),sample:!1})}fe===null?D2(a):Fr(a,fe.svg),Oe==="ok"&&(s==="sample"||s==="none")&&(u.classList.remove("proof__stage--printing"),u.offsetWidth,u.classList.add("proof__stage--printing")),s=Oe,u.dataset.state=Oe,u.dataset.ground=me.background===null?"transparent":"solid",Z(c,Oe==="stale"?v("app.proof.not-updated"):Oe==="sample"?v("app.proof.sample"):""),c.hidden=Oe==="ok",Oe==="sample"?(a.alt=v("app.proof.alt-sample"),Z(b,v("app.proof.sample-note")),b.hidden=!1):ke!==null&&(a.alt=sO(X,ke,Oe==="stale"),ne.status==="stale"?(Z(b,`${v("app.proof.not-updated")}. ${v(ne.issue.code,ne.issue.params??{})}`),b.hidden=!1):b.hidden=!0),fe!==null&&(U(fe.scene,ke,me.frame!==null),q(ke,fe.widthMm,fe.sample)),(o?.svg!==fe?.svg||o?.widthMm!==fe?.widthMm||o?.sample!==fe?.sample)&&H(fe),T()}return u.addEventListener("animationend",()=>u.classList.remove("proof__stage--printing")),{root:N,toolbar:A,update:be,current:()=>o,onDrawn(X){r.push(X)}}}var iO=["svg","png","pdf","eps","jpeg","webp"],ca={svg:"app.export.format-svg",png:"app.export.format-png",pdf:"app.export.format-pdf",eps:"app.export.format-eps",jpeg:"app.export.format-jpeg",webp:"app.export.format-webp"},aO={svg:"app.export.hint-svg",png:"app.export.hint-png",pdf:"app.export.hint-pdf",eps:"app.export.hint-eps",jpeg:"app.export.hint-jpeg",webp:"app.export.hint-webp"};function mv(e,t,n){let r={format:"png",sizing:"pixels",widthPx:null,sizeMm:null,dpi:null,colourSpace:null,bleedMm:0,cropMarks:!1,quality:.92};function o(){let T={};return(r.format==="png"||r.format==="jpeg"||r.format==="webp")&&(r.sizing==="pixels"&&r.widthPx!==null&&(T.widthPx=r.widthPx),r.sizing==="print"&&(r.sizeMm!==null&&(T.sizeMm=r.sizeMm),r.dpi!==null&&(T.dpi=r.dpi)),r.format!=="png"&&(T.quality=r.quality)),(r.format==="pdf"||r.format==="eps")&&(r.sizeMm!==null&&(T.sizeMm=r.sizeMm),r.colourSpace!==null&&(T.colourSpace=r.colourSpace)),r.format==="pdf"&&(r.bleedMm>0&&(T.bleedMm=r.bleedMm),r.cropMarks&&(T.cropMarks=!0)),T}function s(T){e.announce(yt(Fe(T)))}async function i(){let T=await e.studio.run({type:"export",format:r.format,options:o()});if(!T.ok){s(T.error);return}let I=_n(T.value.bytes,T.value.filename,T.value.mime);if(!I.ok){s(I.error);return}let U=T.value.issues.map(Ft);e.announce([v("app.export.saved",{filename:T.value.filename}),...U].join(" "))}async function a(){let T=await e.studio.run({type:"export",format:"png",options:{widthPx:1024}});if(!T.ok){s(T.error);return}let I=await Hy(T.value.bytes);I.ok?e.announce(v("app.export.copied-image")):s(I.error)}async function l(){let T=await e.studio.run({type:"export",format:"svg",options:{}});if(!T.ok){s(T.error);return}let I=await _o(new TextDecoder().decode(T.value.bytes));I.ok?e.announce(v("app.export.copied-svg")):s(I.error)}function c(){let T=t()?.current()??null;T===null||T.sample||(Fr(n,T.svg),n.style.setProperty("width",`${T.widthMm}mm`),n.alt=v("app.export.print-alt",{size:zn(T.widthMm)}))}function u(){c(),window.print()}window.addEventListener("beforeprint",c);let d=de(v("app.export.download-format",{format:v(ca.png)}),{icon:"download",primary:!0,onClick:()=>void i()}),m=de(v("app.export.copy-image"),{icon:"copy",onClick:()=>void a()}),f=de(v("app.export.copy-svg"),{icon:"copy",onClick:()=>void l()}),p=de(v("app.export.print"),{icon:"print",onClick:u}),h=M("div",{className:"proof__actions"},[d,m,f,p]),g=de(v("app.export.download-format",{format:v(ca.png)}),{icon:"download",primary:!0,onClick:()=>void i()}),y=M("span",{className:"dock__note"}),b=M("div",{className:"dock",attrs:{role:"region","aria-label":v("app.dock.label")}},[y,g]),x=M("p",{className:"note note--info"});x.hidden=!0;let w=M("p",{className:"field__hint"}),k=Ve(v("app.export.format"),iO.map(T=>({value:T,label:v(ca[T])})),T=>{r.format=T,A(),D()},"segments");k.set(r.format);let S=M("div",{className:"export__options"}),E=de(v("app.export.download"),{icon:"download",primary:!0,onClick:()=>void i()}),R=M("div",{className:"panel export"},[k.root,x,w,S,E]);function C(T,I,U,q,H){let W=M("input",{className:"input input--number",attrs:{type:"number",inputmode:"decimal",...q}}),$=I();return W.value=$===null?"":String($),W.addEventListener("change",()=>{let be=W.value.trim(),X=be===""?null:Number(be);U(X!==null&&Number.isFinite(X)?X:null)}),W.setAttribute("placeholder",v("app.export.automatic")),ct(T,W,H).root}function A(){let T=r.format,I=[];if(T==="png"||T==="jpeg"||T==="webp"){let q=Ve(v("app.export.size"),[{value:"pixels",label:v("app.export.size-pixels")},{value:"print",label:v("app.export.size-print")}],H=>{r.sizing=H,A()});if(q.set(r.sizing),I.push(q.root),r.sizing==="pixels"?I.push(C(v("app.export.width-px"),()=>r.widthPx,H=>{r.widthPx=H===null?null:Math.round(H)},{min:16,max:16384,step:1},v("app.export.width-px-hint"))):I.push(C(v("app.export.width-mm"),()=>r.sizeMm,H=>{r.sizeMm=H},{min:5,max:2e3,step:.5}),C(v("app.export.dpi"),()=>r.dpi,H=>{r.dpi=H},{min:72,max:2400,step:1})),T!=="png"){let H=or(v("app.export.quality"),{min:.5,max:1,step:.01},W=>oa(W),W=>{r.quality=W});H.set(r.quality),I.push(H.root)}}else if(T==="pdf"||T==="eps"){I.push(C(v("app.export.width-mm"),()=>r.sizeMm,H=>{r.sizeMm=H},{min:5,max:2e3,step:.5},v("app.export.width-mm-hint")));let q=Ve(v("app.export.colour-space"),[{value:"srgb",label:v("app.export.colour-srgb")},{value:"cmyk",label:v("app.export.colour-cmyk")}],H=>{r.colourSpace=H});if(q.set(r.colourSpace??e.snapshot().design.effective.output.colourSpace),I.push(q.root),T==="pdf"){I.push(C(v("app.export.bleed"),()=>r.bleedMm===0?null:r.bleedMm,W=>{r.bleedMm=W??0},{min:0,max:50,step:.5}));let H=M("input",{attrs:{type:"checkbox"},on:{change:()=>{r.cropMarks=H.checked}}});H.checked=r.cropMarks,I.push(M("label",{className:"tick"},[H,M("span",{text:v("app.export.crop-marks")})]))}}le(S,I),S.hidden=I.length===0}A();let O=null;function D(){let T=v("app.export.download-format",{format:v(ca[r.format])});rr(d,T),rr(g,T),Z(w,v(aO[r.format])),O!==null&&N(O)}D();function N(T){O=T;let I=T.symbol.status==="ok";for(let H of[d,m,f,p,g,E])H.disabled=!I;let U=T.preview?.epsIssues??[],q=k.inputs().find(H=>H.value==="eps");q!==void 0&&(q.disabled=U.length>0),x.hidden=U.length===0,U.length>0&&(Z(x,U.map(Ft).join(" ")),r.format==="eps"&&(r.format="pdf",k.set("pdf"),A(),D())),Z(y,I?v(T.form.labelKey):T.symbol.status==="stale"?v("app.proof.not-updated"):v("app.proof.sample"))}return{panel:{root:R,update:N,meta:()=>v(ca[r.format])},actions:h,dock:b,download:i,print:u}}var lO=5,cO=15;function ko(e,t,n){let r={"camera/permission-denied":"The camera is not allowed for this page. Allow it in the browser settings, or choose a picture instead.","camera/unavailable":"No camera could be opened. Choose a picture instead.","camera/in-use":"The camera is in use by another app or tab. Close it there, then try again.","camera/insecure-context":"The camera only works on a secure page. Open this page over https, or choose a picture instead."};return new K(e,r[e],{reason:t},n===void 0?void 0:{cause:n})}function uO(e){switch(e?.name){case"NotAllowedError":case"SecurityError":case"PermissionDeniedError":return ko("camera/permission-denied","denied",e);case"NotFoundError":case"DevicesNotFoundError":return ko("camera/unavailable","no-device",e);case"OverconstrainedError":case"ConstraintNotSatisfiedError":return ko("camera/unavailable","constraints",e);case"NotReadableError":case"TrackStartError":case"AbortError":return ko("camera/in-use","in-use",e);default:return ko("camera/unavailable","no-api",e)}}function dO(e){let t={width:{ideal:1920},height:{ideal:1080}};return e.deviceId!==void 0?{deviceId:{exact:e.deviceId},...t}:{facingMode:e.facingMode??"environment",...t}}async function mO(e,t){try{return await e({video:dO(t),audio:!1})}catch(n){let r=n?.name;if(r!=="OverconstrainedError"&&r!=="ConstraintNotSatisfiedError")throw n;return e({video:!0,audio:!1})}}var Ip=0;function fv(e){for(let t of e.getTracks())t.stop()}function pv(){return typeof navigator<"u"&&navigator.mediaDevices?.getUserMedia!==void 0?e=>navigator.mediaDevices.getUserMedia(e):void 0}function fO(){if(!(typeof document>"u"))return e=>{let t=()=>{document.visibilityState==="hidden"&&e()};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)}}function pO(){return typeof requestAnimationFrame=="function"?{request:requestAnimationFrame,cancel:cancelAnimationFrame}:{request:e=>setTimeout(e,16),cancel:e=>clearTimeout(e)}}async function hv(e){let t=e.deps??{};if(!(t.isSecureContext??(typeof isSecureContext=="boolean"?isSecureContext:!1)))return Y(ko("camera/insecure-context","insecure"));let r=t.getUserMedia??pv();if(r===void 0)return Y(ko("camera/unavailable","no-api"));let o=t.now??(()=>Date.now()),s=t.requestFrame===void 0||t.cancelFrame===void 0?pO():null,i=t.requestFrame??s.request,a=t.cancelFrame??s.cancel,l=e.decode??(U=>Tr(U,{...e.decodeOptions,budget:{maxAttempts:lO,...e.decodeOptions?.budget}},e.symbologies));e.onStatus?.({state:"requesting"});let c=Ip+=1,u;try{u=await mO(r,e)}catch(U){return e.onStatus?.({state:"stopped"}),Y(uO(U))}let d=()=>(fv(u),e.video.srcObject===u&&(e.video.srcObject=null),ae({stop:()=>{},stopped:!0,superseded:!0}));if(c!==Ip)return d();e.video.srcObject=u;try{await e.video.play()}catch{}if(c!==Ip)return d();let m=e.video,f=u.getVideoTracks()[0],p=D0({maxPixels:e.maxPixels??Dm,...t.createCanvas===void 0?{}:{createCanvas:t.createCanvas}}),h=1e3/(e.scansPerSecond??cO),g=typeof m.requestVideoFrameCallback=="function",y=[],b=!1,x=null,w=!1,k=Number.NEGATIVE_INFINITY,S=0,E=()=>{x!==null&&(g?m.cancelVideoFrameCallback?.(x):a(x),x=null)},R=()=>{if(!b){b=!0,E(),fv(u),m.srcObject===u&&(m.srcObject=null);for(let U of y)U();e.onStatus?.({state:"stopped"})}},C=()=>{x=g?m.requestVideoFrameCallback.call(m,O):i(O)},A=(U,q)=>{w=!1,k=o(),S=k-U,!b&&q.ok&&q.value.length>0&&e.onResult(q.value)};function O(){if(x=null,b||(C(),w||o()-k<Math.max(h,S)))return;let U=o(),q=p(m);if(!q.ok)return;w=!0;let H;try{H=l(q.value)}catch{A(U,ae([]));return}typeof H.then=="function"?H.then(W=>A(U,W),()=>A(U,ae([]))):A(U,H)}f!==void 0&&typeof f.addEventListener=="function"&&(f.addEventListener("ended",R),y.push(()=>f.removeEventListener("ended",R)));let D={stop:R,get stopped(){return b},superseded:!1},T=(t.addVisibilityListener??fO())?.(R);if(T!==void 0&&y.push(T),b)return T?.(),ae(D);let I=f!==void 0&&typeof f.getSettings=="function"?f.getSettings():null;return e.onStatus?.({state:"live",settings:I}),C(),ae(D)}function Pp(e={}){return(e.isSecureContext??(typeof isSecureContext=="boolean"?isSecureContext:!1))&&(e.getUserMedia??pv())!==void 0}function hO(e,t){let n=e.snapshot().catalogue.symbologies.find(r=>r.id===t);return n===void 0?t:v(n.labelKey)}function gv(e){let t=M("video",{className:"viewfinder__video",attrs:{playsinline:!0,muted:!0,autoplay:!0,"aria-hidden":"true"}});t.muted=!0;let n=It("svg",{class:"viewfinder__outline","aria-hidden":"true",preserveAspectRatio:"xMidYMid meet"}),r=M("p",{className:"viewfinder__status"}),o=M("div",{className:"viewfinder"},[t,n,M("span",{className:"viewfinder__frame",attrs:{"aria-hidden":"true"}})]);o.dataset.live="false";let s=null,i=de(v("app.scan.camera-start"),{icon:"camera",primary:!0,onClick:()=>{s!==null&&!s.stopped?a():l()}});function a(){s?.stop(),s=null,o.dataset.live="false",le(n,[]),rr(i,v("app.scan.camera-start"))}async function l(){if(!Pp()){Z(r,v("app.scan.camera-unavailable")),o.dataset.live="refused";return}Z(r,v("app.scan.camera-requesting"));let T=await hv({video:t,symbologies:e.registries.symbologies,onStatus:I=>{I.state==="live"?(o.dataset.live="true",Z(r,v("app.scan.camera-live")),rr(i,v("app.scan.camera-stop"))):I.state==="stopped"&&(o.dataset.live="false",rr(i,v("app.scan.camera-start")))},onResult:I=>{c(I),a(),Z(r,v("app.scan.camera-read")),A(I)}});if(!T.ok){o.dataset.live="refused",Z(r,`${yt(Fe(T.error))} ${v("app.scan.camera-fallback")}`);return}T.value.superseded||(s=T.value)}function c(T){t.videoWidth!==0&&(n.setAttribute("viewBox",`0 0 ${t.videoWidth} ${t.videoHeight}`),le(n,T.map(I=>It("polygon",{points:I.corners.map(U=>`${U.x},${U.y}`).join(" ")}))))}let u=M("input",{attrs:{type:"file",accept:"image/*"}});u.hidden=!0,u.addEventListener("change",()=>{let T=u.files?.[0];u.value="",T!==void 0&&N(T)});let d=de(v("app.scan.choose"),{icon:"image",onClick:()=>u.click()}),m=M("div",{className:"dropzone",attrs:{role:"group","aria-label":v("app.scan.drop")}},[lt("image","dropzone__icon"),M("p",{className:"dropzone__text",text:v("app.scan.drop")}),d,M("p",{className:"field__hint",text:v("app.scan.paste-hint")}),u]);m.addEventListener("dragover",T=>{T.preventDefault(),m.dataset.over="true"}),m.addEventListener("dragleave",()=>{m.dataset.over="false"}),m.addEventListener("drop",T=>{T.preventDefault(),T.stopPropagation(),m.dataset.over="false";let I=T.dataTransfer?.files[0];I!==void 0&&N(I)});let f=M("p",{className:"results__status"}),p=M("ol",{className:"results__list"}),h=de(v("app.scan.clear"),{small:!0,onClick:()=>{le(p,[]),Z(f,v("app.scan.nothing-yet")),h.hidden=!0}});h.hidden=!0;let g=M("section",{className:"results",attrs:{"aria-labelledby":"results-title"}},[M("div",{className:"results__head"},[M("h2",{className:"results__title",id:"results-title",text:v("app.scan.results")}),h]),f,p]);Z(f,v("app.scan.nothing-yet"));let y=M("div",{className:"scan"},[M("div",{className:"scan__intro"},[M("h2",{className:"mode__title",text:v("app.scan.title")}),M("p",{className:"mode__lede",text:v("app.scan.intro")})]),M("div",{className:"scan__grid"},[M("div",{className:"card card--static scan__inputs"},[M("div",{className:"card__body"},[o,M("div",{className:"viewfinder__controls"},[i,r]),m])]),g])]);Pp()||(Z(r,v("app.scan.camera-unavailable")),o.dataset.live="refused");function b(T){e.dispatch({type:"payload/raw",text:T});let I=e.snapshot();if(I.refusal?.action==="payload/raw"){e.announce(I.refusal.issues.map(U=>v(U.code,U.params??{})).join(" "));return}e.dispatch({type:"mode",mode:"create"}),e.announce(v("app.scan.remade"))}function x(T){return M("pre",{className:"results__text",attrs:{tabindex:0}},[T])}function w(T,I,U){let q=[M("p",{className:"results__symbol",text:v("app.scan.symbol",{symbology:hO(e,T.symbology),version:T.version,level:T.ecLevel})})];if(T.part!==null&&q.push(M("p",{className:"tag",text:v("app.scan.part",{index:T.part.index+1,total:T.part.total})})),I!==null&&I.payload!==null){let H=I.payload,W=e.registries.payloads.get(H.typeId);if(q.push(M("h3",{className:"notes__title",text:v("app.scan.type")})),q.push(M("p",{className:"results__type",text:W===void 0?H.typeId:v(W.labelKey)})),W!==void 0){q.push(M("p",{className:"field__hint",text:v(W.actionKey)}));let $=[];for(let be of W.fields){let X=H.value[be.key],ne=Array.isArray(X)?X.filter(me=>me!=="").join(", "):X==null||X===!1?"":String(X);ne!==""&&($.push(M("dt",{text:v(be.labelKey)})),$.push(be.kind==="secret"?M("dd",{},[k(ne)]):M("dd",{className:"results__value",text:ne})))}$.length>0&&q.push(M("dl",{className:"facts"},$))}}if(I?.safety!==null&&I?.safety!==void 0){let H=I.safety;H.displayHost!==null&&(q.push(M("h3",{className:"notes__title",text:v("app.scan.destination")})),q.push(M("p",{className:"results__host",text:H.unicodeHost??H.displayHost})),H.unicodeHost!==null&&H.unicodeHost!==H.displayHost&&q.push(M("p",{className:"field__hint",text:v("app.scan.host-ascii",{host:H.displayHost})}))),q.push(M("h3",{className:"notes__title",text:v("app.scan.safety")})),q.push(H.findings.length===0?M("p",{className:"note note--info",text:v("app.scan.safety-none")}):M("ul",{className:"notes__list"},H.findings.map(W=>M("li",{className:`note note--${W.severity==="danger"?"error":W.severity==="caution"?"warning":"info"}`},[lt(W.severity==="danger"?"fail":"warn"),M("span",{text:v(iu(W.code),W.params??{})})]))))}return q.push(M("h3",{className:"notes__title",text:v("app.scan.text")})),q.push(x(T.text)),U&&q.push(M("p",{className:"note note--info",text:v("app.scan.inspect-unavailable")})),q.push(M("div",{className:"results__actions"},[de(v("app.scan.remake"),{primary:!0,small:!0,onClick:()=>b(T.text)}),de(v("app.scan.copy-text"),{small:!0,icon:"copy",onClick:async()=>{let H=await _o(T.text);e.announce(H.ok?v("app.scan.copied"):yt(Fe(H.error)))}})])),M("li",{className:"card card--static results__card"},[M("div",{className:"card__body"},q)])}function k(T){let I=M("span",{className:"results__value results__value--secret",text:"\u25CF".repeat(Math.min(12,T.length))}),U=!1,q=de(v("app.content.show-secret"),{small:!0,icon:"eye",attrs:{"aria-pressed":"false"},onClick:()=>{U=!U,Z(I,U?T:"\u25CF".repeat(Math.min(12,T.length))),q.setAttribute("aria-pressed",String(U))}});return M("span",{className:"results__secret"},[I,q])}function S(T){h.hidden=!1,le(p,[]),Z(f,yt(T)),e.announce(yt(T))}function E(T,I,U){h.hidden=!1;let q=T.length===1?v("app.scan.found-one"):v("app.scan.found-many",{count:T.length});Z(f,q),le(p,T.map(H=>w(H,I,U))),e.announce(q),p.querySelector("h3, .results__symbol")?.scrollIntoView?.({block:"nearest"})}function R(T){return T.map(I=>({text:I.read.bitstream.text,symbology:I.symbology,version:I.read.version,ecLevel:I.read.ecLevel,part:I.read.bitstream.structuredAppend}))}function C(T){return T.symbols.map(I=>({text:I.text,symbology:I.symbology,version:I.version,ecLevel:I.ecLevel,part:I.structuredAppend}))}async function A(T){let I=T.map(q=>q.read.bitstream.text).join(""),U=await e.studio.run({type:"inspect/text",text:I});U.ok?E(R(T),U.value,!1):E(R(T),null,O(Fe(U.error)))}function O(T){return T.code==="platform/unavailable"&&T.params.feature==="inspect"}async function D(T){Z(f,v("app.scan.reading"));let I=await e.studio.run({type:"inspect/image",image:T});if(I.ok){I.value.symbols.length===0?S(Fe(yv())):E(C(I.value),I.value,!1);return}let U=Fe(I.error);if(!O(U)){S(U);return}let q=Tr(T,{},e.registries.symbologies);if(!q.ok){S(Fe(q.error));return}if(q.value.length===0){S(Fe(yv()));return}E(R(q.value),null,!0)}async function N(T){Z(f,v("app.scan.reading"));let I=await io(T);if(!I.ok){S(Fe(I.error));return}await D(I.value)}return document.addEventListener("paste",T=>{e.snapshot().document.mode==="scan"&&O0(T).then(I=>{I.ok?I.value!==null&&D(I.value):S(Fe(I.error))})}),{root:y,readBlob:N,stopCamera:a,update(T){T.document.mode!=="scan"&&s!==null&&a()}}}function yv(){return new K("decode/not-found","No code was found in this picture.")}var zr=["create","scan","bulk"];function kv(e,t){let n=e.replace(/^#/,"");try{n=decodeURIComponent(n)}catch{}let r=null,o=null,s=null;for(let i of n.split(/[/&]/)){let a=i.replace(/^(?:mode|type|design)=/,"");a.startsWith("v1.")?r=a:zr.includes(a)?o=a:a!==""&&t(a)&&(s=a)}return{design:r,mode:o,typeId:s}}var zs=Jl(),vv=Jy({registries:zs}),Sv=e=>{let t=zs.payloads.get(e);return t!==void 0&&t.generate!==!1},vo=kv(location.hash,Sv),Dp=null;function yO(){if(vo.mode===null&&vo.typeId===null)return vo.design??void 0;let e;if(vo.design!==null)try{e=yi(vo.design,zs.design)}catch{Dp=v("studio.issue.design-link")}return{mode:vo.mode??"create",typeId:vo.typeId??"url",fields:{},...e===void 0?{}:{design:e},conditions:eo}}var ut=mp({registries:zs,library:vv,rasterEncoder:j0(),initial:yO()}),Fs=M("p",{className:"toast",attrs:{role:"status","aria-live":"polite"}});Fs.dataset.shown="false";var Cp=null,We={studio:ut,registries:zs,library:vv,dispatch:e=>ut.dispatch(e),snapshot:()=>ut.getSnapshot(),announce(e){Fs.textContent="",Fs.dataset.shown="true",requestAnimationFrame(()=>{Fs.textContent=e}),Cp!==null&&clearTimeout(Cp),Cp=setTimeout(()=>{Fs.dataset.shown="false"},6e3)}};rn("version").textContent="0.1.1";rn("font-licence").textContent=cy;Z(rn("about-title"),v("app.about.title"));Z(rn("facts-title"),v("app.about.facts"));Z(rn("version-label"),v("app.about.version"));Z(rn("source-label"),v("app.about.source"));Z(rn("licence-title"),v("app.about.licence"));Z(rn("licence-intro"),v("app.about.licence-intro"));Z(rn("check-it"),v("app.about.check"));rn("about-title").parentElement?.appendChild(lt("chevron","card__chevron"));var Mv=M("img",{className:"print-sheet__img",attrs:{alt:""}});document.body.appendChild(M("div",{className:"print-sheet"},[Mv]));var Fp=M("div",{className:"strip-host"}),Up=M("div",{className:"actions-host"}),Ev=null,Us=mv(We,()=>Ev,Mv),Mo=dv(We,Up,Fp);Ev=Mo;var uu=z2(We,Mo);Fp.appendChild(uu.root);Up.appendChild(Us.actions);function Tv(){ut.getSnapshot().history.canUndo&&(ut.dispatch({type:"history/undo"}),We.announce(v("app.history.undone")))}function jp(){ut.getSnapshot().history.canRedo&&(ut.dispatch({type:"history/redo"}),We.announce(v("app.history.redone")))}var Rv=de(v("app.history.undo"),{icon:"undo",small:!0,attrs:{"aria-keyshortcuts":"Control+Z Meta+Z","aria-label":v("app.history.undo")},onClick:Tv}),Av=de(v("app.history.redo"),{icon:"redo",small:!0,attrs:{"aria-keyshortcuts":"Control+Shift+Z Meta+Shift+Z","aria-label":v("app.history.redo")},onClick:jp}),gO=de(v("app.link.copy"),{icon:"link",small:!0,attrs:{"aria-label":v("app.link.copy")},onClick:async()=>{let e=await ut.run({type:"design-link"});if(!e.ok){We.announce(v("error.design.invalid"));return}let t=`#${e.value.link}`,n=await _o(t);We.announce(n.ok?[v("app.link.copied"),...e.value.issues.map(Ft)].join(" "):v("app.link.copy-failed"))}}),bO={create:"app.mode.create",scan:"app.mode.scan",bulk:"app.mode.bulk"},xO={create:"app.mode.create-hint",scan:"app.mode.scan-hint",bulk:"app.mode.bulk-hint"},Iv=zr.map(e=>{let t=M("button",{className:"tab",id:`tab-${e}`,attrs:{type:"button",role:"tab","aria-controls":`panel-${e}`},on:{click:()=>ut.dispatch({type:"mode",mode:e}),keydown:n=>{let r=zr.indexOf(e),o=-1;if(n.key==="ArrowRight"||n.key==="ArrowDown"?o=(r+1)%zr.length:n.key==="ArrowLeft"||n.key==="ArrowUp"?o=(r+zr.length-1)%zr.length:n.key==="Home"?o=0:n.key==="End"&&(o=zr.length-1),o===-1)return;n.preventDefault();let s=zr[o];ut.dispatch({type:"mode",mode:s}),document.getElementById(`tab-${s}`)?.focus()}}},[M("span",{className:"tab__label",text:v(bO[e])}),M("span",{className:"tab__hint",text:v(xO[e])})]);return{mode:e,tab:t}}),wO=M("header",{className:"masthead"},[M("div",{className:"masthead__words"},[M("p",{className:"eyebrow",text:v("app.masthead.eyebrow")}),M("h1",{className:"masthead__title",text:v("app.masthead.title")}),M("p",{className:"masthead__lede",text:v("app.masthead.lede")})]),M("div",{className:"masthead__tools"},[M("div",{className:"tabs",attrs:{role:"tablist","aria-label":v("app.mode.label")}},Iv.map(e=>e.tab)),M("div",{className:"tools",attrs:{role:"group","aria-label":v("app.tools.label")}},[Rv,Av,gO])])]),Np=G2(We),kO={root:Np.root,update:Np.update,meta:Np.meta},bv=on(2,v("app.section.style"),!0,"card-style"),Bp=av(We,e=>cu(We,e)),ma=[{card:on(1,v("app.section.content"),!0,"card-content"),panel:kO},{card:bv,panel:Z2(We,bv.root)},{card:on(3,v("app.section.modules"),!1,"card-modules"),panel:J2(We)},{card:on(4,v("app.section.eyes"),!1,"card-eyes"),panel:nv(We)},{card:on(5,v("app.section.colour"),!1,"card-colour"),panel:rv(We)},{card:on(6,v("app.section.logo"),!1,"card-logo"),panel:ov(We)},{card:on(7,v("app.section.frame"),!1,"card-frame"),panel:sv(We)},{card:on(8,v("app.section.print"),!1,"card-print"),panel:iv(We)},{card:on(9,v("app.section.check"),!1,"card-check"),panel:V2(We)},{card:on(10,v("app.section.export"),!1,"card-export"),panel:Us.panel},{card:on(11,v("app.section.library"),!1,"card-library"),panel:Bp}];for(let e of ma)e.card.body.appendChild(e.panel.root);var ua=M("div",{className:"notice",attrs:{role:"alert"}});ua.hidden=!0;var Pv=M("span",{className:"proof-sentinel",attrs:{"aria-hidden":"true"}}),So=M("div",{className:"create__proof"},[Mo.root]);So.dataset.compact="false";var zp=M("span",{className:"proof-spacer",attrs:{"aria-hidden":"true"}}),Cv=M("section",{className:"mode",id:"panel-create",attrs:{role:"tabpanel","aria-labelledby":"tab-create"}},[Pv,M("div",{className:"create"},[M("div",{className:"create__controls"},[ua,...ma.map(e=>e.card.root)]),So,zp])]),Vp=window.matchMedia("(max-width: 699px)");typeof IntersectionObserver=="function"&&new IntersectionObserver(([e])=>{let t=Vp.matches&&e!==void 0&&!e.isIntersecting&&e.boundingClientRect.top<0;if(String(t)===So.dataset.compact)return;let n=So.offsetHeight;So.dataset.compact=String(t);let r=So.offsetHeight;zp.style.setProperty("height",t?`${Math.max(0,n-r)}px`:"0px")}).observe(Pv);var Lp=e=>ma.find(t=>t.card.root.id===e)?.card,vO=Mo.toolbar.parentElement;function Nv(){Vp.matches?(Lp("card-check")?.body.prepend(uu.root),Lp("card-export")?.body.appendChild(Us.actions),Lp("card-print")?.body.prepend(Mo.toolbar)):(Fp.appendChild(uu.root),Up.appendChild(Us.actions),vO.appendChild(Mo.toolbar),So.dataset.compact="false",zp.style.setProperty("height","0px"))}Nv();Vp.addEventListener("change",Nv);var du=gv(We),qp=L2(We),Lv=M("section",{className:"mode",id:"panel-scan",attrs:{role:"tabpanel","aria-labelledby":"tab-scan"}},[du.root]),Ov=M("section",{className:"mode",id:"panel-bulk",attrs:{role:"tabpanel","aria-labelledby":"tab-bulk"}},[qp.root]),SO={create:Cv,scan:Lv,bulk:Ov},fa=M("div",{className:"veil",attrs:{"aria-hidden":"true"}},[M("div",{className:"veil__card"},[M("p",{className:"veil__title",text:v("app.drop.title")}),M("p",{className:"veil__text",text:v("app.drop.text")})])]);fa.dataset.shown="false";le(rn("app"),[wO,Cv,Lv,Ov]);document.body.appendChild(Us.dock);document.body.appendChild(Fs);document.body.appendChild(fa);var da=0,Dv=e=>[...e.dataTransfer?.types??[]].includes("Files");window.addEventListener("dragenter",e=>{Dv(e)&&(da+=1,fa.dataset.shown="true")});window.addEventListener("dragleave",()=>{da=Math.max(0,da-1),da===0&&(fa.dataset.shown="false")});window.addEventListener("dragover",e=>{Dv(e)&&e.preventDefault()});window.addEventListener("drop",()=>{da=0,fa.dataset.shown="false"},!0);window.addEventListener("drop",e=>{e.preventDefault();let t=e.dataTransfer?.files[0];t!==void 0&&MO(t)});async function MO(e){let t=e.name.toLowerCase();if(t.endsWith(wi)){await Bp.openFile(e);return}if(t.endsWith(".json")||e.type==="application/json"){await Bp.openDesign(e);return}if(e.type.startsWith("image/")){ut.dispatch({type:"mode",mode:"scan"}),await du.readBlob(e);return}if(/\.(csv|tsv|txt)$/.test(t)||e.type==="text/csv"){ut.dispatch({type:"mode",mode:"bulk"}),await qp.readFile(e);return}We.announce(v("app.drop.unknown"))}document.addEventListener("keydown",e=>{if(!(e.metaKey||e.ctrlKey)||e.altKey||N2(e.target))return;let t=e.key.toLowerCase();t==="z"?(e.preventDefault(),e.shiftKey?jp():Tv()):t==="y"&&e.ctrlKey&&!e.metaKey&&(e.preventDefault(),jp())});window.addEventListener("hashchange",()=>{let e=kv(location.hash,Sv);if(e.mode!==null&&ut.dispatch({type:"mode",mode:e.mode}),e.typeId!==null&&ut.dispatch({type:"payload/type",typeId:e.typeId}),e.design!==null)try{let t=yi(e.design,zs.design);ut.dispatch({type:"design/replace",design:t}),We.announce(v("app.design.applied"))}catch{We.announce(v("studio.issue.design-link"))}});var xv=null,wv=null;function jv(){let e=ut.getSnapshot(),t=e.document.mode;if(t!==xv){xv=t,document.body.dataset.mode=t;for(let{mode:r,tab:o}of Iv){let s=r===t;o.setAttribute("aria-selected",String(s)),o.tabIndex=s?0:-1,SO[r].hidden=!s}}if(Rv.disabled=!e.history.canUndo,Av.disabled=!e.history.canRedo,e.refusal!==wv){wv=e.refusal;let r=e.refusal;r===null||r.issues.length===0?ua.hidden=!0:(Z(ua,r.issues.map(Ft).join(" ")),ua.hidden=!1)}if(t==="create"){Mo.update(e),uu.update(e);for(let r of ma)r.card.root.open&&r.panel.update(e),Z(r.card.meta,r.panel.meta(e))}Us.panel.update(e);let n=[du,qp];for(let r of n)r.update(e)}for(let e of ma)e.card.root.addEventListener("toggle",()=>{e.card.root.open&&e.panel.update(ut.getSnapshot())});var Op=!1;ut.subscribe(()=>{Op||(Op=!0,queueMicrotask(()=>{Op=!1,jv()}))});jv();ut.dispatch({type:"verify/request"});Dp!==null&&We.announce(Dp);window.addEventListener("pagehide",()=>{du.stopCamera()});})();
188
+ </script>
189
+ </body>
190
+ </html>