@poe-platform/safe-bash 0.1.781 → 0.1.783

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 (116) hide show
  1. package/README.md +40 -0
  2. package/dist/office-package/zip-sync.d.ts +2 -0
  3. package/dist/office-package/zip-sync.js +111 -0
  4. package/dist/safe-bash/chunks/chunk-4FDQJUFW.js +3464 -0
  5. package/dist/safe-bash/chunks/csvkit-K55OYAQC.js +1564 -0
  6. package/dist/safe-bash/chunks/ffmpeg-BEFTQ6DZ.js +60 -0
  7. package/dist/safe-bash/chunks/gh-HQWOWLWE.js +41 -0
  8. package/dist/safe-bash/chunks/git-UFNPAOYZ.js +52 -0
  9. package/dist/safe-bash/chunks/imagemagick-53BMHH6D.js +134 -0
  10. package/dist/safe-bash/chunks/implementation-QUTAAYMT.js +105 -0
  11. package/dist/safe-bash/chunks/pdfimages-4OYI6FLG.js +73 -0
  12. package/dist/safe-bash/chunks/pdfinfo-I7U6TQPP.js +153 -0
  13. package/dist/safe-bash/chunks/pdftk-SUA6FMHI.js +79 -0
  14. package/dist/safe-bash/chunks/pdftoppm-4C5DGEWX.js +139 -0
  15. package/dist/safe-bash/chunks/pdftotext-Y4WI225Y.js +118 -0
  16. package/dist/safe-bash/chunks/qpdf-IORB4RV5.js +68 -0
  17. package/dist/safe-bash/chunks/sips-WHAMJFEU.js +77 -0
  18. package/dist/safe-bash/chunks/soffice-SYEK6WJS.js +89 -0
  19. package/dist/safe-bash/chunks/wkhtmltopdf-ZIICWJLF.js +85 -0
  20. package/dist/safe-bash/command-chunks/chunk-2LP3VMPA.js +58 -0
  21. package/dist/safe-bash/command-chunks/{chunk-CG4JSOK2.js → chunk-3HDIDEUJ.js} +1 -1
  22. package/dist/safe-bash/command-chunks/chunk-4DSJDVBM.js +2897 -0
  23. package/dist/safe-bash/command-chunks/{chunk-GBHSE6ZO.js → chunk-5GRLAARV.js} +1 -1
  24. package/dist/safe-bash/command-chunks/chunk-7OKDCM5U.js +112 -0
  25. package/dist/safe-bash/command-chunks/{chunk-FH3D75FC.js → chunk-ADCGH6A7.js} +1 -1
  26. package/dist/safe-bash/command-chunks/{chunk-MTKXVRXL.js → chunk-DREUDEQG.js} +1 -1
  27. package/dist/safe-bash/command-chunks/{chunk-ADBFNLLK.js → chunk-FXYWQ6S4.js} +16 -14
  28. package/dist/safe-bash/command-chunks/{chunk-Y2KHC6TZ.js → chunk-IDKD76KR.js} +5 -3
  29. package/dist/safe-bash/command-chunks/{chunk-K6KBYLQC.js → chunk-JUDOV5MJ.js} +1 -1
  30. package/dist/safe-bash/command-chunks/{chunk-3ZK5F23O.js → chunk-L3MLMXL4.js} +1 -1
  31. package/dist/safe-bash/command-chunks/{chunk-E5TEVROY.js → chunk-PFBJR2PY.js} +4 -4
  32. package/dist/safe-bash/command-chunks/{chunk-YGYOVXTO.js → chunk-UUR2S7AD.js} +9 -5
  33. package/dist/safe-bash/command-chunks/chunk-VIVYKW7Q.js +101 -0
  34. package/dist/safe-bash/command-chunks/{chunk-I5GLTNVH.js → chunk-X4P42NYK.js} +2 -27
  35. package/dist/safe-bash/command-chunks/{chunk-XF6TXYLD.js → chunk-Z57TV6TC.js} +4 -54
  36. package/dist/safe-bash/command-chunks/{chunk-QDPRSPHQ.js → chunk-Z64BW7CG.js} +1 -1
  37. package/dist/safe-bash/command-chunks/{chunk-X3IVPNC3.js → chunk-Z7TYZG3A.js} +5 -3
  38. package/dist/safe-bash/command-chunks/{chunk-GZXLPWT5.js → chunk-ZF3ZVGQC.js} +259 -258
  39. package/dist/safe-bash/command-chunks/{pptx-ZL6L7KP2-QVZEYFUV.js → pptx-KY2OJWZW-76LBHCHD.js} +4 -3
  40. package/dist/safe-bash/commands/csvkit/index.d.ts +1 -8
  41. package/dist/safe-bash/commands/csvkit/index.js +5 -1639
  42. package/dist/safe-bash/commands/csvkit/sync.d.ts +9 -0
  43. package/dist/safe-bash/commands/csvkit/sync.js +1639 -0
  44. package/dist/safe-bash/commands/pandoc/implementation.d.ts +8 -0
  45. package/dist/safe-bash/commands/pandoc/implementation.js +92 -0
  46. package/dist/safe-bash/commands/pandoc/index.d.ts +2 -6
  47. package/dist/safe-bash/commands/pandoc/index.js +2 -90
  48. package/dist/safe-bash/core.browser.js +808 -6271
  49. package/dist/safe-bash/core.d.ts +17 -16
  50. package/dist/safe-bash/core.js +17 -16
  51. package/dist/safe-bash/lazy-gh.d.ts +10 -0
  52. package/dist/safe-bash/lazy-gh.js +30 -0
  53. package/dist/safe-bash/lazy-optional.d.ts +499 -0
  54. package/dist/safe-bash/lazy-optional.js +609 -0
  55. package/dist/safe-bash/plugins/composition.d.ts +1 -1
  56. package/dist/safe-bash/plugins/composition.js +1 -1
  57. package/dist/safe-bash/plugins/lazy-command.d.ts +9 -0
  58. package/dist/safe-bash/plugins/lazy-command.js +57 -0
  59. package/dist/safe-bash/shell/runtime.js +24 -25
  60. package/dist/safe-bash-command-csvkit/cli/lexical.d.ts +3 -0
  61. package/dist/safe-bash-command-csvkit/cli/parser.d.ts +1 -2
  62. package/dist/safe-bash-command-csvkit/codecs/python.js +3 -2
  63. package/dist/safe-bash-command-csvkit/codecs/utf8.js +2 -1
  64. package/dist/safe-bash-command-csvkit/index.js +453 -3270
  65. package/dist/safe-bash-command-csvkit/sync-support.d.ts +7 -0
  66. package/dist/safe-bash-command-csvkit/sync-support.js +31 -0
  67. package/dist/safe-bash-command-gh/index.js +25 -17
  68. package/dist/safe-bash-command-git/index.js +6 -10
  69. package/dist/safe-bash-command-imagemagick/index.js +2 -2
  70. package/dist/safe-bash-command-pandoc/citeproc-filters.js +4 -2
  71. package/dist/safe-bash-command-pandoc/command.js +8 -6
  72. package/dist/safe-bash-command-pandoc/index.js +8 -6
  73. package/dist/safe-bash-command-pandoc/lua-filters.js +3 -2
  74. package/dist/safe-bash-command-pandoc/options.d.ts +5 -0
  75. package/dist/safe-bash-command-pandoc/options.js +93 -0
  76. package/dist/safe-bash-command-sips/index.js +2 -2
  77. package/dist/safe-bash-command-soffice/index.d.ts +1 -2
  78. package/dist/safe-bash-command-soffice/index.js +22 -18
  79. package/dist/safe-bash-command-ssconvert/commands.js +2 -2
  80. package/dist/safe-bash-command-ssconvert/core.js +2 -2
  81. package/dist/safe-bash-command-ssconvert/formats/csv.js +2 -2
  82. package/dist/safe-bash-command-ssconvert/formats/xls.js +3 -3
  83. package/dist/safe-bash-command-ssconvert/formats/xlsx.js +3 -3
  84. package/dist/safe-bash-command-timeout/index.js +3 -3
  85. package/dist/safe-bash-command-yq/index.js +5 -5
  86. package/dist/safe-bash-compression-engine/bounded-codec.js +3 -3
  87. package/dist/safe-bash-compression-engine/codec-loader.js +2 -2
  88. package/dist/safe-bash-compression-engine/files.js +7 -7
  89. package/dist/safe-bash-compression-engine/index.js +6 -6
  90. package/dist/safe-bash-compression-engine/operand.js +7 -7
  91. package/dist/safe-bash-compression-engine/stream.js +6 -6
  92. package/dist/safe-bash-compression-engine/zstd-decode.js +5 -5
  93. package/dist/safe-bash-contracts/diagnostics.js +3 -3
  94. package/dist/safe-bash-contracts/escaping.js +9 -9
  95. package/dist/safe-bash-contracts/filesystem-descriptor.js +1 -1
  96. package/dist/safe-bash-contracts/filesystem-output.js +10 -10
  97. package/dist/safe-bash-contracts/index.js +40 -40
  98. package/dist/safe-bash-io-engine/commands/search/requirements.js +4 -4
  99. package/dist/safe-bash-io-engine/commands/text-programs/shared.js +4 -4
  100. package/dist/safe-bash-io-engine/internal.d.ts +9 -0
  101. package/dist/safe-bash-io-engine/internal.js +3 -3
  102. package/dist/safe-bash-query-engine/index.js +6 -6
  103. package/dist/safe-bash-query-engine/interpreter.js +5 -5
  104. package/dist/safe-bash-query-engine/query-core.js +6 -6
  105. package/dist/safe-bash-regex-engine/execution/bounded-provider.js +3 -3
  106. package/dist/safe-bash-regex-engine/index.js +2 -2
  107. package/dist/safe-bash-regex-engine/text/regex.js +2 -2
  108. package/dist/safe-bash-xml-engine/index.js +3 -3
  109. package/package.json +4 -4
  110. package/dist/safe-bash/command-chunks/{chunk-DC52GWRK.js → chunk-BUKYQBXO.js} +13 -13
  111. package/dist/safe-bash/command-chunks/{chunk-QJ3ONEBI.js → chunk-DEH3CMGL.js} +3 -3
  112. package/dist/safe-bash/command-chunks/{chunk-Y64PA6IA.js → chunk-KHZZ4V3L.js} +3 -3
  113. package/dist/safe-bash/command-chunks/{chunk-I7PKIGII.js → chunk-QIRUOY2W.js} +3 -3
  114. package/dist/safe-bash/command-chunks/{chunk-HQG2IBZL.js → chunk-TOSM3T3A.js} +6 -6
  115. package/dist/safe-bash/command-chunks/{chunk-F4IQCXZG.js → chunk-VBZMCL23.js} +4 -4
  116. package/dist/safe-bash/command-chunks/{chunk-J2NPH7DO.js → chunk-W2T7JWT3.js} +3 -3
