@infuro/cms-core 1.0.67 → 1.0.69

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 (150) hide show
  1. package/dist/{OrderTrackPage-W3J6WIG2.js → OrderTrackPage-VBZUVZOU.js} +1 -1
  2. package/dist/{OrderTrackPage-Z6FCJQYY.cjs → OrderTrackPage-VFIXWJOW.cjs} +4 -4
  3. package/dist/admin.cjs +121 -12
  4. package/dist/admin.js +121 -12
  5. package/dist/api.cjs +57 -54
  6. package/dist/api.js +24 -21
  7. package/dist/auth.cjs +62 -62
  8. package/dist/auth.js +6 -6
  9. package/dist/{chunk-XJNNOSJR.js → chunk-2BNVRFUQ.js} +1 -1
  10. package/dist/chunk-2JHGIWH7.cjs +2700 -0
  11. package/dist/{chunk-3DZRIZOD.cjs → chunk-3ASNJS2H.cjs} +3 -3
  12. package/dist/{chunk-7NMT3GBR.cjs → chunk-3LQS4ATQ.cjs} +4 -4
  13. package/dist/{chunk-GWDI752Q.js → chunk-3XCTGADT.js} +1 -1
  14. package/dist/chunk-47G65M5Q.cjs +18 -0
  15. package/dist/{chunk-XFDIIVZB.cjs → chunk-4MNVIGVJ.cjs} +11 -11
  16. package/dist/{chunk-OY2YTBMP.cjs → chunk-4WZNRVEZ.cjs} +3 -3
  17. package/dist/{chunk-OVTOP42W.js → chunk-53AMBXMM.js} +1 -1
  18. package/dist/chunk-5BKT4CS5.js +28 -0
  19. package/dist/chunk-5DSY3GQI.js +16 -0
  20. package/dist/{chunk-AYERBA7I.js → chunk-5NVGWJSY.js} +1 -1
  21. package/dist/{chunk-HF3L2GIT.cjs → chunk-5YMKJ3TH.cjs} +16 -16
  22. package/dist/{chunk-WFMVD567.cjs → chunk-6MM5OMRL.cjs} +11 -11
  23. package/dist/{chunk-5MZFQRDW.cjs → chunk-747MJJCZ.cjs} +147 -147
  24. package/dist/{chunk-SYBOCAWB.js → chunk-7QJI56OL.js} +1 -1
  25. package/dist/{chunk-DBPSJYLZ.js → chunk-BK5XW5XH.js} +1 -1
  26. package/dist/chunk-BQQMTQ4C.cjs +455 -0
  27. package/dist/{chunk-6YOQ7G5O.js → chunk-CFUSYGSA.js} +1 -1
  28. package/dist/{chunk-OOTLNH63.cjs → chunk-CIZZX57T.cjs} +2 -2
  29. package/dist/{chunk-7L6KWI7S.cjs → chunk-CTTV375J.cjs} +13 -13
  30. package/dist/{chunk-ZY64VJMS.js → chunk-D4LR3S77.js} +2 -2
  31. package/dist/{chunk-GLLCLRCQ.js → chunk-DBBYLSQP.js} +179 -49
  32. package/dist/{chunk-5NOZSG6J.js → chunk-DWNQTFJ5.js} +2 -2
  33. package/dist/{chunk-2IAXTKQN.cjs → chunk-DZNWS2MM.cjs} +2 -2
  34. package/dist/chunk-E62LKM6Z.cjs +49 -0
  35. package/dist/{chunk-CRFV5WJK.js → chunk-ECNYZG6T.js} +1 -1
  36. package/dist/{chunk-TZEMLHSP.cjs → chunk-EYUBL7YH.cjs} +7 -7
  37. package/dist/{chunk-WMMZZRDJ.cjs → chunk-HGR4IA7I.cjs} +18 -18
  38. package/dist/{chunk-TJ2MIQUT.cjs → chunk-JRW3GQD4.cjs} +4 -4
  39. package/dist/{chunk-3K5AIEIZ.js → chunk-JYRFSFXH.js} +1 -1
  40. package/dist/chunk-K6RXCLD5.js +45 -0
  41. package/dist/{chunk-TU23GJPJ.js → chunk-LJ5C4RBF.js} +3 -3
  42. package/dist/{chunk-O4AFPDQ4.cjs → chunk-LXWF6T7F.cjs} +33 -33
  43. package/dist/{chunk-EIZKW2PF.js → chunk-LY7CDNC6.js} +1 -1
  44. package/dist/{chunk-PA6YDMFZ.cjs → chunk-M5QDJOUP.cjs} +12 -12
  45. package/dist/{chunk-MQBT33IV.js → chunk-MGT4DJ2D.js} +1 -1
  46. package/dist/{chunk-2ISSXYBZ.js → chunk-MJDNS324.js} +5 -5
  47. package/dist/{chunk-H3IVLIPR.cjs → chunk-OXFC3DAM.cjs} +4 -4
  48. package/dist/chunk-PQJIJ4ZX.js +445 -0
  49. package/dist/{chunk-HY3AXLOI.cjs → chunk-PRXVSSIF.cjs} +13 -13
  50. package/dist/{chunk-TDV6EJHV.js → chunk-PRZOLCFW.js} +2 -2
  51. package/dist/{chunk-BVLN75LP.cjs → chunk-QL44NCZC.cjs} +1221 -1091
  52. package/dist/{chunk-VM6OVUUM.cjs → chunk-QN6PZLAP.cjs} +40 -40
  53. package/dist/{chunk-OV5TRZET.cjs → chunk-QXAQ3V7R.cjs} +27 -27
  54. package/dist/{chunk-NV5IRHI3.js → chunk-RBKVMHBH.js} +9 -9
  55. package/dist/{chunk-UPLVMVRX.cjs → chunk-RQCXRCYM.cjs} +2 -2
  56. package/dist/{chunk-WUQAOTHA.js → chunk-SERRQ736.js} +1 -1
  57. package/dist/{chunk-SS3K7OIM.cjs → chunk-SWSTGV4F.cjs} +81 -81
  58. package/dist/{chunk-RCE5SJBA.js → chunk-T47VP2ZT.js} +3 -3
  59. package/dist/{chunk-FLUF2GZH.js → chunk-WHMIWJL7.js} +1 -1
  60. package/dist/{chunk-JC6DLWTE.js → chunk-WQZ4AH2P.js} +1 -1
  61. package/dist/{chunk-D5FBNKQM.cjs → chunk-WXH3GMCF.cjs} +8 -8
  62. package/dist/chunk-XHPRD45G.cjs +32 -0
  63. package/dist/{chunk-THL5JDWJ.cjs → chunk-Y54WDY2O.cjs} +2 -2
  64. package/dist/{chunk-YRCKEGL2.js → chunk-YDMHG6BA.js} +1 -1
  65. package/dist/chunk-YHVA5NHI.js +2698 -0
  66. package/dist/{chunk-JXF23MPG.js → chunk-ZMIMKNSQ.js} +1 -1
  67. package/dist/cli.cjs +10 -10
  68. package/dist/cli.js +1 -1
  69. package/dist/email-queue-BJDH2ID7.cjs +29 -0
  70. package/dist/email-queue-MWP4R67H.js +8 -0
  71. package/dist/email-service-6JODEMUA.js +3 -0
  72. package/dist/email-service-VA4Q4ZRB.cjs +28 -0
  73. package/dist/emit-order-notification-trigger-X36V4DOH.cjs +16 -0
  74. package/dist/emit-order-notification-trigger-XKN2TWVF.js +3 -0
  75. package/dist/erp-config-enabled-32XTHBBT.cjs +11 -0
  76. package/dist/erp-config-enabled-CASE5YVI.js +2 -0
  77. package/dist/erp-order-invoice-5O42ZKC5.cjs +28 -0
  78. package/dist/erp-order-invoice-JEQKFXG4.js +7 -0
  79. package/dist/{event-order-defaults-DU7V3YND.cjs → event-order-defaults-TR45WAQQ.cjs} +10 -10
  80. package/dist/{event-order-defaults-H4RT7NMR.js → event-order-defaults-VXYO6NHT.js} +2 -2
  81. package/dist/generate-local-invoice-pdf-2NCA2WBL.cjs +12 -0
  82. package/dist/generate-local-invoice-pdf-XUH6GYEJ.js +3 -0
  83. package/dist/hooks.cjs +24 -24
  84. package/dist/hooks.js +2 -2
  85. package/dist/index.cjs +497 -494
  86. package/dist/index.d.cts +7 -1
  87. package/dist/index.d.ts +7 -1
  88. package/dist/index.js +39 -36
  89. package/dist/interpolate-KD37IRF2.js +2 -0
  90. package/dist/interpolate-WP6OSJHN.cjs +11 -0
  91. package/dist/invoice-templates-2ESQ7K4N.cjs +19 -0
  92. package/dist/invoice-templates-3AXTXERZ.js +2 -0
  93. package/dist/middleware.cjs +4 -4
  94. package/dist/middleware.js +2 -2
  95. package/dist/{order-assignees-handlers-L3RVKUBS.js → order-assignees-handlers-F7WOZHOG.js} +1 -1
  96. package/dist/{order-assignees-handlers-KF7RMTV5.cjs → order-assignees-handlers-JEJ5IDID.cjs} +3 -3
  97. package/dist/{order-completion-otp-handlers-HFGCPC4O.js → order-completion-otp-handlers-FIW7PZ6W.js} +12 -9
  98. package/dist/{order-completion-otp-handlers-DZAXK4GQ.cjs → order-completion-otp-handlers-LNAZTMTS.cjs} +25 -22
  99. package/dist/{order-inventory-76V4XIGW.js → order-inventory-R3AU6N4V.js} +2 -2
  100. package/dist/{order-inventory-2MYRKEPC.cjs → order-inventory-UUFPWLBW.cjs} +10 -10
  101. package/dist/order-notification-dispatcher-FS54ANAV.js +13 -0
  102. package/dist/order-notification-dispatcher-GG5C4LKZ.cjs +38 -0
  103. package/dist/paid-order-erp-GRXR2OG6.js +3 -0
  104. package/dist/paid-order-erp-X5QHPI23.cjs +12 -0
  105. package/dist/pg-boss-service-CMW3KQJM.js +2 -0
  106. package/dist/pg-boss-service-GA6ZVD5G.cjs +15 -0
  107. package/dist/{razorpay-U23LGY72.cjs → razorpay-GP2DXVP2.cjs} +2 -2
  108. package/dist/{razorpay-KLO2KNCB.js → razorpay-I3G5LNYH.js} +1 -1
  109. package/dist/{rbac-debug-db-KWV7D5PQ.cjs → rbac-debug-db-2ZI3XKA4.cjs} +4 -4
  110. package/dist/{rbac-debug-db-DFZWZ6GV.js → rbac-debug-db-IRKT6G62.js} +2 -2
  111. package/dist/resolve-invoice-asset-url-64QQUVC3.js +2 -0
  112. package/dist/resolve-invoice-asset-url-J7WAMD26.cjs +11 -0
  113. package/dist/retire-soft-deleted-unique-DZALT537.cjs +15 -0
  114. package/dist/{retire-soft-deleted-unique-NXQIH4BC.js → retire-soft-deleted-unique-F25KZBZK.js} +2 -2
  115. package/dist/sms-defaults-DSO3M26Y.js +2 -0
  116. package/dist/{sms-defaults-KCOPKQBA.cjs → sms-defaults-GDFILHHR.cjs} +5 -5
  117. package/dist/{sms-notification-templates-handlers-SJLO7JGZ.js → sms-notification-templates-handlers-ZGDCVS5Z.js} +1 -1
  118. package/dist/{sms-notification-templates-handlers-YSB3L2PK.cjs → sms-notification-templates-handlers-ZKLKFRFZ.cjs} +3 -3
  119. package/dist/{stripe-VU6OEG2D.cjs → stripe-2APRZHKU.cjs} +2 -2
  120. package/dist/{stripe-4FD27QVJ.js → stripe-7CO2ETTN.js} +1 -1
  121. package/dist/theme.cjs +10 -10
  122. package/dist/theme.js +3 -3
  123. package/dist/vendor-invite-status-45ZCWKCX.js +2 -0
  124. package/dist/{vendor-invite-status-77O7ZQ3U.cjs → vendor-invite-status-AT2E4FUA.cjs} +5 -5
  125. package/package.json +2 -1
  126. package/dist/chunk-GLD263KW.cjs +0 -862
  127. package/dist/chunk-OPJEV44S.js +0 -847
  128. package/dist/chunk-SHUYVCID.js +0 -4
  129. package/dist/chunk-USNT2KNT.cjs +0 -6
  130. package/dist/email-queue-4OY45JIU.cjs +0 -26
  131. package/dist/email-queue-HGXB2FIS.js +0 -5
  132. package/dist/email-service-5O24BSFR.cjs +0 -28
  133. package/dist/email-service-ADDF52PJ.js +0 -3
  134. package/dist/emit-order-notification-trigger-EJJZ6XTS.js +0 -3
  135. package/dist/emit-order-notification-trigger-ZD5YN3JM.cjs +0 -16
  136. package/dist/erp-config-enabled-CUMQ6N2V.cjs +0 -11
  137. package/dist/erp-config-enabled-T37X7T34.js +0 -2
  138. package/dist/erp-order-invoice-H6HCJ7YS.js +0 -4
  139. package/dist/erp-order-invoice-YUSPZ7CE.cjs +0 -25
  140. package/dist/interpolate-WAKPN56R.cjs +0 -11
  141. package/dist/interpolate-WDUWDF3I.js +0 -2
  142. package/dist/order-notification-dispatcher-ECPFI7CD.js +0 -10
  143. package/dist/order-notification-dispatcher-LL7ETKLU.cjs +0 -35
  144. package/dist/paid-order-erp-3USEG6WL.js +0 -3
  145. package/dist/paid-order-erp-FSQ3GSXE.cjs +0 -12
  146. package/dist/pg-boss-service-BDGOKM2T.cjs +0 -15
  147. package/dist/pg-boss-service-WCBJD4JB.js +0 -2
  148. package/dist/retire-soft-deleted-unique-5VXBA5XX.cjs +0 -15
  149. package/dist/sms-defaults-2NL24H57.js +0 -2
  150. package/dist/vendor-invite-status-PWJ3DE76.js +0 -2
@@ -0,0 +1,2700 @@
1
+ 'use strict';
2
+
3
+ var chunkE62LKM6Z_cjs = require('./chunk-E62LKM6Z.cjs');
4
+ var chunkXHPRD45G_cjs = require('./chunk-XHPRD45G.cjs');
5
+ var pdfLib = require('pdf-lib');
6
+
7
+ // node_modules/qr.js/lib/mode.js
8
+ var require_mode = chunkXHPRD45G_cjs.__commonJS({
9
+ "node_modules/qr.js/lib/mode.js"(exports, module) {
10
+ module.exports = {
11
+ MODE_NUMBER: 1 << 0,
12
+ MODE_ALPHA_NUM: 1 << 1,
13
+ MODE_8BIT_BYTE: 1 << 2,
14
+ MODE_KANJI: 1 << 3
15
+ };
16
+ }
17
+ });
18
+
19
+ // node_modules/qr.js/lib/8BitByte.js
20
+ var require_BitByte = chunkXHPRD45G_cjs.__commonJS({
21
+ "node_modules/qr.js/lib/8BitByte.js"(exports, module) {
22
+ var mode = require_mode();
23
+ function QR8bitByte(data) {
24
+ this.mode = mode.MODE_8BIT_BYTE;
25
+ this.data = data;
26
+ }
27
+ chunkXHPRD45G_cjs.__name(QR8bitByte, "QR8bitByte");
28
+ QR8bitByte.prototype = {
29
+ getLength: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(buffer) {
30
+ return this.data.length;
31
+ }, "getLength"),
32
+ write: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(buffer) {
33
+ for (var i = 0; i < this.data.length; i++) {
34
+ buffer.put(this.data.charCodeAt(i), 8);
35
+ }
36
+ }, "write")
37
+ };
38
+ module.exports = QR8bitByte;
39
+ }
40
+ });
41
+
42
+ // node_modules/qr.js/lib/ErrorCorrectLevel.js
43
+ var require_ErrorCorrectLevel = chunkXHPRD45G_cjs.__commonJS({
44
+ "node_modules/qr.js/lib/ErrorCorrectLevel.js"(exports, module) {
45
+ module.exports = {
46
+ L: 1,
47
+ M: 0,
48
+ Q: 3,
49
+ H: 2
50
+ };
51
+ }
52
+ });
53
+
54
+ // node_modules/qr.js/lib/RSBlock.js
55
+ var require_RSBlock = chunkXHPRD45G_cjs.__commonJS({
56
+ "node_modules/qr.js/lib/RSBlock.js"(exports, module) {
57
+ var ECL = require_ErrorCorrectLevel();
58
+ function QRRSBlock(totalCount, dataCount) {
59
+ this.totalCount = totalCount;
60
+ this.dataCount = dataCount;
61
+ }
62
+ chunkXHPRD45G_cjs.__name(QRRSBlock, "QRRSBlock");
63
+ QRRSBlock.RS_BLOCK_TABLE = [
64
+ // L
65
+ // M
66
+ // Q
67
+ // H
68
+ // 1
69
+ [
70
+ 1,
71
+ 26,
72
+ 19
73
+ ],
74
+ [
75
+ 1,
76
+ 26,
77
+ 16
78
+ ],
79
+ [
80
+ 1,
81
+ 26,
82
+ 13
83
+ ],
84
+ [
85
+ 1,
86
+ 26,
87
+ 9
88
+ ],
89
+ // 2
90
+ [
91
+ 1,
92
+ 44,
93
+ 34
94
+ ],
95
+ [
96
+ 1,
97
+ 44,
98
+ 28
99
+ ],
100
+ [
101
+ 1,
102
+ 44,
103
+ 22
104
+ ],
105
+ [
106
+ 1,
107
+ 44,
108
+ 16
109
+ ],
110
+ // 3
111
+ [
112
+ 1,
113
+ 70,
114
+ 55
115
+ ],
116
+ [
117
+ 1,
118
+ 70,
119
+ 44
120
+ ],
121
+ [
122
+ 2,
123
+ 35,
124
+ 17
125
+ ],
126
+ [
127
+ 2,
128
+ 35,
129
+ 13
130
+ ],
131
+ // 4
132
+ [
133
+ 1,
134
+ 100,
135
+ 80
136
+ ],
137
+ [
138
+ 2,
139
+ 50,
140
+ 32
141
+ ],
142
+ [
143
+ 2,
144
+ 50,
145
+ 24
146
+ ],
147
+ [
148
+ 4,
149
+ 25,
150
+ 9
151
+ ],
152
+ // 5
153
+ [
154
+ 1,
155
+ 134,
156
+ 108
157
+ ],
158
+ [
159
+ 2,
160
+ 67,
161
+ 43
162
+ ],
163
+ [
164
+ 2,
165
+ 33,
166
+ 15,
167
+ 2,
168
+ 34,
169
+ 16
170
+ ],
171
+ [
172
+ 2,
173
+ 33,
174
+ 11,
175
+ 2,
176
+ 34,
177
+ 12
178
+ ],
179
+ // 6
180
+ [
181
+ 2,
182
+ 86,
183
+ 68
184
+ ],
185
+ [
186
+ 4,
187
+ 43,
188
+ 27
189
+ ],
190
+ [
191
+ 4,
192
+ 43,
193
+ 19
194
+ ],
195
+ [
196
+ 4,
197
+ 43,
198
+ 15
199
+ ],
200
+ // 7
201
+ [
202
+ 2,
203
+ 98,
204
+ 78
205
+ ],
206
+ [
207
+ 4,
208
+ 49,
209
+ 31
210
+ ],
211
+ [
212
+ 2,
213
+ 32,
214
+ 14,
215
+ 4,
216
+ 33,
217
+ 15
218
+ ],
219
+ [
220
+ 4,
221
+ 39,
222
+ 13,
223
+ 1,
224
+ 40,
225
+ 14
226
+ ],
227
+ // 8
228
+ [
229
+ 2,
230
+ 121,
231
+ 97
232
+ ],
233
+ [
234
+ 2,
235
+ 60,
236
+ 38,
237
+ 2,
238
+ 61,
239
+ 39
240
+ ],
241
+ [
242
+ 4,
243
+ 40,
244
+ 18,
245
+ 2,
246
+ 41,
247
+ 19
248
+ ],
249
+ [
250
+ 4,
251
+ 40,
252
+ 14,
253
+ 2,
254
+ 41,
255
+ 15
256
+ ],
257
+ // 9
258
+ [
259
+ 2,
260
+ 146,
261
+ 116
262
+ ],
263
+ [
264
+ 3,
265
+ 58,
266
+ 36,
267
+ 2,
268
+ 59,
269
+ 37
270
+ ],
271
+ [
272
+ 4,
273
+ 36,
274
+ 16,
275
+ 4,
276
+ 37,
277
+ 17
278
+ ],
279
+ [
280
+ 4,
281
+ 36,
282
+ 12,
283
+ 4,
284
+ 37,
285
+ 13
286
+ ],
287
+ // 10
288
+ [
289
+ 2,
290
+ 86,
291
+ 68,
292
+ 2,
293
+ 87,
294
+ 69
295
+ ],
296
+ [
297
+ 4,
298
+ 69,
299
+ 43,
300
+ 1,
301
+ 70,
302
+ 44
303
+ ],
304
+ [
305
+ 6,
306
+ 43,
307
+ 19,
308
+ 2,
309
+ 44,
310
+ 20
311
+ ],
312
+ [
313
+ 6,
314
+ 43,
315
+ 15,
316
+ 2,
317
+ 44,
318
+ 16
319
+ ],
320
+ // 11
321
+ [
322
+ 4,
323
+ 101,
324
+ 81
325
+ ],
326
+ [
327
+ 1,
328
+ 80,
329
+ 50,
330
+ 4,
331
+ 81,
332
+ 51
333
+ ],
334
+ [
335
+ 4,
336
+ 50,
337
+ 22,
338
+ 4,
339
+ 51,
340
+ 23
341
+ ],
342
+ [
343
+ 3,
344
+ 36,
345
+ 12,
346
+ 8,
347
+ 37,
348
+ 13
349
+ ],
350
+ // 12
351
+ [
352
+ 2,
353
+ 116,
354
+ 92,
355
+ 2,
356
+ 117,
357
+ 93
358
+ ],
359
+ [
360
+ 6,
361
+ 58,
362
+ 36,
363
+ 2,
364
+ 59,
365
+ 37
366
+ ],
367
+ [
368
+ 4,
369
+ 46,
370
+ 20,
371
+ 6,
372
+ 47,
373
+ 21
374
+ ],
375
+ [
376
+ 7,
377
+ 42,
378
+ 14,
379
+ 4,
380
+ 43,
381
+ 15
382
+ ],
383
+ // 13
384
+ [
385
+ 4,
386
+ 133,
387
+ 107
388
+ ],
389
+ [
390
+ 8,
391
+ 59,
392
+ 37,
393
+ 1,
394
+ 60,
395
+ 38
396
+ ],
397
+ [
398
+ 8,
399
+ 44,
400
+ 20,
401
+ 4,
402
+ 45,
403
+ 21
404
+ ],
405
+ [
406
+ 12,
407
+ 33,
408
+ 11,
409
+ 4,
410
+ 34,
411
+ 12
412
+ ],
413
+ // 14
414
+ [
415
+ 3,
416
+ 145,
417
+ 115,
418
+ 1,
419
+ 146,
420
+ 116
421
+ ],
422
+ [
423
+ 4,
424
+ 64,
425
+ 40,
426
+ 5,
427
+ 65,
428
+ 41
429
+ ],
430
+ [
431
+ 11,
432
+ 36,
433
+ 16,
434
+ 5,
435
+ 37,
436
+ 17
437
+ ],
438
+ [
439
+ 11,
440
+ 36,
441
+ 12,
442
+ 5,
443
+ 37,
444
+ 13
445
+ ],
446
+ // 15
447
+ [
448
+ 5,
449
+ 109,
450
+ 87,
451
+ 1,
452
+ 110,
453
+ 88
454
+ ],
455
+ [
456
+ 5,
457
+ 65,
458
+ 41,
459
+ 5,
460
+ 66,
461
+ 42
462
+ ],
463
+ [
464
+ 5,
465
+ 54,
466
+ 24,
467
+ 7,
468
+ 55,
469
+ 25
470
+ ],
471
+ [
472
+ 11,
473
+ 36,
474
+ 12
475
+ ],
476
+ // 16
477
+ [
478
+ 5,
479
+ 122,
480
+ 98,
481
+ 1,
482
+ 123,
483
+ 99
484
+ ],
485
+ [
486
+ 7,
487
+ 73,
488
+ 45,
489
+ 3,
490
+ 74,
491
+ 46
492
+ ],
493
+ [
494
+ 15,
495
+ 43,
496
+ 19,
497
+ 2,
498
+ 44,
499
+ 20
500
+ ],
501
+ [
502
+ 3,
503
+ 45,
504
+ 15,
505
+ 13,
506
+ 46,
507
+ 16
508
+ ],
509
+ // 17
510
+ [
511
+ 1,
512
+ 135,
513
+ 107,
514
+ 5,
515
+ 136,
516
+ 108
517
+ ],
518
+ [
519
+ 10,
520
+ 74,
521
+ 46,
522
+ 1,
523
+ 75,
524
+ 47
525
+ ],
526
+ [
527
+ 1,
528
+ 50,
529
+ 22,
530
+ 15,
531
+ 51,
532
+ 23
533
+ ],
534
+ [
535
+ 2,
536
+ 42,
537
+ 14,
538
+ 17,
539
+ 43,
540
+ 15
541
+ ],
542
+ // 18
543
+ [
544
+ 5,
545
+ 150,
546
+ 120,
547
+ 1,
548
+ 151,
549
+ 121
550
+ ],
551
+ [
552
+ 9,
553
+ 69,
554
+ 43,
555
+ 4,
556
+ 70,
557
+ 44
558
+ ],
559
+ [
560
+ 17,
561
+ 50,
562
+ 22,
563
+ 1,
564
+ 51,
565
+ 23
566
+ ],
567
+ [
568
+ 2,
569
+ 42,
570
+ 14,
571
+ 19,
572
+ 43,
573
+ 15
574
+ ],
575
+ // 19
576
+ [
577
+ 3,
578
+ 141,
579
+ 113,
580
+ 4,
581
+ 142,
582
+ 114
583
+ ],
584
+ [
585
+ 3,
586
+ 70,
587
+ 44,
588
+ 11,
589
+ 71,
590
+ 45
591
+ ],
592
+ [
593
+ 17,
594
+ 47,
595
+ 21,
596
+ 4,
597
+ 48,
598
+ 22
599
+ ],
600
+ [
601
+ 9,
602
+ 39,
603
+ 13,
604
+ 16,
605
+ 40,
606
+ 14
607
+ ],
608
+ // 20
609
+ [
610
+ 3,
611
+ 135,
612
+ 107,
613
+ 5,
614
+ 136,
615
+ 108
616
+ ],
617
+ [
618
+ 3,
619
+ 67,
620
+ 41,
621
+ 13,
622
+ 68,
623
+ 42
624
+ ],
625
+ [
626
+ 15,
627
+ 54,
628
+ 24,
629
+ 5,
630
+ 55,
631
+ 25
632
+ ],
633
+ [
634
+ 15,
635
+ 43,
636
+ 15,
637
+ 10,
638
+ 44,
639
+ 16
640
+ ],
641
+ // 21
642
+ [
643
+ 4,
644
+ 144,
645
+ 116,
646
+ 4,
647
+ 145,
648
+ 117
649
+ ],
650
+ [
651
+ 17,
652
+ 68,
653
+ 42
654
+ ],
655
+ [
656
+ 17,
657
+ 50,
658
+ 22,
659
+ 6,
660
+ 51,
661
+ 23
662
+ ],
663
+ [
664
+ 19,
665
+ 46,
666
+ 16,
667
+ 6,
668
+ 47,
669
+ 17
670
+ ],
671
+ // 22
672
+ [
673
+ 2,
674
+ 139,
675
+ 111,
676
+ 7,
677
+ 140,
678
+ 112
679
+ ],
680
+ [
681
+ 17,
682
+ 74,
683
+ 46
684
+ ],
685
+ [
686
+ 7,
687
+ 54,
688
+ 24,
689
+ 16,
690
+ 55,
691
+ 25
692
+ ],
693
+ [
694
+ 34,
695
+ 37,
696
+ 13
697
+ ],
698
+ // 23
699
+ [
700
+ 4,
701
+ 151,
702
+ 121,
703
+ 5,
704
+ 152,
705
+ 122
706
+ ],
707
+ [
708
+ 4,
709
+ 75,
710
+ 47,
711
+ 14,
712
+ 76,
713
+ 48
714
+ ],
715
+ [
716
+ 11,
717
+ 54,
718
+ 24,
719
+ 14,
720
+ 55,
721
+ 25
722
+ ],
723
+ [
724
+ 16,
725
+ 45,
726
+ 15,
727
+ 14,
728
+ 46,
729
+ 16
730
+ ],
731
+ // 24
732
+ [
733
+ 6,
734
+ 147,
735
+ 117,
736
+ 4,
737
+ 148,
738
+ 118
739
+ ],
740
+ [
741
+ 6,
742
+ 73,
743
+ 45,
744
+ 14,
745
+ 74,
746
+ 46
747
+ ],
748
+ [
749
+ 11,
750
+ 54,
751
+ 24,
752
+ 16,
753
+ 55,
754
+ 25
755
+ ],
756
+ [
757
+ 30,
758
+ 46,
759
+ 16,
760
+ 2,
761
+ 47,
762
+ 17
763
+ ],
764
+ // 25
765
+ [
766
+ 8,
767
+ 132,
768
+ 106,
769
+ 4,
770
+ 133,
771
+ 107
772
+ ],
773
+ [
774
+ 8,
775
+ 75,
776
+ 47,
777
+ 13,
778
+ 76,
779
+ 48
780
+ ],
781
+ [
782
+ 7,
783
+ 54,
784
+ 24,
785
+ 22,
786
+ 55,
787
+ 25
788
+ ],
789
+ [
790
+ 22,
791
+ 45,
792
+ 15,
793
+ 13,
794
+ 46,
795
+ 16
796
+ ],
797
+ // 26
798
+ [
799
+ 10,
800
+ 142,
801
+ 114,
802
+ 2,
803
+ 143,
804
+ 115
805
+ ],
806
+ [
807
+ 19,
808
+ 74,
809
+ 46,
810
+ 4,
811
+ 75,
812
+ 47
813
+ ],
814
+ [
815
+ 28,
816
+ 50,
817
+ 22,
818
+ 6,
819
+ 51,
820
+ 23
821
+ ],
822
+ [
823
+ 33,
824
+ 46,
825
+ 16,
826
+ 4,
827
+ 47,
828
+ 17
829
+ ],
830
+ // 27
831
+ [
832
+ 8,
833
+ 152,
834
+ 122,
835
+ 4,
836
+ 153,
837
+ 123
838
+ ],
839
+ [
840
+ 22,
841
+ 73,
842
+ 45,
843
+ 3,
844
+ 74,
845
+ 46
846
+ ],
847
+ [
848
+ 8,
849
+ 53,
850
+ 23,
851
+ 26,
852
+ 54,
853
+ 24
854
+ ],
855
+ [
856
+ 12,
857
+ 45,
858
+ 15,
859
+ 28,
860
+ 46,
861
+ 16
862
+ ],
863
+ // 28
864
+ [
865
+ 3,
866
+ 147,
867
+ 117,
868
+ 10,
869
+ 148,
870
+ 118
871
+ ],
872
+ [
873
+ 3,
874
+ 73,
875
+ 45,
876
+ 23,
877
+ 74,
878
+ 46
879
+ ],
880
+ [
881
+ 4,
882
+ 54,
883
+ 24,
884
+ 31,
885
+ 55,
886
+ 25
887
+ ],
888
+ [
889
+ 11,
890
+ 45,
891
+ 15,
892
+ 31,
893
+ 46,
894
+ 16
895
+ ],
896
+ // 29
897
+ [
898
+ 7,
899
+ 146,
900
+ 116,
901
+ 7,
902
+ 147,
903
+ 117
904
+ ],
905
+ [
906
+ 21,
907
+ 73,
908
+ 45,
909
+ 7,
910
+ 74,
911
+ 46
912
+ ],
913
+ [
914
+ 1,
915
+ 53,
916
+ 23,
917
+ 37,
918
+ 54,
919
+ 24
920
+ ],
921
+ [
922
+ 19,
923
+ 45,
924
+ 15,
925
+ 26,
926
+ 46,
927
+ 16
928
+ ],
929
+ // 30
930
+ [
931
+ 5,
932
+ 145,
933
+ 115,
934
+ 10,
935
+ 146,
936
+ 116
937
+ ],
938
+ [
939
+ 19,
940
+ 75,
941
+ 47,
942
+ 10,
943
+ 76,
944
+ 48
945
+ ],
946
+ [
947
+ 15,
948
+ 54,
949
+ 24,
950
+ 25,
951
+ 55,
952
+ 25
953
+ ],
954
+ [
955
+ 23,
956
+ 45,
957
+ 15,
958
+ 25,
959
+ 46,
960
+ 16
961
+ ],
962
+ // 31
963
+ [
964
+ 13,
965
+ 145,
966
+ 115,
967
+ 3,
968
+ 146,
969
+ 116
970
+ ],
971
+ [
972
+ 2,
973
+ 74,
974
+ 46,
975
+ 29,
976
+ 75,
977
+ 47
978
+ ],
979
+ [
980
+ 42,
981
+ 54,
982
+ 24,
983
+ 1,
984
+ 55,
985
+ 25
986
+ ],
987
+ [
988
+ 23,
989
+ 45,
990
+ 15,
991
+ 28,
992
+ 46,
993
+ 16
994
+ ],
995
+ // 32
996
+ [
997
+ 17,
998
+ 145,
999
+ 115
1000
+ ],
1001
+ [
1002
+ 10,
1003
+ 74,
1004
+ 46,
1005
+ 23,
1006
+ 75,
1007
+ 47
1008
+ ],
1009
+ [
1010
+ 10,
1011
+ 54,
1012
+ 24,
1013
+ 35,
1014
+ 55,
1015
+ 25
1016
+ ],
1017
+ [
1018
+ 19,
1019
+ 45,
1020
+ 15,
1021
+ 35,
1022
+ 46,
1023
+ 16
1024
+ ],
1025
+ // 33
1026
+ [
1027
+ 17,
1028
+ 145,
1029
+ 115,
1030
+ 1,
1031
+ 146,
1032
+ 116
1033
+ ],
1034
+ [
1035
+ 14,
1036
+ 74,
1037
+ 46,
1038
+ 21,
1039
+ 75,
1040
+ 47
1041
+ ],
1042
+ [
1043
+ 29,
1044
+ 54,
1045
+ 24,
1046
+ 19,
1047
+ 55,
1048
+ 25
1049
+ ],
1050
+ [
1051
+ 11,
1052
+ 45,
1053
+ 15,
1054
+ 46,
1055
+ 46,
1056
+ 16
1057
+ ],
1058
+ // 34
1059
+ [
1060
+ 13,
1061
+ 145,
1062
+ 115,
1063
+ 6,
1064
+ 146,
1065
+ 116
1066
+ ],
1067
+ [
1068
+ 14,
1069
+ 74,
1070
+ 46,
1071
+ 23,
1072
+ 75,
1073
+ 47
1074
+ ],
1075
+ [
1076
+ 44,
1077
+ 54,
1078
+ 24,
1079
+ 7,
1080
+ 55,
1081
+ 25
1082
+ ],
1083
+ [
1084
+ 59,
1085
+ 46,
1086
+ 16,
1087
+ 1,
1088
+ 47,
1089
+ 17
1090
+ ],
1091
+ // 35
1092
+ [
1093
+ 12,
1094
+ 151,
1095
+ 121,
1096
+ 7,
1097
+ 152,
1098
+ 122
1099
+ ],
1100
+ [
1101
+ 12,
1102
+ 75,
1103
+ 47,
1104
+ 26,
1105
+ 76,
1106
+ 48
1107
+ ],
1108
+ [
1109
+ 39,
1110
+ 54,
1111
+ 24,
1112
+ 14,
1113
+ 55,
1114
+ 25
1115
+ ],
1116
+ [
1117
+ 22,
1118
+ 45,
1119
+ 15,
1120
+ 41,
1121
+ 46,
1122
+ 16
1123
+ ],
1124
+ // 36
1125
+ [
1126
+ 6,
1127
+ 151,
1128
+ 121,
1129
+ 14,
1130
+ 152,
1131
+ 122
1132
+ ],
1133
+ [
1134
+ 6,
1135
+ 75,
1136
+ 47,
1137
+ 34,
1138
+ 76,
1139
+ 48
1140
+ ],
1141
+ [
1142
+ 46,
1143
+ 54,
1144
+ 24,
1145
+ 10,
1146
+ 55,
1147
+ 25
1148
+ ],
1149
+ [
1150
+ 2,
1151
+ 45,
1152
+ 15,
1153
+ 64,
1154
+ 46,
1155
+ 16
1156
+ ],
1157
+ // 37
1158
+ [
1159
+ 17,
1160
+ 152,
1161
+ 122,
1162
+ 4,
1163
+ 153,
1164
+ 123
1165
+ ],
1166
+ [
1167
+ 29,
1168
+ 74,
1169
+ 46,
1170
+ 14,
1171
+ 75,
1172
+ 47
1173
+ ],
1174
+ [
1175
+ 49,
1176
+ 54,
1177
+ 24,
1178
+ 10,
1179
+ 55,
1180
+ 25
1181
+ ],
1182
+ [
1183
+ 24,
1184
+ 45,
1185
+ 15,
1186
+ 46,
1187
+ 46,
1188
+ 16
1189
+ ],
1190
+ // 38
1191
+ [
1192
+ 4,
1193
+ 152,
1194
+ 122,
1195
+ 18,
1196
+ 153,
1197
+ 123
1198
+ ],
1199
+ [
1200
+ 13,
1201
+ 74,
1202
+ 46,
1203
+ 32,
1204
+ 75,
1205
+ 47
1206
+ ],
1207
+ [
1208
+ 48,
1209
+ 54,
1210
+ 24,
1211
+ 14,
1212
+ 55,
1213
+ 25
1214
+ ],
1215
+ [
1216
+ 42,
1217
+ 45,
1218
+ 15,
1219
+ 32,
1220
+ 46,
1221
+ 16
1222
+ ],
1223
+ // 39
1224
+ [
1225
+ 20,
1226
+ 147,
1227
+ 117,
1228
+ 4,
1229
+ 148,
1230
+ 118
1231
+ ],
1232
+ [
1233
+ 40,
1234
+ 75,
1235
+ 47,
1236
+ 7,
1237
+ 76,
1238
+ 48
1239
+ ],
1240
+ [
1241
+ 43,
1242
+ 54,
1243
+ 24,
1244
+ 22,
1245
+ 55,
1246
+ 25
1247
+ ],
1248
+ [
1249
+ 10,
1250
+ 45,
1251
+ 15,
1252
+ 67,
1253
+ 46,
1254
+ 16
1255
+ ],
1256
+ // 40
1257
+ [
1258
+ 19,
1259
+ 148,
1260
+ 118,
1261
+ 6,
1262
+ 149,
1263
+ 119
1264
+ ],
1265
+ [
1266
+ 18,
1267
+ 75,
1268
+ 47,
1269
+ 31,
1270
+ 76,
1271
+ 48
1272
+ ],
1273
+ [
1274
+ 34,
1275
+ 54,
1276
+ 24,
1277
+ 34,
1278
+ 55,
1279
+ 25
1280
+ ],
1281
+ [
1282
+ 20,
1283
+ 45,
1284
+ 15,
1285
+ 61,
1286
+ 46,
1287
+ 16
1288
+ ]
1289
+ ];
1290
+ QRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {
1291
+ var rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);
1292
+ if (rsBlock == void 0) {
1293
+ throw new Error("bad rs block @ typeNumber:" + typeNumber + "/errorCorrectLevel:" + errorCorrectLevel);
1294
+ }
1295
+ var length = rsBlock.length / 3;
1296
+ var list = new Array();
1297
+ for (var i = 0; i < length; i++) {
1298
+ var count = rsBlock[i * 3 + 0];
1299
+ var totalCount = rsBlock[i * 3 + 1];
1300
+ var dataCount = rsBlock[i * 3 + 2];
1301
+ for (var j = 0; j < count; j++) {
1302
+ list.push(new QRRSBlock(totalCount, dataCount));
1303
+ }
1304
+ }
1305
+ return list;
1306
+ };
1307
+ QRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {
1308
+ switch (errorCorrectLevel) {
1309
+ case ECL.L:
1310
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];
1311
+ case ECL.M:
1312
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];
1313
+ case ECL.Q:
1314
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];
1315
+ case ECL.H:
1316
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];
1317
+ default:
1318
+ return void 0;
1319
+ }
1320
+ };
1321
+ module.exports = QRRSBlock;
1322
+ }
1323
+ });
1324
+
1325
+ // node_modules/qr.js/lib/BitBuffer.js
1326
+ var require_BitBuffer = chunkXHPRD45G_cjs.__commonJS({
1327
+ "node_modules/qr.js/lib/BitBuffer.js"(exports, module) {
1328
+ function QRBitBuffer() {
1329
+ this.buffer = new Array();
1330
+ this.length = 0;
1331
+ }
1332
+ chunkXHPRD45G_cjs.__name(QRBitBuffer, "QRBitBuffer");
1333
+ QRBitBuffer.prototype = {
1334
+ get: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(index) {
1335
+ var bufIndex = Math.floor(index / 8);
1336
+ return (this.buffer[bufIndex] >>> 7 - index % 8 & 1) == 1;
1337
+ }, "get"),
1338
+ put: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(num, length) {
1339
+ for (var i = 0; i < length; i++) {
1340
+ this.putBit((num >>> length - i - 1 & 1) == 1);
1341
+ }
1342
+ }, "put"),
1343
+ getLengthInBits: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function() {
1344
+ return this.length;
1345
+ }, "getLengthInBits"),
1346
+ putBit: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(bit) {
1347
+ var bufIndex = Math.floor(this.length / 8);
1348
+ if (this.buffer.length <= bufIndex) {
1349
+ this.buffer.push(0);
1350
+ }
1351
+ if (bit) {
1352
+ this.buffer[bufIndex] |= 128 >>> this.length % 8;
1353
+ }
1354
+ this.length++;
1355
+ }, "putBit")
1356
+ };
1357
+ module.exports = QRBitBuffer;
1358
+ }
1359
+ });
1360
+
1361
+ // node_modules/qr.js/lib/math.js
1362
+ var require_math = chunkXHPRD45G_cjs.__commonJS({
1363
+ "node_modules/qr.js/lib/math.js"(exports, module) {
1364
+ var QRMath = {
1365
+ glog: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(n) {
1366
+ if (n < 1) {
1367
+ throw new Error("glog(" + n + ")");
1368
+ }
1369
+ return QRMath.LOG_TABLE[n];
1370
+ }, "glog"),
1371
+ gexp: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(n) {
1372
+ while (n < 0) {
1373
+ n += 255;
1374
+ }
1375
+ while (n >= 256) {
1376
+ n -= 255;
1377
+ }
1378
+ return QRMath.EXP_TABLE[n];
1379
+ }, "gexp"),
1380
+ EXP_TABLE: new Array(256),
1381
+ LOG_TABLE: new Array(256)
1382
+ };
1383
+ for (i = 0; i < 8; i++) {
1384
+ QRMath.EXP_TABLE[i] = 1 << i;
1385
+ }
1386
+ var i;
1387
+ for (i = 8; i < 256; i++) {
1388
+ QRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4] ^ QRMath.EXP_TABLE[i - 5] ^ QRMath.EXP_TABLE[i - 6] ^ QRMath.EXP_TABLE[i - 8];
1389
+ }
1390
+ var i;
1391
+ for (i = 0; i < 255; i++) {
1392
+ QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i;
1393
+ }
1394
+ var i;
1395
+ module.exports = QRMath;
1396
+ }
1397
+ });
1398
+
1399
+ // node_modules/qr.js/lib/Polynomial.js
1400
+ var require_Polynomial = chunkXHPRD45G_cjs.__commonJS({
1401
+ "node_modules/qr.js/lib/Polynomial.js"(exports, module) {
1402
+ var math = require_math();
1403
+ function QRPolynomial(num, shift) {
1404
+ if (num.length == void 0) {
1405
+ throw new Error(num.length + "/" + shift);
1406
+ }
1407
+ var offset = 0;
1408
+ while (offset < num.length && num[offset] == 0) {
1409
+ offset++;
1410
+ }
1411
+ this.num = new Array(num.length - offset + shift);
1412
+ for (var i = 0; i < num.length - offset; i++) {
1413
+ this.num[i] = num[i + offset];
1414
+ }
1415
+ }
1416
+ chunkXHPRD45G_cjs.__name(QRPolynomial, "QRPolynomial");
1417
+ QRPolynomial.prototype = {
1418
+ get: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(index) {
1419
+ return this.num[index];
1420
+ }, "get"),
1421
+ getLength: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function() {
1422
+ return this.num.length;
1423
+ }, "getLength"),
1424
+ multiply: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(e) {
1425
+ var num = new Array(this.getLength() + e.getLength() - 1);
1426
+ for (var i = 0; i < this.getLength(); i++) {
1427
+ for (var j = 0; j < e.getLength(); j++) {
1428
+ num[i + j] ^= math.gexp(math.glog(this.get(i)) + math.glog(e.get(j)));
1429
+ }
1430
+ }
1431
+ return new QRPolynomial(num, 0);
1432
+ }, "multiply"),
1433
+ mod: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(e) {
1434
+ if (this.getLength() - e.getLength() < 0) {
1435
+ return this;
1436
+ }
1437
+ var ratio = math.glog(this.get(0)) - math.glog(e.get(0));
1438
+ var num = new Array(this.getLength());
1439
+ for (var i = 0; i < this.getLength(); i++) {
1440
+ num[i] = this.get(i);
1441
+ }
1442
+ for (var i = 0; i < e.getLength(); i++) {
1443
+ num[i] ^= math.gexp(math.glog(e.get(i)) + ratio);
1444
+ }
1445
+ return new QRPolynomial(num, 0).mod(e);
1446
+ }, "mod")
1447
+ };
1448
+ module.exports = QRPolynomial;
1449
+ }
1450
+ });
1451
+
1452
+ // node_modules/qr.js/lib/util.js
1453
+ var require_util = chunkXHPRD45G_cjs.__commonJS({
1454
+ "node_modules/qr.js/lib/util.js"(exports, module) {
1455
+ var Mode = require_mode();
1456
+ var Polynomial = require_Polynomial();
1457
+ var math = require_math();
1458
+ var QRMaskPattern = {
1459
+ PATTERN000: 0,
1460
+ PATTERN001: 1,
1461
+ PATTERN010: 2,
1462
+ PATTERN011: 3,
1463
+ PATTERN100: 4,
1464
+ PATTERN101: 5,
1465
+ PATTERN110: 6,
1466
+ PATTERN111: 7
1467
+ };
1468
+ var QRUtil = {
1469
+ PATTERN_POSITION_TABLE: [
1470
+ [],
1471
+ [
1472
+ 6,
1473
+ 18
1474
+ ],
1475
+ [
1476
+ 6,
1477
+ 22
1478
+ ],
1479
+ [
1480
+ 6,
1481
+ 26
1482
+ ],
1483
+ [
1484
+ 6,
1485
+ 30
1486
+ ],
1487
+ [
1488
+ 6,
1489
+ 34
1490
+ ],
1491
+ [
1492
+ 6,
1493
+ 22,
1494
+ 38
1495
+ ],
1496
+ [
1497
+ 6,
1498
+ 24,
1499
+ 42
1500
+ ],
1501
+ [
1502
+ 6,
1503
+ 26,
1504
+ 46
1505
+ ],
1506
+ [
1507
+ 6,
1508
+ 28,
1509
+ 50
1510
+ ],
1511
+ [
1512
+ 6,
1513
+ 30,
1514
+ 54
1515
+ ],
1516
+ [
1517
+ 6,
1518
+ 32,
1519
+ 58
1520
+ ],
1521
+ [
1522
+ 6,
1523
+ 34,
1524
+ 62
1525
+ ],
1526
+ [
1527
+ 6,
1528
+ 26,
1529
+ 46,
1530
+ 66
1531
+ ],
1532
+ [
1533
+ 6,
1534
+ 26,
1535
+ 48,
1536
+ 70
1537
+ ],
1538
+ [
1539
+ 6,
1540
+ 26,
1541
+ 50,
1542
+ 74
1543
+ ],
1544
+ [
1545
+ 6,
1546
+ 30,
1547
+ 54,
1548
+ 78
1549
+ ],
1550
+ [
1551
+ 6,
1552
+ 30,
1553
+ 56,
1554
+ 82
1555
+ ],
1556
+ [
1557
+ 6,
1558
+ 30,
1559
+ 58,
1560
+ 86
1561
+ ],
1562
+ [
1563
+ 6,
1564
+ 34,
1565
+ 62,
1566
+ 90
1567
+ ],
1568
+ [
1569
+ 6,
1570
+ 28,
1571
+ 50,
1572
+ 72,
1573
+ 94
1574
+ ],
1575
+ [
1576
+ 6,
1577
+ 26,
1578
+ 50,
1579
+ 74,
1580
+ 98
1581
+ ],
1582
+ [
1583
+ 6,
1584
+ 30,
1585
+ 54,
1586
+ 78,
1587
+ 102
1588
+ ],
1589
+ [
1590
+ 6,
1591
+ 28,
1592
+ 54,
1593
+ 80,
1594
+ 106
1595
+ ],
1596
+ [
1597
+ 6,
1598
+ 32,
1599
+ 58,
1600
+ 84,
1601
+ 110
1602
+ ],
1603
+ [
1604
+ 6,
1605
+ 30,
1606
+ 58,
1607
+ 86,
1608
+ 114
1609
+ ],
1610
+ [
1611
+ 6,
1612
+ 34,
1613
+ 62,
1614
+ 90,
1615
+ 118
1616
+ ],
1617
+ [
1618
+ 6,
1619
+ 26,
1620
+ 50,
1621
+ 74,
1622
+ 98,
1623
+ 122
1624
+ ],
1625
+ [
1626
+ 6,
1627
+ 30,
1628
+ 54,
1629
+ 78,
1630
+ 102,
1631
+ 126
1632
+ ],
1633
+ [
1634
+ 6,
1635
+ 26,
1636
+ 52,
1637
+ 78,
1638
+ 104,
1639
+ 130
1640
+ ],
1641
+ [
1642
+ 6,
1643
+ 30,
1644
+ 56,
1645
+ 82,
1646
+ 108,
1647
+ 134
1648
+ ],
1649
+ [
1650
+ 6,
1651
+ 34,
1652
+ 60,
1653
+ 86,
1654
+ 112,
1655
+ 138
1656
+ ],
1657
+ [
1658
+ 6,
1659
+ 30,
1660
+ 58,
1661
+ 86,
1662
+ 114,
1663
+ 142
1664
+ ],
1665
+ [
1666
+ 6,
1667
+ 34,
1668
+ 62,
1669
+ 90,
1670
+ 118,
1671
+ 146
1672
+ ],
1673
+ [
1674
+ 6,
1675
+ 30,
1676
+ 54,
1677
+ 78,
1678
+ 102,
1679
+ 126,
1680
+ 150
1681
+ ],
1682
+ [
1683
+ 6,
1684
+ 24,
1685
+ 50,
1686
+ 76,
1687
+ 102,
1688
+ 128,
1689
+ 154
1690
+ ],
1691
+ [
1692
+ 6,
1693
+ 28,
1694
+ 54,
1695
+ 80,
1696
+ 106,
1697
+ 132,
1698
+ 158
1699
+ ],
1700
+ [
1701
+ 6,
1702
+ 32,
1703
+ 58,
1704
+ 84,
1705
+ 110,
1706
+ 136,
1707
+ 162
1708
+ ],
1709
+ [
1710
+ 6,
1711
+ 26,
1712
+ 54,
1713
+ 82,
1714
+ 110,
1715
+ 138,
1716
+ 166
1717
+ ],
1718
+ [
1719
+ 6,
1720
+ 30,
1721
+ 58,
1722
+ 86,
1723
+ 114,
1724
+ 142,
1725
+ 170
1726
+ ]
1727
+ ],
1728
+ G15: 1 << 10 | 1 << 8 | 1 << 5 | 1 << 4 | 1 << 2 | 1 << 1 | 1 << 0,
1729
+ G18: 1 << 12 | 1 << 11 | 1 << 10 | 1 << 9 | 1 << 8 | 1 << 5 | 1 << 2 | 1 << 0,
1730
+ G15_MASK: 1 << 14 | 1 << 12 | 1 << 10 | 1 << 4 | 1 << 1,
1731
+ getBCHTypeInfo: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(data) {
1732
+ var d = data << 10;
1733
+ while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {
1734
+ d ^= QRUtil.G15 << QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15);
1735
+ }
1736
+ return (data << 10 | d) ^ QRUtil.G15_MASK;
1737
+ }, "getBCHTypeInfo"),
1738
+ getBCHTypeNumber: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(data) {
1739
+ var d = data << 12;
1740
+ while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {
1741
+ d ^= QRUtil.G18 << QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18);
1742
+ }
1743
+ return data << 12 | d;
1744
+ }, "getBCHTypeNumber"),
1745
+ getBCHDigit: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(data) {
1746
+ var digit = 0;
1747
+ while (data != 0) {
1748
+ digit++;
1749
+ data >>>= 1;
1750
+ }
1751
+ return digit;
1752
+ }, "getBCHDigit"),
1753
+ getPatternPosition: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(typeNumber) {
1754
+ return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];
1755
+ }, "getPatternPosition"),
1756
+ getMask: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(maskPattern, i, j) {
1757
+ switch (maskPattern) {
1758
+ case QRMaskPattern.PATTERN000:
1759
+ return (i + j) % 2 == 0;
1760
+ case QRMaskPattern.PATTERN001:
1761
+ return i % 2 == 0;
1762
+ case QRMaskPattern.PATTERN010:
1763
+ return j % 3 == 0;
1764
+ case QRMaskPattern.PATTERN011:
1765
+ return (i + j) % 3 == 0;
1766
+ case QRMaskPattern.PATTERN100:
1767
+ return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0;
1768
+ case QRMaskPattern.PATTERN101:
1769
+ return i * j % 2 + i * j % 3 == 0;
1770
+ case QRMaskPattern.PATTERN110:
1771
+ return (i * j % 2 + i * j % 3) % 2 == 0;
1772
+ case QRMaskPattern.PATTERN111:
1773
+ return (i * j % 3 + (i + j) % 2) % 2 == 0;
1774
+ default:
1775
+ throw new Error("bad maskPattern:" + maskPattern);
1776
+ }
1777
+ }, "getMask"),
1778
+ getErrorCorrectPolynomial: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(errorCorrectLength) {
1779
+ var a = new Polynomial([
1780
+ 1
1781
+ ], 0);
1782
+ for (var i = 0; i < errorCorrectLength; i++) {
1783
+ a = a.multiply(new Polynomial([
1784
+ 1,
1785
+ math.gexp(i)
1786
+ ], 0));
1787
+ }
1788
+ return a;
1789
+ }, "getErrorCorrectPolynomial"),
1790
+ getLengthInBits: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(mode, type) {
1791
+ if (1 <= type && type < 10) {
1792
+ switch (mode) {
1793
+ case Mode.MODE_NUMBER:
1794
+ return 10;
1795
+ case Mode.MODE_ALPHA_NUM:
1796
+ return 9;
1797
+ case Mode.MODE_8BIT_BYTE:
1798
+ return 8;
1799
+ case Mode.MODE_KANJI:
1800
+ return 8;
1801
+ default:
1802
+ throw new Error("mode:" + mode);
1803
+ }
1804
+ } else if (type < 27) {
1805
+ switch (mode) {
1806
+ case Mode.MODE_NUMBER:
1807
+ return 12;
1808
+ case Mode.MODE_ALPHA_NUM:
1809
+ return 11;
1810
+ case Mode.MODE_8BIT_BYTE:
1811
+ return 16;
1812
+ case Mode.MODE_KANJI:
1813
+ return 10;
1814
+ default:
1815
+ throw new Error("mode:" + mode);
1816
+ }
1817
+ } else if (type < 41) {
1818
+ switch (mode) {
1819
+ case Mode.MODE_NUMBER:
1820
+ return 14;
1821
+ case Mode.MODE_ALPHA_NUM:
1822
+ return 13;
1823
+ case Mode.MODE_8BIT_BYTE:
1824
+ return 16;
1825
+ case Mode.MODE_KANJI:
1826
+ return 12;
1827
+ default:
1828
+ throw new Error("mode:" + mode);
1829
+ }
1830
+ } else {
1831
+ throw new Error("type:" + type);
1832
+ }
1833
+ }, "getLengthInBits"),
1834
+ getLostPoint: /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(qrCode) {
1835
+ var moduleCount = qrCode.getModuleCount();
1836
+ var lostPoint = 0;
1837
+ for (var row = 0; row < moduleCount; row++) {
1838
+ for (var col = 0; col < moduleCount; col++) {
1839
+ var sameCount = 0;
1840
+ var dark = qrCode.isDark(row, col);
1841
+ for (var r = -1; r <= 1; r++) {
1842
+ if (row + r < 0 || moduleCount <= row + r) {
1843
+ continue;
1844
+ }
1845
+ for (var c = -1; c <= 1; c++) {
1846
+ if (col + c < 0 || moduleCount <= col + c) {
1847
+ continue;
1848
+ }
1849
+ if (r == 0 && c == 0) {
1850
+ continue;
1851
+ }
1852
+ if (dark == qrCode.isDark(row + r, col + c)) {
1853
+ sameCount++;
1854
+ }
1855
+ }
1856
+ }
1857
+ if (sameCount > 5) {
1858
+ lostPoint += 3 + sameCount - 5;
1859
+ }
1860
+ }
1861
+ }
1862
+ for (var row = 0; row < moduleCount - 1; row++) {
1863
+ for (var col = 0; col < moduleCount - 1; col++) {
1864
+ var count = 0;
1865
+ if (qrCode.isDark(row, col)) count++;
1866
+ if (qrCode.isDark(row + 1, col)) count++;
1867
+ if (qrCode.isDark(row, col + 1)) count++;
1868
+ if (qrCode.isDark(row + 1, col + 1)) count++;
1869
+ if (count == 0 || count == 4) {
1870
+ lostPoint += 3;
1871
+ }
1872
+ }
1873
+ }
1874
+ for (var row = 0; row < moduleCount; row++) {
1875
+ for (var col = 0; col < moduleCount - 6; col++) {
1876
+ if (qrCode.isDark(row, col) && !qrCode.isDark(row, col + 1) && qrCode.isDark(row, col + 2) && qrCode.isDark(row, col + 3) && qrCode.isDark(row, col + 4) && !qrCode.isDark(row, col + 5) && qrCode.isDark(row, col + 6)) {
1877
+ lostPoint += 40;
1878
+ }
1879
+ }
1880
+ }
1881
+ for (var col = 0; col < moduleCount; col++) {
1882
+ for (var row = 0; row < moduleCount - 6; row++) {
1883
+ if (qrCode.isDark(row, col) && !qrCode.isDark(row + 1, col) && qrCode.isDark(row + 2, col) && qrCode.isDark(row + 3, col) && qrCode.isDark(row + 4, col) && !qrCode.isDark(row + 5, col) && qrCode.isDark(row + 6, col)) {
1884
+ lostPoint += 40;
1885
+ }
1886
+ }
1887
+ }
1888
+ var darkCount = 0;
1889
+ for (var col = 0; col < moduleCount; col++) {
1890
+ for (var row = 0; row < moduleCount; row++) {
1891
+ if (qrCode.isDark(row, col)) {
1892
+ darkCount++;
1893
+ }
1894
+ }
1895
+ }
1896
+ var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;
1897
+ lostPoint += ratio * 10;
1898
+ return lostPoint;
1899
+ }, "getLostPoint")
1900
+ };
1901
+ module.exports = QRUtil;
1902
+ }
1903
+ });
1904
+
1905
+ // node_modules/qr.js/lib/QRCode.js
1906
+ var require_QRCode = chunkXHPRD45G_cjs.__commonJS({
1907
+ "node_modules/qr.js/lib/QRCode.js"(exports, module) {
1908
+ var BitByte = require_BitByte();
1909
+ var RSBlock = require_RSBlock();
1910
+ var BitBuffer = require_BitBuffer();
1911
+ var util = require_util();
1912
+ var Polynomial = require_Polynomial();
1913
+ function QRCode(typeNumber, errorCorrectLevel) {
1914
+ this.typeNumber = typeNumber;
1915
+ this.errorCorrectLevel = errorCorrectLevel;
1916
+ this.modules = null;
1917
+ this.moduleCount = 0;
1918
+ this.dataCache = null;
1919
+ this.dataList = [];
1920
+ }
1921
+ chunkXHPRD45G_cjs.__name(QRCode, "QRCode");
1922
+ var proto = QRCode.prototype;
1923
+ proto.addData = function(data) {
1924
+ var newData = new BitByte(data);
1925
+ this.dataList.push(newData);
1926
+ this.dataCache = null;
1927
+ };
1928
+ proto.isDark = function(row, col) {
1929
+ if (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {
1930
+ throw new Error(row + "," + col);
1931
+ }
1932
+ return this.modules[row][col];
1933
+ };
1934
+ proto.getModuleCount = function() {
1935
+ return this.moduleCount;
1936
+ };
1937
+ proto.make = function() {
1938
+ if (this.typeNumber < 1) {
1939
+ var typeNumber = 1;
1940
+ for (typeNumber = 1; typeNumber < 40; typeNumber++) {
1941
+ var rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);
1942
+ var buffer = new BitBuffer();
1943
+ var totalDataCount = 0;
1944
+ for (var i = 0; i < rsBlocks.length; i++) {
1945
+ totalDataCount += rsBlocks[i].dataCount;
1946
+ }
1947
+ for (var i = 0; i < this.dataList.length; i++) {
1948
+ var data = this.dataList[i];
1949
+ buffer.put(data.mode, 4);
1950
+ buffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber));
1951
+ data.write(buffer);
1952
+ }
1953
+ if (buffer.getLengthInBits() <= totalDataCount * 8) break;
1954
+ }
1955
+ this.typeNumber = typeNumber;
1956
+ }
1957
+ this.makeImpl(false, this.getBestMaskPattern());
1958
+ };
1959
+ proto.makeImpl = function(test, maskPattern) {
1960
+ this.moduleCount = this.typeNumber * 4 + 17;
1961
+ this.modules = new Array(this.moduleCount);
1962
+ for (var row = 0; row < this.moduleCount; row++) {
1963
+ this.modules[row] = new Array(this.moduleCount);
1964
+ for (var col = 0; col < this.moduleCount; col++) {
1965
+ this.modules[row][col] = null;
1966
+ }
1967
+ }
1968
+ this.setupPositionProbePattern(0, 0);
1969
+ this.setupPositionProbePattern(this.moduleCount - 7, 0);
1970
+ this.setupPositionProbePattern(0, this.moduleCount - 7);
1971
+ this.setupPositionAdjustPattern();
1972
+ this.setupTimingPattern();
1973
+ this.setupTypeInfo(test, maskPattern);
1974
+ if (this.typeNumber >= 7) {
1975
+ this.setupTypeNumber(test);
1976
+ }
1977
+ if (this.dataCache == null) {
1978
+ this.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);
1979
+ }
1980
+ this.mapData(this.dataCache, maskPattern);
1981
+ };
1982
+ proto.setupPositionProbePattern = function(row, col) {
1983
+ for (var r = -1; r <= 7; r++) {
1984
+ if (row + r <= -1 || this.moduleCount <= row + r) continue;
1985
+ for (var c = -1; c <= 7; c++) {
1986
+ if (col + c <= -1 || this.moduleCount <= col + c) continue;
1987
+ if (0 <= r && r <= 6 && (c == 0 || c == 6) || 0 <= c && c <= 6 && (r == 0 || r == 6) || 2 <= r && r <= 4 && 2 <= c && c <= 4) {
1988
+ this.modules[row + r][col + c] = true;
1989
+ } else {
1990
+ this.modules[row + r][col + c] = false;
1991
+ }
1992
+ }
1993
+ }
1994
+ };
1995
+ proto.getBestMaskPattern = function() {
1996
+ var minLostPoint = 0;
1997
+ var pattern = 0;
1998
+ for (var i = 0; i < 8; i++) {
1999
+ this.makeImpl(true, i);
2000
+ var lostPoint = util.getLostPoint(this);
2001
+ if (i == 0 || minLostPoint > lostPoint) {
2002
+ minLostPoint = lostPoint;
2003
+ pattern = i;
2004
+ }
2005
+ }
2006
+ return pattern;
2007
+ };
2008
+ proto.createMovieClip = function(target_mc, instance_name, depth) {
2009
+ var qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);
2010
+ var cs = 1;
2011
+ this.make();
2012
+ for (var row = 0; row < this.modules.length; row++) {
2013
+ var y = row * cs;
2014
+ for (var col = 0; col < this.modules[row].length; col++) {
2015
+ var x = col * cs;
2016
+ var dark = this.modules[row][col];
2017
+ if (dark) {
2018
+ qr_mc.beginFill(0, 100);
2019
+ qr_mc.moveTo(x, y);
2020
+ qr_mc.lineTo(x + cs, y);
2021
+ qr_mc.lineTo(x + cs, y + cs);
2022
+ qr_mc.lineTo(x, y + cs);
2023
+ qr_mc.endFill();
2024
+ }
2025
+ }
2026
+ }
2027
+ return qr_mc;
2028
+ };
2029
+ proto.setupTimingPattern = function() {
2030
+ for (var r = 8; r < this.moduleCount - 8; r++) {
2031
+ if (this.modules[r][6] != null) {
2032
+ continue;
2033
+ }
2034
+ this.modules[r][6] = r % 2 == 0;
2035
+ }
2036
+ for (var c = 8; c < this.moduleCount - 8; c++) {
2037
+ if (this.modules[6][c] != null) {
2038
+ continue;
2039
+ }
2040
+ this.modules[6][c] = c % 2 == 0;
2041
+ }
2042
+ };
2043
+ proto.setupPositionAdjustPattern = function() {
2044
+ var pos = util.getPatternPosition(this.typeNumber);
2045
+ for (var i = 0; i < pos.length; i++) {
2046
+ for (var j = 0; j < pos.length; j++) {
2047
+ var row = pos[i];
2048
+ var col = pos[j];
2049
+ if (this.modules[row][col] != null) {
2050
+ continue;
2051
+ }
2052
+ for (var r = -2; r <= 2; r++) {
2053
+ for (var c = -2; c <= 2; c++) {
2054
+ if (r == -2 || r == 2 || c == -2 || c == 2 || r == 0 && c == 0) {
2055
+ this.modules[row + r][col + c] = true;
2056
+ } else {
2057
+ this.modules[row + r][col + c] = false;
2058
+ }
2059
+ }
2060
+ }
2061
+ }
2062
+ }
2063
+ };
2064
+ proto.setupTypeNumber = function(test) {
2065
+ var bits = util.getBCHTypeNumber(this.typeNumber);
2066
+ for (var i = 0; i < 18; i++) {
2067
+ var mod = !test && (bits >> i & 1) == 1;
2068
+ this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;
2069
+ }
2070
+ for (var i = 0; i < 18; i++) {
2071
+ var mod = !test && (bits >> i & 1) == 1;
2072
+ this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;
2073
+ }
2074
+ };
2075
+ proto.setupTypeInfo = function(test, maskPattern) {
2076
+ var data = this.errorCorrectLevel << 3 | maskPattern;
2077
+ var bits = util.getBCHTypeInfo(data);
2078
+ for (var i = 0; i < 15; i++) {
2079
+ var mod = !test && (bits >> i & 1) == 1;
2080
+ if (i < 6) {
2081
+ this.modules[i][8] = mod;
2082
+ } else if (i < 8) {
2083
+ this.modules[i + 1][8] = mod;
2084
+ } else {
2085
+ this.modules[this.moduleCount - 15 + i][8] = mod;
2086
+ }
2087
+ }
2088
+ for (var i = 0; i < 15; i++) {
2089
+ var mod = !test && (bits >> i & 1) == 1;
2090
+ if (i < 8) {
2091
+ this.modules[8][this.moduleCount - i - 1] = mod;
2092
+ } else if (i < 9) {
2093
+ this.modules[8][15 - i - 1 + 1] = mod;
2094
+ } else {
2095
+ this.modules[8][15 - i - 1] = mod;
2096
+ }
2097
+ }
2098
+ this.modules[this.moduleCount - 8][8] = !test;
2099
+ };
2100
+ proto.mapData = function(data, maskPattern) {
2101
+ var inc = -1;
2102
+ var row = this.moduleCount - 1;
2103
+ var bitIndex = 7;
2104
+ var byteIndex = 0;
2105
+ for (var col = this.moduleCount - 1; col > 0; col -= 2) {
2106
+ if (col == 6) col--;
2107
+ while (true) {
2108
+ for (var c = 0; c < 2; c++) {
2109
+ if (this.modules[row][col - c] == null) {
2110
+ var dark = false;
2111
+ if (byteIndex < data.length) {
2112
+ dark = (data[byteIndex] >>> bitIndex & 1) == 1;
2113
+ }
2114
+ var mask = util.getMask(maskPattern, row, col - c);
2115
+ if (mask) {
2116
+ dark = !dark;
2117
+ }
2118
+ this.modules[row][col - c] = dark;
2119
+ bitIndex--;
2120
+ if (bitIndex == -1) {
2121
+ byteIndex++;
2122
+ bitIndex = 7;
2123
+ }
2124
+ }
2125
+ }
2126
+ row += inc;
2127
+ if (row < 0 || this.moduleCount <= row) {
2128
+ row -= inc;
2129
+ inc = -inc;
2130
+ break;
2131
+ }
2132
+ }
2133
+ }
2134
+ };
2135
+ QRCode.PAD0 = 236;
2136
+ QRCode.PAD1 = 17;
2137
+ QRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {
2138
+ var rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);
2139
+ var buffer = new BitBuffer();
2140
+ for (var i = 0; i < dataList.length; i++) {
2141
+ var data = dataList[i];
2142
+ buffer.put(data.mode, 4);
2143
+ buffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber));
2144
+ data.write(buffer);
2145
+ }
2146
+ var totalDataCount = 0;
2147
+ for (var i = 0; i < rsBlocks.length; i++) {
2148
+ totalDataCount += rsBlocks[i].dataCount;
2149
+ }
2150
+ if (buffer.getLengthInBits() > totalDataCount * 8) {
2151
+ throw new Error("code length overflow. (" + buffer.getLengthInBits() + ">" + totalDataCount * 8 + ")");
2152
+ }
2153
+ if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {
2154
+ buffer.put(0, 4);
2155
+ }
2156
+ while (buffer.getLengthInBits() % 8 != 0) {
2157
+ buffer.putBit(false);
2158
+ }
2159
+ while (true) {
2160
+ if (buffer.getLengthInBits() >= totalDataCount * 8) {
2161
+ break;
2162
+ }
2163
+ buffer.put(QRCode.PAD0, 8);
2164
+ if (buffer.getLengthInBits() >= totalDataCount * 8) {
2165
+ break;
2166
+ }
2167
+ buffer.put(QRCode.PAD1, 8);
2168
+ }
2169
+ return QRCode.createBytes(buffer, rsBlocks);
2170
+ };
2171
+ QRCode.createBytes = function(buffer, rsBlocks) {
2172
+ var offset = 0;
2173
+ var maxDcCount = 0;
2174
+ var maxEcCount = 0;
2175
+ var dcdata = new Array(rsBlocks.length);
2176
+ var ecdata = new Array(rsBlocks.length);
2177
+ for (var r = 0; r < rsBlocks.length; r++) {
2178
+ var dcCount = rsBlocks[r].dataCount;
2179
+ var ecCount = rsBlocks[r].totalCount - dcCount;
2180
+ maxDcCount = Math.max(maxDcCount, dcCount);
2181
+ maxEcCount = Math.max(maxEcCount, ecCount);
2182
+ dcdata[r] = new Array(dcCount);
2183
+ for (var i = 0; i < dcdata[r].length; i++) {
2184
+ dcdata[r][i] = 255 & buffer.buffer[i + offset];
2185
+ }
2186
+ offset += dcCount;
2187
+ var rsPoly = util.getErrorCorrectPolynomial(ecCount);
2188
+ var rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);
2189
+ var modPoly = rawPoly.mod(rsPoly);
2190
+ ecdata[r] = new Array(rsPoly.getLength() - 1);
2191
+ for (var i = 0; i < ecdata[r].length; i++) {
2192
+ var modIndex = i + modPoly.getLength() - ecdata[r].length;
2193
+ ecdata[r][i] = modIndex >= 0 ? modPoly.get(modIndex) : 0;
2194
+ }
2195
+ }
2196
+ var totalCodeCount = 0;
2197
+ for (var i = 0; i < rsBlocks.length; i++) {
2198
+ totalCodeCount += rsBlocks[i].totalCount;
2199
+ }
2200
+ var data = new Array(totalCodeCount);
2201
+ var index = 0;
2202
+ for (var i = 0; i < maxDcCount; i++) {
2203
+ for (var r = 0; r < rsBlocks.length; r++) {
2204
+ if (i < dcdata[r].length) {
2205
+ data[index++] = dcdata[r][i];
2206
+ }
2207
+ }
2208
+ }
2209
+ for (var i = 0; i < maxEcCount; i++) {
2210
+ for (var r = 0; r < rsBlocks.length; r++) {
2211
+ if (i < ecdata[r].length) {
2212
+ data[index++] = ecdata[r][i];
2213
+ }
2214
+ }
2215
+ }
2216
+ return data;
2217
+ };
2218
+ module.exports = QRCode;
2219
+ }
2220
+ });
2221
+
2222
+ // node_modules/qr.js/index.js
2223
+ var require_qr = chunkXHPRD45G_cjs.__commonJS({
2224
+ "node_modules/qr.js/index.js"(exports, module) {
2225
+ var QRCode = require_QRCode();
2226
+ var ErrorCorrectLevel = require_ErrorCorrectLevel();
2227
+ var qrcode2 = /* @__PURE__ */ chunkXHPRD45G_cjs.__name(function(data, opt) {
2228
+ opt = opt || {};
2229
+ var qr = new QRCode(opt.typeNumber || -1, opt.errorCorrectLevel || ErrorCorrectLevel.H);
2230
+ qr.addData(data);
2231
+ qr.make();
2232
+ return qr;
2233
+ }, "qrcode");
2234
+ qrcode2.ErrorCorrectLevel = ErrorCorrectLevel;
2235
+ module.exports = qrcode2;
2236
+ }
2237
+ });
2238
+
2239
+ // src/lib/invoice/generate-local-invoice-pdf.ts
2240
+ var import_qr = chunkXHPRD45G_cjs.__toESM(require_qr(), 1);
2241
+ var THEMES = {
2242
+ classic: {
2243
+ accent: pdfLib.rgb(0.15, 0.25, 0.45),
2244
+ headerBg: pdfLib.rgb(0.96, 0.96, 0.97),
2245
+ headerText: pdfLib.rgb(0.12, 0.12, 0.14),
2246
+ text: pdfLib.rgb(0.12, 0.12, 0.14),
2247
+ muted: pdfLib.rgb(0.4, 0.42, 0.45),
2248
+ line: pdfLib.rgb(0.82, 0.84, 0.86),
2249
+ bandText: pdfLib.rgb(1, 1, 1)
2250
+ },
2251
+ modern: {
2252
+ accent: pdfLib.rgb(0.1, 0.45, 0.55),
2253
+ headerBg: pdfLib.rgb(0.93, 0.97, 0.98),
2254
+ headerText: pdfLib.rgb(0.1, 0.12, 0.14),
2255
+ text: pdfLib.rgb(0.1, 0.12, 0.14),
2256
+ muted: pdfLib.rgb(0.38, 0.42, 0.45),
2257
+ line: pdfLib.rgb(0.78, 0.86, 0.88),
2258
+ bandText: pdfLib.rgb(1, 1, 1)
2259
+ },
2260
+ compact: {
2261
+ accent: pdfLib.rgb(0.2, 0.2, 0.22),
2262
+ headerBg: pdfLib.rgb(0.95, 0.95, 0.95),
2263
+ headerText: pdfLib.rgb(0.1, 0.1, 0.1),
2264
+ text: pdfLib.rgb(0.1, 0.1, 0.1),
2265
+ muted: pdfLib.rgb(0.45, 0.45, 0.45),
2266
+ line: pdfLib.rgb(0.85, 0.85, 0.85),
2267
+ bandText: pdfLib.rgb(1, 1, 1)
2268
+ },
2269
+ bold: {
2270
+ accent: pdfLib.rgb(0.55, 0.12, 0.12),
2271
+ headerBg: pdfLib.rgb(0.55, 0.12, 0.12),
2272
+ headerText: pdfLib.rgb(1, 1, 1),
2273
+ text: pdfLib.rgb(0.1, 0.1, 0.1),
2274
+ muted: pdfLib.rgb(0.4, 0.4, 0.4),
2275
+ line: pdfLib.rgb(0.8, 0.75, 0.75),
2276
+ bandText: pdfLib.rgb(1, 1, 1)
2277
+ },
2278
+ service_detailed: {
2279
+ accent: pdfLib.rgb(0.15, 0.25, 0.45),
2280
+ headerBg: pdfLib.rgb(0.96, 0.96, 0.97),
2281
+ headerText: pdfLib.rgb(0.12, 0.12, 0.14),
2282
+ text: pdfLib.rgb(0.12, 0.12, 0.14),
2283
+ muted: pdfLib.rgb(0.4, 0.42, 0.45),
2284
+ line: pdfLib.rgb(0.82, 0.84, 0.86),
2285
+ bandText: pdfLib.rgb(1, 1, 1)
2286
+ }
2287
+ };
2288
+ function money(amount, currency) {
2289
+ const n = Number.isFinite(amount) ? amount : 0;
2290
+ const code = (currency || "INR").trim().toUpperCase() || "INR";
2291
+ return `${code} ${n.toFixed(2)}`;
2292
+ }
2293
+ chunkXHPRD45G_cjs.__name(money, "money");
2294
+ function fmtDate(d) {
2295
+ const date = d instanceof Date ? d : new Date(d);
2296
+ if (Number.isNaN(date.getTime())) return String(d);
2297
+ const y = date.getFullYear();
2298
+ const m = String(date.getMonth() + 1).padStart(2, "0");
2299
+ const day = String(date.getDate()).padStart(2, "0");
2300
+ return `${day}-${m}-${y}`;
2301
+ }
2302
+ chunkXHPRD45G_cjs.__name(fmtDate, "fmtDate");
2303
+ function winAnsiSafe(input) {
2304
+ return String(input ?? "").replace(/\u20B9/g, "INR ").replace(/\u20AC/g, "EUR ").replace(/\u00A3/g, "GBP ").replace(/[^\x09\x0A\x0D\x20-\x7E]/g, "?");
2305
+ }
2306
+ chunkXHPRD45G_cjs.__name(winAnsiSafe, "winAnsiSafe");
2307
+ function addrLines(a) {
2308
+ if (!a) return [];
2309
+ const out = [];
2310
+ if (a.line1?.trim()) out.push(a.line1.trim());
2311
+ if (a.line2?.trim()) out.push(a.line2.trim());
2312
+ const cityLine = [
2313
+ a.city,
2314
+ a.state,
2315
+ a.postalCode
2316
+ ].filter((x) => x && String(x).trim()).join(", ");
2317
+ if (cityLine) out.push(cityLine);
2318
+ if (a.country?.trim()) out.push(a.country.trim());
2319
+ return out.map(winAnsiSafe);
2320
+ }
2321
+ chunkXHPRD45G_cjs.__name(addrLines, "addrLines");
2322
+ function companyHeaderDetailLines(company) {
2323
+ const lines = [];
2324
+ if (company.supportEmail?.trim()) {
2325
+ lines.push(`Email: ${company.supportEmail.trim()}`);
2326
+ }
2327
+ if (company.supportPhone?.trim()) {
2328
+ lines.push(`Phone: ${company.supportPhone.trim()}`);
2329
+ }
2330
+ if (company.address?.trim()) {
2331
+ const parts = company.address.split(/\r?\n/).map((l) => l.trim()).filter(Boolean);
2332
+ if (parts.length === 1) {
2333
+ lines.push(`Address: ${parts[0]}`);
2334
+ } else if (parts.length > 1) {
2335
+ lines.push(`Address: ${parts[0]}`);
2336
+ lines.push(...parts.slice(1));
2337
+ }
2338
+ }
2339
+ return lines.map(winAnsiSafe);
2340
+ }
2341
+ chunkXHPRD45G_cjs.__name(companyHeaderDetailLines, "companyHeaderDetailLines");
2342
+ function drawText(page, text, x, y, font, size, color) {
2343
+ const safe = winAnsiSafe(text).slice(0, 120);
2344
+ if (!safe) return;
2345
+ page.drawText(safe, {
2346
+ x,
2347
+ y,
2348
+ size,
2349
+ font,
2350
+ color
2351
+ });
2352
+ }
2353
+ chunkXHPRD45G_cjs.__name(drawText, "drawText");
2354
+ function wrapText(text, font, size, maxWidth) {
2355
+ const words = winAnsiSafe(text).split(/\s+/).filter(Boolean);
2356
+ if (!words.length) return [
2357
+ ""
2358
+ ];
2359
+ const lines = [];
2360
+ let cur = "";
2361
+ for (const w of words) {
2362
+ const next = cur ? `${cur} ${w}` : w;
2363
+ if (font.widthOfTextAtSize(next, size) <= maxWidth) {
2364
+ cur = next;
2365
+ } else {
2366
+ if (cur) lines.push(cur);
2367
+ cur = w;
2368
+ }
2369
+ }
2370
+ if (cur) lines.push(cur);
2371
+ return lines.slice(0, 4);
2372
+ }
2373
+ chunkXHPRD45G_cjs.__name(wrapText, "wrapText");
2374
+ async function tryEmbedLogo(doc, logoUrl, maxW, maxH) {
2375
+ const url = String(logoUrl ?? "").trim();
2376
+ if (!url || !/^https?:\/\//i.test(url)) return null;
2377
+ try {
2378
+ const res = await fetch(url, {
2379
+ signal: AbortSignal.timeout(8e3)
2380
+ });
2381
+ if (!res.ok) return null;
2382
+ const buf = new Uint8Array(await res.arrayBuffer());
2383
+ if (buf.byteLength < 24 || buf.byteLength > 25e5) return null;
2384
+ const ct = (res.headers.get("content-type") || "").toLowerCase();
2385
+ const isPng = ct.includes("png") || buf[0] === 137 && buf[1] === 80 && buf[2] === 78 && buf[3] === 71;
2386
+ const isJpg = ct.includes("jpeg") || ct.includes("jpg") || buf[0] === 255 && buf[1] === 216;
2387
+ let image;
2388
+ if (isPng) image = await doc.embedPng(buf);
2389
+ else if (isJpg) image = await doc.embedJpg(buf);
2390
+ else {
2391
+ try {
2392
+ image = await doc.embedPng(buf);
2393
+ } catch {
2394
+ image = await doc.embedJpg(buf);
2395
+ }
2396
+ }
2397
+ const scale = Math.min(maxW / image.width, maxH / image.height, 1);
2398
+ return {
2399
+ image,
2400
+ width: image.width * scale,
2401
+ height: image.height * scale
2402
+ };
2403
+ } catch {
2404
+ return null;
2405
+ }
2406
+ }
2407
+ chunkXHPRD45G_cjs.__name(tryEmbedLogo, "tryEmbedLogo");
2408
+ function drawQrCode(page, text, x, y, size) {
2409
+ try {
2410
+ const fn = typeof import_qr.default === "function" ? import_qr.default : import_qr.default?.default;
2411
+ if (!fn) return;
2412
+ const qr = fn(text, {
2413
+ errorCorrectLevel: 2
2414
+ });
2415
+ const modules = qr.modules;
2416
+ if (!modules || !modules.length) return;
2417
+ const count = modules.length;
2418
+ const cellSize = size / count;
2419
+ page.drawRectangle({
2420
+ x: x - 3,
2421
+ y: y - 3,
2422
+ width: size + 6,
2423
+ height: size + 6,
2424
+ color: pdfLib.rgb(1, 1, 1)
2425
+ });
2426
+ for (let r = 0; r < count; r++) {
2427
+ for (let c = 0; c < count; c++) {
2428
+ if (modules[r][c]) {
2429
+ page.drawRectangle({
2430
+ x: x + c * cellSize,
2431
+ y: y + (count - 1 - r) * cellSize,
2432
+ width: cellSize + 0.05,
2433
+ height: cellSize + 0.05,
2434
+ color: pdfLib.rgb(0.1, 0.1, 0.1)
2435
+ });
2436
+ }
2437
+ }
2438
+ }
2439
+ } catch (err) {
2440
+ console.error("[invoice-pdf] Failed to draw QR code:", err);
2441
+ }
2442
+ }
2443
+ chunkXHPRD45G_cjs.__name(drawQrCode, "drawQrCode");
2444
+ async function generateLocalInvoicePdf(input) {
2445
+ const templateId = chunkE62LKM6Z_cjs.normalizeInvoiceTemplateId(input.templateId);
2446
+ const theme = THEMES[templateId];
2447
+ const doc = await pdfLib.PDFDocument.create();
2448
+ const font = await doc.embedFont(pdfLib.StandardFonts.Helvetica);
2449
+ const fontBold = await doc.embedFont(pdfLib.StandardFonts.HelveticaBold);
2450
+ const pageWidth = 595.28;
2451
+ const pageHeight = 841.89;
2452
+ const margin = templateId === "compact" ? 36 : 48;
2453
+ let page = doc.addPage([
2454
+ pageWidth,
2455
+ pageHeight
2456
+ ]);
2457
+ let y = pageHeight - margin;
2458
+ const companyName = input.company.name || "Store";
2459
+ const logo = await tryEmbedLogo(doc, input.company.logoUrl, 120, 40);
2460
+ const ensureSpace = /* @__PURE__ */ chunkXHPRD45G_cjs.__name((need) => {
2461
+ if (y - need < margin + 40) {
2462
+ page = doc.addPage([
2463
+ pageWidth,
2464
+ pageHeight
2465
+ ]);
2466
+ y = pageHeight - margin;
2467
+ }
2468
+ }, "ensureSpace");
2469
+ const companyDetails = companyHeaderDetailLines(input.company);
2470
+ const detailLineH = 11;
2471
+ const detailsBlockH = companyDetails.length * detailLineH;
2472
+ if (templateId === "bold" || templateId === "modern") {
2473
+ const contentH = 22 + 16 + detailsBlockH;
2474
+ const bandH = Math.max(templateId === "bold" ? 72 : 56, logo ? logo.height + 24 : 56, contentH + 20);
2475
+ page.drawRectangle({
2476
+ x: 0,
2477
+ y: pageHeight - bandH,
2478
+ width: pageWidth,
2479
+ height: bandH,
2480
+ color: theme.accent
2481
+ });
2482
+ if (logo) {
2483
+ page.drawImage(logo.image, {
2484
+ x: pageWidth - margin - logo.width,
2485
+ y: pageHeight - bandH + (bandH - logo.height) / 2,
2486
+ width: logo.width,
2487
+ height: logo.height
2488
+ });
2489
+ }
2490
+ let hy = pageHeight - 26;
2491
+ drawText(page, "TAX INVOICE", margin, hy, fontBold, 18, theme.bandText);
2492
+ hy -= 18;
2493
+ drawText(page, companyName, margin, hy, font, 11, theme.bandText);
2494
+ hy -= 14;
2495
+ for (const line of companyDetails) {
2496
+ drawText(page, line, margin, hy, font, 8, theme.bandText);
2497
+ hy -= detailLineH;
2498
+ }
2499
+ y = pageHeight - bandH - 24;
2500
+ } else {
2501
+ const contentH = 18 + 14 + detailsBlockH;
2502
+ const headerH = Math.max(44, logo ? logo.height + 16 : 44, contentH + 20);
2503
+ page.drawRectangle({
2504
+ x: margin,
2505
+ y: y - headerH + 16,
2506
+ width: pageWidth - margin * 2,
2507
+ height: headerH,
2508
+ color: theme.headerBg
2509
+ });
2510
+ if (logo) {
2511
+ page.drawImage(logo.image, {
2512
+ x: pageWidth - margin - 12 - logo.width,
2513
+ y: y - headerH + 16 + (headerH - logo.height) / 2,
2514
+ width: logo.width,
2515
+ height: logo.height
2516
+ });
2517
+ }
2518
+ let hy = y + 2;
2519
+ drawText(page, "TAX INVOICE", margin + 12, hy, fontBold, 16, theme.accent);
2520
+ hy -= 16;
2521
+ drawText(page, companyName, margin + 12, hy, font, 10, theme.muted);
2522
+ hy -= 13;
2523
+ for (const line of companyDetails) {
2524
+ drawText(page, line, margin + 12, hy, font, 8, theme.muted);
2525
+ hy -= detailLineH;
2526
+ }
2527
+ y -= headerH + 16;
2528
+ }
2529
+ drawText(page, `Invoice #: ${input.orderNumber}`, margin, y, fontBold, 11, theme.text);
2530
+ drawText(page, `Date: ${fmtDate(input.orderDate)}`, pageWidth / 2, y, font, 10, theme.muted);
2531
+ y -= 22;
2532
+ ensureSpace(100);
2533
+ const colW = (pageWidth - margin * 2 - 16) / 2;
2534
+ drawText(page, "Bill to", margin, y, fontBold, 10, theme.accent);
2535
+ drawText(page, "Ship to", margin + colW + 16, y, fontBold, 10, theme.accent);
2536
+ y -= 14;
2537
+ const bill = [
2538
+ input.customerName,
2539
+ input.customerEmail || "",
2540
+ input.customerPhone || "",
2541
+ ...addrLines(input.billingAddress)
2542
+ ].filter(Boolean);
2543
+ const ship = addrLines(input.shippingAddress).length ? [
2544
+ input.customerName,
2545
+ ...addrLines(input.shippingAddress)
2546
+ ] : bill;
2547
+ const rows = Math.max(bill.length, ship.length, 1);
2548
+ for (let i = 0; i < rows; i++) {
2549
+ ensureSpace(14);
2550
+ if (bill[i]) drawText(page, bill[i], margin, y, font, 9, theme.text);
2551
+ if (ship[i]) drawText(page, ship[i], margin + colW + 16, y, font, 9, theme.text);
2552
+ y -= 12;
2553
+ }
2554
+ y -= 12;
2555
+ const isServiceTemplate = templateId === "service_detailed";
2556
+ if (isServiceTemplate) {
2557
+ y -= 6;
2558
+ ensureSpace(50);
2559
+ const sCol1 = margin;
2560
+ const sCol2 = margin + colW + 16;
2561
+ drawText(page, "Order Date:", sCol1, y, fontBold, 9.5, theme.accent);
2562
+ drawText(page, fmtDate(input.orderDate), sCol1 + 75, y, font, 9.5, theme.text);
2563
+ drawText(page, "Service Date:", sCol2, y, fontBold, 9.5, theme.accent);
2564
+ drawText(page, input.serviceDate ? fmtDate(input.serviceDate) : "Not scheduled", sCol2 + 85, y, font, 9.5, theme.text);
2565
+ y -= 16;
2566
+ drawText(page, "Slot:", sCol1, y, fontBold, 9.5, theme.accent);
2567
+ drawText(page, input.timeSlot ? String(input.timeSlot) : "Standard", sCol1 + 75, y, font, 9.5, theme.text);
2568
+ drawText(page, "Assigned to:", sCol2, y, fontBold, 9.5, theme.accent);
2569
+ drawText(page, input.assignedTo ? String(input.assignedTo) : "Pending Assignment", sCol2 + 85, y, font, 9.5, theme.text);
2570
+ y -= 24;
2571
+ }
2572
+ const right = pageWidth - margin;
2573
+ const contentRight = right - 4;
2574
+ const colTotalW = 100;
2575
+ const colTaxW = 100;
2576
+ const colPriceW = 100;
2577
+ const colQtyW = 40;
2578
+ const totalRight = contentRight;
2579
+ const taxRight = totalRight - colTotalW;
2580
+ const priceRight = taxRight - colTaxW;
2581
+ const qtyRight = priceRight - colPriceW;
2582
+ const itemMaxW = Math.max(80, qtyRight - colQtyW - margin - 8);
2583
+ const drawRight = /* @__PURE__ */ chunkXHPRD45G_cjs.__name((text, rightEdge, atY, f, size, color) => {
2584
+ const safe = winAnsiSafe(text).slice(0, 40);
2585
+ if (!safe) return;
2586
+ const w = f.widthOfTextAtSize(safe, size);
2587
+ page.drawText(safe, {
2588
+ x: rightEdge - w,
2589
+ y: atY,
2590
+ size,
2591
+ font: f,
2592
+ color
2593
+ });
2594
+ }, "drawRight");
2595
+ ensureSpace(30);
2596
+ const headerBarH = 20;
2597
+ const headerBarBottom = y - 5;
2598
+ page.drawRectangle({
2599
+ x: margin,
2600
+ y: headerBarBottom,
2601
+ width: pageWidth - margin * 2,
2602
+ height: headerBarH,
2603
+ color: theme.headerBg
2604
+ });
2605
+ const headerTextY = headerBarBottom + 6;
2606
+ drawText(page, "Item", margin + 4, headerTextY, fontBold, 9, theme.headerText);
2607
+ drawRight("Qty", qtyRight, headerTextY, fontBold, 9, theme.headerText);
2608
+ drawRight("Price", priceRight, headerTextY, fontBold, 9, theme.headerText);
2609
+ drawRight("Tax", taxRight, headerTextY, fontBold, 9, theme.headerText);
2610
+ drawRight("Total", totalRight, headerTextY, fontBold, 9, theme.headerText);
2611
+ y = headerBarBottom - 10;
2612
+ for (const line of input.lineItems) {
2613
+ const nameLines = wrapText(line.name || "Item", font, 9, itemMaxW);
2614
+ const skuText = line.sku ? winAnsiSafe(`SKU: ${line.sku}`).slice(0, 80) : "";
2615
+ const nameH = Math.max(11, nameLines.length * 11);
2616
+ const skuH = skuText ? 10 : 0;
2617
+ const blockH = nameH + skuH + 6;
2618
+ ensureSpace(blockH + 10);
2619
+ let ty = y;
2620
+ for (const nl of nameLines) {
2621
+ drawText(page, nl, margin + 4, ty, font, 9, theme.text);
2622
+ ty -= 11;
2623
+ }
2624
+ if (skuText) {
2625
+ drawText(page, skuText, margin + 4, ty, font, 7, theme.muted);
2626
+ ty -= 10;
2627
+ }
2628
+ drawRight(String(line.quantity), qtyRight, y, font, 9, theme.text);
2629
+ drawRight(money(line.unitPrice, input.currency), priceRight, y, font, 9, theme.text);
2630
+ drawRight(money(line.tax ?? 0, input.currency), taxRight, y, font, 9, theme.text);
2631
+ drawRight(money(line.total, input.currency), totalRight, y, font, 9, theme.text);
2632
+ const contentBottom = Math.min(ty, y - 12);
2633
+ y = contentBottom - 2;
2634
+ page.drawLine({
2635
+ start: {
2636
+ x: margin,
2637
+ y
2638
+ },
2639
+ end: {
2640
+ x: pageWidth - margin,
2641
+ y
2642
+ },
2643
+ thickness: 0.5,
2644
+ color: theme.line
2645
+ });
2646
+ y -= 8;
2647
+ }
2648
+ y -= 16;
2649
+ ensureSpace(95);
2650
+ const summaryTopY = y;
2651
+ const summaryLabelX = totalRight - colTotalW - colTaxW - 8;
2652
+ const rowsSummary = [
2653
+ [
2654
+ "Subtotal",
2655
+ money(input.subtotal, input.currency),
2656
+ false
2657
+ ],
2658
+ [
2659
+ "Discount",
2660
+ money(input.discount, input.currency),
2661
+ false
2662
+ ],
2663
+ [
2664
+ "Tax",
2665
+ money(input.tax, input.currency),
2666
+ false
2667
+ ],
2668
+ [
2669
+ "Total",
2670
+ money(input.total, input.currency),
2671
+ true
2672
+ ]
2673
+ ];
2674
+ let sy = summaryTopY;
2675
+ for (const [label, value, strong] of rowsSummary) {
2676
+ const f = strong ? fontBold : font;
2677
+ const size = strong ? 11 : 9;
2678
+ drawText(page, label, summaryLabelX, sy, f, size, strong ? theme.accent : theme.muted);
2679
+ drawRight(value, totalRight, sy, f, size, theme.text);
2680
+ sy -= strong ? 18 : 14;
2681
+ }
2682
+ let qrBottomY = summaryTopY;
2683
+ const shouldDrawQr = input.includeQrCode === true && Boolean(input.qrData || input.qrToken);
2684
+ if (shouldDrawQr) {
2685
+ const qrSize = 64;
2686
+ const qrX = margin + 4;
2687
+ const qrY = summaryTopY - qrSize + 8;
2688
+ const qrContent = input.qrData || String(input.orderNumber);
2689
+ drawQrCode(page, qrContent, qrX, qrY, qrSize);
2690
+ qrBottomY = qrY - 10;
2691
+ }
2692
+ y = Math.min(sy, qrBottomY) - 16;
2693
+ ensureSpace(30);
2694
+ drawText(page, "Thank you for your purchase.", margin, y, font, 9, theme.muted);
2695
+ y -= 12;
2696
+ return doc.save();
2697
+ }
2698
+ chunkXHPRD45G_cjs.__name(generateLocalInvoicePdf, "generateLocalInvoicePdf");
2699
+
2700
+ exports.generateLocalInvoicePdf = generateLocalInvoicePdf;