@@ -0,0 +1,2897 @@
1
+ import {
2
+ CsvkitBlocked,
3
+ CsvkitDiagnostic,
4
+ PythonException
5
+ } from "./chunk-2LP3VMPA.js";
6
+ import {
7
+ init_buffer
8
+ } from "./chunk-HX3SHTCE.js";
9
+
10
+ // packages/safe-bash-command-csvkit/dist/csv.js
11
+ init_buffer();
12
+
13
+ // packages/safe-bash-command-csvkit/dist/unicode-profile.js
14
+ init_buffer();
15
+ var decimalZeroes = [48, 1632, 1776, 1984, 2406, 2534, 2662, 2790, 2918, 3046, 3174, 3302, 3430, 3558, 3664, 3792, 3872, 4160, 4240, 6112, 6160, 6470, 6608, 6784, 6800, 6992, 7088, 7232, 7248, 42528, 43216, 43264, 43472, 43504, 43600, 44016, 65296, 66720, 68912, 68928, 69734, 69872, 69942, 70096, 70384, 70736, 70864, 71248, 71360, 71376, 71386, 71472, 71904, 72016, 72688, 72784, 73040, 73120, 73552, 90416, 92768, 92864, 93008, 93552, 118e3, 120782, 120792, 120802, 120812, 120822, 123200, 123632, 124144, 124401, 125264, 130032];
16
+ var integerWhitespace = [9, 10, 11, 12, 13, 32, 133, 160, 5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8232, 8233, 8239, 8287, 12288];
17
+ var nonprintingRanges = [
18
+ [0, 31],
19
+ [127, 160],
20
+ [173, 173],
21
+ [888, 889],
22
+ [896, 899],
23
+ [907, 907],
24
+ [909, 909],
25
+ [930, 930],
26
+ [1328, 1328],
27
+ [1367, 1368],
28
+ [1419, 1420],
29
+ [1424, 1424],
30
+ [1480, 1487],
31
+ [1515, 1518],
32
+ [1525, 1541],
33
+ [1564, 1564],
34
+ [1757, 1757],
35
+ [1806, 1807],
36
+ [1867, 1868],
37
+ [1970, 1983],
38
+ [2043, 2044],
39
+ [2094, 2095],
40
+ [2111, 2111],
41
+ [2140, 2141],
42
+ [2143, 2143],
43
+ [2155, 2159],
44
+ [2191, 2198],
45
+ [2274, 2274],
46
+ [2436, 2436],
47
+ [2445, 2446],
48
+ [2449, 2450],
49
+ [2473, 2473],
50
+ [2481, 2481],
51
+ [2483, 2485],
52
+ [2490, 2491],
53
+ [2501, 2502],
54
+ [2505, 2506],
55
+ [2511, 2518],
56
+ [2520, 2523],
57
+ [2526, 2526],
58
+ [2532, 2533],
59
+ [2559, 2560],
60
+ [2564, 2564],
61
+ [2571, 2574],
62
+ [2577, 2578],
63
+ [2601, 2601],
64
+ [2609, 2609],
65
+ [2612, 2612],
66
+ [2615, 2615],
67
+ [2618, 2619],
68
+ [2621, 2621],
69
+ [2627, 2630],
70
+ [2633, 2634],
71
+ [2638, 2640],
72
+ [2642, 2648],
73
+ [2653, 2653],
74
+ [2655, 2661],
75
+ [2679, 2688],
76
+ [2692, 2692],
77
+ [2702, 2702],
78
+ [2706, 2706],
79
+ [2729, 2729],
80
+ [2737, 2737],
81
+ [2740, 2740],
82
+ [2746, 2747],
83
+ [2758, 2758],
84
+ [2762, 2762],
85
+ [2766, 2767],
86
+ [2769, 2783],
87
+ [2788, 2789],
88
+ [2802, 2808],
89
+ [2816, 2816],
90
+ [2820, 2820],
91
+ [2829, 2830],
92
+ [2833, 2834],
93
+ [2857, 2857],
94
+ [2865, 2865],
95
+ [2868, 2868],
96
+ [2874, 2875],
97
+ [2885, 2886],
98
+ [2889, 2890],
99
+ [2894, 2900],
100
+ [2904, 2907],
101
+ [2910, 2910],
102
+ [2916, 2917],
103
+ [2936, 2945],
104
+ [2948, 2948],
105
+ [2955, 2957],
106
+ [2961, 2961],
107
+ [2966, 2968],
108
+ [2971, 2971],
109
+ [2973, 2973],
110
+ [2976, 2978],
111
+ [2981, 2983],
112
+ [2987, 2989],
113
+ [3002, 3005],
114
+ [3011, 3013],
115
+ [3017, 3017],
116
+ [3022, 3023],
117
+ [3025, 3030],
118
+ [3032, 3045],
119
+ [3067, 3071],
120
+ [3085, 3085],
121
+ [3089, 3089],
122
+ [3113, 3113],
123
+ [3130, 3131],
124
+ [3141, 3141],
125
+ [3145, 3145],
126
+ [3150, 3156],
127
+ [3159, 3159],
128
+ [3163, 3164],
129
+ [3166, 3167],
130
+ [3172, 3173],
131
+ [3184, 3190],
132
+ [3213, 3213],
133
+ [3217, 3217],
134
+ [3241, 3241],
135
+ [3252, 3252],
136
+ [3258, 3259],
137
+ [3269, 3269],
138
+ [3273, 3273],
139
+ [3278, 3284],
140
+ [3287, 3292],
141
+ [3295, 3295],
142
+ [3300, 3301],
143
+ [3312, 3312],
144
+ [3316, 3327],
145
+ [3341, 3341],
146
+ [3345, 3345],
147
+ [3397, 3397],
148
+ [3401, 3401],
149
+ [3408, 3411],
150
+ [3428, 3429],
151
+ [3456, 3456],
152
+ [3460, 3460],
153
+ [3479, 3481],
154
+ [3506, 3506],
155
+ [3516, 3516],
156
+ [3518, 3519],
157
+ [3527, 3529],
158
+ [3531, 3534],
159
+ [3541, 3541],
160
+ [3543, 3543],
161
+ [3552, 3557],
162
+ [3568, 3569],
163
+ [3573, 3584],
164
+ [3643, 3646],
165
+ [3676, 3712],
166
+ [3715, 3715],
167
+ [3717, 3717],
168
+ [3723, 3723],
169
+ [3748, 3748],
170
+ [3750, 3750],
171
+ [3774, 3775],
172
+ [3781, 3781],
173
+ [3783, 3783],
174
+ [3791, 3791],
175
+ [3802, 3803],
176
+ [3808, 3839],
177
+ [3912, 3912],
178
+ [3949, 3952],
179
+ [3992, 3992],
180
+ [4029, 4029],
181
+ [4045, 4045],
182
+ [4059, 4095],
183
+ [4294, 4294],
184
+ [4296, 4300],
185
+ [4302, 4303],
186
+ [4681, 4681],
187
+ [4686, 4687],
188
+ [4695, 4695],
189
+ [4697, 4697],
190
+ [4702, 4703],
191
+ [4745, 4745],
192
+ [4750, 4751],
193
+ [4785, 4785],
194
+ [4790, 4791],
195
+ [4799, 4799],
196
+ [4801, 4801],
197
+ [4806, 4807],
198
+ [4823, 4823],
199
+ [4881, 4881],
200
+ [4886, 4887],
201
+ [4955, 4956],
202
+ [4989, 4991],
203
+ [5018, 5023],
204
+ [5110, 5111],
205
+ [5118, 5119],
206
+ [5760, 5760],
207
+ [5789, 5791],
208
+ [5881, 5887],
209
+ [5910, 5918],
210
+ [5943, 5951],
211
+ [5972, 5983],
212
+ [5997, 5997],
213
+ [6001, 6001],
214
+ [6004, 6015],
215
+ [6110, 6111],
216
+ [6122, 6127],
217
+ [6138, 6143],
218
+ [6158, 6158],
219
+ [6170, 6175],
220
+ [6265, 6271],
221
+ [6315, 6319],
222
+ [6390, 6399],
223
+ [6431, 6431],
224
+ [6444, 6447],
225
+ [6460, 6463],
226
+ [6465, 6467],
227
+ [6510, 6511],
228
+ [6517, 6527],
229
+ [6572, 6575],
230
+ [6602, 6607],
231
+ [6619, 6621],
232
+ [6684, 6685],
233
+ [6751, 6751],
234
+ [6781, 6782],
235
+ [6794, 6799],
236
+ [6810, 6815],
237
+ [6830, 6831],
238
+ [6863, 6911],
239
+ [6989, 6989],
240
+ [7156, 7163],
241
+ [7224, 7226],
242
+ [7242, 7244],
243
+ [7307, 7311],
244
+ [7355, 7356],
245
+ [7368, 7375],
246
+ [7419, 7423],
247
+ [7958, 7959],
248
+ [7966, 7967],
249
+ [8006, 8007],
250
+ [8014, 8015],
251
+ [8024, 8024],
252
+ [8026, 8026],
253
+ [8028, 8028],
254
+ [8030, 8030],
255
+ [8062, 8063],
256
+ [8117, 8117],
257
+ [8133, 8133],
258
+ [8148, 8149],
259
+ [8156, 8156],
260
+ [8176, 8177],
261
+ [8181, 8181],
262
+ [8191, 8207],
263
+ [8232, 8239],
264
+ [8287, 8303],
265
+ [8306, 8307],
266
+ [8335, 8335],
267
+ [8349, 8351],
268
+ [8385, 8399],
269
+ [8433, 8447],
270
+ [8588, 8591],
271
+ [9258, 9279],
272
+ [9291, 9311],
273
+ [11124, 11125],
274
+ [11158, 11158],
275
+ [11508, 11512],
276
+ [11558, 11558],
277
+ [11560, 11564],
278
+ [11566, 11567],
279
+ [11624, 11630],
280
+ [11633, 11646],
281
+ [11671, 11679],
282
+ [11687, 11687],
283
+ [11695, 11695],
284
+ [11703, 11703],
285
+ [11711, 11711],
286
+ [11719, 11719],
287
+ [11727, 11727],
288
+ [11735, 11735],
289
+ [11743, 11743],
290
+ [11870, 11903],
291
+ [11930, 11930],
292
+ [12020, 12031],
293
+ [12246, 12271],
294
+ [12288, 12288],
295
+ [12352, 12352],
296
+ [12439, 12440],
297
+ [12544, 12548],
298
+ [12592, 12592],
299
+ [12687, 12687],
300
+ [12774, 12782],
301
+ [12831, 12831],
302
+ [42125, 42127],
303
+ [42183, 42191],
304
+ [42540, 42559],
305
+ [42744, 42751],
306
+ [42958, 42959],
307
+ [42962, 42962],
308
+ [42964, 42964],
309
+ [42973, 42993],
310
+ [43053, 43055],
311
+ [43066, 43071],
312
+ [43128, 43135],
313
+ [43206, 43213],
314
+ [43226, 43231],
315
+ [43348, 43358],
316
+ [43389, 43391],
317
+ [43470, 43470],
318
+ [43482, 43485],
319
+ [43519, 43519],
320
+ [43575, 43583],
321
+ [43598, 43599],
322
+ [43610, 43611],
323
+ [43715, 43738],
324
+ [43767, 43776],
325
+ [43783, 43784],
326
+ [43791, 43792],
327
+ [43799, 43807],
328
+ [43815, 43815],
329
+ [43823, 43823],
330
+ [43884, 43887],
331
+ [44014, 44015],
332
+ [44026, 44031],
333
+ [55204, 55215],
334
+ [55239, 55242],
335
+ [55292, 63743],
336
+ [64110, 64111],
337
+ [64218, 64255],
338
+ [64263, 64274],
339
+ [64280, 64284],
340
+ [64311, 64311],
341
+ [64317, 64317],
342
+ [64319, 64319],
343
+ [64322, 64322],
344
+ [64325, 64325],
345
+ [64451, 64466],
346
+ [64912, 64913],
347
+ [64968, 64974],
348
+ [64976, 65007],
349
+ [65050, 65055],
350
+ [65107, 65107],
351
+ [65127, 65127],
352
+ [65132, 65135],
353
+ [65141, 65141],
354
+ [65277, 65280],
355
+ [65471, 65473],
356
+ [65480, 65481],
357
+ [65488, 65489],
358
+ [65496, 65497],
359
+ [65501, 65503],
360
+ [65511, 65511],
361
+ [65519, 65531],
362
+ [65534, 65535],
363
+ [65548, 65548],
364
+ [65575, 65575],
365
+ [65595, 65595],
366
+ [65598, 65598],
367
+ [65614, 65615],
368
+ [65630, 65663],
369
+ [65787, 65791],
370
+ [65795, 65798],
371
+ [65844, 65846],
372
+ [65935, 65935],
373
+ [65949, 65951],
374
+ [65953, 65999],
375
+ [66046, 66175],
376
+ [66205, 66207],
377
+ [66257, 66271],
378
+ [66300, 66303],
379
+ [66340, 66348],
380
+ [66379, 66383],
381
+ [66427, 66431],
382
+ [66462, 66462],
383
+ [66500, 66503],
384
+ [66518, 66559],
385
+ [66718, 66719],
386
+ [66730, 66735],
387
+ [66772, 66775],
388
+ [66812, 66815],
389
+ [66856, 66863],
390
+ [66916, 66926],
391
+ [66939, 66939],
392
+ [66955, 66955],
393
+ [66963, 66963],
394
+ [66966, 66966],
395
+ [66978, 66978],
396
+ [66994, 66994],
397
+ [67002, 67002],
398
+ [67005, 67007],
399
+ [67060, 67071],
400
+ [67383, 67391],
401
+ [67414, 67423],
402
+ [67432, 67455],
403
+ [67462, 67462],
404
+ [67505, 67505],
405
+ [67515, 67583],
406
+ [67590, 67591],
407
+ [67593, 67593],
408
+ [67638, 67638],
409
+ [67641, 67643],
410
+ [67645, 67646],
411
+ [67670, 67670],
412
+ [67743, 67750],
413
+ [67760, 67807],
414
+ [67827, 67827],
415
+ [67830, 67834],
416
+ [67868, 67870],
417
+ [67898, 67902],
418
+ [67904, 67967],
419
+ [68024, 68027],
420
+ [68048, 68049],
421
+ [68100, 68100],
422
+ [68103, 68107],
423
+ [68116, 68116],
424
+ [68120, 68120],
425
+ [68150, 68151],
426
+ [68155, 68158],
427
+ [68169, 68175],
428
+ [68185, 68191],
429
+ [68256, 68287],
430
+ [68327, 68330],
431
+ [68343, 68351],
432
+ [68406, 68408],
433
+ [68438, 68439],
434
+ [68467, 68471],
435
+ [68498, 68504],
436
+ [68509, 68520],
437
+ [68528, 68607],
438
+ [68681, 68735],
439
+ [68787, 68799],
440
+ [68851, 68857],
441
+ [68904, 68911],
442
+ [68922, 68927],
443
+ [68966, 68968],
444
+ [68998, 69005],
445
+ [69008, 69215],
446
+ [69247, 69247],
447
+ [69290, 69290],
448
+ [69294, 69295],
449
+ [69298, 69313],
450
+ [69317, 69371],
451
+ [69416, 69423],
452
+ [69466, 69487],
453
+ [69514, 69551],
454
+ [69580, 69599],
455
+ [69623, 69631],
456
+ [69710, 69713],
457
+ [69750, 69758],
458
+ [69821, 69821],
459
+ [69827, 69839],
460
+ [69865, 69871],
461
+ [69882, 69887],
462
+ [69941, 69941],
463
+ [69960, 69967],
464
+ [70007, 70015],
465
+ [70112, 70112],
466
+ [70133, 70143],
467
+ [70162, 70162],
468
+ [70210, 70271],
469
+ [70279, 70279],
470
+ [70281, 70281],
471
+ [70286, 70286],
472
+ [70302, 70302],
473
+ [70314, 70319],
474
+ [70379, 70383],
475
+ [70394, 70399],
476
+ [70404, 70404],
477
+ [70413, 70414],
478
+ [70417, 70418],
479
+ [70441, 70441],
480
+ [70449, 70449],
481
+ [70452, 70452],
482
+ [70458, 70458],
483
+ [70469, 70470],
484
+ [70473, 70474],
485
+ [70478, 70479],
486
+ [70481, 70486],
487
+ [70488, 70492],
488
+ [70500, 70501],
489
+ [70509, 70511],
490
+ [70517, 70527],
491
+ [70538, 70538],
492
+ [70540, 70541],
493
+ [70543, 70543],
494
+ [70582, 70582],
495
+ [70593, 70593],
496
+ [70595, 70596],
497
+ [70598, 70598],
498
+ [70603, 70603],
499
+ [70614, 70614],
500
+ [70617, 70624],
501
+ [70627, 70655],
502
+ [70748, 70748],
503
+ [70754, 70783],
504
+ [70856, 70863],
505
+ [70874, 71039],
506
+ [71094, 71095],
507
+ [71134, 71167],
508
+ [71237, 71247],
509
+ [71258, 71263],
510
+ [71277, 71295],
511
+ [71354, 71359],
512
+ [71370, 71375],
513
+ [71396, 71423],
514
+ [71451, 71452],
515
+ [71468, 71471],
516
+ [71495, 71679],
517
+ [71740, 71839],
518
+ [71923, 71934],
519
+ [71943, 71944],
520
+ [71946, 71947],
521
+ [71956, 71956],
522
+ [71959, 71959],
523
+ [71990, 71990],
524
+ [71993, 71994],
525
+ [72007, 72015],
526
+ [72026, 72095],
527
+ [72104, 72105],
528
+ [72152, 72153],
529
+ [72165, 72191],
530
+ [72264, 72271],
531
+ [72355, 72367],
532
+ [72441, 72447],
533
+ [72458, 72639],
534
+ [72674, 72687],
535
+ [72698, 72703],
536
+ [72713, 72713],
537
+ [72759, 72759],
538
+ [72774, 72783],
539
+ [72813, 72815],
540
+ [72848, 72849],
541
+ [72872, 72872],
542
+ [72887, 72959],
543
+ [72967, 72967],
544
+ [72970, 72970],
545
+ [73015, 73017],
546
+ [73019, 73019],
547
+ [73022, 73022],
548
+ [73032, 73039],
549
+ [73050, 73055],
550
+ [73062, 73062],
551
+ [73065, 73065],
552
+ [73103, 73103],
553
+ [73106, 73106],
554
+ [73113, 73119],
555
+ [73130, 73439],
556
+ [73465, 73471],
557
+ [73489, 73489],
558
+ [73531, 73533],
559
+ [73563, 73647],
560
+ [73649, 73663],
561
+ [73714, 73726],
562
+ [74650, 74751],
563
+ [74863, 74863],
564
+ [74869, 74879],
565
+ [75076, 77711],
566
+ [77811, 77823],
567
+ [78896, 78911],
568
+ [78934, 78943],
569
+ [82939, 82943],
570
+ [83527, 90367],
571
+ [90426, 92159],
572
+ [92729, 92735],
573
+ [92767, 92767],
574
+ [92778, 92781],
575
+ [92863, 92863],
576
+ [92874, 92879],
577
+ [92910, 92911],
578
+ [92918, 92927],
579
+ [92998, 93007],
580
+ [93018, 93018],
581
+ [93026, 93026],
582
+ [93048, 93052],
583
+ [93072, 93503],
584
+ [93562, 93759],
585
+ [93851, 93951],
586
+ [94027, 94030],
587
+ [94088, 94094],
588
+ [94112, 94175],
589
+ [94181, 94191],
590
+ [94194, 94207],
591
+ [100344, 100351],
592
+ [101590, 101630],
593
+ [101641, 110575],
594
+ [110580, 110580],
595
+ [110588, 110588],
596
+ [110591, 110591],
597
+ [110883, 110897],
598
+ [110899, 110927],
599
+ [110931, 110932],
600
+ [110934, 110947],
601
+ [110952, 110959],
602
+ [111356, 113663],
603
+ [113771, 113775],
604
+ [113789, 113791],
605
+ [113801, 113807],
606
+ [113818, 113819],
607
+ [113824, 117759],
608
+ [118010, 118015],
609
+ [118452, 118527],
610
+ [118574, 118575],
611
+ [118599, 118607],
612
+ [118724, 118783],
613
+ [119030, 119039],
614
+ [119079, 119080],
615
+ [119155, 119162],
616
+ [119275, 119295],
617
+ [119366, 119487],
618
+ [119508, 119519],
619
+ [119540, 119551],
620
+ [119639, 119647],
621
+ [119673, 119807],
622
+ [119893, 119893],
623
+ [119965, 119965],
624
+ [119968, 119969],
625
+ [119971, 119972],
626
+ [119975, 119976],
627
+ [119981, 119981],
628
+ [119994, 119994],
629
+ [119996, 119996],
630
+ [120004, 120004],
631
+ [120070, 120070],
632
+ [120075, 120076],
633
+ [120085, 120085],
634
+ [120093, 120093],
635
+ [120122, 120122],
636
+ [120127, 120127],
637
+ [120133, 120133],
638
+ [120135, 120137],
639
+ [120145, 120145],
640
+ [120486, 120487],
641
+ [120780, 120781],
642
+ [121484, 121498],
643
+ [121504, 121504],
644
+ [121520, 122623],
645
+ [122655, 122660],
646
+ [122667, 122879],
647
+ [122887, 122887],
648
+ [122905, 122906],
649
+ [122914, 122914],
650
+ [122917, 122917],
651
+ [122923, 122927],
652
+ [122990, 123022],
653
+ [123024, 123135],
654
+ [123181, 123183],
655
+ [123198, 123199],
656
+ [123210, 123213],
657
+ [123216, 123535],
658
+ [123567, 123583],
659
+ [123642, 123646],
660
+ [123648, 124111],
661
+ [124154, 124367],
662
+ [124411, 124414],
663
+ [124416, 124895],
664
+ [124903, 124903],
665
+ [124908, 124908],
666
+ [124911, 124911],
667
+ [124927, 124927],
668
+ [125125, 125126],
669
+ [125143, 125183],
670
+ [125260, 125263],
671
+ [125274, 125277],
672
+ [125280, 126064],
673
+ [126133, 126208],
674
+ [126270, 126463],
675
+ [126468, 126468],
676
+ [126496, 126496],
677
+ [126499, 126499],
678
+ [126501, 126502],
679
+ [126504, 126504],
680
+ [126515, 126515],
681
+ [126520, 126520],
682
+ [126522, 126522],
683
+ [126524, 126529],
684
+ [126531, 126534],
685
+ [126536, 126536],
686
+ [126538, 126538],
687
+ [126540, 126540],
688
+ [126544, 126544],
689
+ [126547, 126547],
690
+ [126549, 126550],
691
+ [126552, 126552],
692
+ [126554, 126554],
693
+ [126556, 126556],
694
+ [126558, 126558],
695
+ [126560, 126560],
696
+ [126563, 126563],
697
+ [126565, 126566],
698
+ [126571, 126571],
699
+ [126579, 126579],
700
+ [126584, 126584],
701
+ [126589, 126589],
702
+ [126591, 126591],
703
+ [126602, 126602],
704
+ [126620, 126624],
705
+ [126628, 126628],
706
+ [126634, 126634],
707
+ [126652, 126703],
708
+ [126706, 126975],
709
+ [127020, 127023],
710
+ [127124, 127135],
711
+ [127151, 127152],
712
+ [127168, 127168],
713
+ [127184, 127184],
714
+ [127222, 127231],
715
+ [127406, 127461],
716
+ [127491, 127503],
717
+ [127548, 127551],
718
+ [127561, 127567],
719
+ [127570, 127583],
720
+ [127590, 127743],
721
+ [128728, 128731],
722
+ [128749, 128751],
723
+ [128765, 128767],
724
+ [128887, 128890],
725
+ [128986, 128991],
726
+ [129004, 129007],
727
+ [129009, 129023],
728
+ [129036, 129039],
729
+ [129096, 129103],
730
+ [129114, 129119],
731
+ [129160, 129167],
732
+ [129198, 129199],
733
+ [129212, 129215],
734
+ [129218, 129279],
735
+ [129620, 129631],
736
+ [129646, 129647],
737
+ [129661, 129663],
738
+ [129674, 129678],
739
+ [129735, 129741],
740
+ [129757, 129758],
741
+ [129770, 129775],
742
+ [129785, 129791],
743
+ [129939, 129939],
744
+ [130042, 131071],
745
+ [173792, 173823],
746
+ [177978, 177983],
747
+ [178206, 178207],
748
+ [183970, 183983],
749
+ [191457, 191471],
750
+ [192094, 194559],
751
+ [195102, 196607],
752
+ [201547, 201551],
753
+ [205744, 917759],
754
+ [918e3, 1114111]
755
+ ];
756
+
757
+ // packages/safe-bash-command-csvkit/dist/cli/lexical.js
758
+ init_buffer();
759
+ function repr(value) {
760
+ const quote = value.includes("'") && !value.includes('"') ? '"' : "'";
761
+ let text = quote;
762
+ for (const char of value) {
763
+ if (char === quote || char === "\\")
764
+ text += "\\" + char;
765
+ else if (char === "\n")
766
+ text += "\\n";
767
+ else if (char === "\r")
768
+ text += "\\r";
769
+ else if (char === " ")
770
+ text += "\\t";
771
+ else {
772
+ const codepoint = char.codePointAt(0);
773
+ if (nonprintingRanges.some(([start, end]) => codepoint >= start && codepoint <= end)) {
774
+ const width = codepoint <= 255 ? 2 : codepoint <= 65535 ? 4 : 8;
775
+ text += "\\" + (width === 2 ? "x" : width === 4 ? "u" : "U") + codepoint.toString(16).padStart(width, "0");
776
+ } else
777
+ text += char;
778
+ }
779
+ }
780
+ return text + quote;
781
+ }
782
+ function integer(text, maxDigits = 4300) {
783
+ const characters = Array.from(text);
784
+ let start = 0;
785
+ let end = characters.length;
786
+ while (start < end && integerWhitespace.includes(characters[start].codePointAt(0)))
787
+ start++;
788
+ while (end > start && integerWhitespace.includes(characters[end - 1].codePointAt(0)))
789
+ end--;
790
+ const value = characters.slice(start, end).join("");
791
+ let offset2 = value[0] === "+" || value[0] === "-" ? 1 : 0;
792
+ let digits = "";
793
+ let previousDigit = false;
794
+ const payload = Array.from(value.slice(offset2));
795
+ for (offset2 = 0; offset2 < payload.length; offset2++) {
796
+ const char = payload[offset2];
797
+ const codepoint = char.codePointAt(0);
798
+ const zero = decimalZeroes.find((zero2) => codepoint >= zero2 && codepoint <= zero2 + 9);
799
+ if (zero !== void 0) {
800
+ digits += String(codepoint - zero);
801
+ previousDigit = true;
802
+ } else if (char === "_" && previousDigit && offset2 + 1 < payload.length)
803
+ previousDigit = false;
804
+ else
805
+ return void 0;
806
+ }
807
+ if (!digits || !previousDigit || digits.length > maxDigits)
808
+ return void 0;
809
+ const big = BigInt((value[0] === "-" ? "-" : "") + digits);
810
+ const number = Number(big);
811
+ return Number.isSafeInteger(number) ? number : big;
812
+ }
813
+
814
+ // packages/safe-bash-command-csvkit/dist/csv.js
815
+ function numericField(field) {
816
+ const invalid = () => {
817
+ throw new CsvkitDiagnostic(`ValueError: could not convert string to float: ${repr(field)}`);
818
+ };
819
+ const chars = Array.from(field);
820
+ let first = 0;
821
+ let last = chars.length;
822
+ while (first < last && integerWhitespace.includes(chars[first].codePointAt(0)))
823
+ first++;
824
+ while (last > first && integerWhitespace.includes(chars[last - 1].codePointAt(0)))
825
+ last--;
826
+ let value = "";
827
+ for (let index2 = first; index2 < last; index2++) {
828
+ const char = chars[index2];
829
+ const code = char.codePointAt(0);
830
+ const zero = decimalZeroes.find((start) => code >= start && code < start + 10);
831
+ value += zero === void 0 ? char : String(code - zero);
832
+ }
833
+ const lower = value.toLowerCase();
834
+ const unsigned = lower[0] === "+" || lower[0] === "-" ? lower.slice(1) : lower;
835
+ if (unsigned === "inf" || unsigned === "infinity")
836
+ return lower[0] === "-" ? -Infinity : Infinity;
837
+ if (unsigned === "nan")
838
+ return NaN;
839
+ const digit = (char) => char !== void 0 && char >= "0" && char <= "9";
840
+ let normalized = "";
841
+ for (let index2 = 0; index2 < value.length; index2++) {
842
+ if (value[index2] === "_") {
843
+ if (!digit(value[index2 - 1]) || !digit(value[index2 + 1]))
844
+ invalid();
845
+ } else
846
+ normalized += value[index2];
847
+ }
848
+ let index = normalized[0] === "+" || normalized[0] === "-" ? 1 : 0;
849
+ let digits = 0;
850
+ while (digit(normalized[index])) {
851
+ index++;
852
+ digits++;
853
+ }
854
+ if (normalized[index] === ".") {
855
+ index++;
856
+ while (digit(normalized[index])) {
857
+ index++;
858
+ digits++;
859
+ }
860
+ }
861
+ if (!digits)
862
+ invalid();
863
+ if (normalized[index] === "e" || normalized[index] === "E") {
864
+ index++;
865
+ if (normalized[index] === "+" || normalized[index] === "-")
866
+ index++;
867
+ const start = index;
868
+ while (digit(normalized[index]))
869
+ index++;
870
+ if (index === start)
871
+ invalid();
872
+ }
873
+ if (index !== normalized.length)
874
+ invalid();
875
+ return Number(normalized);
876
+ }
877
+ function character(value, fallback, name) {
878
+ const result = value ?? fallback;
879
+ if (Array.from(result).length !== 1)
880
+ throw new CsvkitDiagnostic(`TypeError: "${name}" must be a unicode character${name === "delimiter" ? "" : " or None"}, not a string of length ${Array.from(result).length}`);
881
+ return result;
882
+ }
883
+ function dialectCharacters(dialect) {
884
+ const quoting = dialect.quoting ?? (dialect.quotechar === null ? 3 : 0);
885
+ if (!Number.isInteger(quoting) || quoting < 0 || quoting > 5)
886
+ throw new CsvkitDiagnostic('TypeError: bad "quoting" value');
887
+ if (dialect.quotechar === null && quoting !== 3)
888
+ throw new CsvkitDiagnostic("TypeError: quotechar must be set if quoting enabled");
889
+ const delimiter = character(dialect.delimiter, ",", "delimiter");
890
+ const quote = dialect.quotechar === null ? "" : character(dialect.quotechar, '"', "quotechar");
891
+ const escape = dialect.escapechar === void 0 || dialect.escapechar === null ? void 0 : character(dialect.escapechar, "", "escapechar");
892
+ for (const [name, value] of [["delimiter", delimiter], ["quotechar", quote], ["escapechar", escape]]) {
893
+ if (value === "\r" || value === "\n" || name !== "delimiter" && value === " " && dialect.skipinitialspace)
894
+ throw new CsvkitDiagnostic(`ValueError: bad ${name} value`);
895
+ }
896
+ if (delimiter === quote)
897
+ throw new CsvkitDiagnostic("ValueError: bad delimiter or quotechar value");
898
+ if (delimiter === escape)
899
+ throw new CsvkitDiagnostic("ValueError: bad delimiter or escapechar value");
900
+ if (escape === quote)
901
+ throw new CsvkitDiagnostic("ValueError: bad escapechar or quotechar value");
902
+ return { delimiter, quote, escape };
903
+ }
904
+ function createCsvParser(dialect, step, preserveNewlines = false, physicalLine, admitRow = () => {
905
+ }) {
906
+ const { delimiter, quote, escape } = dialectCharacters(dialect);
907
+ let state = "start";
908
+ let field = "";
909
+ let length = 0;
910
+ let cells = [];
911
+ let wasQuoted = false;
912
+ let line = 1;
913
+ let active = false;
914
+ let previousCR = false;
915
+ let rowStarted = false;
916
+ let finished = false;
917
+ const append = (char) => {
918
+ if (cells.length >= (dialect.columnBudget ?? Infinity))
919
+ throw new CsvkitBlocked("column budget exceeded");
920
+ length++;
921
+ if (length > (dialect.fieldBudget ?? Infinity))
922
+ throw new CsvkitBlocked("field character budget exceeded");
923
+ if (length > (dialect.fieldLimit ?? Infinity))
924
+ throw new CsvkitDiagnostic(`FieldSizeLimitError: CSV contains a field longer than the maximum length of ${dialect.fieldLimit} characters on line ${physicalLine?.() ?? line}. Try raising the maximum with the field_size_limit parameter, or try setting quoting=csv.QUOTE_NONE.`);
925
+ field += char;
926
+ };
927
+ const finish = () => {
928
+ if (cells.length >= (dialect.columnBudget ?? Infinity))
929
+ throw new CsvkitBlocked("column budget exceeded");
930
+ const quoting = dialect.quoting ?? 0;
931
+ cells.push(!wasQuoted && !field && (quoting === 4 || quoting === 5) ? null : !wasQuoted && field && (quoting === 2 || quoting === 4) ? numericField(field) : field);
932
+ field = "";
933
+ length = 0;
934
+ state = "start";
935
+ wasQuoted = false;
936
+ };
937
+ let lastChar = "";
938
+ return {
939
+ get done() {
940
+ return finished;
941
+ },
942
+ isIdle() {
943
+ return !finished && !rowStarted && state === "start" && !previousCR && !active && cells.length === 0 && field.length === 0;
944
+ },
945
+ advancePlainLine() {
946
+ lastChar = "\n";
947
+ line++;
948
+ },
949
+ feed(char) {
950
+ if (finished)
951
+ return void 0;
952
+ if (char === null) {
953
+ finished = true;
954
+ if (active) {
955
+ if (state === "escaped" || state === "quotedEscape")
956
+ append("\n");
957
+ finish();
958
+ const rec = { cells, line: physicalLine?.() ?? line - (lastChar === "\n" || lastChar === "\r" ? 1 : 0) };
959
+ cells = [];
960
+ return rec;
961
+ }
962
+ return void 0;
963
+ }
964
+ if (char === void 0) {
965
+ if (!rowStarted) {
966
+ admitRow();
967
+ rowStarted = true;
968
+ }
969
+ previousCR = false;
970
+ if (state === "escaped" || state === "quotedEscape") {
971
+ append("\n");
972
+ state = state === "escaped" ? "plain" : "quoted";
973
+ return void 0;
974
+ }
975
+ if (state === "escapedNewline")
976
+ return void 0;
977
+ if (state === "quoted")
978
+ return void 0;
979
+ if (active || cells.length || field)
980
+ finish();
981
+ const rec = { cells, line: physicalLine?.() ?? line };
982
+ cells = [];
983
+ state = "start";
984
+ active = false;
985
+ rowStarted = false;
986
+ return rec;
987
+ }
988
+ lastChar = char;
989
+ step();
990
+ const pairedLF = previousCR && char === "\n";
991
+ if (pairedLF && !preserveNewlines) {
992
+ previousCR = false;
993
+ return void 0;
994
+ }
995
+ if (!rowStarted) {
996
+ admitRow();
997
+ rowStarted = true;
998
+ }
999
+ previousCR = char === "\r";
1000
+ if (previousCR && !preserveNewlines)
1001
+ char = "\n";
1002
+ const wasActive = active;
1003
+ active = true;
1004
+ let emitted;
1005
+ if (state === "escaped" || state === "quotedEscape") {
1006
+ append(char);
1007
+ state = state === "escaped" ? char === "\n" || char === "\r" ? "escapedNewline" : "plain" : "quoted";
1008
+ } else if (state === "quoted") {
1009
+ if (char === escape)
1010
+ state = "quotedEscape";
1011
+ else if (char === quote)
1012
+ state = dialect.doublequote === false ? "plain" : "after";
1013
+ else
1014
+ append(char);
1015
+ } else if (state === "after" && char === quote) {
1016
+ append(char);
1017
+ state = "quoted";
1018
+ } else if (char === "\n" || char === "\r") {
1019
+ if (wasActive || cells.length || field)
1020
+ finish();
1021
+ emitted = { cells, line: physicalLine?.() ?? line };
1022
+ cells = [];
1023
+ state = "start";
1024
+ active = false;
1025
+ rowStarted = false;
1026
+ } else if (state === "start" && char === " " && dialect.skipinitialspace) {
1027
+ } else if (char === delimiter)
1028
+ finish();
1029
+ else if (state === "after") {
1030
+ append(char);
1031
+ state = "plain";
1032
+ } else if (char === escape)
1033
+ state = "escaped";
1034
+ else if (state === "start" && char === quote && dialect.quoting !== 3) {
1035
+ state = "quoted";
1036
+ wasQuoted = true;
1037
+ } else {
1038
+ append(char);
1039
+ if (state !== "escapedNewline")
1040
+ state = "plain";
1041
+ }
1042
+ if ((char === "\n" || char === "\r") && !pairedLF)
1043
+ line++;
1044
+ return emitted;
1045
+ }
1046
+ };
1047
+ }
1048
+ function* readCsv(text, dialect = {}, step = () => {
1049
+ }) {
1050
+ const parser = createCsvParser(dialect, step);
1051
+ for (const char of text) {
1052
+ const next = parser.feed(char);
1053
+ if (next)
1054
+ yield next;
1055
+ }
1056
+ const end = parser.feed(null);
1057
+ if (end)
1058
+ yield end;
1059
+ }
1060
+ function readCsvRecoverable(text, dialect, step) {
1061
+ let offset2 = 0;
1062
+ let lineEnd = 0;
1063
+ let line = 0;
1064
+ let done = false;
1065
+ let parser = createCsvParser(dialect, step, true, () => line);
1066
+ return {
1067
+ next() {
1068
+ if (done)
1069
+ return { done: true, value: void 0 };
1070
+ try {
1071
+ while (offset2 < text.length) {
1072
+ if (offset2 === lineEnd) {
1073
+ line++;
1074
+ lineEnd = offset2;
1075
+ while (lineEnd < text.length && text[lineEnd] !== "\n" && text[lineEnd] !== "\r") {
1076
+ step();
1077
+ lineEnd++;
1078
+ }
1079
+ if (text[lineEnd] === "\r")
1080
+ lineEnd++;
1081
+ if (text[lineEnd] === "\n")
1082
+ lineEnd++;
1083
+ }
1084
+ const char = String.fromCodePoint(text.codePointAt(offset2));
1085
+ offset2 += char.length;
1086
+ const next = parser.feed(char);
1087
+ if (next) {
1088
+ offset2 = lineEnd;
1089
+ return { done: false, value: next };
1090
+ }
1091
+ }
1092
+ done = true;
1093
+ const end = parser.feed(null);
1094
+ return end ? { done: false, value: end } : { done: true, value: void 0 };
1095
+ } catch (failure) {
1096
+ if (failure instanceof CsvkitDiagnostic && !(failure instanceof CsvkitBlocked)) {
1097
+ offset2 = lineEnd;
1098
+ parser = createCsvParser(dialect, step, true, () => line);
1099
+ } else
1100
+ done = true;
1101
+ throw failure;
1102
+ }
1103
+ },
1104
+ return() {
1105
+ done = true;
1106
+ return { done: true, value: void 0 };
1107
+ }
1108
+ };
1109
+ }
1110
+ async function* readCsvStream(lines, dialect = {}, step = () => {
1111
+ }, admitRow = () => {
1112
+ }) {
1113
+ let physicalLine = 0;
1114
+ const parser = createCsvParser(dialect, step, true, () => physicalLine, admitRow);
1115
+ const { delimiter, quote, escape } = dialectCharacters(dialect);
1116
+ const quoting = dialect.quoting ?? (dialect.quotechar === null ? 3 : 0);
1117
+ const canFastPlain = (quoting === 0 || quoting === 1 || quoting === 3) && !dialect.skipinitialspace && escape === void 0 && delimiter.length === 1;
1118
+ const quoteCode = quote ? quote.charCodeAt(0) : -1;
1119
+ const colBudget = dialect.columnBudget ?? Infinity;
1120
+ const maxFieldLen = Math.min(dialect.fieldBudget ?? Infinity, dialect.fieldLimit ?? Infinity);
1121
+ try {
1122
+ for await (const text of lines) {
1123
+ physicalLine++;
1124
+ const len = text.length;
1125
+ if (canFastPlain && len >= 2 && len <= maxFieldLen && text.charCodeAt(len - 1) === 10 && parser.isIdle?.()) {
1126
+ let plainAscii = true;
1127
+ let fieldCount = 1;
1128
+ const delimCode = delimiter.charCodeAt(0);
1129
+ for (let i = 0; i < len - 1; i++) {
1130
+ const c = text.charCodeAt(i);
1131
+ if (c >= 128 || c === 13 || c === 10 || c === quoteCode) {
1132
+ plainAscii = false;
1133
+ break;
1134
+ }
1135
+ if (c === delimCode)
1136
+ fieldCount++;
1137
+ }
1138
+ if (plainAscii && fieldCount <= colBudget) {
1139
+ for (let i = 0; i < len; i++)
1140
+ step();
1141
+ admitRow();
1142
+ parser.advancePlainLine?.();
1143
+ yield { cells: text.slice(0, len - 1).split(delimiter), line: physicalLine };
1144
+ continue;
1145
+ }
1146
+ }
1147
+ let offset2 = 0;
1148
+ let completed = false;
1149
+ for (const char of text) {
1150
+ offset2 += char.length;
1151
+ const next = parser.feed(char);
1152
+ if (next) {
1153
+ for (const trailing of text.slice(offset2))
1154
+ if (trailing !== "\n" && trailing !== "\r")
1155
+ throw new CsvkitDiagnostic("Error: new-line character seen in unquoted field - do you need to open the file with newline=''?");
1156
+ yield next;
1157
+ completed = true;
1158
+ break;
1159
+ }
1160
+ }
1161
+ if (!completed) {
1162
+ const boundary = parser.feed(void 0);
1163
+ if (boundary) {
1164
+ yield boundary;
1165
+ }
1166
+ }
1167
+ }
1168
+ const end = parser.feed(null);
1169
+ if (end)
1170
+ yield end;
1171
+ } finally {
1172
+ }
1173
+ }
1174
+ function pythonValueText(value) {
1175
+ if (value === null)
1176
+ return "";
1177
+ if (typeof value === "boolean")
1178
+ return value ? "True" : "False";
1179
+ if (typeof value === "number") {
1180
+ if (Number.isNaN(value))
1181
+ return "nan";
1182
+ if (!Number.isFinite(value))
1183
+ return value < 0 ? "-inf" : "inf";
1184
+ if (Object.is(value, -0))
1185
+ return "-0.0";
1186
+ }
1187
+ if (typeof value !== "object")
1188
+ return String(value);
1189
+ if (value.kind !== "timedelta")
1190
+ return value.value;
1191
+ const day = 86400000000n;
1192
+ let days = value.microseconds / day;
1193
+ let remainder = value.microseconds % day;
1194
+ if (remainder < 0n) {
1195
+ days--;
1196
+ remainder += day;
1197
+ }
1198
+ if (days < -999999999n || days > 999999999n)
1199
+ throw new CsvkitDiagnostic("OverflowError: timedelta days out of range");
1200
+ const seconds = remainder / 1000000n;
1201
+ const micros = remainder % 1000000n;
1202
+ const time = `${seconds / 3600n}:${String(seconds / 60n % 60n).padStart(2, "0")}:${String(seconds % 60n).padStart(2, "0")}`;
1203
+ return (days ? `${days} day${days === 1n || days === -1n ? "" : "s"}, ` : "") + time + (micros ? `.${String(micros).padStart(6, "0")}` : "");
1204
+ }
1205
+ function writeCsvRow(row, dialect = {}, normalizeStrings = true, admission) {
1206
+ const { delimiter, quote, escape } = dialectCharacters(dialect);
1207
+ const end = dialect.lineterminator ?? "\n";
1208
+ const quoting = dialect.quoting ?? (dialect.quotechar === null ? 3 : 0);
1209
+ function* fragments() {
1210
+ for (let index = 0; index < row.length; index++) {
1211
+ const value = row[index];
1212
+ const field = pythonValueText(value);
1213
+ const normalized = typeof value === "string" && normalizeStrings;
1214
+ const numeric = typeof value === "number" || typeof value === "bigint" || typeof value === "boolean" || typeof value === "object" && (value?.kind === "decimal" || value?.kind === "float");
1215
+ let quoted = quoting === 1 || quoting === 2 && !numeric || quoting === 4 && typeof value === "string" || quoting === 5 && value !== null;
1216
+ for (const original of field) {
1217
+ admission?.step();
1218
+ const char = normalized && original === "\r" ? "\n" : original;
1219
+ const special = char === delimiter || char === quote || char === escape || char === "\r" || char === "\n" || end.includes(char);
1220
+ let escaped = char === escape;
1221
+ if (special && quoting === 3)
1222
+ escaped = true;
1223
+ else if (char === quote) {
1224
+ if (dialect.doublequote === false)
1225
+ escaped = true;
1226
+ if (!escaped)
1227
+ quoted = true;
1228
+ } else if (special && !escaped)
1229
+ quoted = true;
1230
+ if (escaped) {
1231
+ if (escape === void 0)
1232
+ throw new CsvkitDiagnostic("Error: need to escape, but no escapechar set");
1233
+ }
1234
+ }
1235
+ if (field === "" && delimiter === " " && dialect.skipinitialspace) {
1236
+ if (quoting === 3 || value === null && (quoting === 4 || quoting === 5))
1237
+ throw new CsvkitDiagnostic("Error: empty field must be quoted if delimiter is a space and skipinitialspace is true");
1238
+ quoted = true;
1239
+ }
1240
+ if (row.length === 1 && field === "" && !quoted) {
1241
+ if (quoting === 3 || value === null && (quoting === 4 || quoting === 5))
1242
+ throw new CsvkitDiagnostic("Error: single empty field record must be quoted");
1243
+ quoted = true;
1244
+ }
1245
+ if (index)
1246
+ yield delimiter;
1247
+ if (quoted)
1248
+ yield quote;
1249
+ for (const original of field) {
1250
+ admission?.step();
1251
+ const char = normalized && original === "\r" ? "\n" : original;
1252
+ const special = char === delimiter || char === quote || char === escape || char === "\r" || char === "\n" || end.includes(char);
1253
+ if (char === escape || special && quoting === 3 || char === quote && dialect.doublequote === false)
1254
+ yield escape;
1255
+ else if (char === quote)
1256
+ yield quote;
1257
+ yield char;
1258
+ }
1259
+ if (quoted)
1260
+ yield quote;
1261
+ }
1262
+ yield end;
1263
+ }
1264
+ if (admission) {
1265
+ let bytes = 0, codeUnits = 0, high = false;
1266
+ for (const fragment of fragments()) {
1267
+ codeUnits += fragment.length;
1268
+ for (const char of fragment) {
1269
+ admission.step();
1270
+ const code = char.codePointAt(0);
1271
+ bytes += high && code >= 56320 && code <= 57343 ? 1 : code <= 127 ? 1 : code <= 2047 ? 2 : code <= 65535 ? 3 : 4;
1272
+ high = code >= 55296 && code <= 56319;
1273
+ }
1274
+ }
1275
+ admission.admit(bytes, codeUnits);
1276
+ }
1277
+ let result = "";
1278
+ for (const fragment of fragments())
1279
+ result += fragment;
1280
+ return result;
1281
+ }
1282
+ var Writer = class {
1283
+ #rows = 0;
1284
+ #options;
1285
+ constructor(options = {}) {
1286
+ dialectCharacters(options);
1287
+ this.#options = Object.freeze({ ...options });
1288
+ }
1289
+ writerow(row) {
1290
+ const cells = this.#options.lineNumbers ? [this.#rows === 0 ? "line_number" : this.#rows, ...row] : row;
1291
+ if (this.#options.lineNumbers)
1292
+ this.#rows++;
1293
+ return writeCsvRow(cells, this.#options);
1294
+ }
1295
+ *writerows(rows) {
1296
+ for (const row of rows)
1297
+ yield this.writerow(row);
1298
+ }
1299
+ };
1300
+ var DictionaryWriter = class {
1301
+ #rows = 0;
1302
+ #fields;
1303
+ #options;
1304
+ constructor(fieldnames, options = {}) {
1305
+ const action = options.extrasaction ?? "raise";
1306
+ if (!["raise", "ignore"].includes(action.toLowerCase()))
1307
+ throw new CsvkitDiagnostic(`ValueError: extrasaction (${action}) must be 'raise' or 'ignore'`);
1308
+ dialectCharacters(options);
1309
+ this.#options = Object.freeze({ ...options, extrasaction: action.toLowerCase() });
1310
+ this.#fields = Object.freeze(options.lineNumbers ? ["line_number", ...fieldnames] : [...fieldnames]);
1311
+ }
1312
+ writeheader() {
1313
+ return this.writerow(Object.fromEntries(this.#fields.map((field) => [field, field])));
1314
+ }
1315
+ writerow(row) {
1316
+ const values = Object.fromEntries(Object.entries(row).map(([key, value]) => [key, typeof value === "string" ? value.split("\r").join("\n") : value]));
1317
+ if (this.#options.lineNumbers) {
1318
+ values.line_number = this.#rows === 0 ? "line_number" : this.#rows;
1319
+ this.#rows++;
1320
+ }
1321
+ if (this.#options.extrasaction === "raise") {
1322
+ const extra = Object.keys(values).filter((key) => !this.#fields.includes(key));
1323
+ if (extra.length)
1324
+ throw new CsvkitDiagnostic(`ValueError: dict contains fields not in fieldnames: ${extra.map(repr).join(", ")}`);
1325
+ }
1326
+ return writeCsvRow(this.#fields.map((field) => Object.hasOwn(values, field) ? values[field] : this.#options.restval === void 0 ? "" : this.#options.restval), this.#options, false);
1327
+ }
1328
+ *writerows(rows) {
1329
+ for (const row of rows)
1330
+ yield this.writerow(row);
1331
+ }
1332
+ };
1333
+
1334
+ // packages/safe-bash-command-csvkit/dist/diagnostics/index.js
1335
+ init_buffer();
1336
+
1337
+ // packages/safe-bash-command-csvkit/dist/python-text.js
1338
+ init_buffer();
1339
+
1340
+ // packages/safe-bash-command-csvkit/dist/unicode-lower-profile.js
1341
+ init_buffer();
1342
+ var lowerMappings = [[65, "a"], [66, "b"], [67, "c"], [68, "d"], [69, "e"], [70, "f"], [71, "g"], [72, "h"], [73, "i"], [74, "j"], [75, "k"], [76, "l"], [77, "m"], [78, "n"], [79, "o"], [80, "p"], [81, "q"], [82, "r"], [83, "s"], [84, "t"], [85, "u"], [86, "v"], [87, "w"], [88, "x"], [89, "y"], [90, "z"], [192, "\xE0"], [193, "\xE1"], [194, "\xE2"], [195, "\xE3"], [196, "\xE4"], [197, "\xE5"], [198, "\xE6"], [199, "\xE7"], [200, "\xE8"], [201, "\xE9"], [202, "\xEA"], [203, "\xEB"], [204, "\xEC"], [205, "\xED"], [206, "\xEE"], [207, "\xEF"], [208, "\xF0"], [209, "\xF1"], [210, "\xF2"], [211, "\xF3"], [212, "\xF4"], [213, "\xF5"], [214, "\xF6"], [216, "\xF8"], [217, "\xF9"], [218, "\xFA"], [219, "\xFB"], [220, "\xFC"], [221, "\xFD"], [222, "\xFE"], [256, "\u0101"], [258, "\u0103"], [260, "\u0105"], [262, "\u0107"], [264, "\u0109"], [266, "\u010B"], [268, "\u010D"], [270, "\u010F"], [272, "\u0111"], [274, "\u0113"], [276, "\u0115"], [278, "\u0117"], [280, "\u0119"], [282, "\u011B"], [284, "\u011D"], [286, "\u011F"], [288, "\u0121"], [290, "\u0123"], [292, "\u0125"], [294, "\u0127"], [296, "\u0129"], [298, "\u012B"], [300, "\u012D"], [302, "\u012F"], [304, "i\u0307"], [306, "\u0133"], [308, "\u0135"], [310, "\u0137"], [313, "\u013A"], [315, "\u013C"], [317, "\u013E"], [319, "\u0140"], [321, "\u0142"], [323, "\u0144"], [325, "\u0146"], [327, "\u0148"], [330, "\u014B"], [332, "\u014D"], [334, "\u014F"], [336, "\u0151"], [338, "\u0153"], [340, "\u0155"], [342, "\u0157"], [344, "\u0159"], [346, "\u015B"], [348, "\u015D"], [350, "\u015F"], [352, "\u0161"], [354, "\u0163"], [356, "\u0165"], [358, "\u0167"], [360, "\u0169"], [362, "\u016B"], [364, "\u016D"], [366, "\u016F"], [368, "\u0171"], [370, "\u0173"], [372, "\u0175"], [374, "\u0177"], [376, "\xFF"], [377, "\u017A"], [379, "\u017C"], [381, "\u017E"], [385, "\u0253"], [386, "\u0183"], [388, "\u0185"], [390, "\u0254"], [391, "\u0188"], [393, "\u0256"], [394, "\u0257"], [395, "\u018C"], [398, "\u01DD"], [399, "\u0259"], [400, "\u025B"], [401, "\u0192"], [403, "\u0260"], [404, "\u0263"], [406, "\u0269"], [407, "\u0268"], [408, "\u0199"], [412, "\u026F"], [413, "\u0272"], [415, "\u0275"], [416, "\u01A1"], [418, "\u01A3"], [420, "\u01A5"], [422, "\u0280"], [423, "\u01A8"], [425, "\u0283"], [428, "\u01AD"], [430, "\u0288"], [431, "\u01B0"], [433, "\u028A"], [434, "\u028B"], [435, "\u01B4"], [437, "\u01B6"], [439, "\u0292"], [440, "\u01B9"], [444, "\u01BD"], [452, "\u01C6"], [453, "\u01C6"], [455, "\u01C9"], [456, "\u01C9"], [458, "\u01CC"], [459, "\u01CC"], [461, "\u01CE"], [463, "\u01D0"], [465, "\u01D2"], [467, "\u01D4"], [469, "\u01D6"], [471, "\u01D8"], [473, "\u01DA"], [475, "\u01DC"], [478, "\u01DF"], [480, "\u01E1"], [482, "\u01E3"], [484, "\u01E5"], [486, "\u01E7"], [488, "\u01E9"], [490, "\u01EB"], [492, "\u01ED"], [494, "\u01EF"], [497, "\u01F3"], [498, "\u01F3"], [500, "\u01F5"], [502, "\u0195"], [503, "\u01BF"], [504, "\u01F9"], [506, "\u01FB"], [508, "\u01FD"], [510, "\u01FF"], [512, "\u0201"], [514, "\u0203"], [516, "\u0205"], [518, "\u0207"], [520, "\u0209"], [522, "\u020B"], [524, "\u020D"], [526, "\u020F"], [528, "\u0211"], [530, "\u0213"], [532, "\u0215"], [534, "\u0217"], [536, "\u0219"], [538, "\u021B"], [540, "\u021D"], [542, "\u021F"], [544, "\u019E"], [546, "\u0223"], [548, "\u0225"], [550, "\u0227"], [552, "\u0229"], [554, "\u022B"], [556, "\u022D"], [558, "\u022F"], [560, "\u0231"], [562, "\u0233"], [570, "\u2C65"], [571, "\u023C"], [573, "\u019A"], [574, "\u2C66"], [577, "\u0242"], [579, "\u0180"], [580, "\u0289"], [581, "\u028C"], [582, "\u0247"], [584, "\u0249"], [586, "\u024B"], [588, "\u024D"], [590, "\u024F"], [880, "\u0371"], [882, "\u0373"], [886, "\u0377"], [895, "\u03F3"], [902, "\u03AC"], [904, "\u03AD"], [905, "\u03AE"], [906, "\u03AF"], [908, "\u03CC"], [910, "\u03CD"], [911, "\u03CE"], [913, "\u03B1"], [914, "\u03B2"], [915, "\u03B3"], [916, "\u03B4"], [917, "\u03B5"], [918, "\u03B6"], [919, "\u03B7"], [920, "\u03B8"], [921, "\u03B9"], [922, "\u03BA"], [923, "\u03BB"], [924, "\u03BC"], [925, "\u03BD"], [926, "\u03BE"], [927, "\u03BF"], [928, "\u03C0"], [929, "\u03C1"], [931, "\u03C3"], [932, "\u03C4"], [933, "\u03C5"], [934, "\u03C6"], [935, "\u03C7"], [936, "\u03C8"], [937, "\u03C9"], [938, "\u03CA"], [939, "\u03CB"], [975, "\u03D7"], [984, "\u03D9"], [986, "\u03DB"], [988, "\u03DD"], [990, "\u03DF"], [992, "\u03E1"], [994, "\u03E3"], [996, "\u03E5"], [998, "\u03E7"], [1e3, "\u03E9"], [1002, "\u03EB"], [1004, "\u03ED"], [1006, "\u03EF"], [1012, "\u03B8"], [1015, "\u03F8"], [1017, "\u03F2"], [1018, "\u03FB"], [1021, "\u037B"], [1022, "\u037C"], [1023, "\u037D"], [1024, "\u0450"], [1025, "\u0451"], [1026, "\u0452"], [1027, "\u0453"], [1028, "\u0454"], [1029, "\u0455"], [1030, "\u0456"], [1031, "\u0457"], [1032, "\u0458"], [1033, "\u0459"], [1034, "\u045A"], [1035, "\u045B"], [1036, "\u045C"], [1037, "\u045D"], [1038, "\u045E"], [1039, "\u045F"], [1040, "\u0430"], [1041, "\u0431"], [1042, "\u0432"], [1043, "\u0433"], [1044, "\u0434"], [1045, "\u0435"], [1046, "\u0436"], [1047, "\u0437"], [1048, "\u0438"], [1049, "\u0439"], [1050, "\u043A"], [1051, "\u043B"], [1052, "\u043C"], [1053, "\u043D"], [1054, "\u043E"], [1055, "\u043F"], [1056, "\u0440"], [1057, "\u0441"], [1058, "\u0442"], [1059, "\u0443"], [1060, "\u0444"], [1061, "\u0445"], [1062, "\u0446"], [1063, "\u0447"], [1064, "\u0448"], [1065, "\u0449"], [1066, "\u044A"], [1067, "\u044B"], [1068, "\u044C"], [1069, "\u044D"], [1070, "\u044E"], [1071, "\u044F"], [1120, "\u0461"], [1122, "\u0463"], [1124, "\u0465"], [1126, "\u0467"], [1128, "\u0469"], [1130, "\u046B"], [1132, "\u046D"], [1134, "\u046F"], [1136, "\u0471"], [1138, "\u0473"], [1140, "\u0475"], [1142, "\u0477"], [1144, "\u0479"], [1146, "\u047B"], [1148, "\u047D"], [1150, "\u047F"], [1152, "\u0481"], [1162, "\u048B"], [1164, "\u048D"], [1166, "\u048F"], [1168, "\u0491"], [1170, "\u0493"], [1172, "\u0495"], [1174, "\u0497"], [1176, "\u0499"], [1178, "\u049B"], [1180, "\u049D"], [1182, "\u049F"], [1184, "\u04A1"], [1186, "\u04A3"], [1188, "\u04A5"], [1190, "\u04A7"], [1192, "\u04A9"], [1194, "\u04AB"], [1196, "\u04AD"], [1198, "\u04AF"], [1200, "\u04B1"], [1202, "\u04B3"], [1204, "\u04B5"], [1206, "\u04B7"], [1208, "\u04B9"], [1210, "\u04BB"], [1212, "\u04BD"], [1214, "\u04BF"], [1216, "\u04CF"], [1217, "\u04C2"], [1219, "\u04C4"], [1221, "\u04C6"], [1223, "\u04C8"], [1225, "\u04CA"], [1227, "\u04CC"], [1229, "\u04CE"], [1232, "\u04D1"], [1234, "\u04D3"], [1236, "\u04D5"], [1238, "\u04D7"], [1240, "\u04D9"], [1242, "\u04DB"], [1244, "\u04DD"], [1246, "\u04DF"], [1248, "\u04E1"], [1250, "\u04E3"], [1252, "\u04E5"], [1254, "\u04E7"], [1256, "\u04E9"], [1258, "\u04EB"], [1260, "\u04ED"], [1262, "\u04EF"], [1264, "\u04F1"], [1266, "\u04F3"], [1268, "\u04F5"], [1270, "\u04F7"], [1272, "\u04F9"], [1274, "\u04FB"], [1276, "\u04FD"], [1278, "\u04FF"], [1280, "\u0501"], [1282, "\u0503"], [1284, "\u0505"], [1286, "\u0507"], [1288, "\u0509"], [1290, "\u050B"], [1292, "\u050D"], [1294, "\u050F"], [1296, "\u0511"], [1298, "\u0513"], [1300, "\u0515"], [1302, "\u0517"], [1304, "\u0519"], [1306, "\u051B"], [1308, "\u051D"], [1310, "\u051F"], [1312, "\u0521"], [1314, "\u0523"], [1316, "\u0525"], [1318, "\u0527"], [1320, "\u0529"], [1322, "\u052B"], [1324, "\u052D"], [1326, "\u052F"], [1329, "\u0561"], [1330, "\u0562"], [1331, "\u0563"], [1332, "\u0564"], [1333, "\u0565"], [1334, "\u0566"], [1335, "\u0567"], [1336, "\u0568"], [1337, "\u0569"], [1338, "\u056A"], [1339, "\u056B"], [1340, "\u056C"], [1341, "\u056D"], [1342, "\u056E"], [1343, "\u056F"], [1344, "\u0570"], [1345, "\u0571"], [1346, "\u0572"], [1347, "\u0573"], [1348, "\u0574"], [1349, "\u0575"], [1350, "\u0576"], [1351, "\u0577"], [1352, "\u0578"], [1353, "\u0579"], [1354, "\u057A"], [1355, "\u057B"], [1356, "\u057C"], [1357, "\u057D"], [1358, "\u057E"], [1359, "\u057F"], [1360, "\u0580"], [1361, "\u0581"], [1362, "\u0582"], [1363, "\u0583"], [1364, "\u0584"], [1365, "\u0585"], [1366, "\u0586"], [4256, "\u2D00"], [4257, "\u2D01"], [4258, "\u2D02"], [4259, "\u2D03"], [4260, "\u2D04"], [4261, "\u2D05"], [4262, "\u2D06"], [4263, "\u2D07"], [4264, "\u2D08"], [4265, "\u2D09"], [4266, "\u2D0A"], [4267, "\u2D0B"], [4268, "\u2D0C"], [4269, "\u2D0D"], [4270, "\u2D0E"], [4271, "\u2D0F"], [4272, "\u2D10"], [4273, "\u2D11"], [4274, "\u2D12"], [4275, "\u2D13"], [4276, "\u2D14"], [4277, "\u2D15"], [4278, "\u2D16"], [4279, "\u2D17"], [4280, "\u2D18"], [4281, "\u2D19"], [4282, "\u2D1A"], [4283, "\u2D1B"], [4284, "\u2D1C"], [4285, "\u2D1D"], [4286, "\u2D1E"], [4287, "\u2D1F"], [4288, "\u2D20"], [4289, "\u2D21"], [4290, "\u2D22"], [4291, "\u2D23"], [4292, "\u2D24"], [4293, "\u2D25"], [4295, "\u2D27"], [4301, "\u2D2D"], [5024, "\uAB70"], [5025, "\uAB71"], [5026, "\uAB72"], [5027, "\uAB73"], [5028, "\uAB74"], [5029, "\uAB75"], [5030, "\uAB76"], [5031, "\uAB77"], [5032, "\uAB78"], [5033, "\uAB79"], [5034, "\uAB7A"], [5035, "\uAB7B"], [5036, "\uAB7C"], [5037, "\uAB7D"], [5038, "\uAB7E"], [5039, "\uAB7F"], [5040, "\uAB80"], [5041, "\uAB81"], [5042, "\uAB82"], [5043, "\uAB83"], [5044, "\uAB84"], [5045, "\uAB85"], [5046, "\uAB86"], [5047, "\uAB87"], [5048, "\uAB88"], [5049, "\uAB89"], [5050, "\uAB8A"], [5051, "\uAB8B"], [5052, "\uAB8C"], [5053, "\uAB8D"], [5054, "\uAB8E"], [5055, "\uAB8F"], [5056, "\uAB90"], [5057, "\uAB91"], [5058, "\uAB92"], [5059, "\uAB93"], [5060, "\uAB94"], [5061, "\uAB95"], [5062, "\uAB96"], [5063, "\uAB97"], [5064, "\uAB98"], [5065, "\uAB99"], [5066, "\uAB9A"], [5067, "\uAB9B"], [5068, "\uAB9C"], [5069, "\uAB9D"], [5070, "\uAB9E"], [5071, "\uAB9F"], [5072, "\uABA0"], [5073, "\uABA1"], [5074, "\uABA2"], [5075, "\uABA3"], [5076, "\uABA4"], [5077, "\uABA5"], [5078, "\uABA6"], [5079, "\uABA7"], [5080, "\uABA8"], [5081, "\uABA9"], [5082, "\uABAA"], [5083, "\uABAB"], [5084, "\uABAC"], [5085, "\uABAD"], [5086, "\uABAE"], [5087, "\uABAF"], [5088, "\uABB0"], [5089, "\uABB1"], [5090, "\uABB2"], [5091, "\uABB3"], [5092, "\uABB4"], [5093, "\uABB5"], [5094, "\uABB6"], [5095, "\uABB7"], [5096, "\uABB8"], [5097, "\uABB9"], [5098, "\uABBA"], [5099, "\uABBB"], [5100, "\uABBC"], [5101, "\uABBD"], [5102, "\uABBE"], [5103, "\uABBF"], [5104, "\u13F8"], [5105, "\u13F9"], [5106, "\u13FA"], [5107, "\u13FB"], [5108, "\u13FC"], [5109, "\u13FD"], [7305, "\u1C8A"], [7312, "\u10D0"], [7313, "\u10D1"], [7314, "\u10D2"], [7315, "\u10D3"], [7316, "\u10D4"], [7317, "\u10D5"], [7318, "\u10D6"], [7319, "\u10D7"], [7320, "\u10D8"], [7321, "\u10D9"], [7322, "\u10DA"], [7323, "\u10DB"], [7324, "\u10DC"], [7325, "\u10DD"], [7326, "\u10DE"], [7327, "\u10DF"], [7328, "\u10E0"], [7329, "\u10E1"], [7330, "\u10E2"], [7331, "\u10E3"], [7332, "\u10E4"], [7333, "\u10E5"], [7334, "\u10E6"], [7335, "\u10E7"], [7336, "\u10E8"], [7337, "\u10E9"], [7338, "\u10EA"], [7339, "\u10EB"], [7340, "\u10EC"], [7341, "\u10ED"], [7342, "\u10EE"], [7343, "\u10EF"], [7344, "\u10F0"], [7345, "\u10F1"], [7346, "\u10F2"], [7347, "\u10F3"], [7348, "\u10F4"], [7349, "\u10F5"], [7350, "\u10F6"], [7351, "\u10F7"], [7352, "\u10F8"], [7353, "\u10F9"], [7354, "\u10FA"], [7357, "\u10FD"], [7358, "\u10FE"], [7359, "\u10FF"], [7680, "\u1E01"], [7682, "\u1E03"], [7684, "\u1E05"], [7686, "\u1E07"], [7688, "\u1E09"], [7690, "\u1E0B"], [7692, "\u1E0D"], [7694, "\u1E0F"], [7696, "\u1E11"], [7698, "\u1E13"], [7700, "\u1E15"], [7702, "\u1E17"], [7704, "\u1E19"], [7706, "\u1E1B"], [7708, "\u1E1D"], [7710, "\u1E1F"], [7712, "\u1E21"], [7714, "\u1E23"], [7716, "\u1E25"], [7718, "\u1E27"], [7720, "\u1E29"], [7722, "\u1E2B"], [7724, "\u1E2D"], [7726, "\u1E2F"], [7728, "\u1E31"], [7730, "\u1E33"], [7732, "\u1E35"], [7734, "\u1E37"], [7736, "\u1E39"], [7738, "\u1E3B"], [7740, "\u1E3D"], [7742, "\u1E3F"], [7744, "\u1E41"], [7746, "\u1E43"], [7748, "\u1E45"], [7750, "\u1E47"], [7752, "\u1E49"], [7754, "\u1E4B"], [7756, "\u1E4D"], [7758, "\u1E4F"], [7760, "\u1E51"], [7762, "\u1E53"], [7764, "\u1E55"], [7766, "\u1E57"], [7768, "\u1E59"], [7770, "\u1E5B"], [7772, "\u1E5D"], [7774, "\u1E5F"], [7776, "\u1E61"], [7778, "\u1E63"], [7780, "\u1E65"], [7782, "\u1E67"], [7784, "\u1E69"], [7786, "\u1E6B"], [7788, "\u1E6D"], [7790, "\u1E6F"], [7792, "\u1E71"], [7794, "\u1E73"], [7796, "\u1E75"], [7798, "\u1E77"], [7800, "\u1E79"], [7802, "\u1E7B"], [7804, "\u1E7D"], [7806, "\u1E7F"], [7808, "\u1E81"], [7810, "\u1E83"], [7812, "\u1E85"], [7814, "\u1E87"], [7816, "\u1E89"], [7818, "\u1E8B"], [7820, "\u1E8D"], [7822, "\u1E8F"], [7824, "\u1E91"], [7826, "\u1E93"], [7828, "\u1E95"], [7838, "\xDF"], [7840, "\u1EA1"], [7842, "\u1EA3"], [7844, "\u1EA5"], [7846, "\u1EA7"], [7848, "\u1EA9"], [7850, "\u1EAB"], [7852, "\u1EAD"], [7854, "\u1EAF"], [7856, "\u1EB1"], [7858, "\u1EB3"], [7860, "\u1EB5"], [7862, "\u1EB7"], [7864, "\u1EB9"], [7866, "\u1EBB"], [7868, "\u1EBD"], [7870, "\u1EBF"], [7872, "\u1EC1"], [7874, "\u1EC3"], [7876, "\u1EC5"], [7878, "\u1EC7"], [7880, "\u1EC9"], [7882, "\u1ECB"], [7884, "\u1ECD"], [7886, "\u1ECF"], [7888, "\u1ED1"], [7890, "\u1ED3"], [7892, "\u1ED5"], [7894, "\u1ED7"], [7896, "\u1ED9"], [7898, "\u1EDB"], [7900, "\u1EDD"], [7902, "\u1EDF"], [7904, "\u1EE1"], [7906, "\u1EE3"], [7908, "\u1EE5"], [7910, "\u1EE7"], [7912, "\u1EE9"], [7914, "\u1EEB"], [7916, "\u1EED"], [7918, "\u1EEF"], [7920, "\u1EF1"], [7922, "\u1EF3"], [7924, "\u1EF5"], [7926, "\u1EF7"], [7928, "\u1EF9"], [7930, "\u1EFB"], [7932, "\u1EFD"], [7934, "\u1EFF"], [7944, "\u1F00"], [7945, "\u1F01"], [7946, "\u1F02"], [7947, "\u1F03"], [7948, "\u1F04"], [7949, "\u1F05"], [7950, "\u1F06"], [7951, "\u1F07"], [7960, "\u1F10"], [7961, "\u1F11"], [7962, "\u1F12"], [7963, "\u1F13"], [7964, "\u1F14"], [7965, "\u1F15"], [7976, "\u1F20"], [7977, "\u1F21"], [7978, "\u1F22"], [7979, "\u1F23"], [7980, "\u1F24"], [7981, "\u1F25"], [7982, "\u1F26"], [7983, "\u1F27"], [7992, "\u1F30"], [7993, "\u1F31"], [7994, "\u1F32"], [7995, "\u1F33"], [7996, "\u1F34"], [7997, "\u1F35"], [7998, "\u1F36"], [7999, "\u1F37"], [8008, "\u1F40"], [8009, "\u1F41"], [8010, "\u1F42"], [8011, "\u1F43"], [8012, "\u1F44"], [8013, "\u1F45"], [8025, "\u1F51"], [8027, "\u1F53"], [8029, "\u1F55"], [8031, "\u1F57"], [8040, "\u1F60"], [8041, "\u1F61"], [8042, "\u1F62"], [8043, "\u1F63"], [8044, "\u1F64"], [8045, "\u1F65"], [8046, "\u1F66"], [8047, "\u1F67"], [8072, "\u1F80"], [8073, "\u1F81"], [8074, "\u1F82"], [8075, "\u1F83"], [8076, "\u1F84"], [8077, "\u1F85"], [8078, "\u1F86"], [8079, "\u1F87"], [8088, "\u1F90"], [8089, "\u1F91"], [8090, "\u1F92"], [8091, "\u1F93"], [8092, "\u1F94"], [8093, "\u1F95"], [8094, "\u1F96"], [8095, "\u1F97"], [8104, "\u1FA0"], [8105, "\u1FA1"], [8106, "\u1FA2"], [8107, "\u1FA3"], [8108, "\u1FA4"], [8109, "\u1FA5"], [8110, "\u1FA6"], [8111, "\u1FA7"], [8120, "\u1FB0"], [8121, "\u1FB1"], [8122, "\u1F70"], [8123, "\u1F71"], [8124, "\u1FB3"], [8136, "\u1F72"], [8137, "\u1F73"], [8138, "\u1F74"], [8139, "\u1F75"], [8140, "\u1FC3"], [8152, "\u1FD0"], [8153, "\u1FD1"], [8154, "\u1F76"], [8155, "\u1F77"], [8168, "\u1FE0"], [8169, "\u1FE1"], [8170, "\u1F7A"], [8171, "\u1F7B"], [8172, "\u1FE5"], [8184, "\u1F78"], [8185, "\u1F79"], [8186, "\u1F7C"], [8187, "\u1F7D"], [8188, "\u1FF3"], [8486, "\u03C9"], [8490, "k"], [8491, "\xE5"], [8498, "\u214E"], [8544, "\u2170"], [8545, "\u2171"], [8546, "\u2172"], [8547, "\u2173"], [8548, "\u2174"], [8549, "\u2175"], [8550, "\u2176"], [8551, "\u2177"], [8552, "\u2178"], [8553, "\u2179"], [8554, "\u217A"], [8555, "\u217B"], [8556, "\u217C"], [8557, "\u217D"], [8558, "\u217E"], [8559, "\u217F"], [8579, "\u2184"], [9398, "\u24D0"], [9399, "\u24D1"], [9400, "\u24D2"], [9401, "\u24D3"], [9402, "\u24D4"], [9403, "\u24D5"], [9404, "\u24D6"], [9405, "\u24D7"], [9406, "\u24D8"], [9407, "\u24D9"], [9408, "\u24DA"], [9409, "\u24DB"], [9410, "\u24DC"], [9411, "\u24DD"], [9412, "\u24DE"], [9413, "\u24DF"], [9414, "\u24E0"], [9415, "\u24E1"], [9416, "\u24E2"], [9417, "\u24E3"], [9418, "\u24E4"], [9419, "\u24E5"], [9420, "\u24E6"], [9421, "\u24E7"], [9422, "\u24E8"], [9423, "\u24E9"], [11264, "\u2C30"], [11265, "\u2C31"], [11266, "\u2C32"], [11267, "\u2C33"], [11268, "\u2C34"], [11269, "\u2C35"], [11270, "\u2C36"], [11271, "\u2C37"], [11272, "\u2C38"], [11273, "\u2C39"], [11274, "\u2C3A"], [11275, "\u2C3B"], [11276, "\u2C3C"], [11277, "\u2C3D"], [11278, "\u2C3E"], [11279, "\u2C3F"], [11280, "\u2C40"], [11281, "\u2C41"], [11282, "\u2C42"], [11283, "\u2C43"], [11284, "\u2C44"], [11285, "\u2C45"], [11286, "\u2C46"], [11287, "\u2C47"], [11288, "\u2C48"], [11289, "\u2C49"], [11290, "\u2C4A"], [11291, "\u2C4B"], [11292, "\u2C4C"], [11293, "\u2C4D"], [11294, "\u2C4E"], [11295, "\u2C4F"], [11296, "\u2C50"], [11297, "\u2C51"], [11298, "\u2C52"], [11299, "\u2C53"], [11300, "\u2C54"], [11301, "\u2C55"], [11302, "\u2C56"], [11303, "\u2C57"], [11304, "\u2C58"], [11305, "\u2C59"], [11306, "\u2C5A"], [11307, "\u2C5B"], [11308, "\u2C5C"], [11309, "\u2C5D"], [11310, "\u2C5E"], [11311, "\u2C5F"], [11360, "\u2C61"], [11362, "\u026B"], [11363, "\u1D7D"], [11364, "\u027D"], [11367, "\u2C68"], [11369, "\u2C6A"], [11371, "\u2C6C"], [11373, "\u0251"], [11374, "\u0271"], [11375, "\u0250"], [11376, "\u0252"], [11378, "\u2C73"], [11381, "\u2C76"], [11390, "\u023F"], [11391, "\u0240"], [11392, "\u2C81"], [11394, "\u2C83"], [11396, "\u2C85"], [11398, "\u2C87"], [11400, "\u2C89"], [11402, "\u2C8B"], [11404, "\u2C8D"], [11406, "\u2C8F"], [11408, "\u2C91"], [11410, "\u2C93"], [11412, "\u2C95"], [11414, "\u2C97"], [11416, "\u2C99"], [11418, "\u2C9B"], [11420, "\u2C9D"], [11422, "\u2C9F"], [11424, "\u2CA1"], [11426, "\u2CA3"], [11428, "\u2CA5"], [11430, "\u2CA7"], [11432, "\u2CA9"], [11434, "\u2CAB"], [11436, "\u2CAD"], [11438, "\u2CAF"], [11440, "\u2CB1"], [11442, "\u2CB3"], [11444, "\u2CB5"], [11446, "\u2CB7"], [11448, "\u2CB9"], [11450, "\u2CBB"], [11452, "\u2CBD"], [11454, "\u2CBF"], [11456, "\u2CC1"], [11458, "\u2CC3"], [11460, "\u2CC5"], [11462, "\u2CC7"], [11464, "\u2CC9"], [11466, "\u2CCB"], [11468, "\u2CCD"], [11470, "\u2CCF"], [11472, "\u2CD1"], [11474, "\u2CD3"], [11476, "\u2CD5"], [11478, "\u2CD7"], [11480, "\u2CD9"], [11482, "\u2CDB"], [11484, "\u2CDD"], [11486, "\u2CDF"], [11488, "\u2CE1"], [11490, "\u2CE3"], [11499, "\u2CEC"], [11501, "\u2CEE"], [11506, "\u2CF3"], [42560, "\uA641"], [42562, "\uA643"], [42564, "\uA645"], [42566, "\uA647"], [42568, "\uA649"], [42570, "\uA64B"], [42572, "\uA64D"], [42574, "\uA64F"], [42576, "\uA651"], [42578, "\uA653"], [42580, "\uA655"], [42582, "\uA657"], [42584, "\uA659"], [42586, "\uA65B"], [42588, "\uA65D"], [42590, "\uA65F"], [42592, "\uA661"], [42594, "\uA663"], [42596, "\uA665"], [42598, "\uA667"], [42600, "\uA669"], [42602, "\uA66B"], [42604, "\uA66D"], [42624, "\uA681"], [42626, "\uA683"], [42628, "\uA685"], [42630, "\uA687"], [42632, "\uA689"], [42634, "\uA68B"], [42636, "\uA68D"], [42638, "\uA68F"], [42640, "\uA691"], [42642, "\uA693"], [42644, "\uA695"], [42646, "\uA697"], [42648, "\uA699"], [42650, "\uA69B"], [42786, "\uA723"], [42788, "\uA725"], [42790, "\uA727"], [42792, "\uA729"], [42794, "\uA72B"], [42796, "\uA72D"], [42798, "\uA72F"], [42802, "\uA733"], [42804, "\uA735"], [42806, "\uA737"], [42808, "\uA739"], [42810, "\uA73B"], [42812, "\uA73D"], [42814, "\uA73F"], [42816, "\uA741"], [42818, "\uA743"], [42820, "\uA745"], [42822, "\uA747"], [42824, "\uA749"], [42826, "\uA74B"], [42828, "\uA74D"], [42830, "\uA74F"], [42832, "\uA751"], [42834, "\uA753"], [42836, "\uA755"], [42838, "\uA757"], [42840, "\uA759"], [42842, "\uA75B"], [42844, "\uA75D"], [42846, "\uA75F"], [42848, "\uA761"], [42850, "\uA763"], [42852, "\uA765"], [42854, "\uA767"], [42856, "\uA769"], [42858, "\uA76B"], [42860, "\uA76D"], [42862, "\uA76F"], [42873, "\uA77A"], [42875, "\uA77C"], [42877, "\u1D79"], [42878, "\uA77F"], [42880, "\uA781"], [42882, "\uA783"], [42884, "\uA785"], [42886, "\uA787"], [42891, "\uA78C"], [42893, "\u0265"], [42896, "\uA791"], [42898, "\uA793"], [42902, "\uA797"], [42904, "\uA799"], [42906, "\uA79B"], [42908, "\uA79D"], [42910, "\uA79F"], [42912, "\uA7A1"], [42914, "\uA7A3"], [42916, "\uA7A5"], [42918, "\uA7A7"], [42920, "\uA7A9"], [42922, "\u0266"], [42923, "\u025C"], [42924, "\u0261"], [42925, "\u026C"], [42926, "\u026A"], [42928, "\u029E"], [42929, "\u0287"], [42930, "\u029D"], [42931, "\uAB53"], [42932, "\uA7B5"], [42934, "\uA7B7"], [42936, "\uA7B9"], [42938, "\uA7BB"], [42940, "\uA7BD"], [42942, "\uA7BF"], [42944, "\uA7C1"], [42946, "\uA7C3"], [42948, "\uA794"], [42949, "\u0282"], [42950, "\u1D8E"], [42951, "\uA7C8"], [42953, "\uA7CA"], [42955, "\u0264"], [42956, "\uA7CD"], [42960, "\uA7D1"], [42966, "\uA7D7"], [42968, "\uA7D9"], [42970, "\uA7DB"], [42972, "\u019B"], [42997, "\uA7F6"], [65313, "\uFF41"], [65314, "\uFF42"], [65315, "\uFF43"], [65316, "\uFF44"], [65317, "\uFF45"], [65318, "\uFF46"], [65319, "\uFF47"], [65320, "\uFF48"], [65321, "\uFF49"], [65322, "\uFF4A"], [65323, "\uFF4B"], [65324, "\uFF4C"], [65325, "\uFF4D"], [65326, "\uFF4E"], [65327, "\uFF4F"], [65328, "\uFF50"], [65329, "\uFF51"], [65330, "\uFF52"], [65331, "\uFF53"], [65332, "\uFF54"], [65333, "\uFF55"], [65334, "\uFF56"], [65335, "\uFF57"], [65336, "\uFF58"], [65337, "\uFF59"], [65338, "\uFF5A"], [66560, "\u{10428}"], [66561, "\u{10429}"], [66562, "\u{1042A}"], [66563, "\u{1042B}"], [66564, "\u{1042C}"], [66565, "\u{1042D}"], [66566, "\u{1042E}"], [66567, "\u{1042F}"], [66568, "\u{10430}"], [66569, "\u{10431}"], [66570, "\u{10432}"], [66571, "\u{10433}"], [66572, "\u{10434}"], [66573, "\u{10435}"], [66574, "\u{10436}"], [66575, "\u{10437}"], [66576, "\u{10438}"], [66577, "\u{10439}"], [66578, "\u{1043A}"], [66579, "\u{1043B}"], [66580, "\u{1043C}"], [66581, "\u{1043D}"], [66582, "\u{1043E}"], [66583, "\u{1043F}"], [66584, "\u{10440}"], [66585, "\u{10441}"], [66586, "\u{10442}"], [66587, "\u{10443}"], [66588, "\u{10444}"], [66589, "\u{10445}"], [66590, "\u{10446}"], [66591, "\u{10447}"], [66592, "\u{10448}"], [66593, "\u{10449}"], [66594, "\u{1044A}"], [66595, "\u{1044B}"], [66596, "\u{1044C}"], [66597, "\u{1044D}"], [66598, "\u{1044E}"], [66599, "\u{1044F}"], [66736, "\u{104D8}"], [66737, "\u{104D9}"], [66738, "\u{104DA}"], [66739, "\u{104DB}"], [66740, "\u{104DC}"], [66741, "\u{104DD}"], [66742, "\u{104DE}"], [66743, "\u{104DF}"], [66744, "\u{104E0}"], [66745, "\u{104E1}"], [66746, "\u{104E2}"], [66747, "\u{104E3}"], [66748, "\u{104E4}"], [66749, "\u{104E5}"], [66750, "\u{104E6}"], [66751, "\u{104E7}"], [66752, "\u{104E8}"], [66753, "\u{104E9}"], [66754, "\u{104EA}"], [66755, "\u{104EB}"], [66756, "\u{104EC}"], [66757, "\u{104ED}"], [66758, "\u{104EE}"], [66759, "\u{104EF}"], [66760, "\u{104F0}"], [66761, "\u{104F1}"], [66762, "\u{104F2}"], [66763, "\u{104F3}"], [66764, "\u{104F4}"], [66765, "\u{104F5}"], [66766, "\u{104F6}"], [66767, "\u{104F7}"], [66768, "\u{104F8}"], [66769, "\u{104F9}"], [66770, "\u{104FA}"], [66771, "\u{104FB}"], [66928, "\u{10597}"], [66929, "\u{10598}"], [66930, "\u{10599}"], [66931, "\u{1059A}"], [66932, "\u{1059B}"], [66933, "\u{1059C}"], [66934, "\u{1059D}"], [66935, "\u{1059E}"], [66936, "\u{1059F}"], [66937, "\u{105A0}"], [66938, "\u{105A1}"], [66940, "\u{105A3}"], [66941, "\u{105A4}"], [66942, "\u{105A5}"], [66943, "\u{105A6}"], [66944, "\u{105A7}"], [66945, "\u{105A8}"], [66946, "\u{105A9}"], [66947, "\u{105AA}"], [66948, "\u{105AB}"], [66949, "\u{105AC}"], [66950, "\u{105AD}"], [66951, "\u{105AE}"], [66952, "\u{105AF}"], [66953, "\u{105B0}"], [66954, "\u{105B1}"], [66956, "\u{105B3}"], [66957, "\u{105B4}"], [66958, "\u{105B5}"], [66959, "\u{105B6}"], [66960, "\u{105B7}"], [66961, "\u{105B8}"], [66962, "\u{105B9}"], [66964, "\u{105BB}"], [66965, "\u{105BC}"], [68736, "\u{10CC0}"], [68737, "\u{10CC1}"], [68738, "\u{10CC2}"], [68739, "\u{10CC3}"], [68740, "\u{10CC4}"], [68741, "\u{10CC5}"], [68742, "\u{10CC6}"], [68743, "\u{10CC7}"], [68744, "\u{10CC8}"], [68745, "\u{10CC9}"], [68746, "\u{10CCA}"], [68747, "\u{10CCB}"], [68748, "\u{10CCC}"], [68749, "\u{10CCD}"], [68750, "\u{10CCE}"], [68751, "\u{10CCF}"], [68752, "\u{10CD0}"], [68753, "\u{10CD1}"], [68754, "\u{10CD2}"], [68755, "\u{10CD3}"], [68756, "\u{10CD4}"], [68757, "\u{10CD5}"], [68758, "\u{10CD6}"], [68759, "\u{10CD7}"], [68760, "\u{10CD8}"], [68761, "\u{10CD9}"], [68762, "\u{10CDA}"], [68763, "\u{10CDB}"], [68764, "\u{10CDC}"], [68765, "\u{10CDD}"], [68766, "\u{10CDE}"], [68767, "\u{10CDF}"], [68768, "\u{10CE0}"], [68769, "\u{10CE1}"], [68770, "\u{10CE2}"], [68771, "\u{10CE3}"], [68772, "\u{10CE4}"], [68773, "\u{10CE5}"], [68774, "\u{10CE6}"], [68775, "\u{10CE7}"], [68776, "\u{10CE8}"], [68777, "\u{10CE9}"], [68778, "\u{10CEA}"], [68779, "\u{10CEB}"], [68780, "\u{10CEC}"], [68781, "\u{10CED}"], [68782, "\u{10CEE}"], [68783, "\u{10CEF}"], [68784, "\u{10CF0}"], [68785, "\u{10CF1}"], [68786, "\u{10CF2}"], [68944, "\u{10D70}"], [68945, "\u{10D71}"], [68946, "\u{10D72}"], [68947, "\u{10D73}"], [68948, "\u{10D74}"], [68949, "\u{10D75}"], [68950, "\u{10D76}"], [68951, "\u{10D77}"], [68952, "\u{10D78}"], [68953, "\u{10D79}"], [68954, "\u{10D7A}"], [68955, "\u{10D7B}"], [68956, "\u{10D7C}"], [68957, "\u{10D7D}"], [68958, "\u{10D7E}"], [68959, "\u{10D7F}"], [68960, "\u{10D80}"], [68961, "\u{10D81}"], [68962, "\u{10D82}"], [68963, "\u{10D83}"], [68964, "\u{10D84}"], [68965, "\u{10D85}"], [71840, "\u{118C0}"], [71841, "\u{118C1}"], [71842, "\u{118C2}"], [71843, "\u{118C3}"], [71844, "\u{118C4}"], [71845, "\u{118C5}"], [71846, "\u{118C6}"], [71847, "\u{118C7}"], [71848, "\u{118C8}"], [71849, "\u{118C9}"], [71850, "\u{118CA}"], [71851, "\u{118CB}"], [71852, "\u{118CC}"], [71853, "\u{118CD}"], [71854, "\u{118CE}"], [71855, "\u{118CF}"], [71856, "\u{118D0}"], [71857, "\u{118D1}"], [71858, "\u{118D2}"], [71859, "\u{118D3}"], [71860, "\u{118D4}"], [71861, "\u{118D5}"], [71862, "\u{118D6}"], [71863, "\u{118D7}"], [71864, "\u{118D8}"], [71865, "\u{118D9}"], [71866, "\u{118DA}"], [71867, "\u{118DB}"], [71868, "\u{118DC}"], [71869, "\u{118DD}"], [71870, "\u{118DE}"], [71871, "\u{118DF}"], [93760, "\u{16E60}"], [93761, "\u{16E61}"], [93762, "\u{16E62}"], [93763, "\u{16E63}"], [93764, "\u{16E64}"], [93765, "\u{16E65}"], [93766, "\u{16E66}"], [93767, "\u{16E67}"], [93768, "\u{16E68}"], [93769, "\u{16E69}"], [93770, "\u{16E6A}"], [93771, "\u{16E6B}"], [93772, "\u{16E6C}"], [93773, "\u{16E6D}"], [93774, "\u{16E6E}"], [93775, "\u{16E6F}"], [93776, "\u{16E70}"], [93777, "\u{16E71}"], [93778, "\u{16E72}"], [93779, "\u{16E73}"], [93780, "\u{16E74}"], [93781, "\u{16E75}"], [93782, "\u{16E76}"], [93783, "\u{16E77}"], [93784, "\u{16E78}"], [93785, "\u{16E79}"], [93786, "\u{16E7A}"], [93787, "\u{16E7B}"], [93788, "\u{16E7C}"], [93789, "\u{16E7D}"], [93790, "\u{16E7E}"], [93791, "\u{16E7F}"], [125184, "\u{1E922}"], [125185, "\u{1E923}"], [125186, "\u{1E924}"], [125187, "\u{1E925}"], [125188, "\u{1E926}"], [125189, "\u{1E927}"], [125190, "\u{1E928}"], [125191, "\u{1E929}"], [125192, "\u{1E92A}"], [125193, "\u{1E92B}"], [125194, "\u{1E92C}"], [125195, "\u{1E92D}"], [125196, "\u{1E92E}"], [125197, "\u{1E92F}"], [125198, "\u{1E930}"], [125199, "\u{1E931}"], [125200, "\u{1E932}"], [125201, "\u{1E933}"], [125202, "\u{1E934}"], [125203, "\u{1E935}"], [125204, "\u{1E936}"], [125205, "\u{1E937}"], [125206, "\u{1E938}"], [125207, "\u{1E939}"], [125208, "\u{1E93A}"], [125209, "\u{1E93B}"], [125210, "\u{1E93C}"], [125211, "\u{1E93D}"], [125212, "\u{1E93E}"], [125213, "\u{1E93F}"], [125214, "\u{1E940}"], [125215, "\u{1E941}"], [125216, "\u{1E942}"], [125217, "\u{1E943}"]];
1343
+ var sigmaCased = [[65, 90], [97, 122], [170, 170], [181, 181], [186, 186], [192, 214], [216, 246], [248, 442], [444, 447], [452, 659], [661, 687], [880, 883], [886, 887], [891, 893], [895, 895], [902, 902], [904, 906], [908, 908], [910, 929], [931, 1013], [1015, 1153], [1162, 1327], [1329, 1366], [1376, 1416], [4256, 4293], [4295, 4295], [4301, 4301], [4304, 4346], [4349, 4351], [5024, 5109], [5112, 5117], [7296, 7306], [7312, 7354], [7357, 7359], [7424, 7467], [7531, 7543], [7545, 7578], [7680, 7957], [7960, 7965], [7968, 8005], [8008, 8013], [8016, 8023], [8025, 8025], [8027, 8027], [8029, 8029], [8031, 8061], [8064, 8116], [8118, 8124], [8126, 8126], [8130, 8132], [8134, 8140], [8144, 8147], [8150, 8155], [8160, 8172], [8178, 8180], [8182, 8188], [8450, 8450], [8455, 8455], [8458, 8467], [8469, 8469], [8473, 8477], [8484, 8484], [8486, 8486], [8488, 8488], [8490, 8493], [8495, 8500], [8505, 8505], [8508, 8511], [8517, 8521], [8526, 8526], [8544, 8575], [8579, 8580], [9398, 9449], [11264, 11387], [11390, 11492], [11499, 11502], [11506, 11507], [11520, 11557], [11559, 11559], [11565, 11565], [42560, 42605], [42624, 42651], [42786, 42863], [42865, 42887], [42891, 42894], [42896, 42957], [42960, 42961], [42963, 42963], [42965, 42972], [42997, 42998], [43002, 43002], [43824, 43866], [43872, 43880], [43888, 43967], [64256, 64262], [64275, 64279], [65313, 65338], [65345, 65370], [66560, 66639], [66736, 66771], [66776, 66811], [66928, 66938], [66940, 66954], [66956, 66962], [66964, 66965], [66967, 66977], [66979, 66993], [66995, 67001], [67003, 67004], [68736, 68786], [68800, 68850], [68944, 68965], [68976, 68997], [71840, 71903], [93760, 93823], [119808, 119892], [119894, 119964], [119966, 119967], [119970, 119970], [119973, 119974], [119977, 119980], [119982, 119993], [119995, 119995], [119997, 120003], [120005, 120069], [120071, 120074], [120077, 120084], [120086, 120092], [120094, 120121], [120123, 120126], [120128, 120132], [120134, 120134], [120138, 120144], [120146, 120485], [120488, 120512], [120514, 120538], [120540, 120570], [120572, 120596], [120598, 120628], [120630, 120654], [120656, 120686], [120688, 120712], [120714, 120744], [120746, 120770], [120772, 120779], [122624, 122633], [122635, 122654], [122661, 122666], [125184, 125251], [127280, 127305], [127312, 127337], [127344, 127369]];
1344
+ var sigmaIgnorable = [[39, 39], [46, 46], [58, 58], [94, 94], [96, 96], [168, 168], [173, 173], [175, 175], [180, 180], [183, 184], [688, 879], [884, 885], [890, 890], [900, 901], [903, 903], [1155, 1161], [1369, 1369], [1375, 1375], [1425, 1469], [1471, 1471], [1473, 1474], [1476, 1477], [1479, 1479], [1524, 1524], [1536, 1541], [1552, 1562], [1564, 1564], [1600, 1600], [1611, 1631], [1648, 1648], [1750, 1757], [1759, 1768], [1770, 1773], [1807, 1807], [1809, 1809], [1840, 1866], [1958, 1968], [2027, 2037], [2042, 2042], [2045, 2045], [2070, 2093], [2137, 2139], [2184, 2184], [2192, 2193], [2199, 2207], [2249, 2306], [2362, 2362], [2364, 2364], [2369, 2376], [2381, 2381], [2385, 2391], [2402, 2403], [2417, 2417], [2433, 2433], [2492, 2492], [2497, 2500], [2509, 2509], [2530, 2531], [2558, 2558], [2561, 2562], [2620, 2620], [2625, 2626], [2631, 2632], [2635, 2637], [2641, 2641], [2672, 2673], [2677, 2677], [2689, 2690], [2748, 2748], [2753, 2757], [2759, 2760], [2765, 2765], [2786, 2787], [2810, 2815], [2817, 2817], [2876, 2876], [2879, 2879], [2881, 2884], [2893, 2893], [2901, 2902], [2914, 2915], [2946, 2946], [3008, 3008], [3021, 3021], [3072, 3072], [3076, 3076], [3132, 3132], [3134, 3136], [3142, 3144], [3146, 3149], [3157, 3158], [3170, 3171], [3201, 3201], [3260, 3260], [3263, 3263], [3270, 3270], [3276, 3277], [3298, 3299], [3328, 3329], [3387, 3388], [3393, 3396], [3405, 3405], [3426, 3427], [3457, 3457], [3530, 3530], [3538, 3540], [3542, 3542], [3633, 3633], [3636, 3642], [3654, 3662], [3761, 3761], [3764, 3772], [3782, 3782], [3784, 3790], [3864, 3865], [3893, 3893], [3895, 3895], [3897, 3897], [3953, 3966], [3968, 3972], [3974, 3975], [3981, 3991], [3993, 4028], [4038, 4038], [4141, 4144], [4146, 4151], [4153, 4154], [4157, 4158], [4184, 4185], [4190, 4192], [4209, 4212], [4226, 4226], [4229, 4230], [4237, 4237], [4253, 4253], [4348, 4348], [4957, 4959], [5906, 5908], [5938, 5939], [5970, 5971], [6002, 6003], [6068, 6069], [6071, 6077], [6086, 6086], [6089, 6099], [6103, 6103], [6109, 6109], [6155, 6159], [6211, 6211], [6277, 6278], [6313, 6313], [6432, 6434], [6439, 6440], [6450, 6450], [6457, 6459], [6679, 6680], [6683, 6683], [6742, 6742], [6744, 6750], [6752, 6752], [6754, 6754], [6757, 6764], [6771, 6780], [6783, 6783], [6823, 6823], [6832, 6862], [6912, 6915], [6964, 6964], [6966, 6970], [6972, 6972], [6978, 6978], [7019, 7027], [7040, 7041], [7074, 7077], [7080, 7081], [7083, 7085], [7142, 7142], [7144, 7145], [7149, 7149], [7151, 7153], [7212, 7219], [7222, 7223], [7288, 7293], [7376, 7378], [7380, 7392], [7394, 7400], [7405, 7405], [7412, 7412], [7416, 7417], [7468, 7530], [7544, 7544], [7579, 7679], [8125, 8125], [8127, 8129], [8141, 8143], [8157, 8159], [8173, 8175], [8189, 8190], [8203, 8207], [8216, 8217], [8228, 8228], [8231, 8231], [8234, 8238], [8288, 8292], [8294, 8303], [8305, 8305], [8319, 8319], [8336, 8348], [8400, 8432], [11388, 11389], [11503, 11505], [11631, 11631], [11647, 11647], [11744, 11775], [11823, 11823], [12293, 12293], [12330, 12333], [12337, 12341], [12347, 12347], [12441, 12446], [12540, 12542], [40981, 40981], [42232, 42237], [42508, 42508], [42607, 42610], [42612, 42621], [42623, 42623], [42652, 42655], [42736, 42737], [42752, 42785], [42864, 42864], [42888, 42890], [42994, 42996], [43e3, 43001], [43010, 43010], [43014, 43014], [43019, 43019], [43045, 43046], [43052, 43052], [43204, 43205], [43232, 43249], [43263, 43263], [43302, 43309], [43335, 43345], [43392, 43394], [43443, 43443], [43446, 43449], [43452, 43453], [43471, 43471], [43493, 43494], [43561, 43566], [43569, 43570], [43573, 43574], [43587, 43587], [43596, 43596], [43632, 43632], [43644, 43644], [43696, 43696], [43698, 43700], [43703, 43704], [43710, 43711], [43713, 43713], [43741, 43741], [43756, 43757], [43763, 43764], [43766, 43766], [43867, 43871], [43881, 43883], [44005, 44005], [44008, 44008], [44013, 44013], [64286, 64286], [64434, 64450], [65024, 65039], [65043, 65043], [65056, 65071], [65106, 65106], [65109, 65109], [65279, 65279], [65287, 65287], [65294, 65294], [65306, 65306], [65342, 65342], [65344, 65344], [65392, 65392], [65438, 65439], [65507, 65507], [65529, 65531], [66045, 66045], [66272, 66272], [66422, 66426], [67456, 67461], [67463, 67504], [67506, 67514], [68097, 68099], [68101, 68102], [68108, 68111], [68152, 68154], [68159, 68159], [68325, 68326], [68900, 68903], [68942, 68942], [68969, 68973], [68975, 68975], [69291, 69292], [69372, 69375], [69446, 69456], [69506, 69509], [69633, 69633], [69688, 69702], [69744, 69744], [69747, 69748], [69759, 69761], [69811, 69814], [69817, 69818], [69821, 69821], [69826, 69826], [69837, 69837], [69888, 69890], [69927, 69931], [69933, 69940], [70003, 70003], [70016, 70017], [70070, 70078], [70089, 70092], [70095, 70095], [70191, 70193], [70196, 70196], [70198, 70199], [70206, 70206], [70209, 70209], [70367, 70367], [70371, 70378], [70400, 70401], [70459, 70460], [70464, 70464], [70502, 70508], [70512, 70516], [70587, 70592], [70606, 70606], [70608, 70608], [70610, 70610], [70625, 70626], [70712, 70719], [70722, 70724], [70726, 70726], [70750, 70750], [70835, 70840], [70842, 70842], [70847, 70848], [70850, 70851], [71090, 71093], [71100, 71101], [71103, 71104], [71132, 71133], [71219, 71226], [71229, 71229], [71231, 71232], [71339, 71339], [71341, 71341], [71344, 71349], [71351, 71351], [71453, 71453], [71455, 71455], [71458, 71461], [71463, 71467], [71727, 71735], [71737, 71738], [71995, 71996], [71998, 71998], [72003, 72003], [72148, 72151], [72154, 72155], [72160, 72160], [72193, 72202], [72243, 72248], [72251, 72254], [72263, 72263], [72273, 72278], [72281, 72283], [72330, 72342], [72344, 72345], [72752, 72758], [72760, 72765], [72767, 72767], [72850, 72871], [72874, 72880], [72882, 72883], [72885, 72886], [73009, 73014], [73018, 73018], [73020, 73021], [73023, 73029], [73031, 73031], [73104, 73105], [73109, 73109], [73111, 73111], [73459, 73460], [73472, 73473], [73526, 73530], [73536, 73536], [73538, 73538], [73562, 73562], [78896, 78912], [78919, 78933], [90398, 90409], [90413, 90415], [92912, 92916], [92976, 92982], [92992, 92995], [93504, 93506], [93547, 93548], [94031, 94031], [94095, 94111], [94176, 94177], [94179, 94180], [110576, 110579], [110581, 110587], [110589, 110590], [113821, 113822], [113824, 113827], [118528, 118573], [118576, 118598], [119143, 119145], [119155, 119170], [119173, 119179], [119210, 119213], [119362, 119364], [121344, 121398], [121403, 121452], [121461, 121461], [121476, 121476], [121499, 121503], [121505, 121519], [122880, 122886], [122888, 122904], [122907, 122913], [122915, 122916], [122918, 122922], [122928, 122989], [123023, 123023], [123184, 123197], [123566, 123566], [123628, 123631], [124139, 124143], [124398, 124399], [125136, 125142], [125252, 125259], [127995, 127999], [917505, 917505], [917536, 917631], [917760, 917999]];
1345
+
1346
+ // packages/safe-bash-command-csvkit/dist/unicode-upper-profile.js
1347
+ init_buffer();
1348
+ var upperMappings = [[97, "A"], [98, "B"], [99, "C"], [100, "D"], [101, "E"], [102, "F"], [103, "G"], [104, "H"], [105, "I"], [106, "J"], [107, "K"], [108, "L"], [109, "M"], [110, "N"], [111, "O"], [112, "P"], [113, "Q"], [114, "R"], [115, "S"], [116, "T"], [117, "U"], [118, "V"], [119, "W"], [120, "X"], [121, "Y"], [122, "Z"], [181, "\u039C"], [223, "SS"], [224, "\xC0"], [225, "\xC1"], [226, "\xC2"], [227, "\xC3"], [228, "\xC4"], [229, "\xC5"], [230, "\xC6"], [231, "\xC7"], [232, "\xC8"], [233, "\xC9"], [234, "\xCA"], [235, "\xCB"], [236, "\xCC"], [237, "\xCD"], [238, "\xCE"], [239, "\xCF"], [240, "\xD0"], [241, "\xD1"], [242, "\xD2"], [243, "\xD3"], [244, "\xD4"], [245, "\xD5"], [246, "\xD6"], [248, "\xD8"], [249, "\xD9"], [250, "\xDA"], [251, "\xDB"], [252, "\xDC"], [253, "\xDD"], [254, "\xDE"], [255, "\u0178"], [257, "\u0100"], [259, "\u0102"], [261, "\u0104"], [263, "\u0106"], [265, "\u0108"], [267, "\u010A"], [269, "\u010C"], [271, "\u010E"], [273, "\u0110"], [275, "\u0112"], [277, "\u0114"], [279, "\u0116"], [281, "\u0118"], [283, "\u011A"], [285, "\u011C"], [287, "\u011E"], [289, "\u0120"], [291, "\u0122"], [293, "\u0124"], [295, "\u0126"], [297, "\u0128"], [299, "\u012A"], [301, "\u012C"], [303, "\u012E"], [305, "I"], [307, "\u0132"], [309, "\u0134"], [311, "\u0136"], [314, "\u0139"], [316, "\u013B"], [318, "\u013D"], [320, "\u013F"], [322, "\u0141"], [324, "\u0143"], [326, "\u0145"], [328, "\u0147"], [329, "\u02BCN"], [331, "\u014A"], [333, "\u014C"], [335, "\u014E"], [337, "\u0150"], [339, "\u0152"], [341, "\u0154"], [343, "\u0156"], [345, "\u0158"], [347, "\u015A"], [349, "\u015C"], [351, "\u015E"], [353, "\u0160"], [355, "\u0162"], [357, "\u0164"], [359, "\u0166"], [361, "\u0168"], [363, "\u016A"], [365, "\u016C"], [367, "\u016E"], [369, "\u0170"], [371, "\u0172"], [373, "\u0174"], [375, "\u0176"], [378, "\u0179"], [380, "\u017B"], [382, "\u017D"], [383, "S"], [384, "\u0243"], [387, "\u0182"], [389, "\u0184"], [392, "\u0187"], [396, "\u018B"], [402, "\u0191"], [405, "\u01F6"], [409, "\u0198"], [410, "\u023D"], [411, "\uA7DC"], [414, "\u0220"], [417, "\u01A0"], [419, "\u01A2"], [421, "\u01A4"], [424, "\u01A7"], [429, "\u01AC"], [432, "\u01AF"], [436, "\u01B3"], [438, "\u01B5"], [441, "\u01B8"], [445, "\u01BC"], [447, "\u01F7"], [453, "\u01C4"], [454, "\u01C4"], [456, "\u01C7"], [457, "\u01C7"], [459, "\u01CA"], [460, "\u01CA"], [462, "\u01CD"], [464, "\u01CF"], [466, "\u01D1"], [468, "\u01D3"], [470, "\u01D5"], [472, "\u01D7"], [474, "\u01D9"], [476, "\u01DB"], [477, "\u018E"], [479, "\u01DE"], [481, "\u01E0"], [483, "\u01E2"], [485, "\u01E4"], [487, "\u01E6"], [489, "\u01E8"], [491, "\u01EA"], [493, "\u01EC"], [495, "\u01EE"], [496, "J\u030C"], [498, "\u01F1"], [499, "\u01F1"], [501, "\u01F4"], [505, "\u01F8"], [507, "\u01FA"], [509, "\u01FC"], [511, "\u01FE"], [513, "\u0200"], [515, "\u0202"], [517, "\u0204"], [519, "\u0206"], [521, "\u0208"], [523, "\u020A"], [525, "\u020C"], [527, "\u020E"], [529, "\u0210"], [531, "\u0212"], [533, "\u0214"], [535, "\u0216"], [537, "\u0218"], [539, "\u021A"], [541, "\u021C"], [543, "\u021E"], [547, "\u0222"], [549, "\u0224"], [551, "\u0226"], [553, "\u0228"], [555, "\u022A"], [557, "\u022C"], [559, "\u022E"], [561, "\u0230"], [563, "\u0232"], [572, "\u023B"], [575, "\u2C7E"], [576, "\u2C7F"], [578, "\u0241"], [583, "\u0246"], [585, "\u0248"], [587, "\u024A"], [589, "\u024C"], [591, "\u024E"], [592, "\u2C6F"], [593, "\u2C6D"], [594, "\u2C70"], [595, "\u0181"], [596, "\u0186"], [598, "\u0189"], [599, "\u018A"], [601, "\u018F"], [603, "\u0190"], [604, "\uA7AB"], [608, "\u0193"], [609, "\uA7AC"], [611, "\u0194"], [612, "\uA7CB"], [613, "\uA78D"], [614, "\uA7AA"], [616, "\u0197"], [617, "\u0196"], [618, "\uA7AE"], [619, "\u2C62"], [620, "\uA7AD"], [623, "\u019C"], [625, "\u2C6E"], [626, "\u019D"], [629, "\u019F"], [637, "\u2C64"], [640, "\u01A6"], [642, "\uA7C5"], [643, "\u01A9"], [647, "\uA7B1"], [648, "\u01AE"], [649, "\u0244"], [650, "\u01B1"], [651, "\u01B2"], [652, "\u0245"], [658, "\u01B7"], [669, "\uA7B2"], [670, "\uA7B0"], [837, "\u0399"], [881, "\u0370"], [883, "\u0372"], [887, "\u0376"], [891, "\u03FD"], [892, "\u03FE"], [893, "\u03FF"], [912, "\u0399\u0308\u0301"], [940, "\u0386"], [941, "\u0388"], [942, "\u0389"], [943, "\u038A"], [944, "\u03A5\u0308\u0301"], [945, "\u0391"], [946, "\u0392"], [947, "\u0393"], [948, "\u0394"], [949, "\u0395"], [950, "\u0396"], [951, "\u0397"], [952, "\u0398"], [953, "\u0399"], [954, "\u039A"], [955, "\u039B"], [956, "\u039C"], [957, "\u039D"], [958, "\u039E"], [959, "\u039F"], [960, "\u03A0"], [961, "\u03A1"], [962, "\u03A3"], [963, "\u03A3"], [964, "\u03A4"], [965, "\u03A5"], [966, "\u03A6"], [967, "\u03A7"], [968, "\u03A8"], [969, "\u03A9"], [970, "\u03AA"], [971, "\u03AB"], [972, "\u038C"], [973, "\u038E"], [974, "\u038F"], [976, "\u0392"], [977, "\u0398"], [981, "\u03A6"], [982, "\u03A0"], [983, "\u03CF"], [985, "\u03D8"], [987, "\u03DA"], [989, "\u03DC"], [991, "\u03DE"], [993, "\u03E0"], [995, "\u03E2"], [997, "\u03E4"], [999, "\u03E6"], [1001, "\u03E8"], [1003, "\u03EA"], [1005, "\u03EC"], [1007, "\u03EE"], [1008, "\u039A"], [1009, "\u03A1"], [1010, "\u03F9"], [1011, "\u037F"], [1013, "\u0395"], [1016, "\u03F7"], [1019, "\u03FA"], [1072, "\u0410"], [1073, "\u0411"], [1074, "\u0412"], [1075, "\u0413"], [1076, "\u0414"], [1077, "\u0415"], [1078, "\u0416"], [1079, "\u0417"], [1080, "\u0418"], [1081, "\u0419"], [1082, "\u041A"], [1083, "\u041B"], [1084, "\u041C"], [1085, "\u041D"], [1086, "\u041E"], [1087, "\u041F"], [1088, "\u0420"], [1089, "\u0421"], [1090, "\u0422"], [1091, "\u0423"], [1092, "\u0424"], [1093, "\u0425"], [1094, "\u0426"], [1095, "\u0427"], [1096, "\u0428"], [1097, "\u0429"], [1098, "\u042A"], [1099, "\u042B"], [1100, "\u042C"], [1101, "\u042D"], [1102, "\u042E"], [1103, "\u042F"], [1104, "\u0400"], [1105, "\u0401"], [1106, "\u0402"], [1107, "\u0403"], [1108, "\u0404"], [1109, "\u0405"], [1110, "\u0406"], [1111, "\u0407"], [1112, "\u0408"], [1113, "\u0409"], [1114, "\u040A"], [1115, "\u040B"], [1116, "\u040C"], [1117, "\u040D"], [1118, "\u040E"], [1119, "\u040F"], [1121, "\u0460"], [1123, "\u0462"], [1125, "\u0464"], [1127, "\u0466"], [1129, "\u0468"], [1131, "\u046A"], [1133, "\u046C"], [1135, "\u046E"], [1137, "\u0470"], [1139, "\u0472"], [1141, "\u0474"], [1143, "\u0476"], [1145, "\u0478"], [1147, "\u047A"], [1149, "\u047C"], [1151, "\u047E"], [1153, "\u0480"], [1163, "\u048A"], [1165, "\u048C"], [1167, "\u048E"], [1169, "\u0490"], [1171, "\u0492"], [1173, "\u0494"], [1175, "\u0496"], [1177, "\u0498"], [1179, "\u049A"], [1181, "\u049C"], [1183, "\u049E"], [1185, "\u04A0"], [1187, "\u04A2"], [1189, "\u04A4"], [1191, "\u04A6"], [1193, "\u04A8"], [1195, "\u04AA"], [1197, "\u04AC"], [1199, "\u04AE"], [1201, "\u04B0"], [1203, "\u04B2"], [1205, "\u04B4"], [1207, "\u04B6"], [1209, "\u04B8"], [1211, "\u04BA"], [1213, "\u04BC"], [1215, "\u04BE"], [1218, "\u04C1"], [1220, "\u04C3"], [1222, "\u04C5"], [1224, "\u04C7"], [1226, "\u04C9"], [1228, "\u04CB"], [1230, "\u04CD"], [1231, "\u04C0"], [1233, "\u04D0"], [1235, "\u04D2"], [1237, "\u04D4"], [1239, "\u04D6"], [1241, "\u04D8"], [1243, "\u04DA"], [1245, "\u04DC"], [1247, "\u04DE"], [1249, "\u04E0"], [1251, "\u04E2"], [1253, "\u04E4"], [1255, "\u04E6"], [1257, "\u04E8"], [1259, "\u04EA"], [1261, "\u04EC"], [1263, "\u04EE"], [1265, "\u04F0"], [1267, "\u04F2"], [1269, "\u04F4"], [1271, "\u04F6"], [1273, "\u04F8"], [1275, "\u04FA"], [1277, "\u04FC"], [1279, "\u04FE"], [1281, "\u0500"], [1283, "\u0502"], [1285, "\u0504"], [1287, "\u0506"], [1289, "\u0508"], [1291, "\u050A"], [1293, "\u050C"], [1295, "\u050E"], [1297, "\u0510"], [1299, "\u0512"], [1301, "\u0514"], [1303, "\u0516"], [1305, "\u0518"], [1307, "\u051A"], [1309, "\u051C"], [1311, "\u051E"], [1313, "\u0520"], [1315, "\u0522"], [1317, "\u0524"], [1319, "\u0526"], [1321, "\u0528"], [1323, "\u052A"], [1325, "\u052C"], [1327, "\u052E"], [1377, "\u0531"], [1378, "\u0532"], [1379, "\u0533"], [1380, "\u0534"], [1381, "\u0535"], [1382, "\u0536"], [1383, "\u0537"], [1384, "\u0538"], [1385, "\u0539"], [1386, "\u053A"], [1387, "\u053B"], [1388, "\u053C"], [1389, "\u053D"], [1390, "\u053E"], [1391, "\u053F"], [1392, "\u0540"], [1393, "\u0541"], [1394, "\u0542"], [1395, "\u0543"], [1396, "\u0544"], [1397, "\u0545"], [1398, "\u0546"], [1399, "\u0547"], [1400, "\u0548"], [1401, "\u0549"], [1402, "\u054A"], [1403, "\u054B"], [1404, "\u054C"], [1405, "\u054D"], [1406, "\u054E"], [1407, "\u054F"], [1408, "\u0550"], [1409, "\u0551"], [1410, "\u0552"], [1411, "\u0553"], [1412, "\u0554"], [1413, "\u0555"], [1414, "\u0556"], [1415, "\u0535\u0552"], [4304, "\u1C90"], [4305, "\u1C91"], [4306, "\u1C92"], [4307, "\u1C93"], [4308, "\u1C94"], [4309, "\u1C95"], [4310, "\u1C96"], [4311, "\u1C97"], [4312, "\u1C98"], [4313, "\u1C99"], [4314, "\u1C9A"], [4315, "\u1C9B"], [4316, "\u1C9C"], [4317, "\u1C9D"], [4318, "\u1C9E"], [4319, "\u1C9F"], [4320, "\u1CA0"], [4321, "\u1CA1"], [4322, "\u1CA2"], [4323, "\u1CA3"], [4324, "\u1CA4"], [4325, "\u1CA5"], [4326, "\u1CA6"], [4327, "\u1CA7"], [4328, "\u1CA8"], [4329, "\u1CA9"], [4330, "\u1CAA"], [4331, "\u1CAB"], [4332, "\u1CAC"], [4333, "\u1CAD"], [4334, "\u1CAE"], [4335, "\u1CAF"], [4336, "\u1CB0"], [4337, "\u1CB1"], [4338, "\u1CB2"], [4339, "\u1CB3"], [4340, "\u1CB4"], [4341, "\u1CB5"], [4342, "\u1CB6"], [4343, "\u1CB7"], [4344, "\u1CB8"], [4345, "\u1CB9"], [4346, "\u1CBA"], [4349, "\u1CBD"], [4350, "\u1CBE"], [4351, "\u1CBF"], [5112, "\u13F0"], [5113, "\u13F1"], [5114, "\u13F2"], [5115, "\u13F3"], [5116, "\u13F4"], [5117, "\u13F5"], [7296, "\u0412"], [7297, "\u0414"], [7298, "\u041E"], [7299, "\u0421"], [7300, "\u0422"], [7301, "\u0422"], [7302, "\u042A"], [7303, "\u0462"], [7304, "\uA64A"], [7306, "\u1C89"], [7545, "\uA77D"], [7549, "\u2C63"], [7566, "\uA7C6"], [7681, "\u1E00"], [7683, "\u1E02"], [7685, "\u1E04"], [7687, "\u1E06"], [7689, "\u1E08"], [7691, "\u1E0A"], [7693, "\u1E0C"], [7695, "\u1E0E"], [7697, "\u1E10"], [7699, "\u1E12"], [7701, "\u1E14"], [7703, "\u1E16"], [7705, "\u1E18"], [7707, "\u1E1A"], [7709, "\u1E1C"], [7711, "\u1E1E"], [7713, "\u1E20"], [7715, "\u1E22"], [7717, "\u1E24"], [7719, "\u1E26"], [7721, "\u1E28"], [7723, "\u1E2A"], [7725, "\u1E2C"], [7727, "\u1E2E"], [7729, "\u1E30"], [7731, "\u1E32"], [7733, "\u1E34"], [7735, "\u1E36"], [7737, "\u1E38"], [7739, "\u1E3A"], [7741, "\u1E3C"], [7743, "\u1E3E"], [7745, "\u1E40"], [7747, "\u1E42"], [7749, "\u1E44"], [7751, "\u1E46"], [7753, "\u1E48"], [7755, "\u1E4A"], [7757, "\u1E4C"], [7759, "\u1E4E"], [7761, "\u1E50"], [7763, "\u1E52"], [7765, "\u1E54"], [7767, "\u1E56"], [7769, "\u1E58"], [7771, "\u1E5A"], [7773, "\u1E5C"], [7775, "\u1E5E"], [7777, "\u1E60"], [7779, "\u1E62"], [7781, "\u1E64"], [7783, "\u1E66"], [7785, "\u1E68"], [7787, "\u1E6A"], [7789, "\u1E6C"], [7791, "\u1E6E"], [7793, "\u1E70"], [7795, "\u1E72"], [7797, "\u1E74"], [7799, "\u1E76"], [7801, "\u1E78"], [7803, "\u1E7A"], [7805, "\u1E7C"], [7807, "\u1E7E"], [7809, "\u1E80"], [7811, "\u1E82"], [7813, "\u1E84"], [7815, "\u1E86"], [7817, "\u1E88"], [7819, "\u1E8A"], [7821, "\u1E8C"], [7823, "\u1E8E"], [7825, "\u1E90"], [7827, "\u1E92"], [7829, "\u1E94"], [7830, "H\u0331"], [7831, "T\u0308"], [7832, "W\u030A"], [7833, "Y\u030A"], [7834, "A\u02BE"], [7835, "\u1E60"], [7841, "\u1EA0"], [7843, "\u1EA2"], [7845, "\u1EA4"], [7847, "\u1EA6"], [7849, "\u1EA8"], [7851, "\u1EAA"], [7853, "\u1EAC"], [7855, "\u1EAE"], [7857, "\u1EB0"], [7859, "\u1EB2"], [7861, "\u1EB4"], [7863, "\u1EB6"], [7865, "\u1EB8"], [7867, "\u1EBA"], [7869, "\u1EBC"], [7871, "\u1EBE"], [7873, "\u1EC0"], [7875, "\u1EC2"], [7877, "\u1EC4"], [7879, "\u1EC6"], [7881, "\u1EC8"], [7883, "\u1ECA"], [7885, "\u1ECC"], [7887, "\u1ECE"], [7889, "\u1ED0"], [7891, "\u1ED2"], [7893, "\u1ED4"], [7895, "\u1ED6"], [7897, "\u1ED8"], [7899, "\u1EDA"], [7901, "\u1EDC"], [7903, "\u1EDE"], [7905, "\u1EE0"], [7907, "\u1EE2"], [7909, "\u1EE4"], [7911, "\u1EE6"], [7913, "\u1EE8"], [7915, "\u1EEA"], [7917, "\u1EEC"], [7919, "\u1EEE"], [7921, "\u1EF0"], [7923, "\u1EF2"], [7925, "\u1EF4"], [7927, "\u1EF6"], [7929, "\u1EF8"], [7931, "\u1EFA"], [7933, "\u1EFC"], [7935, "\u1EFE"], [7936, "\u1F08"], [7937, "\u1F09"], [7938, "\u1F0A"], [7939, "\u1F0B"], [7940, "\u1F0C"], [7941, "\u1F0D"], [7942, "\u1F0E"], [7943, "\u1F0F"], [7952, "\u1F18"], [7953, "\u1F19"], [7954, "\u1F1A"], [7955, "\u1F1B"], [7956, "\u1F1C"], [7957, "\u1F1D"], [7968, "\u1F28"], [7969, "\u1F29"], [7970, "\u1F2A"], [7971, "\u1F2B"], [7972, "\u1F2C"], [7973, "\u1F2D"], [7974, "\u1F2E"], [7975, "\u1F2F"], [7984, "\u1F38"], [7985, "\u1F39"], [7986, "\u1F3A"], [7987, "\u1F3B"], [7988, "\u1F3C"], [7989, "\u1F3D"], [7990, "\u1F3E"], [7991, "\u1F3F"], [8e3, "\u1F48"], [8001, "\u1F49"], [8002, "\u1F4A"], [8003, "\u1F4B"], [8004, "\u1F4C"], [8005, "\u1F4D"], [8016, "\u03A5\u0313"], [8017, "\u1F59"], [8018, "\u03A5\u0313\u0300"], [8019, "\u1F5B"], [8020, "\u03A5\u0313\u0301"], [8021, "\u1F5D"], [8022, "\u03A5\u0313\u0342"], [8023, "\u1F5F"], [8032, "\u1F68"], [8033, "\u1F69"], [8034, "\u1F6A"], [8035, "\u1F6B"], [8036, "\u1F6C"], [8037, "\u1F6D"], [8038, "\u1F6E"], [8039, "\u1F6F"], [8048, "\u1FBA"], [8049, "\u1FBB"], [8050, "\u1FC8"], [8051, "\u1FC9"], [8052, "\u1FCA"], [8053, "\u1FCB"], [8054, "\u1FDA"], [8055, "\u1FDB"], [8056, "\u1FF8"], [8057, "\u1FF9"], [8058, "\u1FEA"], [8059, "\u1FEB"], [8060, "\u1FFA"], [8061, "\u1FFB"], [8064, "\u1F08\u0399"], [8065, "\u1F09\u0399"], [8066, "\u1F0A\u0399"], [8067, "\u1F0B\u0399"], [8068, "\u1F0C\u0399"], [8069, "\u1F0D\u0399"], [8070, "\u1F0E\u0399"], [8071, "\u1F0F\u0399"], [8072, "\u1F08\u0399"], [8073, "\u1F09\u0399"], [8074, "\u1F0A\u0399"], [8075, "\u1F0B\u0399"], [8076, "\u1F0C\u0399"], [8077, "\u1F0D\u0399"], [8078, "\u1F0E\u0399"], [8079, "\u1F0F\u0399"], [8080, "\u1F28\u0399"], [8081, "\u1F29\u0399"], [8082, "\u1F2A\u0399"], [8083, "\u1F2B\u0399"], [8084, "\u1F2C\u0399"], [8085, "\u1F2D\u0399"], [8086, "\u1F2E\u0399"], [8087, "\u1F2F\u0399"], [8088, "\u1F28\u0399"], [8089, "\u1F29\u0399"], [8090, "\u1F2A\u0399"], [8091, "\u1F2B\u0399"], [8092, "\u1F2C\u0399"], [8093, "\u1F2D\u0399"], [8094, "\u1F2E\u0399"], [8095, "\u1F2F\u0399"], [8096, "\u1F68\u0399"], [8097, "\u1F69\u0399"], [8098, "\u1F6A\u0399"], [8099, "\u1F6B\u0399"], [8100, "\u1F6C\u0399"], [8101, "\u1F6D\u0399"], [8102, "\u1F6E\u0399"], [8103, "\u1F6F\u0399"], [8104, "\u1F68\u0399"], [8105, "\u1F69\u0399"], [8106, "\u1F6A\u0399"], [8107, "\u1F6B\u0399"], [8108, "\u1F6C\u0399"], [8109, "\u1F6D\u0399"], [8110, "\u1F6E\u0399"], [8111, "\u1F6F\u0399"], [8112, "\u1FB8"], [8113, "\u1FB9"], [8114, "\u1FBA\u0399"], [8115, "\u0391\u0399"], [8116, "\u0386\u0399"], [8118, "\u0391\u0342"], [8119, "\u0391\u0342\u0399"], [8124, "\u0391\u0399"], [8126, "\u0399"], [8130, "\u1FCA\u0399"], [8131, "\u0397\u0399"], [8132, "\u0389\u0399"], [8134, "\u0397\u0342"], [8135, "\u0397\u0342\u0399"], [8140, "\u0397\u0399"], [8144, "\u1FD8"], [8145, "\u1FD9"], [8146, "\u0399\u0308\u0300"], [8147, "\u0399\u0308\u0301"], [8150, "\u0399\u0342"], [8151, "\u0399\u0308\u0342"], [8160, "\u1FE8"], [8161, "\u1FE9"], [8162, "\u03A5\u0308\u0300"], [8163, "\u03A5\u0308\u0301"], [8164, "\u03A1\u0313"], [8165, "\u1FEC"], [8166, "\u03A5\u0342"], [8167, "\u03A5\u0308\u0342"], [8178, "\u1FFA\u0399"], [8179, "\u03A9\u0399"], [8180, "\u038F\u0399"], [8182, "\u03A9\u0342"], [8183, "\u03A9\u0342\u0399"], [8188, "\u03A9\u0399"], [8526, "\u2132"], [8560, "\u2160"], [8561, "\u2161"], [8562, "\u2162"], [8563, "\u2163"], [8564, "\u2164"], [8565, "\u2165"], [8566, "\u2166"], [8567, "\u2167"], [8568, "\u2168"], [8569, "\u2169"], [8570, "\u216A"], [8571, "\u216B"], [8572, "\u216C"], [8573, "\u216D"], [8574, "\u216E"], [8575, "\u216F"], [8580, "\u2183"], [9424, "\u24B6"], [9425, "\u24B7"], [9426, "\u24B8"], [9427, "\u24B9"], [9428, "\u24BA"], [9429, "\u24BB"], [9430, "\u24BC"], [9431, "\u24BD"], [9432, "\u24BE"], [9433, "\u24BF"], [9434, "\u24C0"], [9435, "\u24C1"], [9436, "\u24C2"], [9437, "\u24C3"], [9438, "\u24C4"], [9439, "\u24C5"], [9440, "\u24C6"], [9441, "\u24C7"], [9442, "\u24C8"], [9443, "\u24C9"], [9444, "\u24CA"], [9445, "\u24CB"], [9446, "\u24CC"], [9447, "\u24CD"], [9448, "\u24CE"], [9449, "\u24CF"], [11312, "\u2C00"], [11313, "\u2C01"], [11314, "\u2C02"], [11315, "\u2C03"], [11316, "\u2C04"], [11317, "\u2C05"], [11318, "\u2C06"], [11319, "\u2C07"], [11320, "\u2C08"], [11321, "\u2C09"], [11322, "\u2C0A"], [11323, "\u2C0B"], [11324, "\u2C0C"], [11325, "\u2C0D"], [11326, "\u2C0E"], [11327, "\u2C0F"], [11328, "\u2C10"], [11329, "\u2C11"], [11330, "\u2C12"], [11331, "\u2C13"], [11332, "\u2C14"], [11333, "\u2C15"], [11334, "\u2C16"], [11335, "\u2C17"], [11336, "\u2C18"], [11337, "\u2C19"], [11338, "\u2C1A"], [11339, "\u2C1B"], [11340, "\u2C1C"], [11341, "\u2C1D"], [11342, "\u2C1E"], [11343, "\u2C1F"], [11344, "\u2C20"], [11345, "\u2C21"], [11346, "\u2C22"], [11347, "\u2C23"], [11348, "\u2C24"], [11349, "\u2C25"], [11350, "\u2C26"], [11351, "\u2C27"], [11352, "\u2C28"], [11353, "\u2C29"], [11354, "\u2C2A"], [11355, "\u2C2B"], [11356, "\u2C2C"], [11357, "\u2C2D"], [11358, "\u2C2E"], [11359, "\u2C2F"], [11361, "\u2C60"], [11365, "\u023A"], [11366, "\u023E"], [11368, "\u2C67"], [11370, "\u2C69"], [11372, "\u2C6B"], [11379, "\u2C72"], [11382, "\u2C75"], [11393, "\u2C80"], [11395, "\u2C82"], [11397, "\u2C84"], [11399, "\u2C86"], [11401, "\u2C88"], [11403, "\u2C8A"], [11405, "\u2C8C"], [11407, "\u2C8E"], [11409, "\u2C90"], [11411, "\u2C92"], [11413, "\u2C94"], [11415, "\u2C96"], [11417, "\u2C98"], [11419, "\u2C9A"], [11421, "\u2C9C"], [11423, "\u2C9E"], [11425, "\u2CA0"], [11427, "\u2CA2"], [11429, "\u2CA4"], [11431, "\u2CA6"], [11433, "\u2CA8"], [11435, "\u2CAA"], [11437, "\u2CAC"], [11439, "\u2CAE"], [11441, "\u2CB0"], [11443, "\u2CB2"], [11445, "\u2CB4"], [11447, "\u2CB6"], [11449, "\u2CB8"], [11451, "\u2CBA"], [11453, "\u2CBC"], [11455, "\u2CBE"], [11457, "\u2CC0"], [11459, "\u2CC2"], [11461, "\u2CC4"], [11463, "\u2CC6"], [11465, "\u2CC8"], [11467, "\u2CCA"], [11469, "\u2CCC"], [11471, "\u2CCE"], [11473, "\u2CD0"], [11475, "\u2CD2"], [11477, "\u2CD4"], [11479, "\u2CD6"], [11481, "\u2CD8"], [11483, "\u2CDA"], [11485, "\u2CDC"], [11487, "\u2CDE"], [11489, "\u2CE0"], [11491, "\u2CE2"], [11500, "\u2CEB"], [11502, "\u2CED"], [11507, "\u2CF2"], [11520, "\u10A0"], [11521, "\u10A1"], [11522, "\u10A2"], [11523, "\u10A3"], [11524, "\u10A4"], [11525, "\u10A5"], [11526, "\u10A6"], [11527, "\u10A7"], [11528, "\u10A8"], [11529, "\u10A9"], [11530, "\u10AA"], [11531, "\u10AB"], [11532, "\u10AC"], [11533, "\u10AD"], [11534, "\u10AE"], [11535, "\u10AF"], [11536, "\u10B0"], [11537, "\u10B1"], [11538, "\u10B2"], [11539, "\u10B3"], [11540, "\u10B4"], [11541, "\u10B5"], [11542, "\u10B6"], [11543, "\u10B7"], [11544, "\u10B8"], [11545, "\u10B9"], [11546, "\u10BA"], [11547, "\u10BB"], [11548, "\u10BC"], [11549, "\u10BD"], [11550, "\u10BE"], [11551, "\u10BF"], [11552, "\u10C0"], [11553, "\u10C1"], [11554, "\u10C2"], [11555, "\u10C3"], [11556, "\u10C4"], [11557, "\u10C5"], [11559, "\u10C7"], [11565, "\u10CD"], [42561, "\uA640"], [42563, "\uA642"], [42565, "\uA644"], [42567, "\uA646"], [42569, "\uA648"], [42571, "\uA64A"], [42573, "\uA64C"], [42575, "\uA64E"], [42577, "\uA650"], [42579, "\uA652"], [42581, "\uA654"], [42583, "\uA656"], [42585, "\uA658"], [42587, "\uA65A"], [42589, "\uA65C"], [42591, "\uA65E"], [42593, "\uA660"], [42595, "\uA662"], [42597, "\uA664"], [42599, "\uA666"], [42601, "\uA668"], [42603, "\uA66A"], [42605, "\uA66C"], [42625, "\uA680"], [42627, "\uA682"], [42629, "\uA684"], [42631, "\uA686"], [42633, "\uA688"], [42635, "\uA68A"], [42637, "\uA68C"], [42639, "\uA68E"], [42641, "\uA690"], [42643, "\uA692"], [42645, "\uA694"], [42647, "\uA696"], [42649, "\uA698"], [42651, "\uA69A"], [42787, "\uA722"], [42789, "\uA724"], [42791, "\uA726"], [42793, "\uA728"], [42795, "\uA72A"], [42797, "\uA72C"], [42799, "\uA72E"], [42803, "\uA732"], [42805, "\uA734"], [42807, "\uA736"], [42809, "\uA738"], [42811, "\uA73A"], [42813, "\uA73C"], [42815, "\uA73E"], [42817, "\uA740"], [42819, "\uA742"], [42821, "\uA744"], [42823, "\uA746"], [42825, "\uA748"], [42827, "\uA74A"], [42829, "\uA74C"], [42831, "\uA74E"], [42833, "\uA750"], [42835, "\uA752"], [42837, "\uA754"], [42839, "\uA756"], [42841, "\uA758"], [42843, "\uA75A"], [42845, "\uA75C"], [42847, "\uA75E"], [42849, "\uA760"], [42851, "\uA762"], [42853, "\uA764"], [42855, "\uA766"], [42857, "\uA768"], [42859, "\uA76A"], [42861, "\uA76C"], [42863, "\uA76E"], [42874, "\uA779"], [42876, "\uA77B"], [42879, "\uA77E"], [42881, "\uA780"], [42883, "\uA782"], [42885, "\uA784"], [42887, "\uA786"], [42892, "\uA78B"], [42897, "\uA790"], [42899, "\uA792"], [42900, "\uA7C4"], [42903, "\uA796"], [42905, "\uA798"], [42907, "\uA79A"], [42909, "\uA79C"], [42911, "\uA79E"], [42913, "\uA7A0"], [42915, "\uA7A2"], [42917, "\uA7A4"], [42919, "\uA7A6"], [42921, "\uA7A8"], [42933, "\uA7B4"], [42935, "\uA7B6"], [42937, "\uA7B8"], [42939, "\uA7BA"], [42941, "\uA7BC"], [42943, "\uA7BE"], [42945, "\uA7C0"], [42947, "\uA7C2"], [42952, "\uA7C7"], [42954, "\uA7C9"], [42957, "\uA7CC"], [42961, "\uA7D0"], [42967, "\uA7D6"], [42969, "\uA7D8"], [42971, "\uA7DA"], [42998, "\uA7F5"], [43859, "\uA7B3"], [43888, "\u13A0"], [43889, "\u13A1"], [43890, "\u13A2"], [43891, "\u13A3"], [43892, "\u13A4"], [43893, "\u13A5"], [43894, "\u13A6"], [43895, "\u13A7"], [43896, "\u13A8"], [43897, "\u13A9"], [43898, "\u13AA"], [43899, "\u13AB"], [43900, "\u13AC"], [43901, "\u13AD"], [43902, "\u13AE"], [43903, "\u13AF"], [43904, "\u13B0"], [43905, "\u13B1"], [43906, "\u13B2"], [43907, "\u13B3"], [43908, "\u13B4"], [43909, "\u13B5"], [43910, "\u13B6"], [43911, "\u13B7"], [43912, "\u13B8"], [43913, "\u13B9"], [43914, "\u13BA"], [43915, "\u13BB"], [43916, "\u13BC"], [43917, "\u13BD"], [43918, "\u13BE"], [43919, "\u13BF"], [43920, "\u13C0"], [43921, "\u13C1"], [43922, "\u13C2"], [43923, "\u13C3"], [43924, "\u13C4"], [43925, "\u13C5"], [43926, "\u13C6"], [43927, "\u13C7"], [43928, "\u13C8"], [43929, "\u13C9"], [43930, "\u13CA"], [43931, "\u13CB"], [43932, "\u13CC"], [43933, "\u13CD"], [43934, "\u13CE"], [43935, "\u13CF"], [43936, "\u13D0"], [43937, "\u13D1"], [43938, "\u13D2"], [43939, "\u13D3"], [43940, "\u13D4"], [43941, "\u13D5"], [43942, "\u13D6"], [43943, "\u13D7"], [43944, "\u13D8"], [43945, "\u13D9"], [43946, "\u13DA"], [43947, "\u13DB"], [43948, "\u13DC"], [43949, "\u13DD"], [43950, "\u13DE"], [43951, "\u13DF"], [43952, "\u13E0"], [43953, "\u13E1"], [43954, "\u13E2"], [43955, "\u13E3"], [43956, "\u13E4"], [43957, "\u13E5"], [43958, "\u13E6"], [43959, "\u13E7"], [43960, "\u13E8"], [43961, "\u13E9"], [43962, "\u13EA"], [43963, "\u13EB"], [43964, "\u13EC"], [43965, "\u13ED"], [43966, "\u13EE"], [43967, "\u13EF"], [64256, "FF"], [64257, "FI"], [64258, "FL"], [64259, "FFI"], [64260, "FFL"], [64261, "ST"], [64262, "ST"], [64275, "\u0544\u0546"], [64276, "\u0544\u0535"], [64277, "\u0544\u053B"], [64278, "\u054E\u0546"], [64279, "\u0544\u053D"], [65345, "\uFF21"], [65346, "\uFF22"], [65347, "\uFF23"], [65348, "\uFF24"], [65349, "\uFF25"], [65350, "\uFF26"], [65351, "\uFF27"], [65352, "\uFF28"], [65353, "\uFF29"], [65354, "\uFF2A"], [65355, "\uFF2B"], [65356, "\uFF2C"], [65357, "\uFF2D"], [65358, "\uFF2E"], [65359, "\uFF2F"], [65360, "\uFF30"], [65361, "\uFF31"], [65362, "\uFF32"], [65363, "\uFF33"], [65364, "\uFF34"], [65365, "\uFF35"], [65366, "\uFF36"], [65367, "\uFF37"], [65368, "\uFF38"], [65369, "\uFF39"], [65370, "\uFF3A"], [66600, "\u{10400}"], [66601, "\u{10401}"], [66602, "\u{10402}"], [66603, "\u{10403}"], [66604, "\u{10404}"], [66605, "\u{10405}"], [66606, "\u{10406}"], [66607, "\u{10407}"], [66608, "\u{10408}"], [66609, "\u{10409}"], [66610, "\u{1040A}"], [66611, "\u{1040B}"], [66612, "\u{1040C}"], [66613, "\u{1040D}"], [66614, "\u{1040E}"], [66615, "\u{1040F}"], [66616, "\u{10410}"], [66617, "\u{10411}"], [66618, "\u{10412}"], [66619, "\u{10413}"], [66620, "\u{10414}"], [66621, "\u{10415}"], [66622, "\u{10416}"], [66623, "\u{10417}"], [66624, "\u{10418}"], [66625, "\u{10419}"], [66626, "\u{1041A}"], [66627, "\u{1041B}"], [66628, "\u{1041C}"], [66629, "\u{1041D}"], [66630, "\u{1041E}"], [66631, "\u{1041F}"], [66632, "\u{10420}"], [66633, "\u{10421}"], [66634, "\u{10422}"], [66635, "\u{10423}"], [66636, "\u{10424}"], [66637, "\u{10425}"], [66638, "\u{10426}"], [66639, "\u{10427}"], [66776, "\u{104B0}"], [66777, "\u{104B1}"], [66778, "\u{104B2}"], [66779, "\u{104B3}"], [66780, "\u{104B4}"], [66781, "\u{104B5}"], [66782, "\u{104B6}"], [66783, "\u{104B7}"], [66784, "\u{104B8}"], [66785, "\u{104B9}"], [66786, "\u{104BA}"], [66787, "\u{104BB}"], [66788, "\u{104BC}"], [66789, "\u{104BD}"], [66790, "\u{104BE}"], [66791, "\u{104BF}"], [66792, "\u{104C0}"], [66793, "\u{104C1}"], [66794, "\u{104C2}"], [66795, "\u{104C3}"], [66796, "\u{104C4}"], [66797, "\u{104C5}"], [66798, "\u{104C6}"], [66799, "\u{104C7}"], [66800, "\u{104C8}"], [66801, "\u{104C9}"], [66802, "\u{104CA}"], [66803, "\u{104CB}"], [66804, "\u{104CC}"], [66805, "\u{104CD}"], [66806, "\u{104CE}"], [66807, "\u{104CF}"], [66808, "\u{104D0}"], [66809, "\u{104D1}"], [66810, "\u{104D2}"], [66811, "\u{104D3}"], [66967, "\u{10570}"], [66968, "\u{10571}"], [66969, "\u{10572}"], [66970, "\u{10573}"], [66971, "\u{10574}"], [66972, "\u{10575}"], [66973, "\u{10576}"], [66974, "\u{10577}"], [66975, "\u{10578}"], [66976, "\u{10579}"], [66977, "\u{1057A}"], [66979, "\u{1057C}"], [66980, "\u{1057D}"], [66981, "\u{1057E}"], [66982, "\u{1057F}"], [66983, "\u{10580}"], [66984, "\u{10581}"], [66985, "\u{10582}"], [66986, "\u{10583}"], [66987, "\u{10584}"], [66988, "\u{10585}"], [66989, "\u{10586}"], [66990, "\u{10587}"], [66991, "\u{10588}"], [66992, "\u{10589}"], [66993, "\u{1058A}"], [66995, "\u{1058C}"], [66996, "\u{1058D}"], [66997, "\u{1058E}"], [66998, "\u{1058F}"], [66999, "\u{10590}"], [67e3, "\u{10591}"], [67001, "\u{10592}"], [67003, "\u{10594}"], [67004, "\u{10595}"], [68800, "\u{10C80}"], [68801, "\u{10C81}"], [68802, "\u{10C82}"], [68803, "\u{10C83}"], [68804, "\u{10C84}"], [68805, "\u{10C85}"], [68806, "\u{10C86}"], [68807, "\u{10C87}"], [68808, "\u{10C88}"], [68809, "\u{10C89}"], [68810, "\u{10C8A}"], [68811, "\u{10C8B}"], [68812, "\u{10C8C}"], [68813, "\u{10C8D}"], [68814, "\u{10C8E}"], [68815, "\u{10C8F}"], [68816, "\u{10C90}"], [68817, "\u{10C91}"], [68818, "\u{10C92}"], [68819, "\u{10C93}"], [68820, "\u{10C94}"], [68821, "\u{10C95}"], [68822, "\u{10C96}"], [68823, "\u{10C97}"], [68824, "\u{10C98}"], [68825, "\u{10C99}"], [68826, "\u{10C9A}"], [68827, "\u{10C9B}"], [68828, "\u{10C9C}"], [68829, "\u{10C9D}"], [68830, "\u{10C9E}"], [68831, "\u{10C9F}"], [68832, "\u{10CA0}"], [68833, "\u{10CA1}"], [68834, "\u{10CA2}"], [68835, "\u{10CA3}"], [68836, "\u{10CA4}"], [68837, "\u{10CA5}"], [68838, "\u{10CA6}"], [68839, "\u{10CA7}"], [68840, "\u{10CA8}"], [68841, "\u{10CA9}"], [68842, "\u{10CAA}"], [68843, "\u{10CAB}"], [68844, "\u{10CAC}"], [68845, "\u{10CAD}"], [68846, "\u{10CAE}"], [68847, "\u{10CAF}"], [68848, "\u{10CB0}"], [68849, "\u{10CB1}"], [68850, "\u{10CB2}"], [68976, "\u{10D50}"], [68977, "\u{10D51}"], [68978, "\u{10D52}"], [68979, "\u{10D53}"], [68980, "\u{10D54}"], [68981, "\u{10D55}"], [68982, "\u{10D56}"], [68983, "\u{10D57}"], [68984, "\u{10D58}"], [68985, "\u{10D59}"], [68986, "\u{10D5A}"], [68987, "\u{10D5B}"], [68988, "\u{10D5C}"], [68989, "\u{10D5D}"], [68990, "\u{10D5E}"], [68991, "\u{10D5F}"], [68992, "\u{10D60}"], [68993, "\u{10D61}"], [68994, "\u{10D62}"], [68995, "\u{10D63}"], [68996, "\u{10D64}"], [68997, "\u{10D65}"], [71872, "\u{118A0}"], [71873, "\u{118A1}"], [71874, "\u{118A2}"], [71875, "\u{118A3}"], [71876, "\u{118A4}"], [71877, "\u{118A5}"], [71878, "\u{118A6}"], [71879, "\u{118A7}"], [71880, "\u{118A8}"], [71881, "\u{118A9}"], [71882, "\u{118AA}"], [71883, "\u{118AB}"], [71884, "\u{118AC}"], [71885, "\u{118AD}"], [71886, "\u{118AE}"], [71887, "\u{118AF}"], [71888, "\u{118B0}"], [71889, "\u{118B1}"], [71890, "\u{118B2}"], [71891, "\u{118B3}"], [71892, "\u{118B4}"], [71893, "\u{118B5}"], [71894, "\u{118B6}"], [71895, "\u{118B7}"], [71896, "\u{118B8}"], [71897, "\u{118B9}"], [71898, "\u{118BA}"], [71899, "\u{118BB}"], [71900, "\u{118BC}"], [71901, "\u{118BD}"], [71902, "\u{118BE}"], [71903, "\u{118BF}"], [93792, "\u{16E40}"], [93793, "\u{16E41}"], [93794, "\u{16E42}"], [93795, "\u{16E43}"], [93796, "\u{16E44}"], [93797, "\u{16E45}"], [93798, "\u{16E46}"], [93799, "\u{16E47}"], [93800, "\u{16E48}"], [93801, "\u{16E49}"], [93802, "\u{16E4A}"], [93803, "\u{16E4B}"], [93804, "\u{16E4C}"], [93805, "\u{16E4D}"], [93806, "\u{16E4E}"], [93807, "\u{16E4F}"], [93808, "\u{16E50}"], [93809, "\u{16E51}"], [93810, "\u{16E52}"], [93811, "\u{16E53}"], [93812, "\u{16E54}"], [93813, "\u{16E55}"], [93814, "\u{16E56}"], [93815, "\u{16E57}"], [93816, "\u{16E58}"], [93817, "\u{16E59}"], [93818, "\u{16E5A}"], [93819, "\u{16E5B}"], [93820, "\u{16E5C}"], [93821, "\u{16E5D}"], [93822, "\u{16E5E}"], [93823, "\u{16E5F}"], [125218, "\u{1E900}"], [125219, "\u{1E901}"], [125220, "\u{1E902}"], [125221, "\u{1E903}"], [125222, "\u{1E904}"], [125223, "\u{1E905}"], [125224, "\u{1E906}"], [125225, "\u{1E907}"], [125226, "\u{1E908}"], [125227, "\u{1E909}"], [125228, "\u{1E90A}"], [125229, "\u{1E90B}"], [125230, "\u{1E90C}"], [125231, "\u{1E90D}"], [125232, "\u{1E90E}"], [125233, "\u{1E90F}"], [125234, "\u{1E910}"], [125235, "\u{1E911}"], [125236, "\u{1E912}"], [125237, "\u{1E913}"], [125238, "\u{1E914}"], [125239, "\u{1E915}"], [125240, "\u{1E916}"], [125241, "\u{1E917}"], [125242, "\u{1E918}"], [125243, "\u{1E919}"], [125244, "\u{1E91A}"], [125245, "\u{1E91B}"], [125246, "\u{1E91C}"], [125247, "\u{1E91D}"], [125248, "\u{1E91E}"], [125249, "\u{1E91F}"], [125250, "\u{1E920}"], [125251, "\u{1E921}"]];
1349
+
1350
+ // packages/safe-bash-command-csvkit/dist/python-text.js
1351
+ var upperMap = new Map(upperMappings);
1352
+ function bytesRepr(value) {
1353
+ const quote = value.includes(39) && !value.includes(34) ? '"' : "'";
1354
+ let text = "b" + quote;
1355
+ for (const byte of value) {
1356
+ if (byte === 9)
1357
+ text += "\\t";
1358
+ else if (byte === 10)
1359
+ text += "\\n";
1360
+ else if (byte === 13)
1361
+ text += "\\r";
1362
+ else if (byte === 92 || byte === quote.charCodeAt(0))
1363
+ text += "\\" + String.fromCharCode(byte);
1364
+ else if (byte >= 32 && byte < 127)
1365
+ text += String.fromCharCode(byte);
1366
+ else
1367
+ text += "\\x" + byte.toString(16).padStart(2, "0");
1368
+ }
1369
+ return text + quote;
1370
+ }
1371
+ function upperText(value, step) {
1372
+ let result = "";
1373
+ for (const char of value) {
1374
+ step();
1375
+ result += upperMap.get(char.codePointAt(0)) ?? char;
1376
+ }
1377
+ return result;
1378
+ }
1379
+ function stripWhitespace(value) {
1380
+ const len = value.length;
1381
+ if (len === 0)
1382
+ return "";
1383
+ const c0 = value.charCodeAt(0);
1384
+ const cLast = value.charCodeAt(len - 1);
1385
+ if (c0 > 32 && c0 < 127 && cLast > 32 && cLast < 127)
1386
+ return value;
1387
+ const chars = Array.from(value);
1388
+ const whitespace = (char) => {
1389
+ const code = char.codePointAt(0);
1390
+ return integerWhitespace.includes(code) || code >= 28 && code <= 31;
1391
+ };
1392
+ let first = 0;
1393
+ let last = chars.length;
1394
+ while (first < last && whitespace(chars[first]))
1395
+ first++;
1396
+ while (last > first && whitespace(chars[last - 1]))
1397
+ last--;
1398
+ return chars.slice(first, last).join("");
1399
+ }
1400
+ var lowerMap = new Map(lowerMappings);
1401
+ function lowerText(value) {
1402
+ let ascii = true;
1403
+ let hasUpper = false;
1404
+ for (let i = 0; i < value.length; i++) {
1405
+ const c = value.charCodeAt(i);
1406
+ if (c >= 128) {
1407
+ ascii = false;
1408
+ break;
1409
+ }
1410
+ if (c >= 65 && c <= 90)
1411
+ hasUpper = true;
1412
+ }
1413
+ if (ascii)
1414
+ return hasUpper ? value.toLowerCase() : value;
1415
+ const chars = Array.from(value);
1416
+ const within = (code, ranges) => {
1417
+ let lo = 0;
1418
+ let hi = ranges.length;
1419
+ while (lo < hi) {
1420
+ const mid = lo + hi >>> 1;
1421
+ const range = ranges[mid];
1422
+ if (code < range[0])
1423
+ hi = mid;
1424
+ else if (code > range[1])
1425
+ lo = mid + 1;
1426
+ else
1427
+ return true;
1428
+ }
1429
+ return false;
1430
+ };
1431
+ return chars.map((char, index) => {
1432
+ const code = char.codePointAt(0);
1433
+ if (code !== 931)
1434
+ return lowerMap.get(code) ?? char;
1435
+ const cased = (direction) => {
1436
+ for (let cursor = index + direction; cursor >= 0 && cursor < chars.length; cursor += direction) {
1437
+ const neighbor = chars[cursor].codePointAt(0);
1438
+ if (!within(neighbor, sigmaIgnorable))
1439
+ return within(neighbor, sigmaCased);
1440
+ }
1441
+ return false;
1442
+ };
1443
+ return cased(-1) && !cased(1) ? "\u03C2" : "\u03C3";
1444
+ }).join("");
1445
+ }
1446
+
1447
+ // packages/safe-bash-command-csvkit/dist/diagnostics/index.js
1448
+ function diagnosticReport(failure, verbose, encoding) {
1449
+ let text = failure instanceof PythonException ? `${failure.exceptionClass}: ${failure.detail}` : failure.message;
1450
+ if (!(failure instanceof CsvkitBlocked) && failure.status === 1) {
1451
+ if (verbose) {
1452
+ if (!(failure instanceof PythonException) || !failure.traceback?.profile || !failure.traceback.frames.length || failure.traceback.frames.some((frame) => !frame.path || !frame.function || !Number.isSafeInteger(frame.line) || frame.line < 1))
1453
+ return { status: 78, stderr: "csvkit: unsupported or unqualified: frozen Python traceback frames and deployment identity\n" };
1454
+ text = "Traceback (most recent call last):\n";
1455
+ for (const frame of failure.traceback.frames) {
1456
+ text += ` File "${frame.path}", line ${frame.line}, in ${frame.function}
1457
+ `;
1458
+ const source = frame.source === void 0 ? "" : stripWhitespace(frame.source);
1459
+ if (source)
1460
+ text += ` ${source}
1461
+ `;
1462
+ }
1463
+ text += `${failure.exceptionClass}: ${failure.detail}`;
1464
+ } else if (failure instanceof PythonException && failure.exceptionClass === "UnicodeDecodeError") {
1465
+ text = `Your file is not "${encoding}" encoded. Please specify the correct encoding with the --encoding flag. Use the -v flag to see the complete error.`;
1466
+ }
1467
+ }
1468
+ return { status: failure.status, stderr: text + "\n" };
1469
+ }
1470
+ function fileException(failure, path) {
1471
+ if (failure instanceof CsvkitDiagnostic || typeof failure !== "object" || failure === null)
1472
+ return failure;
1473
+ const code = failure.code;
1474
+ const identities = {
1475
+ ENOENT: ["FileNotFoundError", 2, "No such file or directory"],
1476
+ EACCES: ["PermissionError", 13, "Permission denied"],
1477
+ EPERM: ["PermissionError", 1, "Operation not permitted"],
1478
+ EISDIR: ["IsADirectoryError", 21, "Is a directory"],
1479
+ ENOTDIR: ["NotADirectoryError", 20, "Not a directory"]
1480
+ };
1481
+ const identity = typeof code === "string" && Object.hasOwn(identities, code) ? identities[code] : void 0;
1482
+ return identity ? new PythonException(identity[0], `[Errno ${identity[1]}] ${identity[2]}: ${repr(path)}`) : failure;
1483
+ }
1484
+ function warningText(warning) {
1485
+ return `${warning.path}:${warning.line}: ${warning.category}: ${warning.message}
1486
+ ` + (warning.source ? ` ${stripWhitespace(warning.source)}
1487
+ ` : "");
1488
+ }
1489
+
1490
+ // packages/safe-bash-command-csvkit/dist/table/headers.js
1491
+ init_buffer();
1492
+ function defaultHeaders(count) {
1493
+ return Array.from({ length: count }, (_, index) => {
1494
+ let name = "";
1495
+ do {
1496
+ name = String.fromCharCode(97 + index % 26) + name;
1497
+ index = Math.floor(index / 26) - 1;
1498
+ } while (index >= 0);
1499
+ return name;
1500
+ });
1501
+ }
1502
+ var warningRegistries = /* @__PURE__ */ new WeakMap();
1503
+ async function normalizeHeaders(headers, runtime) {
1504
+ const generated = defaultHeaders(headers.length);
1505
+ const final = [];
1506
+ const seen = /* @__PURE__ */ new Set();
1507
+ const emitted = warningRegistries.get(runtime) ?? /* @__PURE__ */ new Set();
1508
+ warningRegistries.set(runtime, emitted);
1509
+ const warn = async (category, message, line, source) => {
1510
+ const profile = runtime.context.columnWarnings;
1511
+ if (profile?.suppressWarnings)
1512
+ return;
1513
+ if (!profile?.utilsPath)
1514
+ throw new CsvkitBlocked("Agate duplicate/unnamed column warning provenance");
1515
+ const identity = category + message;
1516
+ if (emitted.has(identity))
1517
+ return;
1518
+ runtime.retain(32 + identity.length * 2);
1519
+ emitted.add(identity);
1520
+ await runtime.write(warningText({ path: profile.utilsPath, category, message, line, source }), "stderr");
1521
+ };
1522
+ for (const [index, header] of headers.entries()) {
1523
+ runtime.step();
1524
+ const name = header || generated[index];
1525
+ if (!header)
1526
+ await warn("UnnamedColumnWarning", `Column ${index} has no name. Using "${name}".`, 272, "warn_unnamed_column(i, new_value)");
1527
+ let result = name;
1528
+ let duplicates = 0;
1529
+ while (seen.has(result)) {
1530
+ runtime.step();
1531
+ result = name + "_" + (++duplicates + 1);
1532
+ }
1533
+ if (duplicates)
1534
+ await warn("DuplicateColumnWarning", `Column name "${name}" already exists in Table. Column will be renamed to "${result}".`, 288, "warn_duplicate_column(new_value, final_value)");
1535
+ runtime.retain(32 + result.length * 2);
1536
+ seen.add(result);
1537
+ final.push(result);
1538
+ }
1539
+ return final;
1540
+ }
1541
+
1542
+ // packages/safe-bash-command-csvkit/dist/table/selectors.js
1543
+ init_buffer();
1544
+ var digitRanges = [[178, 179], [185, 185], [4969, 4977], [6618, 6618], [8304, 8304], [8308, 8313], [8320, 8329], [9312, 9320], [9332, 9340], [9352, 9360], [9450, 9450], [9461, 9469], [9471, 9471], [10102, 10110], [10112, 10120], [10122, 10130], [68160, 68163], [69216, 69224], [69714, 69722], [127232, 127242]];
1545
+ function isDigit(token) {
1546
+ return token.length > 0 && Array.from(token).every((char) => {
1547
+ const point = char.codePointAt(0);
1548
+ return decimalZeroes.some((zero) => point >= zero && point <= zero + 9) || digitRanges.some(([first, last]) => point >= first && point <= last);
1549
+ });
1550
+ }
1551
+ function match(names, token, offset2 = 1, namesAreTuple = false) {
1552
+ if (typeof token === "string" && !isDigit(token) && names.includes(token))
1553
+ return names.indexOf(token);
1554
+ const value = typeof token === "bigint" ? token : integer(token);
1555
+ if (value === void 0)
1556
+ throw new CsvkitDiagnostic(`ColumnIdentifierError: Column '${token}' is invalid. It is neither an integer nor a column name. Column names are: ${names.map(repr).join(", ")}${namesAreTuple && names.length === 1 ? "," : ""}`);
1557
+ const index = Number(value) - offset2;
1558
+ if (index < 0)
1559
+ throw new CsvkitDiagnostic(`ColumnIdentifierError: Column ${value} is invalid. Columns are 1-based.`);
1560
+ if (index >= names.length)
1561
+ throw new CsvkitDiagnostic(`ColumnIdentifierError: Column ${value} is invalid. The last column is '${names.at(-1)}' at index ${names.length - 1 + offset2}.`);
1562
+ return index;
1563
+ }
1564
+ function parseColumnIdentifiers(ids, names, offset2 = 1, excludedColumns, step = () => {
1565
+ }, namesAreTuple = false) {
1566
+ if (!names.length)
1567
+ return [];
1568
+ const columns = [];
1569
+ if (ids) {
1570
+ for (const token of ids.split(",")) {
1571
+ step();
1572
+ try {
1573
+ columns.push(match(names, token, offset2, namesAreTuple));
1574
+ } catch (failure) {
1575
+ if (!(failure instanceof CsvkitDiagnostic))
1576
+ throw failure;
1577
+ const separator = token.includes(":") ? ":" : token.includes("-") ? "-" : void 0;
1578
+ if (!separator)
1579
+ throw failure;
1580
+ const index = token.indexOf(separator);
1581
+ const first = token.slice(0, index);
1582
+ const last = token.slice(index + 1);
1583
+ const start = first ? integer(first) : 1;
1584
+ const end = last ? integer(last) : names.length;
1585
+ if (start === void 0 || end === void 0)
1586
+ throw new CsvkitDiagnostic("ColumnIdentifierError: Invalid range %s. Ranges must be two integers separated by a - or : character.");
1587
+ for (let value = BigInt(start); value <= BigInt(end); value++) {
1588
+ step();
1589
+ columns.push(match(names, value, offset2));
1590
+ }
1591
+ }
1592
+ }
1593
+ } else {
1594
+ for (let index = 0; index < names.length; index++) {
1595
+ step();
1596
+ columns.push(index);
1597
+ }
1598
+ }
1599
+ const excludes = /* @__PURE__ */ new Set();
1600
+ if (excludedColumns) {
1601
+ for (const token of excludedColumns.split(",")) {
1602
+ step();
1603
+ try {
1604
+ excludes.add(match(names, token, offset2, namesAreTuple));
1605
+ } catch (failure) {
1606
+ if (!(failure instanceof CsvkitDiagnostic))
1607
+ throw failure;
1608
+ const separator = token.includes(":") ? ":" : token.includes("-") ? "-" : void 0;
1609
+ if (!separator)
1610
+ continue;
1611
+ const index = token.indexOf(separator);
1612
+ const first = token.slice(0, index);
1613
+ const last = token.slice(index + 1);
1614
+ const start = first ? integer(first) : 1;
1615
+ const end = last ? integer(last) : names.length - 1;
1616
+ if (start === void 0 || end === void 0)
1617
+ throw new CsvkitDiagnostic("ColumnIdentifierError: Invalid range %s. Ranges must be two integers separated by a - or : character.");
1618
+ for (let value = BigInt(start); value <= BigInt(end); value++) {
1619
+ step();
1620
+ excludes.add(match(names, value, offset2));
1621
+ }
1622
+ }
1623
+ }
1624
+ }
1625
+ return columns.filter((index) => {
1626
+ step();
1627
+ return !excludes.has(index);
1628
+ });
1629
+ }
1630
+
1631
+ // packages/safe-bash-command-csvkit/dist/types/decimal.js
1632
+ init_buffer();
1633
+ var DecimalTrap = class extends Error {
1634
+ operation;
1635
+ constructor(operation) {
1636
+ super(operation);
1637
+ this.operation = operation;
1638
+ }
1639
+ };
1640
+ var Decimal = class _Decimal {
1641
+ negative;
1642
+ coefficient;
1643
+ exponent;
1644
+ special;
1645
+ payload;
1646
+ constructor(negative, coefficient, exponent, special, payload = "") {
1647
+ this.negative = negative;
1648
+ this.coefficient = coefficient;
1649
+ this.exponent = exponent;
1650
+ this.special = special;
1651
+ this.payload = payload;
1652
+ }
1653
+ static parse(text) {
1654
+ let ascii = "";
1655
+ for (const char of stripWhitespace(text)) {
1656
+ if (char === "_")
1657
+ continue;
1658
+ const code = char.codePointAt(0);
1659
+ const zero = decimalZeroes.find((start) => code >= start && code < start + 10);
1660
+ ascii += zero === void 0 ? char : String(code - zero);
1661
+ }
1662
+ text = ascii;
1663
+ const special = /^([+-]?)(Infinity|Inf|sNaN|NaN)(\d*)$/i.exec(text);
1664
+ if (special) {
1665
+ const name = special[2].toLowerCase();
1666
+ if (name.startsWith("inf") && special[3])
1667
+ throw new DecimalTrap("InvalidOperation");
1668
+ return new _Decimal(special[1] === "-", 0n, 0, name.startsWith("inf") ? "Infinity" : name === "snan" ? "sNaN" : "NaN", special[3].replace(/^0+/, ""));
1669
+ }
1670
+ const match2 = /^([+-]?)(?:(\d+)(?:\.(\d*))?|\.(\d+))(?:[eE]([+-]?\d+))?$/.exec(text);
1671
+ if (!match2)
1672
+ throw new DecimalTrap("InvalidOperation");
1673
+ const fraction = match2[3] ?? match2[4] ?? "";
1674
+ const digits = (match2[2] ?? "") + fraction;
1675
+ const exponent = BigInt(match2[5] ?? "0") - BigInt(fraction.length);
1676
+ if (!Number.isSafeInteger(Number(exponent)))
1677
+ throw new DecimalTrap("InvalidOperation");
1678
+ return new _Decimal(match2[1] === "-", BigInt(digits), Number(exponent));
1679
+ }
1680
+ static finite(negative, coefficient, exponent, precision = 28) {
1681
+ let digits = coefficient.toString().length;
1682
+ if (digits > precision) {
1683
+ const cut = digits - precision;
1684
+ const divisor = 10n ** BigInt(cut);
1685
+ const rest = coefficient % divisor;
1686
+ coefficient /= divisor;
1687
+ if (rest * 2n > divisor || rest * 2n === divisor && coefficient % 2n !== 0n)
1688
+ coefficient++;
1689
+ exponent += cut;
1690
+ digits = coefficient.toString().length;
1691
+ if (digits > precision) {
1692
+ coefficient /= 10n;
1693
+ exponent++;
1694
+ }
1695
+ }
1696
+ if (exponent + coefficient.toString().length - 1 > 999999)
1697
+ throw new DecimalTrap("Overflow");
1698
+ if (!Number.isSafeInteger(exponent))
1699
+ throw new DecimalTrap("InvalidOperation");
1700
+ return new _Decimal(negative, coefficient, exponent);
1701
+ }
1702
+ nan(other) {
1703
+ if (this.special === "sNaN" || other.special === "sNaN")
1704
+ throw new DecimalTrap("InvalidOperation");
1705
+ const value = this.special === "NaN" ? this : other.special === "NaN" ? other : void 0;
1706
+ return value && new _Decimal(value.negative, 0n, 0, "NaN", value.payload.slice(-28).replace(/^0+/, ""));
1707
+ }
1708
+ add(other) {
1709
+ const nan = this.nan(other);
1710
+ if (nan)
1711
+ return nan;
1712
+ if (this.special === "Infinity" || other.special === "Infinity") {
1713
+ if (this.special === other.special && this.negative !== other.negative)
1714
+ throw new DecimalTrap("InvalidOperation");
1715
+ return this.special ? this : other;
1716
+ }
1717
+ const exponent = Math.min(this.exponent, other.exponent);
1718
+ const a = this.coefficient * 10n ** BigInt(this.exponent - exponent) * (this.negative ? -1n : 1n);
1719
+ const b = other.coefficient * 10n ** BigInt(other.exponent - exponent) * (other.negative ? -1n : 1n);
1720
+ const sum = a + b;
1721
+ return _Decimal.finite(sum < 0n || sum === 0n && this.negative && other.negative, sum < 0n ? -sum : sum, exponent);
1722
+ }
1723
+ multiply(other) {
1724
+ const nan = this.nan(other);
1725
+ if (nan)
1726
+ return nan;
1727
+ const negative = this.negative !== other.negative;
1728
+ if (this.special || other.special) {
1729
+ if (!this.special && this.coefficient === 0n || !other.special && other.coefficient === 0n)
1730
+ throw new DecimalTrap("InvalidOperation");
1731
+ return new _Decimal(negative, 0n, 0, "Infinity");
1732
+ }
1733
+ return _Decimal.finite(negative, this.coefficient * other.coefficient, this.exponent + other.exponent);
1734
+ }
1735
+ /** CPython mpdecimal integer power: precision + exponent digits + 2. */
1736
+ square() {
1737
+ const nan = this.nan(this);
1738
+ if (nan)
1739
+ return nan;
1740
+ if (this.special)
1741
+ return new _Decimal(false, 0n, 0, "Infinity");
1742
+ if (this.coefficient === 0n)
1743
+ return new _Decimal(false, 0n, 0);
1744
+ const working = _Decimal.finite(false, this.coefficient * this.coefficient, this.exponent * 2, 31);
1745
+ return _Decimal.finite(false, working.coefficient, working.exponent);
1746
+ }
1747
+ divide(other) {
1748
+ const nan = this.nan(other);
1749
+ if (nan)
1750
+ return nan;
1751
+ const negative = this.negative !== other.negative;
1752
+ if (this.special && other.special)
1753
+ throw new DecimalTrap("InvalidOperation");
1754
+ if (this.special)
1755
+ return new _Decimal(negative, 0n, 0, "Infinity");
1756
+ if (other.special)
1757
+ return new _Decimal(negative, 0n, -1000026);
1758
+ if (other.coefficient === 0n)
1759
+ throw new DecimalTrap(this.coefficient === 0n ? "InvalidOperation" : "DivisionByZero");
1760
+ const preferred = this.exponent - other.exponent;
1761
+ if (this.coefficient === 0n)
1762
+ return _Decimal.finite(negative, 0n, preferred);
1763
+ const shift = Math.max(0, 29 + other.coefficient.toString().length - this.coefficient.toString().length);
1764
+ const numerator = this.coefficient * 10n ** BigInt(shift);
1765
+ let coefficient = numerator / other.coefficient;
1766
+ const remainder = numerator % other.coefficient;
1767
+ if (remainder !== 0n)
1768
+ coefficient = coefficient * 10n + 1n;
1769
+ let result = _Decimal.finite(negative, coefficient, preferred - shift - (remainder !== 0n ? 1 : 0));
1770
+ if (numerator % other.coefficient === 0n) {
1771
+ coefficient = result.coefficient;
1772
+ let exponent = result.exponent;
1773
+ while (exponent < preferred && coefficient % 10n === 0n) {
1774
+ coefficient /= 10n;
1775
+ exponent++;
1776
+ }
1777
+ result = new _Decimal(negative, coefficient, exponent);
1778
+ }
1779
+ return result;
1780
+ }
1781
+ compare(other) {
1782
+ if (this.special === "NaN" || this.special === "sNaN" || other.special === "NaN" || other.special === "sNaN")
1783
+ throw new DecimalTrap("InvalidOperation");
1784
+ if (this.special || other.special) {
1785
+ if (this.special === other.special && this.negative === other.negative)
1786
+ return 0;
1787
+ return this.special ? this.negative ? -1 : 1 : other.negative ? 1 : -1;
1788
+ }
1789
+ if (this.coefficient === 0n && other.coefficient === 0n)
1790
+ return 0;
1791
+ if (this.negative !== other.negative)
1792
+ return this.negative ? -1 : 1;
1793
+ const exponent = Math.min(this.exponent, other.exponent);
1794
+ const a = this.coefficient * 10n ** BigInt(this.exponent - exponent);
1795
+ const b = other.coefficient * 10n ** BigInt(other.exponent - exponent);
1796
+ return (a === b ? 0 : a < b ? -1 : 1) * (this.negative ? -1 : 1);
1797
+ }
1798
+ normalized() {
1799
+ const nan = this.nan(this);
1800
+ if (nan)
1801
+ return nan;
1802
+ if (this.special)
1803
+ return this;
1804
+ const rounded = _Decimal.finite(this.negative, this.coefficient, this.exponent);
1805
+ let coefficient = rounded.coefficient;
1806
+ let exponent = rounded.exponent;
1807
+ if (coefficient === 0n)
1808
+ return new _Decimal(this.negative, 0n, 0);
1809
+ while (coefficient % 10n === 0n) {
1810
+ coefficient /= 10n;
1811
+ exponent++;
1812
+ }
1813
+ return new _Decimal(this.negative, coefficient, exponent);
1814
+ }
1815
+ toString() {
1816
+ const sign = this.negative ? "-" : "";
1817
+ if (this.special)
1818
+ return sign + this.special + this.payload;
1819
+ const digits = this.coefficient.toString();
1820
+ const adjusted = this.exponent + digits.length - 1;
1821
+ if (this.exponent > 0 || adjusted < -6)
1822
+ return sign + digits[0] + (digits.length > 1 ? "." + digits.slice(1) : "") + "E" + (adjusted >= 0 ? "+" : "") + adjusted;
1823
+ const point = digits.length + this.exponent;
1824
+ if (point > 0)
1825
+ return sign + digits.slice(0, point) + (point < digits.length ? "." + digits.slice(point) : "");
1826
+ return sign + "0." + "0".repeat(-point) + digits;
1827
+ }
1828
+ };
1829
+
1830
+ // packages/safe-bash-command-csvkit/dist/table/types.js
1831
+ init_buffer();
1832
+
1833
+ // packages/safe-bash-command-csvkit/dist/types/temporal.js
1834
+ init_buffer();
1835
+ var TemporalCastError = class extends Error {
1836
+ };
1837
+ var months = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];
1838
+ var weekdays = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
1839
+ var leap = (year) => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
1840
+ var monthDays = (year, month) => [31, leap(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month - 1] ?? 0;
1841
+ var pad = (value, width = 2) => String(value).padStart(width, "0");
1842
+ function valid(p) {
1843
+ return p.year >= 1 && p.year <= 9999 && p.month >= 1 && p.month <= 12 && p.day >= 1 && p.day <= monthDays(p.year, p.month) && p.hour >= 0 && p.hour < 24 && p.minute >= 0 && p.minute < 60 && p.second >= 0 && p.second < 60;
1844
+ }
1845
+ function dateText(p) {
1846
+ return `${pad(p.year, 4)}-${pad(p.month)}-${pad(p.day)}`;
1847
+ }
1848
+ function datetimeText(p) {
1849
+ return `${dateText(p)} ${pad(p.hour)}:${pad(p.minute)}:${pad(p.second)}${p.microsecond ? "." + pad(p.microsecond, 6) : ""}${p.offset ?? ""}`;
1850
+ }
1851
+ function base(year = 1900, month = 1, day = 1) {
1852
+ return { year, month, day, hour: 0, minute: 0, second: 0, microsecond: 0 };
1853
+ }
1854
+ function ordinal(year, month, day) {
1855
+ const previous = year - 1;
1856
+ let days = previous * 365 + Math.floor(previous / 4) - Math.floor(previous / 100) + Math.floor(previous / 400);
1857
+ for (let index = 1; index < month; index++)
1858
+ days += monthDays(year, index);
1859
+ return days + day;
1860
+ }
1861
+ function fromOrdinal(value) {
1862
+ if (value < 1 || value > ordinal(9999, 12, 31))
1863
+ throw new TemporalCastError();
1864
+ let year = Math.min(9999, Math.floor((value - 1) / 365.2425) + 1);
1865
+ while (ordinal(year, 1, 1) > value)
1866
+ year--;
1867
+ while (year < 9999 && ordinal(year + 1, 1, 1) <= value)
1868
+ year++;
1869
+ let month = 1;
1870
+ while (month < 12 && ordinal(year, month + 1, 1) <= value)
1871
+ month++;
1872
+ return base(year, month, value - ordinal(year, month, 1) + 1);
1873
+ }
1874
+ function offset(text) {
1875
+ if (text === "Z")
1876
+ return "+00:00";
1877
+ const m = /^([+-])(\d{2}):?(\d{2})(?::?(\d{2})(?:\.(\d{1,6}))?)?$/.exec(text);
1878
+ if (!m || Number(m[2]) > 23 || Number(m[3]) > 59 || Number(m[4] ?? 0) > 59)
1879
+ throw new TemporalCastError();
1880
+ const seconds = Number(m[4] ?? 0);
1881
+ const micros = Number((m[5] ?? "").padEnd(6, "0"));
1882
+ if (!Number(m[2]) && !Number(m[3]) && !seconds && !micros)
1883
+ return "+00:00";
1884
+ return `${m[1]}${m[2]}:${m[3]}${seconds || micros ? ":" + pad(seconds) : ""}${micros ? "." + pad(micros, 6) : ""}`;
1885
+ }
1886
+ function strptime(text, format, step) {
1887
+ const p = base();
1888
+ let position = 0;
1889
+ let ampm;
1890
+ let twelve = false;
1891
+ const seen = /* @__PURE__ */ new Set();
1892
+ const consume = (pattern) => {
1893
+ const match2 = pattern.exec(text.slice(position));
1894
+ if (!match2)
1895
+ throw new TemporalCastError();
1896
+ position += match2[0].length;
1897
+ return match2[0];
1898
+ };
1899
+ for (let index = 0; index < format.length; index++) {
1900
+ step();
1901
+ const char = format[index];
1902
+ if (!stripWhitespace(char)) {
1903
+ while (index + 1 < format.length && !stripWhitespace(format[index + 1])) {
1904
+ step();
1905
+ index++;
1906
+ }
1907
+ const start = position;
1908
+ while (position < text.length && !stripWhitespace(text[position])) {
1909
+ step();
1910
+ position++;
1911
+ }
1912
+ if (start === position)
1913
+ throw new TemporalCastError();
1914
+ continue;
1915
+ }
1916
+ if (char !== "%") {
1917
+ if (text[position++] !== char)
1918
+ throw new TemporalCastError();
1919
+ continue;
1920
+ }
1921
+ const directive = format[++index];
1922
+ if (!directive)
1923
+ throw new TemporalCastError();
1924
+ if (seen.has(directive))
1925
+ throw new CsvkitBlocked(`strptime duplicate group name '${directive}'`);
1926
+ if (directive !== "%")
1927
+ seen.add(directive);
1928
+ switch (directive) {
1929
+ case "%":
1930
+ if (text[position++] !== "%")
1931
+ throw new TemporalCastError();
1932
+ break;
1933
+ case "Y":
1934
+ p.year = Number(consume(/^\d{4}/));
1935
+ break;
1936
+ case "y": {
1937
+ const y = Number(consume(/^\d{2}/));
1938
+ p.year = y >= 69 ? 1900 + y : 2e3 + y;
1939
+ break;
1940
+ }
1941
+ case "m":
1942
+ p.month = Number(consume(/^(?:1[0-2]|0[1-9]|[1-9])/));
1943
+ break;
1944
+ case "d":
1945
+ p.day = Number(consume(/^(?:3[0-1]|[1-2]\d|0[1-9]|[1-9]| [1-9])/));
1946
+ break;
1947
+ case "H":
1948
+ p.hour = Number(consume(/^(?:2[0-3]|[01]\d|\d| \d)/));
1949
+ break;
1950
+ case "I":
1951
+ p.hour = Number(consume(/^(?:1[0-2]|0[1-9]|[1-9]| [1-9])/));
1952
+ twelve = true;
1953
+ if (p.hour < 1 || p.hour > 12)
1954
+ throw new TemporalCastError();
1955
+ break;
1956
+ case "M":
1957
+ p.minute = Number(consume(/^(?:[0-5]\d|\d)/));
1958
+ break;
1959
+ case "S":
1960
+ p.second = Number(consume(/^(?:6[01]|[0-5]\d|\d)/));
1961
+ break;
1962
+ case "f":
1963
+ p.microsecond = Number(consume(/^\d{1,6}/).padEnd(6, "0"));
1964
+ break;
1965
+ case "p":
1966
+ ampm = consume(/^(?:am|pm)/i).toLowerCase();
1967
+ break;
1968
+ case "b":
1969
+ case "B": {
1970
+ const name = consume(directive === "b" ? /^[a-z]{3}/i : /^[a-z]+/i).toLowerCase();
1971
+ p.month = months.findIndex((item) => directive === "b" ? item.slice(0, 3) === name : item === name) + 1;
1972
+ if (!p.month)
1973
+ throw new TemporalCastError();
1974
+ break;
1975
+ }
1976
+ case "a":
1977
+ case "A": {
1978
+ const name = consume(directive === "a" ? /^[a-z]{3}/i : /^[a-z]+/i).toLowerCase();
1979
+ if (!weekdays.some((item) => directive === "a" ? item.slice(0, 3) === name : item === name))
1980
+ throw new TemporalCastError();
1981
+ break;
1982
+ }
1983
+ case "z":
1984
+ p.offset = offset(consume(/^(?:Z|[+-]\d{2}:?\d{2}(?::?\d{2}(?:\.\d{1,6})?)?)/));
1985
+ break;
1986
+ case "Z":
1987
+ consume(/^(?:UTC|GMT)/i);
1988
+ break;
1989
+ default:
1990
+ throw new CsvkitBlocked(`strptime directive %${directive}`);
1991
+ }
1992
+ }
1993
+ if (position !== text.length)
1994
+ throw new TemporalCastError();
1995
+ if (twelve)
1996
+ p.hour = p.hour % 12 + (ampm === "pm" ? 12 : 0);
1997
+ if (!valid(p))
1998
+ throw new TemporalCastError();
1999
+ return p;
2000
+ }
2001
+ function implicitDate(text, source, step) {
2002
+ step();
2003
+ let normalized = "";
2004
+ for (const char of text) {
2005
+ step();
2006
+ const code = char.codePointAt(0);
2007
+ if (integerWhitespace.includes(code) || code >= 28 && code <= 31) {
2008
+ if (!normalized.endsWith(" "))
2009
+ normalized += " ";
2010
+ } else
2011
+ normalized += char;
2012
+ }
2013
+ text = normalized;
2014
+ let m = /^(\d{4})-(\d{1,2})-(\d{1,2})$/.exec(text);
2015
+ if (m) {
2016
+ const first = Number(m[1]);
2017
+ let year = first <= 31 ? Number(m[3]) : first;
2018
+ year += year < 50 ? 2e3 : year < 100 ? 1900 : 0;
2019
+ return base(year, first <= 31 ? first : Number(m[2]), first <= 31 ? Number(m[2]) : Number(m[3]));
2020
+ }
2021
+ m = /^(\d{1,2})\/(\d{1,2})(?:\/(\d{2}|\d{4}))?$/.exec(text);
2022
+ if (m) {
2023
+ let year = m[3] ? Number(m[3]) : source.year;
2024
+ if (m[3]?.length === 2)
2025
+ year += year >= 50 ? 1900 : 2e3;
2026
+ const month = Number(m[1]);
2027
+ const day = Number(m[2]);
2028
+ if (!m[3] && (month < source.month || month === source.month && day < source.day))
2029
+ year++;
2030
+ if (!m[3] && year < 100)
2031
+ year += 2e3;
2032
+ return base(year, month, day);
2033
+ }
2034
+ m = /^([a-z]+) (\d{1,2})(?:,? (\d{4}))?$/i.exec(text);
2035
+ if (m && months.some((name) => name === m[1].toLowerCase() || name.slice(0, 3) === m[1].toLowerCase())) {
2036
+ const month = months.findIndex((name) => name === m[1].toLowerCase() || name.slice(0, 3) === m[1].toLowerCase()) + 1;
2037
+ let year = m[3] ? Number(m[3]) : source.year;
2038
+ if (!m[3] && (month < source.month || month === source.month && Number(m[2]) < source.day))
2039
+ year++;
2040
+ return base(year, month, Number(m[2]));
2041
+ }
2042
+ const lower = text.toLowerCase();
2043
+ const start = ordinal(source.year, source.month, source.day);
2044
+ if (["today", "tomorrow", "yesterday"].includes(lower))
2045
+ return fromOrdinal(start + (lower === "tomorrow" ? 1 : lower === "yesterday" ? -1 : 0));
2046
+ const weekday = weekdays.indexOf(lower);
2047
+ if (weekday >= 0)
2048
+ return fromOrdinal(start + ((weekday - (start - 1) % 7 + 7) % 7 || 7));
2049
+ if (lower === "next week")
2050
+ return fromOrdinal(start + 7);
2051
+ return void 0;
2052
+ }
2053
+ function temporalDate(type, text, options, step) {
2054
+ const format = type === "Date" ? options.dateFormat : options.datetimeFormat;
2055
+ let nlpAbsent;
2056
+ const failure = () => {
2057
+ throw new TemporalCastError(format || type === "Date" && nlpAbsent ? `Value "${text}" does not match date format.` : `Can not parse value "${text}" as ${type === "Date" ? "date" : "datetime"}.`);
2058
+ };
2059
+ if (!format && ["second", "last"].includes(text.toLowerCase()))
2060
+ return failure();
2061
+ if (format && options.locale && options.locale !== "en_US")
2062
+ throw new CsvkitBlocked(`LC_TIME strptime locale ${options.locale}`);
2063
+ if (options.locale && !["en_US", "en_US.UTF-8"].includes(options.locale))
2064
+ throw new CsvkitBlocked(`parsedatetime locale ${options.locale}`);
2065
+ let p;
2066
+ try {
2067
+ if (format)
2068
+ p = strptime(text, format, step);
2069
+ else {
2070
+ if (/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)[eE][+-]?\d+$/.test(text))
2071
+ throw new TemporalCastError();
2072
+ if (/^[+-]?\d+ days?, \d{1,2}:\d{2}:\d{2}(?:\.\d{1,6})?$/.test(text))
2073
+ throw new TemporalCastError();
2074
+ if (/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)\s*(?:ms|us)$/i.test(text))
2075
+ throw new TemporalCastError();
2076
+ const unit = /\d\s*([a-zſıİK]+)$/iu.exec(text)?.[1];
2077
+ if (unit) {
2078
+ const folded = unit.replace(/[ſıİK]/gu, (char) => char === "\u017F" ? "s" : char === "\u212A" ? "k" : "i").toLowerCase();
2079
+ const aliases = ["seconds", "minutes", "second", "minute", "months", "hours", "weeks", "month", "years", "secs", "mins", "hour", "days", "week", "year", "sec", "min", "day", "mth", "hr", "dy", "wk", "yr", "s", "m", "h", "d", "w", "y"];
2080
+ if (type === "Date" && aliases.includes(folded) && /[ſı]/u.test(unit))
2081
+ throw new CsvkitDiagnostic(`KeyError: ${repr(lowerText(unit))}`);
2082
+ if (aliases.includes(folded) && (unit.includes("\u0130") || type === "DateTime" && /[ſı]/u.test(unit)))
2083
+ throw new TemporalCastError();
2084
+ }
2085
+ let source = base(1);
2086
+ if (type === "DateTime") {
2087
+ if (options.timezone && options.timezone !== "UTC")
2088
+ throw new CsvkitBlocked(`clock timezone ${options.timezone}`);
2089
+ if (options.now === void 0 && /^(?:today|tomorrow|yesterday|next week|monday|tuesday|wednesday|thursday|friday|saturday|sunday|\d{1,2}\/\d{1,2}|[a-z]+ \d{1,2})$/i.test(text))
2090
+ throw new CsvkitBlocked("DateTime injected clock");
2091
+ if (options.now !== void 0 && !Number.isFinite(options.now))
2092
+ throw new CsvkitBlocked("DateTime clock range");
2093
+ source = fromOrdinal(Math.floor((options.now ?? 0) / 864e5) + ordinal(1970, 1, 1));
2094
+ }
2095
+ p = implicitDate(text, source, step);
2096
+ const relative = /^([+-]?(?:\d+(?:\.\d*)?|\.\d+))\s*([a-zK]+)$/iu.exec(text);
2097
+ if (!p && relative) {
2098
+ const unit2 = lowerText(relative[2]);
2099
+ if (["s", "sec", "secs", "second", "seconds", "m", "min", "mins", "minute", "minutes", "h", "hr", "hrs", "hour", "hours"].includes(unit2)) {
2100
+ nlpAbsent = false;
2101
+ throw new TemporalCastError();
2102
+ }
2103
+ if (["d", "dy", "dys", "day", "days", "w", "wk", "wks", "week", "weeks"].includes(unit2)) {
2104
+ const days = Number(relative[1]) * (unit2.startsWith("w") ? 7 : 1);
2105
+ if (!Number.isFinite(days))
2106
+ throw new TemporalCastError();
2107
+ nlpAbsent = false;
2108
+ p = fromOrdinal(ordinal(source.year, source.month, source.day) + Math.floor(days));
2109
+ }
2110
+ }
2111
+ nlpAbsent = !p && !/\d.*[-/:]|\b(?:today|tomorrow|yesterday|monday|tuesday|wednesday|thursday|friday|saturday|sunday)\b/i.test(text);
2112
+ if (!p && type === "DateTime") {
2113
+ const m = /^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2})(?::(\d{2})(?:[.,](\d+))?)?(Z|[+-]\d{2}:?\d{2})?$/.exec(text);
2114
+ if (m) {
2115
+ p = { ...base(Number(m[1]), Number(m[2]), Number(m[3])), hour: Number(m[4]), minute: Number(m[5]), second: Number(m[6] ?? 0), microsecond: Number((m[7] ?? "").slice(0, 6).padEnd(6, "0")), ...m[8] ? { offset: offset(m[8]) } : {} };
2116
+ }
2117
+ }
2118
+ if (!p && !/^\d{4}-\d{2}-\d{2}[T ]/.test(text) && /(?:\b(?:next|last|ago|week|month|year|day|hour|minute|second|noon|midnight|tonight)\b|\d.*[a-z])/i.test(text))
2119
+ throw new CsvkitBlocked("parsedatetime expression " + repr(text));
2120
+ }
2121
+ if (!p || !valid(p))
2122
+ failure();
2123
+ return { kind: type === "Date" ? "date" : "datetime", value: type === "Date" ? dateText(p) : datetimeText(p) };
2124
+ } catch (error) {
2125
+ if (error instanceof TemporalCastError) {
2126
+ if (!format && !p && type === "Date" && nlpAbsent === void 0)
2127
+ nlpAbsent = true;
2128
+ failure();
2129
+ }
2130
+ throw error;
2131
+ }
2132
+ }
2133
+ var DURATION_UNITS = ["(?:w|wks?|weeks?)", "(?:d|dys?|days?)", "(?:h|hrs?|hours?)", "(?:m|mins?|minutes?)", "(?:s|secs?|seconds?)"];
2134
+ var DURATION_NAMED = DURATION_UNITS.map((unit, index) => `(?:([\\d.]+)\\s*${unit}${index === 4 ? "" : "\\s*(?:[,/]\\s*)?"})?`).join("\\s*");
2135
+ var DURATION_PATTERNS = [
2136
+ new RegExp(`^\\s*${DURATION_NAMED}\\s*$`, "i"),
2137
+ /^(\d{1,2}):(\d{2}(?:\.\d+)?)$/,
2138
+ new RegExp(`^(?:([\\d.]+)\\s*${DURATION_UNITS[0]}\\s*(?:[,/]\\s*)?)?\\s*(?:([\\d.]+)\\s*${DURATION_UNITS[1]}\\s*(?:[,/]\\s*)?)?\\s*(\\d+):(\\d{2}):(\\d{2}(?:\\.\\d+)?)$`, "i"),
2139
+ /^(\d+):(\d{2}):(\d{2}):(\d{2}(?:\.\d+)?)$/,
2140
+ /^:(\d{2}(?:\.\d+)?)$/
2141
+ ];
2142
+ var DURATION_MULTIPLIERS = [604800, 86400, 3600, 60, 1];
2143
+ function duration(text, step) {
2144
+ step();
2145
+ let allAscii = true;
2146
+ for (let i = 0; i < text.length; i++) {
2147
+ const c = text.charCodeAt(i);
2148
+ if (c < 32 || c >= 127) {
2149
+ allAscii = false;
2150
+ break;
2151
+ }
2152
+ }
2153
+ let normalized;
2154
+ if (allAscii) {
2155
+ for (let i = 0; i < text.length; i++)
2156
+ step();
2157
+ normalized = text;
2158
+ } else {
2159
+ normalized = "";
2160
+ for (const char of text) {
2161
+ step();
2162
+ const code = char.codePointAt(0);
2163
+ const zero = decimalZeroes.find((start) => code >= start && code < start + 10);
2164
+ normalized += zero !== void 0 ? String(code - zero) : integerWhitespace.includes(code) || code >= 28 && code <= 31 ? " " : char === "\u017F" ? "s" : char === "\u0130" || char === "\u0131" ? "i" : char === "\u212A" ? "k" : char;
2165
+ }
2166
+ }
2167
+ const sign = normalized[0] === "-" ? -1 : 1;
2168
+ const unsigned = stripWhitespace(["-", "+", "|"].includes(normalized[0] ?? "") ? normalized.slice(1) : normalized);
2169
+ let fields;
2170
+ for (let index = 0; index < DURATION_PATTERNS.length; index++) {
2171
+ const pattern = DURATION_PATTERNS[index];
2172
+ step();
2173
+ const m = pattern.exec(unsigned);
2174
+ if (!m || !m.slice(1).some(Boolean))
2175
+ continue;
2176
+ fields = index === 0 || index === 2 ? m.slice(1) : index === 1 ? [void 0, void 0, void 0, m[1], m[2]] : index === 3 ? [void 0, ...m.slice(1)] : [void 0, void 0, void 0, void 0, m[1]];
2177
+ break;
2178
+ }
2179
+ if (!fields)
2180
+ throw new TemporalCastError(`Can not parse value "${text}" to as timedelta.`);
2181
+ const multipliers = DURATION_MULTIPLIERS;
2182
+ for (const field of fields)
2183
+ if (field && !/^\d+(?:\.\d*)?$|^\.\d+$/.test(field))
2184
+ throw new CsvkitDiagnostic(`ValueError: could not convert string to float: ${repr(field)}`);
2185
+ const integers = fields.every((value) => !value || /^\d+$/.test(value));
2186
+ let micros;
2187
+ if (integers)
2188
+ micros = BigInt(sign) * fields.reduce((total, field, index) => total + BigInt(field ?? 0) * BigInt(multipliers[index]), 0n) * 1000000n;
2189
+ else {
2190
+ let seconds;
2191
+ if (!fields[4] || /^\d+$/.test(fields[4]))
2192
+ seconds = sign * Math.trunc(fields.slice(0, 4).reduce((total, field, index) => total + Number(field ?? 0) * multipliers[index], 0)) + Number(fields[4] ?? 0);
2193
+ else
2194
+ seconds = sign * fields.reduce((total, field, index) => total + Number(field ?? 0) * multipliers[index], 0);
2195
+ if (!Number.isFinite(seconds) || Math.abs(seconds * 1e6) > Number.MAX_SAFE_INTEGER)
2196
+ throw new CsvkitBlocked("timedelta float range");
2197
+ const whole = Math.trunc(seconds);
2198
+ const value = (seconds - whole) * 1e6;
2199
+ const floor = Math.floor(value);
2200
+ const fraction = value - floor;
2201
+ micros = BigInt(whole) * 1000000n + BigInt(fraction > 0.5 || fraction === 0.5 && floor % 2 !== 0 ? floor + 1 : floor);
2202
+ }
2203
+ const days = micros < 0n ? (micros - 86399999999n) / 86400000000n : micros / 86400000000n;
2204
+ if (days < -999999999n || days > 999999999n)
2205
+ throw new CsvkitDiagnostic(`OverflowError: Python int too large to convert to C int`);
2206
+ return { kind: "timedelta", microseconds: micros };
2207
+ }
2208
+ function temporalOrder(value) {
2209
+ const m = /^(\d{4})-(\d{2})-(\d{2})(?: (\d{2}):(\d{2}):(\d{2})(?:\.(\d{6}))?([+-]\d{2}:\d{2}(?::\d{2}(?:\.\d{6})?)?)?)?$/.exec(value);
2210
+ if (!m)
2211
+ throw new CsvkitBlocked("temporal ordering offset profile");
2212
+ let result = BigInt(ordinal(Number(m[1]), Number(m[2]), Number(m[3]))) * 86400000000n + BigInt(Number(m[4] ?? 0) * 3600 + Number(m[5] ?? 0) * 60 + Number(m[6] ?? 0)) * 1000000n + BigInt(m[7] ?? 0);
2213
+ if (m[8]) {
2214
+ const zone = m[8];
2215
+ const seconds = Number(zone.slice(1, 3)) * 3600 + Number(zone.slice(4, 6)) * 60 + Number(zone.slice(7, 9) || 0);
2216
+ const micros = BigInt(seconds) * 1000000n + BigInt(zone.slice(10) || 0);
2217
+ result -= (zone[0] === "-" ? -1n : 1n) * micros;
2218
+ }
2219
+ return result;
2220
+ }
2221
+
2222
+ // packages/safe-bash-command-csvkit/dist/table/types.js
2223
+ function columnTypeOrder(options) {
2224
+ if (options.noInference)
2225
+ return ["Text"];
2226
+ if (options.numberTextOnly)
2227
+ return ["Number", "Text"];
2228
+ if (options.datetimeFormat)
2229
+ return ["Boolean", "TimeDelta", "Date", "DateTime", "Number", "Text"];
2230
+ if (options.dateFormat)
2231
+ return ["Boolean", "TimeDelta", "Date", "Number", "DateTime", "Text"];
2232
+ return ["Boolean", "Number", "TimeDelta", "Date", "DateTime", "Text"];
2233
+ }
2234
+ var CastError = class extends Error {
2235
+ };
2236
+ var DEFAULT_NULL_SET = /* @__PURE__ */ new Set(["", "na", "n/a", "none", "null", "."]);
2237
+ var CURRENCY_SYMBOLS = ["\u060B", "$", "\u0192", "\u17DB", "\xA5", "\u20A1", "\u20B1", "\xA3", "\u20AC", "\xA2", "\uFDFC", "\u20AA", "\u20A9", "\u20AD", "\u20AE", "\u20A6", "\u0E3F", "\u20A4", "\u20AB"];
2238
+ var BOOLEAN_TRUE_SET = /* @__PURE__ */ new Set(["yes", "y", "true", "t", "1"]);
2239
+ var BOOLEAN_FALSE_SET = /* @__PURE__ */ new Set(["no", "n", "false", "f", "0"]);
2240
+ function decimal(text, options, step) {
2241
+ let allAscii = true;
2242
+ for (let i = 0; i < text.length; i++) {
2243
+ if (text.charCodeAt(i) >= 128) {
2244
+ allAscii = false;
2245
+ break;
2246
+ }
2247
+ }
2248
+ let ascii;
2249
+ if (allAscii) {
2250
+ for (let i = 0; i < text.length; i++)
2251
+ step();
2252
+ ascii = stripWhitespace(text);
2253
+ if (ascii.includes("_"))
2254
+ ascii = ascii.replaceAll("_", "");
2255
+ } else {
2256
+ ascii = "";
2257
+ for (const char of text) {
2258
+ step();
2259
+ const code = char.codePointAt(0);
2260
+ const zero = decimalZeroes.find((start) => code >= start && code < start + 10);
2261
+ ascii += zero === void 0 ? char : String(code - zero);
2262
+ }
2263
+ ascii = stripWhitespace(ascii).replaceAll("_", "");
2264
+ }
2265
+ if (/^[+-]?(inf(inity)?)$/i.test(ascii))
2266
+ return ascii.startsWith("-") ? "-Infinity" : "Infinity";
2267
+ const nan = /^[+-]?nan(\d*)$/i.exec(ascii);
2268
+ if (nan) {
2269
+ if (nan[1].length > (options.maxDecimalDigits ?? Infinity))
2270
+ throw new CsvkitBlocked("Decimal admission budget exceeded");
2271
+ return (ascii.startsWith("-") ? "-" : "") + "NaN" + nan[1].slice(-28).replace(/^0+/, "");
2272
+ }
2273
+ if (/^[+-]?snan\d*$/i.test(ascii))
2274
+ throw new CastError();
2275
+ const match2 = /^([+-]?)(?:(\d+)(?:\.(\d*))?|\.(\d+))(?:[eE]([+-]?\d+))?$/.exec(ascii);
2276
+ if (!match2)
2277
+ throw new CastError();
2278
+ const fraction = match2[3] ?? match2[4] ?? "";
2279
+ if ((match2[2]?.length ?? 0) + fraction.length > (options.maxDecimalDigits ?? Infinity) || Math.abs(Number(match2[5] ?? 0)) > (options.maxDecimalExponent ?? Infinity))
2280
+ throw new CsvkitBlocked("Decimal admission budget exceeded");
2281
+ if (match2[2] !== void 0 && fraction.length === 0 && match2[5] === void 0 && !ascii.includes(".") && match2[2].length <= 27 && (match2[2].length === 1 || match2[2].charCodeAt(0) !== 48)) {
2282
+ if (match2[2] === "0")
2283
+ return match2[1] === "-" ? "-0" : "0";
2284
+ return (match2[1] === "-" ? "-" : "") + match2[2];
2285
+ }
2286
+ return Decimal.parse(ascii).multiply(Decimal.parse("1")).toString();
2287
+ }
2288
+ function castValue(type, value, options, step = () => {
2289
+ }) {
2290
+ step();
2291
+ if (value === null)
2292
+ return null;
2293
+ if (type === "Text" && (!options.nullValues || options.nullValues.length === 0)) {
2294
+ if (options.blanks)
2295
+ return value;
2296
+ const len = value.length;
2297
+ if (len > 4) {
2298
+ const c0 = value.charCodeAt(0);
2299
+ const cLast = value.charCodeAt(len - 1);
2300
+ if (c0 > 32 && c0 < 128 && cLast > 32 && cLast < 128)
2301
+ return value;
2302
+ }
2303
+ }
2304
+ let text = stripWhitespace(value);
2305
+ if (type === "Boolean" && value.includes(","))
2306
+ text = stripWhitespace(value.replaceAll(",", ""));
2307
+ const lowered = lowerText(text);
2308
+ if (!options.blanks && DEFAULT_NULL_SET.has(lowered))
2309
+ return null;
2310
+ if (options.nullValues && options.nullValues.length > 0 && options.nullValues.some((item) => lowerText(item) === lowered))
2311
+ return null;
2312
+ if (type === "Text")
2313
+ return value;
2314
+ if (type === "Boolean") {
2315
+ if (BOOLEAN_TRUE_SET.has(lowered))
2316
+ return true;
2317
+ if (BOOLEAN_FALSE_SET.has(lowered))
2318
+ return false;
2319
+ throw new CastError(`Can not convert value ${text} to bool.`);
2320
+ }
2321
+ const { locale: numberLocale, ...temporalOptions } = options;
2322
+ if (type === "TimeDelta" || type === "Date" || type === "DateTime") {
2323
+ try {
2324
+ return type === "TimeDelta" ? duration(text, step) : temporalDate(type, text, temporalOptions, step);
2325
+ } catch (error) {
2326
+ if (error instanceof TemporalCastError)
2327
+ throw new CastError(error.message);
2328
+ throw error;
2329
+ }
2330
+ }
2331
+ const separators = { en_US: { group: ",", decimal: "." }, de_DE: { group: ".", decimal: "," } };
2332
+ const locale = numberLocale ?? "en_US";
2333
+ const symbols = separators[locale];
2334
+ if (!symbols)
2335
+ throw new CsvkitBlocked(`Agate Number locale ${locale}`);
2336
+ if (text.startsWith("%") || text.endsWith("%"))
2337
+ text = text.replace(/^%+|%+$/g, "");
2338
+ const negative = text.startsWith("-");
2339
+ if (negative)
2340
+ text = text.slice(1);
2341
+ if (text.length > 0) {
2342
+ const fCode = text.charCodeAt(0);
2343
+ const lCode = text.charCodeAt(text.length - 1);
2344
+ if (fCode < 48 || fCode > 57 || lCode < 48 || lCode > 57) {
2345
+ for (const symbol of CURRENCY_SYMBOLS) {
2346
+ while (text.startsWith(symbol)) {
2347
+ step();
2348
+ text = text.slice(symbol.length);
2349
+ }
2350
+ while (text.endsWith(symbol)) {
2351
+ step();
2352
+ text = text.slice(0, -symbol.length);
2353
+ }
2354
+ }
2355
+ }
2356
+ }
2357
+ if (text.includes(symbols.group))
2358
+ text = text.replaceAll(symbols.group, "");
2359
+ if (symbols.decimal !== "." && text.includes(symbols.decimal))
2360
+ text = text.replaceAll(symbols.decimal, ".");
2361
+ if (options.noLeadingZeroes && text.length > 1 && text[0] === "0" && text[1] !== ".")
2362
+ throw new CastError(`Can not parse value "${text}" as Decimal without leading zeroes`);
2363
+ try {
2364
+ let value2 = decimal(text, options, step);
2365
+ if (negative && !value2.includes("NaN"))
2366
+ value2 = value2.startsWith("-") ? value2.slice(1) : "-" + value2;
2367
+ return { kind: "decimal", value: value2 };
2368
+ } catch (error) {
2369
+ if (!(error instanceof CastError))
2370
+ throw error;
2371
+ throw new CastError(`Can not parse value "${text}" as Decimal.`);
2372
+ }
2373
+ }
2374
+ function inferTable(headers, rows, options = {}, step = () => {
2375
+ }) {
2376
+ if (headers.some((name) => !name) || new Set(headers).size !== headers.length || !headers.length && rows.length)
2377
+ throw new CsvkitBlocked("Agate duplicate/unnamed column warning provenance");
2378
+ const order = options.limit === 0 ? ["Text"] : columnTypeOrder(options);
2379
+ const sample = options.limit ? rows.slice(0, options.limit) : rows;
2380
+ const hypotheses = headers.map(() => new Set(order));
2381
+ for (const row of sample) {
2382
+ for (const [index, candidates] of hypotheses.entries()) {
2383
+ step();
2384
+ if (candidates.size === 1 || row.length <= index)
2385
+ continue;
2386
+ for (const type of candidates) {
2387
+ if (type === "Text") {
2388
+ step();
2389
+ continue;
2390
+ }
2391
+ try {
2392
+ castValue(type, row[index], options, step);
2393
+ } catch (error) {
2394
+ if (!(error instanceof CastError))
2395
+ throw error;
2396
+ candidates.delete(type);
2397
+ }
2398
+ }
2399
+ }
2400
+ }
2401
+ const columns = headers.map((name, index) => {
2402
+ for (const type of order) {
2403
+ if (hypotheses[index].has(type))
2404
+ return { name, type };
2405
+ }
2406
+ throw new CsvkitBlocked("no compatible Agate column type");
2407
+ });
2408
+ const typedRows = rows.map((row, rowIndex) => {
2409
+ if (row.length > headers.length)
2410
+ throw new CsvkitDiagnostic(`ValueError: Row ${rowIndex} has ${row.length} values, but Table only has ${headers.length} columns.`);
2411
+ return columns.map((column, index) => {
2412
+ try {
2413
+ return castValue(column.type, row[index] ?? null, options.limit === 0 ? {} : options, step);
2414
+ } catch (error) {
2415
+ if (!(error instanceof CastError))
2416
+ throw error;
2417
+ throw new CsvkitDiagnostic(`CastError: ${error.message} Error at row ${rowIndex} column ${column.name}.`);
2418
+ }
2419
+ });
2420
+ });
2421
+ return { headers, columns, rows: typedRows, rawRows: rows };
2422
+ }
2423
+
2424
+ // packages/safe-bash-command-csvkit/dist/table/index.js
2425
+ init_buffer();
2426
+
2427
+ // packages/safe-bash-command-csvkit/dist/operations/input-cells.js
2428
+ init_buffer();
2429
+
2430
+ // packages/safe-bash-command-csvkit/dist/operations/json-table.js
2431
+ init_buffer();
2432
+ function jsonString(value, runtime) {
2433
+ if (runtime.context.limits.maxRetainedBytes !== Infinity) {
2434
+ runtime.retain((value.length + 2) * 2);
2435
+ for (let index = 0; index < value.length; index++) {
2436
+ runtime.step();
2437
+ const code = value.charCodeAt(index);
2438
+ if (code === 34 || code === 92 || code >= 8 && code <= 10 || code === 12 || code === 13)
2439
+ runtime.retain(2);
2440
+ else if (code < 32)
2441
+ runtime.retain(10);
2442
+ else if (code >= 55296 && code <= 56319 && value.charCodeAt(index + 1) >= 56320 && value.charCodeAt(index + 1) <= 57343)
2443
+ index++;
2444
+ else if (code >= 55296 && code <= 57343)
2445
+ runtime.retain(10);
2446
+ }
2447
+ }
2448
+ return JSON.stringify(value);
2449
+ }
2450
+ function floatText(value) {
2451
+ if (Number.isNaN(value))
2452
+ return "NaN";
2453
+ if (!Number.isFinite(value))
2454
+ return value < 0 ? "-Infinity" : "Infinity";
2455
+ if (Object.is(value, -0))
2456
+ return "-0.0";
2457
+ const exponent = Number(value.toExponential().split("e")[1]);
2458
+ if (value !== 0 && (exponent < -4 || exponent >= 16)) {
2459
+ const [digits, power] = value.toExponential().split("e");
2460
+ const exp = Number(power);
2461
+ return digits + "e" + (exp < 0 ? "-" : "+") + String(Math.abs(exp)).padStart(2, "0");
2462
+ }
2463
+ return String(value) + (Number.isInteger(value) ? ".0" : "");
2464
+ }
2465
+ async function emit(value, runtime, indent, depth = 0) {
2466
+ if (runtime.context.limits.maxOutputBytes !== Infinity || runtime.context.limits.maxWork !== Infinity || runtime.context.limits.maxRetainedBytes !== Infinity) {
2467
+ runtime.step();
2468
+ if (typeof value === "number") {
2469
+ await runtime.write(floatText(value));
2470
+ return;
2471
+ }
2472
+ if (value === null || typeof value === "string" || typeof value === "boolean") {
2473
+ await runtime.write(typeof value === "string" ? jsonString(value, runtime) : JSON.stringify(value));
2474
+ return;
2475
+ }
2476
+ if ("token" in value) {
2477
+ runtime.retain(value.token.length * 2);
2478
+ await runtime.write(value.token);
2479
+ return;
2480
+ }
2481
+ const object = value instanceof Map;
2482
+ const size = object ? value.size : value.length;
2483
+ runtime.retain(size * 32);
2484
+ await runtime.write(object ? "{" : "[");
2485
+ let index = 0;
2486
+ const entries = object ? value.entries() : value.entries();
2487
+ for (const [key, child] of entries) {
2488
+ if (index++)
2489
+ await runtime.write(indent === null ? ", " : ",");
2490
+ if (indent !== null)
2491
+ await runtime.write("\n" + " ".repeat(indent * (depth + 1)));
2492
+ if (object)
2493
+ await runtime.write(jsonString(key, runtime) + ": ");
2494
+ await emit(child, runtime, indent, depth + 1);
2495
+ }
2496
+ if (size && indent !== null)
2497
+ await runtime.write("\n" + " ".repeat(indent * depth));
2498
+ await runtime.write(object ? "}" : "]");
2499
+ return;
2500
+ }
2501
+ let buf = "";
2502
+ const flushIfNeeded = async () => {
2503
+ if (buf.length >= 32768) {
2504
+ const out = buf;
2505
+ buf = "";
2506
+ await runtime.write(out);
2507
+ }
2508
+ };
2509
+ const visitSync = (cur, d) => {
2510
+ runtime.step();
2511
+ if (typeof cur === "number") {
2512
+ buf += floatText(cur);
2513
+ return;
2514
+ }
2515
+ if (cur === null || typeof cur === "string" || typeof cur === "boolean") {
2516
+ buf += typeof cur === "string" ? jsonString(cur, runtime) : JSON.stringify(cur);
2517
+ return;
2518
+ }
2519
+ if ("token" in cur) {
2520
+ buf += cur.token;
2521
+ return;
2522
+ }
2523
+ if (cur instanceof Map) {
2524
+ runtime.retain(cur.size * 32);
2525
+ buf += "{";
2526
+ let index = 0;
2527
+ const childPad2 = indent !== null ? "\n" + " ".repeat(indent * (d + 1)) : "";
2528
+ for (const [key, child] of cur.entries()) {
2529
+ if (index++)
2530
+ buf += indent === null ? ", " : ",";
2531
+ if (indent !== null)
2532
+ buf += childPad2;
2533
+ buf += jsonString(key, runtime) + ": ";
2534
+ visitSync(child, d + 1);
2535
+ }
2536
+ if (cur.size && indent !== null)
2537
+ buf += "\n" + " ".repeat(indent * d);
2538
+ buf += "}";
2539
+ return;
2540
+ }
2541
+ const arr = cur;
2542
+ runtime.retain(arr.length * 32);
2543
+ buf += "[";
2544
+ const childPad = indent !== null ? "\n" + " ".repeat(indent * (d + 1)) : "";
2545
+ for (let index = 0; index < arr.length; index++) {
2546
+ if (index)
2547
+ buf += indent === null ? ", " : ",";
2548
+ if (indent !== null)
2549
+ buf += childPad;
2550
+ visitSync(arr[index], d + 1);
2551
+ }
2552
+ if (arr.length && indent !== null)
2553
+ buf += "\n" + " ".repeat(indent * d);
2554
+ buf += "]";
2555
+ };
2556
+ const visitAsync = async (cur, d) => {
2557
+ if (cur instanceof Map) {
2558
+ runtime.step();
2559
+ runtime.retain(cur.size * 32);
2560
+ await runtime.write("{");
2561
+ let index = 0;
2562
+ const childPad = indent !== null ? "\n" + " ".repeat(indent * (d + 1)) : "";
2563
+ for (const [key, child] of cur.entries()) {
2564
+ if (index++)
2565
+ buf += indent === null ? ", " : ",";
2566
+ if (indent !== null)
2567
+ buf += childPad;
2568
+ buf += jsonString(key, runtime) + ": ";
2569
+ visitSync(child, d + 1);
2570
+ if (buf.length >= 32768)
2571
+ await flushIfNeeded();
2572
+ }
2573
+ if (cur.size && indent !== null)
2574
+ buf += "\n" + " ".repeat(indent * d);
2575
+ buf += "}";
2576
+ return;
2577
+ }
2578
+ if (Array.isArray(cur)) {
2579
+ const arr = cur;
2580
+ runtime.step();
2581
+ runtime.retain(arr.length * 32);
2582
+ await runtime.write("[");
2583
+ const childPad = indent !== null ? "\n" + " ".repeat(indent * (d + 1)) : "";
2584
+ for (let index = 0; index < arr.length; index++) {
2585
+ if (index)
2586
+ buf += indent === null ? ", " : ",";
2587
+ if (indent !== null)
2588
+ buf += childPad;
2589
+ visitSync(arr[index], d + 1);
2590
+ if (buf.length >= 32768)
2591
+ await flushIfNeeded();
2592
+ }
2593
+ if (arr.length && indent !== null)
2594
+ buf += "\n" + " ".repeat(indent * d);
2595
+ buf += "]";
2596
+ return;
2597
+ }
2598
+ visitSync(cur, d);
2599
+ };
2600
+ await visitAsync(value, depth);
2601
+ if (buf.length > 0)
2602
+ await runtime.write(buf);
2603
+ }
2604
+ async function jsonTable(runtime, indent) {
2605
+ const table = await readTable(runtime, void 0, void 0, true);
2606
+ if (runtime.options.streamOutput && runtime.options.key !== null)
2607
+ throw new CsvkitDiagnostic("ValueError: key and newline may not be specified together.");
2608
+ if (runtime.options.streamOutput && runtime.options.indent !== null)
2609
+ throw new CsvkitDiagnostic("ValueError: newline and indent may not be specified together.");
2610
+ const jsonify = (value) => {
2611
+ if (typeof value !== "object" || value === null)
2612
+ return value;
2613
+ if (value.kind === "decimal")
2614
+ return value.value.includes("NaN") ? NaN : Number(value.value);
2615
+ if (value.kind === "datetime")
2616
+ return value.value.replace(" ", "T");
2617
+ return pythonValueText(value);
2618
+ };
2619
+ const rows = table.rows.map((row) => {
2620
+ runtime.step();
2621
+ runtime.retain(64 + table.headers.length * 64);
2622
+ return new Map(table.headers.map((name, index) => [name, jsonify(row[index])]));
2623
+ });
2624
+ let output = rows;
2625
+ if (runtime.options.key !== null) {
2626
+ const key = String(runtime.options.key);
2627
+ const column = table.headers.indexOf(key);
2628
+ if (column < 0 && rows.length)
2629
+ throw new CsvkitDiagnostic(`KeyError: ${repr(key)}`);
2630
+ const keyed = /* @__PURE__ */ new Map();
2631
+ for (const [index, row] of table.rows.entries()) {
2632
+ runtime.step();
2633
+ const cell = row[column];
2634
+ const value = cell === null ? "None" : typeof cell === "object" && cell.kind === "decimal" ? Decimal.parse(cell.value).normalized().toString() : pythonValueText(cell);
2635
+ if (keyed.has(value))
2636
+ throw new CsvkitDiagnostic(`ValueError: Value ${value} is not unique in the key column.`);
2637
+ keyed.set(value, rows[index]);
2638
+ runtime.retain(96);
2639
+ }
2640
+ output = keyed;
2641
+ }
2642
+ if (indent !== null)
2643
+ runtime.retain(indent * 6);
2644
+ if (runtime.options.streamOutput) {
2645
+ for (const row of rows) {
2646
+ await emit(row, runtime, indent);
2647
+ await runtime.write("\n");
2648
+ }
2649
+ return 0;
2650
+ }
2651
+ await emit(output, runtime, indent);
2652
+ return 0;
2653
+ }
2654
+
2655
+ // packages/safe-bash-command-csvkit/dist/operations/input-cells.js
2656
+ function inputWriteCell(cell) {
2657
+ return typeof cell === "number" ? {
2658
+ kind: "float",
2659
+ value: Number.isFinite(cell) ? floatText(cell) : pythonValueText(cell)
2660
+ } : cell;
2661
+ }
2662
+
2663
+ // packages/safe-bash-command-csvkit/dist/table/index.js
2664
+ async function readTable(runtime, path, rowLimit, normalize = false, lineNumbers = false, preserveCells = false) {
2665
+ const o = runtime.options;
2666
+ let headers;
2667
+ const rows = [];
2668
+ const recordLimit = rowLimit === void 0 ? void 0 : rowLimit + (o.no_header_row ? 0 : 1);
2669
+ const file = runtime.input(path);
2670
+ const records = preserveCells ? runtime.records(path, file, Number(o.skip_lines ?? 0), true, recordLimit, true) : runtime.records(path, file, Number(o.skip_lines ?? 0), true, recordLimit);
2671
+ for await (const record of records) {
2672
+ const values = record.cells.map((cell) => pythonValueText(inputWriteCell(cell)));
2673
+ const cells = lineNumbers ? [!o.no_header_row && record.line === 1 ? "line_numbers" : String(record.line - (o.no_header_row ? 0 : 1)), ...values] : values;
2674
+ if (cells.length > runtime.context.limits.maxColumns)
2675
+ throw new CsvkitBlocked("column budget exceeded");
2676
+ if (headers === void 0) {
2677
+ headers = o.no_header_row ? defaultHeaders(cells.length) : cells;
2678
+ if (normalize)
2679
+ headers = await normalizeHeaders(headers, runtime);
2680
+ if (headers.some((name) => !name) || new Set(headers).size !== headers.length)
2681
+ throw new CsvkitBlocked("Agate duplicate/unnamed column warning provenance");
2682
+ if (!o.no_header_row) {
2683
+ if (rowLimit === 0)
2684
+ break;
2685
+ continue;
2686
+ }
2687
+ }
2688
+ runtime.retain(64 + values.length * 16 + values.reduce((size, value) => size + value.length * 16 + 32, 0));
2689
+ rows.push(cells);
2690
+ if (rowLimit !== void 0 && rows.length >= rowLimit)
2691
+ break;
2692
+ }
2693
+ const options = {
2694
+ now: runtime.context.clock.now(),
2695
+ timezone: runtime.context.locale.timezone,
2696
+ noInference: Boolean(o.no_inference),
2697
+ numberTextOnly: o.out_quoting === 2,
2698
+ blanks: Boolean(o.blanks),
2699
+ nullValues: o.null_values ?? [],
2700
+ noLeadingZeroes: Boolean(o.no_leading_zeroes),
2701
+ maxDecimalDigits: runtime.context.limits.maxDecimalDigits,
2702
+ maxDecimalExponent: runtime.context.limits.maxDecimalExponent,
2703
+ ...o.date_format ? { dateFormat: String(o.date_format) } : {},
2704
+ ...o.datetime_format ? { datetimeFormat: String(o.datetime_format) } : {},
2705
+ ...o.locale ? { locale: String(o.locale) } : {}
2706
+ };
2707
+ runtime.retain(64 + rows.length * (64 + (headers?.length ?? 0) * 64));
2708
+ return inferTable(headers ?? [], rows, options, runtime.step);
2709
+ }
2710
+
2711
+ // packages/safe-bash-command-csvkit/dist/csv/sniffer.js
2712
+ init_buffer();
2713
+
2714
+ // packages/safe-bash-command-csvkit/dist/csv/sniffer-quotes.js
2715
+ init_buffer();
2716
+
2717
+ // packages/safe-bash-command-csvkit/dist/csv/sniffer-unicode.js
2718
+ init_buffer();
2719
+ var PYTHON_WORD_CLASS = String.raw`\u{30}-\u{39}\u{41}-\u{5a}\u{5f}\u{61}-\u{7a}\u{aa}\u{b2}-\u{b3}\u{b5}\u{b9}-\u{ba}\u{bc}-\u{be}\u{c0}-\u{d6}\u{d8}-\u{f6}\u{f8}-\u{2c1}\u{2c6}-\u{2d1}\u{2e0}-\u{2e4}\u{2ec}\u{2ee}\u{370}-\u{374}\u{376}-\u{377}\u{37a}-\u{37d}\u{37f}\u{386}\u{388}-\u{38a}\u{38c}\u{38e}-\u{3a1}\u{3a3}-\u{3f5}\u{3f7}-\u{481}\u{48a}-\u{52f}\u{531}-\u{556}\u{559}\u{560}-\u{588}\u{5d0}-\u{5ea}\u{5ef}-\u{5f2}\u{620}-\u{64a}\u{660}-\u{669}\u{66e}-\u{66f}\u{671}-\u{6d3}\u{6d5}\u{6e5}-\u{6e6}\u{6ee}-\u{6fc}\u{6ff}\u{710}\u{712}-\u{72f}\u{74d}-\u{7a5}\u{7b1}\u{7c0}-\u{7ea}\u{7f4}-\u{7f5}\u{7fa}\u{800}-\u{815}\u{81a}\u{824}\u{828}\u{840}-\u{858}\u{860}-\u{86a}\u{870}-\u{887}\u{889}-\u{88e}\u{8a0}-\u{8c9}\u{904}-\u{939}\u{93d}\u{950}\u{958}-\u{961}\u{966}-\u{96f}\u{971}-\u{980}\u{985}-\u{98c}\u{98f}-\u{990}\u{993}-\u{9a8}\u{9aa}-\u{9b0}\u{9b2}\u{9b6}-\u{9b9}\u{9bd}\u{9ce}\u{9dc}-\u{9dd}\u{9df}-\u{9e1}\u{9e6}-\u{9f1}\u{9f4}-\u{9f9}\u{9fc}\u{a05}-\u{a0a}\u{a0f}-\u{a10}\u{a13}-\u{a28}\u{a2a}-\u{a30}\u{a32}-\u{a33}\u{a35}-\u{a36}\u{a38}-\u{a39}\u{a59}-\u{a5c}\u{a5e}\u{a66}-\u{a6f}\u{a72}-\u{a74}\u{a85}-\u{a8d}\u{a8f}-\u{a91}\u{a93}-\u{aa8}\u{aaa}-\u{ab0}\u{ab2}-\u{ab3}\u{ab5}-\u{ab9}\u{abd}\u{ad0}\u{ae0}-\u{ae1}\u{ae6}-\u{aef}\u{af9}\u{b05}-\u{b0c}\u{b0f}-\u{b10}\u{b13}-\u{b28}\u{b2a}-\u{b30}\u{b32}-\u{b33}\u{b35}-\u{b39}\u{b3d}\u{b5c}-\u{b5d}\u{b5f}-\u{b61}\u{b66}-\u{b6f}\u{b71}-\u{b77}\u{b83}\u{b85}-\u{b8a}\u{b8e}-\u{b90}\u{b92}-\u{b95}\u{b99}-\u{b9a}\u{b9c}\u{b9e}-\u{b9f}\u{ba3}-\u{ba4}\u{ba8}-\u{baa}\u{bae}-\u{bb9}\u{bd0}\u{be6}-\u{bf2}\u{c05}-\u{c0c}\u{c0e}-\u{c10}\u{c12}-\u{c28}\u{c2a}-\u{c39}\u{c3d}\u{c58}-\u{c5a}\u{c5d}\u{c60}-\u{c61}\u{c66}-\u{c6f}\u{c78}-\u{c7e}\u{c80}\u{c85}-\u{c8c}\u{c8e}-\u{c90}\u{c92}-\u{ca8}\u{caa}-\u{cb3}\u{cb5}-\u{cb9}\u{cbd}\u{cdd}-\u{cde}\u{ce0}-\u{ce1}\u{ce6}-\u{cef}\u{cf1}-\u{cf2}\u{d04}-\u{d0c}\u{d0e}-\u{d10}\u{d12}-\u{d3a}\u{d3d}\u{d4e}\u{d54}-\u{d56}\u{d58}-\u{d61}\u{d66}-\u{d78}\u{d7a}-\u{d7f}\u{d85}-\u{d96}\u{d9a}-\u{db1}\u{db3}-\u{dbb}\u{dbd}\u{dc0}-\u{dc6}\u{de6}-\u{def}\u{e01}-\u{e30}\u{e32}-\u{e33}\u{e40}-\u{e46}\u{e50}-\u{e59}\u{e81}-\u{e82}\u{e84}\u{e86}-\u{e8a}\u{e8c}-\u{ea3}\u{ea5}\u{ea7}-\u{eb0}\u{eb2}-\u{eb3}\u{ebd}\u{ec0}-\u{ec4}\u{ec6}\u{ed0}-\u{ed9}\u{edc}-\u{edf}\u{f00}\u{f20}-\u{f33}\u{f40}-\u{f47}\u{f49}-\u{f6c}\u{f88}-\u{f8c}\u{1000}-\u{102a}\u{103f}-\u{1049}\u{1050}-\u{1055}\u{105a}-\u{105d}\u{1061}\u{1065}-\u{1066}\u{106e}-\u{1070}\u{1075}-\u{1081}\u{108e}\u{1090}-\u{1099}\u{10a0}-\u{10c5}\u{10c7}\u{10cd}\u{10d0}-\u{10fa}\u{10fc}-\u{1248}\u{124a}-\u{124d}\u{1250}-\u{1256}\u{1258}\u{125a}-\u{125d}\u{1260}-\u{1288}\u{128a}-\u{128d}\u{1290}-\u{12b0}\u{12b2}-\u{12b5}\u{12b8}-\u{12be}\u{12c0}\u{12c2}-\u{12c5}\u{12c8}-\u{12d6}\u{12d8}-\u{1310}\u{1312}-\u{1315}\u{1318}-\u{135a}\u{1369}-\u{137c}\u{1380}-\u{138f}\u{13a0}-\u{13f5}\u{13f8}-\u{13fd}\u{1401}-\u{166c}\u{166f}-\u{167f}\u{1681}-\u{169a}\u{16a0}-\u{16ea}\u{16ee}-\u{16f8}\u{1700}-\u{1711}\u{171f}-\u{1731}\u{1740}-\u{1751}\u{1760}-\u{176c}\u{176e}-\u{1770}\u{1780}-\u{17b3}\u{17d7}\u{17dc}\u{17e0}-\u{17e9}\u{17f0}-\u{17f9}\u{1810}-\u{1819}\u{1820}-\u{1878}\u{1880}-\u{1884}\u{1887}-\u{18a8}\u{18aa}\u{18b0}-\u{18f5}\u{1900}-\u{191e}\u{1946}-\u{196d}\u{1970}-\u{1974}\u{1980}-\u{19ab}\u{19b0}-\u{19c9}\u{19d0}-\u{19da}\u{1a00}-\u{1a16}\u{1a20}-\u{1a54}\u{1a80}-\u{1a89}\u{1a90}-\u{1a99}\u{1aa7}\u{1b05}-\u{1b33}\u{1b45}-\u{1b4c}\u{1b50}-\u{1b59}\u{1b83}-\u{1ba0}\u{1bae}-\u{1be5}\u{1c00}-\u{1c23}\u{1c40}-\u{1c49}\u{1c4d}-\u{1c7d}\u{1c80}-\u{1c8a}\u{1c90}-\u{1cba}\u{1cbd}-\u{1cbf}\u{1ce9}-\u{1cec}\u{1cee}-\u{1cf3}\u{1cf5}-\u{1cf6}\u{1cfa}\u{1d00}-\u{1dbf}\u{1e00}-\u{1f15}\u{1f18}-\u{1f1d}\u{1f20}-\u{1f45}\u{1f48}-\u{1f4d}\u{1f50}-\u{1f57}\u{1f59}\u{1f5b}\u{1f5d}\u{1f5f}-\u{1f7d}\u{1f80}-\u{1fb4}\u{1fb6}-\u{1fbc}\u{1fbe}\u{1fc2}-\u{1fc4}\u{1fc6}-\u{1fcc}\u{1fd0}-\u{1fd3}\u{1fd6}-\u{1fdb}\u{1fe0}-\u{1fec}\u{1ff2}-\u{1ff4}\u{1ff6}-\u{1ffc}\u{2070}-\u{2071}\u{2074}-\u{2079}\u{207f}-\u{2089}\u{2090}-\u{209c}\u{2102}\u{2107}\u{210a}-\u{2113}\u{2115}\u{2119}-\u{211d}\u{2124}\u{2126}\u{2128}\u{212a}-\u{212d}\u{212f}-\u{2139}\u{213c}-\u{213f}\u{2145}-\u{2149}\u{214e}\u{2150}-\u{2189}\u{2460}-\u{249b}\u{24ea}-\u{24ff}\u{2776}-\u{2793}\u{2c00}-\u{2ce4}\u{2ceb}-\u{2cee}\u{2cf2}-\u{2cf3}\u{2cfd}\u{2d00}-\u{2d25}\u{2d27}\u{2d2d}\u{2d30}-\u{2d67}\u{2d6f}\u{2d80}-\u{2d96}\u{2da0}-\u{2da6}\u{2da8}-\u{2dae}\u{2db0}-\u{2db6}\u{2db8}-\u{2dbe}\u{2dc0}-\u{2dc6}\u{2dc8}-\u{2dce}\u{2dd0}-\u{2dd6}\u{2dd8}-\u{2dde}\u{2e2f}\u{3005}-\u{3007}\u{3021}-\u{3029}\u{3031}-\u{3035}\u{3038}-\u{303c}\u{3041}-\u{3096}\u{309d}-\u{309f}\u{30a1}-\u{30fa}\u{30fc}-\u{30ff}\u{3105}-\u{312f}\u{3131}-\u{318e}\u{3192}-\u{3195}\u{31a0}-\u{31bf}\u{31f0}-\u{31ff}\u{3220}-\u{3229}\u{3248}-\u{324f}\u{3251}-\u{325f}\u{3280}-\u{3289}\u{32b1}-\u{32bf}\u{3400}-\u{4dbf}\u{4e00}-\u{a48c}\u{a4d0}-\u{a4fd}\u{a500}-\u{a60c}\u{a610}-\u{a62b}\u{a640}-\u{a66e}\u{a67f}-\u{a69d}\u{a6a0}-\u{a6ef}\u{a717}-\u{a71f}\u{a722}-\u{a788}\u{a78b}-\u{a7cd}\u{a7d0}-\u{a7d1}\u{a7d3}\u{a7d5}-\u{a7dc}\u{a7f2}-\u{a801}\u{a803}-\u{a805}\u{a807}-\u{a80a}\u{a80c}-\u{a822}\u{a830}-\u{a835}\u{a840}-\u{a873}\u{a882}-\u{a8b3}\u{a8d0}-\u{a8d9}\u{a8f2}-\u{a8f7}\u{a8fb}\u{a8fd}-\u{a8fe}\u{a900}-\u{a925}\u{a930}-\u{a946}\u{a960}-\u{a97c}\u{a984}-\u{a9b2}\u{a9cf}-\u{a9d9}\u{a9e0}-\u{a9e4}\u{a9e6}-\u{a9fe}\u{aa00}-\u{aa28}\u{aa40}-\u{aa42}\u{aa44}-\u{aa4b}\u{aa50}-\u{aa59}\u{aa60}-\u{aa76}\u{aa7a}\u{aa7e}-\u{aaaf}\u{aab1}\u{aab5}-\u{aab6}\u{aab9}-\u{aabd}\u{aac0}\u{aac2}\u{aadb}-\u{aadd}\u{aae0}-\u{aaea}\u{aaf2}-\u{aaf4}\u{ab01}-\u{ab06}\u{ab09}-\u{ab0e}\u{ab11}-\u{ab16}\u{ab20}-\u{ab26}\u{ab28}-\u{ab2e}\u{ab30}-\u{ab5a}\u{ab5c}-\u{ab69}\u{ab70}-\u{abe2}\u{abf0}-\u{abf9}\u{ac00}-\u{d7a3}\u{d7b0}-\u{d7c6}\u{d7cb}-\u{d7fb}\u{f900}-\u{fa6d}\u{fa70}-\u{fad9}\u{fb00}-\u{fb06}\u{fb13}-\u{fb17}\u{fb1d}\u{fb1f}-\u{fb28}\u{fb2a}-\u{fb36}\u{fb38}-\u{fb3c}\u{fb3e}\u{fb40}-\u{fb41}\u{fb43}-\u{fb44}\u{fb46}-\u{fbb1}\u{fbd3}-\u{fd3d}\u{fd50}-\u{fd8f}\u{fd92}-\u{fdc7}\u{fdf0}-\u{fdfb}\u{fe70}-\u{fe74}\u{fe76}-\u{fefc}\u{ff10}-\u{ff19}\u{ff21}-\u{ff3a}\u{ff41}-\u{ff5a}\u{ff66}-\u{ffbe}\u{ffc2}-\u{ffc7}\u{ffca}-\u{ffcf}\u{ffd2}-\u{ffd7}\u{ffda}-\u{ffdc}\u{10000}-\u{1000b}\u{1000d}-\u{10026}\u{10028}-\u{1003a}\u{1003c}-\u{1003d}\u{1003f}-\u{1004d}\u{10050}-\u{1005d}\u{10080}-\u{100fa}\u{10107}-\u{10133}\u{10140}-\u{10178}\u{1018a}-\u{1018b}\u{10280}-\u{1029c}\u{102a0}-\u{102d0}\u{102e1}-\u{102fb}\u{10300}-\u{10323}\u{1032d}-\u{1034a}\u{10350}-\u{10375}\u{10380}-\u{1039d}\u{103a0}-\u{103c3}\u{103c8}-\u{103cf}\u{103d1}-\u{103d5}\u{10400}-\u{1049d}\u{104a0}-\u{104a9}\u{104b0}-\u{104d3}\u{104d8}-\u{104fb}\u{10500}-\u{10527}\u{10530}-\u{10563}\u{10570}-\u{1057a}\u{1057c}-\u{1058a}\u{1058c}-\u{10592}\u{10594}-\u{10595}\u{10597}-\u{105a1}\u{105a3}-\u{105b1}\u{105b3}-\u{105b9}\u{105bb}-\u{105bc}\u{105c0}-\u{105f3}\u{10600}-\u{10736}\u{10740}-\u{10755}\u{10760}-\u{10767}\u{10780}-\u{10785}\u{10787}-\u{107b0}\u{107b2}-\u{107ba}\u{10800}-\u{10805}\u{10808}\u{1080a}-\u{10835}\u{10837}-\u{10838}\u{1083c}\u{1083f}-\u{10855}\u{10858}-\u{10876}\u{10879}-\u{1089e}\u{108a7}-\u{108af}\u{108e0}-\u{108f2}\u{108f4}-\u{108f5}\u{108fb}-\u{1091b}\u{10920}-\u{10939}\u{10980}-\u{109b7}\u{109bc}-\u{109cf}\u{109d2}-\u{10a00}\u{10a10}-\u{10a13}\u{10a15}-\u{10a17}\u{10a19}-\u{10a35}\u{10a40}-\u{10a48}\u{10a60}-\u{10a7e}\u{10a80}-\u{10a9f}\u{10ac0}-\u{10ac7}\u{10ac9}-\u{10ae4}\u{10aeb}-\u{10aef}\u{10b00}-\u{10b35}\u{10b40}-\u{10b55}\u{10b58}-\u{10b72}\u{10b78}-\u{10b91}\u{10ba9}-\u{10baf}\u{10c00}-\u{10c48}\u{10c80}-\u{10cb2}\u{10cc0}-\u{10cf2}\u{10cfa}-\u{10d23}\u{10d30}-\u{10d39}\u{10d40}-\u{10d65}\u{10d6f}-\u{10d85}\u{10e60}-\u{10e7e}\u{10e80}-\u{10ea9}\u{10eb0}-\u{10eb1}\u{10ec2}-\u{10ec4}\u{10f00}-\u{10f27}\u{10f30}-\u{10f45}\u{10f51}-\u{10f54}\u{10f70}-\u{10f81}\u{10fb0}-\u{10fcb}\u{10fe0}-\u{10ff6}\u{11003}-\u{11037}\u{11052}-\u{1106f}\u{11071}-\u{11072}\u{11075}\u{11083}-\u{110af}\u{110d0}-\u{110e8}\u{110f0}-\u{110f9}\u{11103}-\u{11126}\u{11136}-\u{1113f}\u{11144}\u{11147}\u{11150}-\u{11172}\u{11176}\u{11183}-\u{111b2}\u{111c1}-\u{111c4}\u{111d0}-\u{111da}\u{111dc}\u{111e1}-\u{111f4}\u{11200}-\u{11211}\u{11213}-\u{1122b}\u{1123f}-\u{11240}\u{11280}-\u{11286}\u{11288}\u{1128a}-\u{1128d}\u{1128f}-\u{1129d}\u{1129f}-\u{112a8}\u{112b0}-\u{112de}\u{112f0}-\u{112f9}\u{11305}-\u{1130c}\u{1130f}-\u{11310}\u{11313}-\u{11328}\u{1132a}-\u{11330}\u{11332}-\u{11333}\u{11335}-\u{11339}\u{1133d}\u{11350}\u{1135d}-\u{11361}\u{11380}-\u{11389}\u{1138b}\u{1138e}\u{11390}-\u{113b5}\u{113b7}\u{113d1}\u{113d3}\u{11400}-\u{11434}\u{11447}-\u{1144a}\u{11450}-\u{11459}\u{1145f}-\u{11461}\u{11480}-\u{114af}\u{114c4}-\u{114c5}\u{114c7}\u{114d0}-\u{114d9}\u{11580}-\u{115ae}\u{115d8}-\u{115db}\u{11600}-\u{1162f}\u{11644}\u{11650}-\u{11659}\u{11680}-\u{116aa}\u{116b8}\u{116c0}-\u{116c9}\u{116d0}-\u{116e3}\u{11700}-\u{1171a}\u{11730}-\u{1173b}\u{11740}-\u{11746}\u{11800}-\u{1182b}\u{118a0}-\u{118f2}\u{118ff}-\u{11906}\u{11909}\u{1190c}-\u{11913}\u{11915}-\u{11916}\u{11918}-\u{1192f}\u{1193f}\u{11941}\u{11950}-\u{11959}\u{119a0}-\u{119a7}\u{119aa}-\u{119d0}\u{119e1}\u{119e3}\u{11a00}\u{11a0b}-\u{11a32}\u{11a3a}\u{11a50}\u{11a5c}-\u{11a89}\u{11a9d}\u{11ab0}-\u{11af8}\u{11bc0}-\u{11be0}\u{11bf0}-\u{11bf9}\u{11c00}-\u{11c08}\u{11c0a}-\u{11c2e}\u{11c40}\u{11c50}-\u{11c6c}\u{11c72}-\u{11c8f}\u{11d00}-\u{11d06}\u{11d08}-\u{11d09}\u{11d0b}-\u{11d30}\u{11d46}\u{11d50}-\u{11d59}\u{11d60}-\u{11d65}\u{11d67}-\u{11d68}\u{11d6a}-\u{11d89}\u{11d98}\u{11da0}-\u{11da9}\u{11ee0}-\u{11ef2}\u{11f02}\u{11f04}-\u{11f10}\u{11f12}-\u{11f33}\u{11f50}-\u{11f59}\u{11fb0}\u{11fc0}-\u{11fd4}\u{12000}-\u{12399}\u{12400}-\u{1246e}\u{12480}-\u{12543}\u{12f90}-\u{12ff0}\u{13000}-\u{1342f}\u{13441}-\u{13446}\u{13460}-\u{143fa}\u{14400}-\u{14646}\u{16100}-\u{1611d}\u{16130}-\u{16139}\u{16800}-\u{16a38}\u{16a40}-\u{16a5e}\u{16a60}-\u{16a69}\u{16a70}-\u{16abe}\u{16ac0}-\u{16ac9}\u{16ad0}-\u{16aed}\u{16b00}-\u{16b2f}\u{16b40}-\u{16b43}\u{16b50}-\u{16b59}\u{16b5b}-\u{16b61}\u{16b63}-\u{16b77}\u{16b7d}-\u{16b8f}\u{16d40}-\u{16d6c}\u{16d70}-\u{16d79}\u{16e40}-\u{16e96}\u{16f00}-\u{16f4a}\u{16f50}\u{16f93}-\u{16f9f}\u{16fe0}-\u{16fe1}\u{16fe3}\u{17000}-\u{187f7}\u{18800}-\u{18cd5}\u{18cff}-\u{18d08}\u{1aff0}-\u{1aff3}\u{1aff5}-\u{1affb}\u{1affd}-\u{1affe}\u{1b000}-\u{1b122}\u{1b132}\u{1b150}-\u{1b152}\u{1b155}\u{1b164}-\u{1b167}\u{1b170}-\u{1b2fb}\u{1bc00}-\u{1bc6a}\u{1bc70}-\u{1bc7c}\u{1bc80}-\u{1bc88}\u{1bc90}-\u{1bc99}\u{1ccf0}-\u{1ccf9}\u{1d2c0}-\u{1d2d3}\u{1d2e0}-\u{1d2f3}\u{1d360}-\u{1d378}\u{1d400}-\u{1d454}\u{1d456}-\u{1d49c}\u{1d49e}-\u{1d49f}\u{1d4a2}\u{1d4a5}-\u{1d4a6}\u{1d4a9}-\u{1d4ac}\u{1d4ae}-\u{1d4b9}\u{1d4bb}\u{1d4bd}-\u{1d4c3}\u{1d4c5}-\u{1d505}\u{1d507}-\u{1d50a}\u{1d50d}-\u{1d514}\u{1d516}-\u{1d51c}\u{1d51e}-\u{1d539}\u{1d53b}-\u{1d53e}\u{1d540}-\u{1d544}\u{1d546}\u{1d54a}-\u{1d550}\u{1d552}-\u{1d6a5}\u{1d6a8}-\u{1d6c0}\u{1d6c2}-\u{1d6da}\u{1d6dc}-\u{1d6fa}\u{1d6fc}-\u{1d714}\u{1d716}-\u{1d734}\u{1d736}-\u{1d74e}\u{1d750}-\u{1d76e}\u{1d770}-\u{1d788}\u{1d78a}-\u{1d7a8}\u{1d7aa}-\u{1d7c2}\u{1d7c4}-\u{1d7cb}\u{1d7ce}-\u{1d7ff}\u{1df00}-\u{1df1e}\u{1df25}-\u{1df2a}\u{1e030}-\u{1e06d}\u{1e100}-\u{1e12c}\u{1e137}-\u{1e13d}\u{1e140}-\u{1e149}\u{1e14e}\u{1e290}-\u{1e2ad}\u{1e2c0}-\u{1e2eb}\u{1e2f0}-\u{1e2f9}\u{1e4d0}-\u{1e4eb}\u{1e4f0}-\u{1e4f9}\u{1e5d0}-\u{1e5ed}\u{1e5f0}-\u{1e5fa}\u{1e7e0}-\u{1e7e6}\u{1e7e8}-\u{1e7eb}\u{1e7ed}-\u{1e7ee}\u{1e7f0}-\u{1e7fe}\u{1e800}-\u{1e8c4}\u{1e8c7}-\u{1e8cf}\u{1e900}-\u{1e943}\u{1e94b}\u{1e950}-\u{1e959}\u{1ec71}-\u{1ecab}\u{1ecad}-\u{1ecaf}\u{1ecb1}-\u{1ecb4}\u{1ed01}-\u{1ed2d}\u{1ed2f}-\u{1ed3d}\u{1ee00}-\u{1ee03}\u{1ee05}-\u{1ee1f}\u{1ee21}-\u{1ee22}\u{1ee24}\u{1ee27}\u{1ee29}-\u{1ee32}\u{1ee34}-\u{1ee37}\u{1ee39}\u{1ee3b}\u{1ee42}\u{1ee47}\u{1ee49}\u{1ee4b}\u{1ee4d}-\u{1ee4f}\u{1ee51}-\u{1ee52}\u{1ee54}\u{1ee57}\u{1ee59}\u{1ee5b}\u{1ee5d}\u{1ee5f}\u{1ee61}-\u{1ee62}\u{1ee64}\u{1ee67}-\u{1ee6a}\u{1ee6c}-\u{1ee72}\u{1ee74}-\u{1ee77}\u{1ee79}-\u{1ee7c}\u{1ee7e}\u{1ee80}-\u{1ee89}\u{1ee8b}-\u{1ee9b}\u{1eea1}-\u{1eea3}\u{1eea5}-\u{1eea9}\u{1eeab}-\u{1eebb}\u{1f100}-\u{1f10c}\u{1fbf0}-\u{1fbf9}\u{20000}-\u{2a6df}\u{2a700}-\u{2b739}\u{2b740}-\u{2b81d}\u{2b820}-\u{2cea1}\u{2ceb0}-\u{2ebe0}\u{2ebf0}-\u{2ee5d}\u{2f800}-\u{2fa1d}\u{30000}-\u{3134a}\u{31350}-\u{323af}`;
2720
+
2721
+ // packages/safe-bash-command-csvkit/dist/csv/sniffer-quotes.js
2722
+ function guessQuotes(sample, step) {
2723
+ const delimiterPattern = String.raw`[^${PYTHON_WORD_CLASS}\n"']`;
2724
+ const start = String.raw`(?:(?<![\s\S])|(?<=\n))`;
2725
+ const end = String.raw`(?=\n|(?![\s\S]))`;
2726
+ const patterns = [
2727
+ String.raw`(?<delim>${delimiterPattern})(?<space> ?)(?<quote>["']).*?\k<quote>\k<delim>`,
2728
+ String.raw`(?:${start}|\n)(?<quote>["']).*?\k<quote>(?<delim>${delimiterPattern})(?<space> ?)`,
2729
+ String.raw`(?<delim>${delimiterPattern})(?<space> ?)(?<quote>["']).*?\k<quote>(?:${end}|\n)`,
2730
+ String.raw`(?:${start}|\n)(?<quote>["']).*?\k<quote>(?:${end}|\n)`
2731
+ ];
2732
+ const quotes = /* @__PURE__ */ new Map();
2733
+ const delimiters = /* @__PURE__ */ new Map();
2734
+ let spaces = 0;
2735
+ for (const pattern of patterns) {
2736
+ step();
2737
+ const expression = new RegExp(pattern, "gsu");
2738
+ for (; ; ) {
2739
+ step();
2740
+ const match2 = expression.exec(sample);
2741
+ if (!match2)
2742
+ break;
2743
+ const groups = match2.groups;
2744
+ const quote = groups.quote;
2745
+ quotes.set(quote, (quotes.get(quote) ?? 0) + 1);
2746
+ const delimiter2 = groups.delim;
2747
+ if (delimiter2 && [",", " ", ";", " ", ":", "|"].includes(delimiter2))
2748
+ delimiters.set(delimiter2, (delimiters.get(delimiter2) ?? 0) + 1);
2749
+ if (groups.space)
2750
+ spaces++;
2751
+ }
2752
+ if (quotes.size)
2753
+ break;
2754
+ }
2755
+ if (!quotes.size)
2756
+ return void 0;
2757
+ let quotechar = "";
2758
+ let quoteCount = -1;
2759
+ for (const [quote, count] of quotes) {
2760
+ step();
2761
+ if (count > quoteCount) {
2762
+ quotechar = quote;
2763
+ quoteCount = count;
2764
+ }
2765
+ }
2766
+ let delimiter = "";
2767
+ let delimiterCount = -1;
2768
+ for (const [candidate, count] of delimiters) {
2769
+ step();
2770
+ if (count > delimiterCount) {
2771
+ delimiter = candidate;
2772
+ delimiterCount = count;
2773
+ }
2774
+ }
2775
+ const escapedDelimiter = delimiter.replace(/[\\^$.*+?()[\]{}|-]/gu, "\\$&");
2776
+ const nonword = String.raw`[^${PYTHON_WORD_CLASS}]`;
2777
+ const doublequotePattern = String.raw`((${escapedDelimiter})|${start})${nonword}*${quotechar}[^${escapedDelimiter}\n]*${quotechar}[^${escapedDelimiter}\n]*${quotechar}${nonword}*((${escapedDelimiter})|${end})`;
2778
+ step();
2779
+ const doublequote = new RegExp(doublequotePattern, "u").test(sample);
2780
+ return { quotechar, delimiter, doublequote, skipinitialspace: delimiterCount === spaces };
2781
+ }
2782
+
2783
+ // packages/safe-bash-command-csvkit/dist/csv/sniffer.js
2784
+ var POSSIBLE_DELIMITERS = Object.freeze([",", " ", ";", " ", ":", "|"]);
2785
+ function sniff(sample, step = () => {
2786
+ }) {
2787
+ const quoted = guessQuotes(sample, step);
2788
+ let delimiter = quoted?.delimiter;
2789
+ let skipinitialspace = quoted?.skipinitialspace ?? false;
2790
+ if (!delimiter) {
2791
+ const lines = sample.split("\n").filter(Boolean);
2792
+ const chunkLength = Math.min(10, lines.length);
2793
+ const frequencies = /* @__PURE__ */ new Map();
2794
+ const candidates = /* @__PURE__ */ new Map();
2795
+ const count = (line, char) => {
2796
+ let total = 0;
2797
+ for (let index = 0; index < line.length; index++) {
2798
+ step();
2799
+ if (line[index] === char)
2800
+ total++;
2801
+ }
2802
+ return total;
2803
+ };
2804
+ for (let start = 0, iteration = 1; start < lines.length; start += chunkLength, iteration++) {
2805
+ for (const line of lines.slice(start, start + chunkLength)) {
2806
+ for (const char of [...POSSIBLE_DELIMITERS].sort()) {
2807
+ const frequency = count(line, char);
2808
+ const meta = frequencies.get(char) ?? /* @__PURE__ */ new Map();
2809
+ meta.set(frequency, (meta.get(frequency) ?? 0) + 1);
2810
+ frequencies.set(char, meta);
2811
+ }
2812
+ }
2813
+ const modes = /* @__PURE__ */ new Map();
2814
+ for (const [char, meta] of frequencies) {
2815
+ let best = [0, 0];
2816
+ let total2 = 0;
2817
+ for (const entry of meta) {
2818
+ step();
2819
+ total2 += entry[1];
2820
+ if (entry[1] > best[1])
2821
+ best = entry;
2822
+ }
2823
+ if (meta.size === 1 && best[0] === 0)
2824
+ continue;
2825
+ modes.set(char, [best[0], best[1] * 2 - total2]);
2826
+ }
2827
+ const total = Math.min(chunkLength * iteration, lines.length);
2828
+ for (let consistency = 1; !candidates.size && consistency >= 0.9; consistency -= 0.01) {
2829
+ for (const [char, mode] of modes) {
2830
+ step();
2831
+ if (mode[0] > 0 && mode[1] > 0 && mode[1] / total >= consistency)
2832
+ candidates.set(char, mode);
2833
+ }
2834
+ }
2835
+ if (candidates.size === 1)
2836
+ break;
2837
+ }
2838
+ delimiter = POSSIBLE_DELIMITERS.find((char) => candidates.has(char));
2839
+ if (!delimiter)
2840
+ return void 0;
2841
+ const first = lines[0];
2842
+ let spaces = 0;
2843
+ for (let index = 0; index < first.length - 1; index++) {
2844
+ step();
2845
+ if (first[index] === delimiter && first[index + 1] === " ")
2846
+ spaces++;
2847
+ }
2848
+ skipinitialspace = count(first, delimiter) === spaces;
2849
+ }
2850
+ return {
2851
+ delimiter,
2852
+ quotechar: quoted?.quotechar || '"',
2853
+ doublequote: quoted?.doublequote ?? false,
2854
+ skipinitialspace,
2855
+ quoting: 0,
2856
+ lineterminator: "\r\n"
2857
+ };
2858
+ }
2859
+
2860
+ export {
2861
+ decimalZeroes,
2862
+ integerWhitespace,
2863
+ repr,
2864
+ integer,
2865
+ numericField,
2866
+ readCsv,
2867
+ readCsvRecoverable,
2868
+ readCsvStream,
2869
+ pythonValueText,
2870
+ writeCsvRow,
2871
+ Writer,
2872
+ DictionaryWriter,
2873
+ bytesRepr,
2874
+ upperText,
2875
+ stripWhitespace,
2876
+ diagnosticReport,
2877
+ fileException,
2878
+ warningText,
2879
+ defaultHeaders,
2880
+ normalizeHeaders,
2881
+ match,
2882
+ parseColumnIdentifiers,
2883
+ DecimalTrap,
2884
+ Decimal,
2885
+ temporalOrder,
2886
+ columnTypeOrder,
2887
+ CastError,
2888
+ castValue,
2889
+ inferTable,
2890
+ readTable,
2891
+ floatText,
2892
+ emit,
2893
+ jsonTable,
2894
+ inputWriteCell,
2895
+ POSSIBLE_DELIMITERS,
2896
+ sniff
2897
+ };