@poe-platform/safe-bash 0.1.825 → 0.1.826

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.
@@ -2,6 +2,174 @@ import {
2
2
  openPythonPackageFile
3
3
  } from "./chunk-NXCJNPL3.js";
4
4
 
5
+ // packages/safe-bash-command-python/src/wheel-index.ts
6
+ import { ArchiveMetadataMap } from "../../safe-bash-io-engine/commands/archive/metadata.js";
7
+ import { createArchiveScratchFactory } from "../../safe-bash-io-engine/commands/archive/scratch.js";
8
+ import { DEFAULT_ARCHIVE_LIMITS } from "../../safe-bash-io-engine/commands/archive/internal.js";
9
+ import { toByteSource } from "../../safe-bash-contracts/index.js";
10
+ async function exact(source, offset, length) {
11
+ const bytes = new Uint8Array(length);
12
+ for (let position = 0; position < length; ) {
13
+ const chunk = await source.read(offset + position, Math.min(65536, length - position));
14
+ if (!chunk.length || chunk.length > length - position) throw new Error("Invalid native ZIP index read");
15
+ bytes.set(chunk, position);
16
+ position += chunk.length;
17
+ }
18
+ return bytes;
19
+ }
20
+ var PythonWheelIndex = class {
21
+ constructor(context) {
22
+ this.context = context;
23
+ const discard = { async write() {
24
+ } };
25
+ this.scratch = createArchiveScratchFactory({ context: { ...context, command: "python", args: [], env: {}, stdin: toByteSource(""), stdout: discard, stderr: discard }, limits: DEFAULT_ARCHIVE_LIMITS, operation: (action) => Promise.resolve().then(action) }, context.cwd);
26
+ const metadata = this.spool = async () => {
27
+ const spool = await this.scratch();
28
+ let buffer = new Uint8Array(16384), used = 0;
29
+ const flush = async () => {
30
+ if (used) {
31
+ await spool.append(buffer.subarray(0, used));
32
+ used = 0;
33
+ }
34
+ };
35
+ return { append: async (bytes) => {
36
+ if (!buffer) throw new Error("Python wheel scratch is sealed");
37
+ for (let at = 0; at < bytes.length; ) {
38
+ const length = Math.min(buffer.length - used, bytes.length - at);
39
+ buffer.set(bytes.subarray(at, at + length), used);
40
+ used += length;
41
+ at += length;
42
+ if (used === buffer.length) await flush();
43
+ }
44
+ }, close: async () => {
45
+ buffer = void 0;
46
+ used = 0;
47
+ await spool.close();
48
+ }, finish: async () => {
49
+ await flush();
50
+ buffer = void 0;
51
+ const source = await spool.finish();
52
+ return { size: source.size, read: async (offset, length) => {
53
+ if (offset >= source.size) return new Uint8Array();
54
+ const base = Math.floor(offset / 16384) * 16384;
55
+ const found = this.pages.findIndex((page2) => page2.source === source && page2.offset === base);
56
+ const page = found < 0 ? { source, offset: base, bytes: await exact(source, base, Math.min(16384, source.size - base)) } : this.pages.splice(found, 1)[0];
57
+ this.pages.push(page);
58
+ if (this.pages.length > 4) this.pages.shift();
59
+ return page.bytes.subarray(offset - base, Math.min(page.bytes.length, offset - base + length));
60
+ } };
61
+ } };
62
+ };
63
+ this.boundaries = new ArchiveMetadataMap(metadata, context.signal);
64
+ this.names = new ArchiveMetadataMap(metadata, context.signal);
65
+ this.headers = new ArchiveMetadataMap(metadata, context.signal);
66
+ }
67
+ context;
68
+ scratch;
69
+ spool;
70
+ data;
71
+ offsets;
72
+ dataSource;
73
+ offsetSource;
74
+ ends;
75
+ size = 0;
76
+ pages = [];
77
+ cached;
78
+ names;
79
+ headers;
80
+ boundaries;
81
+ count = 0;
82
+ sealed = false;
83
+ failed;
84
+ tail = Promise.resolve();
85
+ closing;
86
+ execute(operation, args) {
87
+ if (this.closing) return Promise.reject(new Error("Python wheel index is closed"));
88
+ const work = this.tail.then(async () => {
89
+ this.context.signal.throwIfAborted();
90
+ if (this.failed) throw this.failed.error;
91
+ if (operation === "append") {
92
+ if (this.sealed) throw new Error("Python wheel index is sealed");
93
+ const [name, offset, payload] = args;
94
+ if (typeof name !== "string" || typeof offset !== "string" || typeof payload !== "string") throw new Error("Invalid native ZIP entry");
95
+ const header = BigInt(offset), ordinal = this.count++;
96
+ if (!Number.isSafeInteger(this.count) || header <= -(1n << 128n) || header >= 1n << 128n) throw new Error("Invalid native ZIP coordinate");
97
+ this.data ??= await this.spool();
98
+ this.offsets ??= await this.spool();
99
+ const bytes = new TextEncoder().encode(payload), pointer = new Uint8Array(16), view = new DataView(pointer.buffer);
100
+ view.setBigUint64(0, BigInt(this.size), true);
101
+ view.setBigUint64(8, BigInt(bytes.length), true);
102
+ for (let at = 0; at < bytes.length; at += 65536) await this.data.append(bytes.subarray(at, at + 65536));
103
+ await this.offsets.append(pointer);
104
+ this.size += bytes.length;
105
+ if (!Number.isSafeInteger(this.size)) throw new Error("Native ZIP index size overflow");
106
+ await this.names.set(name, ordinal);
107
+ const order = ((1n << 128n) - header).toString().padStart(40, "0") + ":" + String(Number.MAX_SAFE_INTEGER - ordinal).padStart(16, "0");
108
+ await this.headers.set(order, { ordinal, offset });
109
+ return null;
110
+ }
111
+ if (operation === "seal") {
112
+ if (this.sealed) throw new Error("Python wheel index is sealed");
113
+ if (typeof args[0] !== "string") throw new Error("Invalid native ZIP directory offset");
114
+ let end = args[0];
115
+ BigInt(end);
116
+ for await (const [, entry] of this.headers.sortedEntries()) {
117
+ await this.boundaries.set(String(entry.ordinal).padStart(16, "0"), end);
118
+ end = entry.offset;
119
+ }
120
+ const boundaries = await this.spool();
121
+ for await (const [, end2] of this.boundaries.sortedEntries()) {
122
+ const value = BigInt.asUintN(128, BigInt(end2)), bytes = new Uint8Array(16), view = new DataView(bytes.buffer);
123
+ view.setBigUint64(0, value & (1n << 64n) - 1n, true);
124
+ view.setBigUint64(8, value >> 64n, true);
125
+ await boundaries.append(bytes);
126
+ }
127
+ this.ends = await boundaries.finish();
128
+ this.dataSource = await this.data?.finish();
129
+ this.offsetSource = await this.offsets?.finish();
130
+ this.sealed = true;
131
+ await Promise.all([this.headers.close(), this.boundaries.close()]);
132
+ return null;
133
+ }
134
+ if (operation === "get" || operation === "name") {
135
+ if (!this.sealed) throw new Error("Python wheel index is not sealed");
136
+ const ordinal = operation === "name" && typeof args[0] === "string" ? await this.names.get(args[0]) : args[0];
137
+ const offset = args[1];
138
+ if (!Number.isSafeInteger(offset) || offset < 0) throw new Error("Invalid native ZIP response offset");
139
+ if (ordinal === void 0) return "null".slice(offset, offset + 8192);
140
+ if (!Number.isSafeInteger(ordinal) || ordinal < 0 || ordinal >= this.count) throw new Error("Invalid native ZIP entry ordinal");
141
+ if (this.cached?.ordinal === ordinal) return this.cached.response.slice(offset, offset + 8192);
142
+ const pointer = await exact(this.offsetSource, ordinal * 16, 16), view = new DataView(pointer.buffer);
143
+ const payload = new TextDecoder("utf-8", { fatal: true }).decode(await exact(this.dataSource, Number(view.getBigUint64(0, true)), Number(view.getBigUint64(8, true))));
144
+ const boundary = await exact(this.ends, ordinal * 16, 16), endView = new DataView(boundary.buffer);
145
+ const end = BigInt.asIntN(128, endView.getBigUint64(0, true) | endView.getBigUint64(8, true) << 64n).toString();
146
+ this.cached = { ordinal, response: JSON.stringify([payload, end]) };
147
+ return this.cached.response.slice(offset, offset + 8192);
148
+ }
149
+ throw new Error("Invalid native ZIP index operation");
150
+ });
151
+ this.tail = work.catch((error) => {
152
+ this.failed ??= { error };
153
+ });
154
+ return work;
155
+ }
156
+ close() {
157
+ return this.closing ??= this.tail.then(async () => {
158
+ this.cached = void 0;
159
+ this.pages.length = 0;
160
+ const results = await Promise.allSettled([this.boundaries.close(), this.names.close(), this.headers.close()]);
161
+ try {
162
+ await this.scratch.close();
163
+ } catch (reason) {
164
+ results.push({ status: "rejected", reason });
165
+ }
166
+ const errors = results.filter((result) => result.status === "rejected").map((result) => result.reason);
167
+ if (errors.length === 1) throw errors[0];
168
+ if (errors.length) throw new AggregateError(errors, "Python wheel index cleanup failed");
169
+ });
170
+ }
171
+ };
172
+
5
173
  // packages/safe-bash-command-python/src/build-wheel.ts
6
174
  import { FsError as FsError2 } from "../../safe-bash-contracts/index.js";
7
175
  import { resolvePath as resolvePath2, basename } from "../../safe-bash-contracts/path.js";
@@ -348,6 +516,10 @@ function createPythonPackageEnvironment(options = {}) {
348
516
  };
349
517
  function release(session, all = false) {
350
518
  const artifacts = all ? [...session.retained.values()] : [];
519
+ if (all && session.wheelIndex) {
520
+ artifacts.push(session.wheelIndex);
521
+ session.wheelIndex = void 0;
522
+ }
351
523
  if (all) session.retained.clear();
352
524
  if (session.opened) {
353
525
  artifacts.push(session.opened);
@@ -490,6 +662,22 @@ function createPythonPackageEnvironment(options = {}) {
490
662
  options.onProgress?.({ phase: "installed" });
491
663
  return null;
492
664
  }
665
+ if (op === "package-index") {
666
+ const operation = args[1];
667
+ if (operation === "start") {
668
+ if (session.wheelIndex) throw failure("Python wheel index already open");
669
+ session.wheelIndex = new PythonWheelIndex({ ...session, cwd: session.cacheDirectory ? dirname(session.cacheDirectory) : session.cwd });
670
+ return null;
671
+ }
672
+ if (operation === "close") {
673
+ const index = session.wheelIndex;
674
+ session.wheelIndex = void 0;
675
+ await index?.close();
676
+ return null;
677
+ }
678
+ if (!session.wheelIndex) throw failure("Python wheel index is closed");
679
+ return session.wheelIndex.execute(operation, args.slice(2));
680
+ }
493
681
  if (op === "package-read" || op === "package-read-retained") {
494
682
  const artifact = op === "package-read" ? session.opened : session.retained.get(String(args[1])), offset = args[2], length = args[3];
495
683
  if (!artifact || op === "package-read" && artifact.key !== String(args[1]) || !Number.isSafeInteger(offset) || !Number.isSafeInteger(length) || offset < 0 || length < 1 || length > 65536) throw failure("Invalid package chunk request");
@@ -77,7 +77,7 @@ function loadPythonPackageProgram() {
77
77
  }
78
78
 
79
79
  // packages/safe-bash-command-python/src/native-wheel.generated.ts
80
- var pythonNativeWheelGzip = "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";
80
+ var pythonNativeWheelGzip = "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";
81
81
 
82
82
  // packages/safe-bash-command-python/src/native-wheel.ts
83
83
  var decoded2;
@@ -138,15 +138,33 @@ async function installPythonPackages(supplied, start, request, maxTransferBytes)
138
138
  }
139
139
  });
140
140
  const wheel = async (size, read, configuration) => {
141
- const globals = ["_safe_native_wheel_read", "_safe_native_wheel_config", "_safe_extract_native_wheel"];
141
+ const globals = ["_safe_native_wheel_read", "_safe_native_wheel_config", "_safe_extract_native_wheel", "_safe_native_wheel_index"];
142
+ let indexed = false;
142
143
  try {
143
144
  runtime.globals.set(globals[0], read);
145
+ runtime.globals.set(globals[3], (operation, ...args) => {
146
+ if (operation === "start") indexed = true;
147
+ const failed = (error) => {
148
+ transportFailure ??= { error };
149
+ throw error;
150
+ };
151
+ try {
152
+ const result2 = request("package-index", start.session, operation, ...args);
153
+ return result2 instanceof Promise ? result2.catch(failed) : result2;
154
+ } catch (error) {
155
+ return failed(error);
156
+ }
157
+ });
144
158
  runtime.globals.set(globals[1], JSON.stringify({ ...configuration, size }));
145
159
  const result = JSON.parse(await runtime.runPythonAsync(await loadPythonNativeWheel()));
146
160
  if (Array.isArray(result)) for (const path of result) await runtime._api.loadDynlib(path);
147
161
  return result;
148
162
  } finally {
149
- for (const name of globals) runtime.globals.delete(name);
163
+ try {
164
+ if (indexed) await request("package-index", start.session, "close");
165
+ } finally {
166
+ for (const name of globals) runtime.globals.delete(name);
167
+ }
150
168
  }
151
169
  };
152
170
  const fetch = (url, expected, metadata) => withArtifact(url, expected, metadata, async (opened, read) => {
@@ -0,0 +1,111 @@
1
+ import {
2
+ normalizeEncoding,
3
+ pythonCodecAliases
4
+ } from "./chunk-ZERCTWUI.js";
5
+ import {
6
+ unpackCodepage
7
+ } from "./chunk-RUXOFW5G.js";
8
+
9
+ // packages/safe-bash-csv-engine/src/python-codepages.ts
10
+ var table0 = unpackCodepage("gKwggf//gQOFJiCG//+GCpEYIJEBkxwgkwGVIiCWEyCWAZj//5gHoQEOoTnb///bA98/Dt8c/P///AM=");
11
+ var table1 = unpackCodepage("ghogg5IBhB4ghiAghgGJMCCLOSCZIiGbOiChhQOhAaOjAKMGqv//q6sAqwOvFSCwsACwA7SEA7W1ALUCuIgDuAK7uwC8jAO9vQC+jgO+E9L//9OjA9Mr", table0);
12
+ var table2 = unpackCodepage("iMYCmNwCoaEAoQGkqiCq1wCvrwC0tAC4uAC4Abr3ALy8AL6+AL4BwLAFwAnK///LuwXLCNTwBdQE2f//2Qbg0AXgGvv///sB/Q4g/QE=", table1);
13
+ var table3 = unpackCodepage("imABjFIBmmEBnFMBn3gBpKQAqqoAuroAwMAAwA/QHgHR0QDRC90wAd5eAd/fAN8Q8B8B8fEA8Qv9MQH+XwH//wA=", table2);
14
+ var table4 = unpackCodepage("gX4GinkGjYYGjpgGj4gGkK8GmKkGmpEGnQwgnQGfugahDAaqvga6Gwa/HwbAwQbBIQbBFdg3BtgD3EAG3APhRAbjRQbjA+xJBuwB8EsG8AP1Twb1AfhRBvpSBv0OIP0B/9IG", table3);
15
+ var table5 = unpackCodepage("gAIEgAGDUwSIrCCKCQSMCgSNDASOCwSPDwSQUgSaWQScWgSdXASeWwSfXwShDgSiXgSjCASlkASoAQSqBASvBwSyBgSzVgS0kQS4UQS5FiG6VAS8WAS9BQS+VQS/VwTAEATAPw==", table1);
16
+ var table6 = unpackCodepage("gBAEgC+wkSWwArMCJbQkJbVhJbUBt1YluFUluWMlulElu1clvF0lvVwlvlslvxAlwBQlwTQlwiwlwxwlxAAlxTwlxl4lxgHIWiXJVCXKaSXLZiXMYCXNUCXObCXPZyXPAdFkJdEB01kl1Fgl1VIl1QHXayXYaiXZGCXaDCXbiCXchCXdjCXekCXfgCXgQATgD/ABBPFRBPIEBPNUBPQHBPVXBPYOBPdeBPiwAPkZIvq3APsaIvwWIf2kAP6gJf+gAA==");
17
+ var table7 = unpackCodepage("gJEDgBCRowORBpixA5gQqcMDqsIDq8QDqwTgyQPhrAPhAuTKA+WvA+bMA+YB6MsD6c4D6oYD64gD6wLujAPvjgPvAfGxAPJlIvNkIvSqA/QB9vcA90gi/H8g/bIA", table6);
18
+ var table8 = unpackCodepage("gBAEgB+gICChsACikASkpwClIiCmtgCnBgSorgCqIiGrAgSsUgStYCKuAwSvUwSwHiKyZCKyAbRWBLaRBLcIBLgEBLlUBLoHBLtXBLwJBL1ZBL4KBL9aBMBYBMEFBMKsAMMaIsSSAcVIIsYGIserAMi7AMkmIMqgAMsLBMxbBM0MBM5cBM9VBNATINAB0hwg0gHUGCDUAdb3ANceINgOBNleBNoPBNtfBNwWId0BBN5RBN9PBOAwBOAe/6wg");
19
+ var table9 = unpackCodepage("g///iP//jFoBjWQBjn0Bj3kBmP//nFsBnWUBnn4Bn3oBoccCotgCo0EBpQQBql4Br3sBstsCs0IBuQUBul8BvD0Bvd0Cvj4Bv3wBwFQBwwIBxTkBxgYByAwByhgBzBoBzw4B0BAB0UMB0kcB1VAB2FgB2W4B23AB3d0A3mIB4FUB4wMB5ToB5gcB6A0B6hkB7BsB7w8B8BEB8UQB8kgB9VEB+FkB+W8B+3EB/f0A/mMB/9kC", table3);
20
+ var table10 = unpackCodepage("gMcAgfwAgukAg+IAhOQAheAAhuUAh+cAiOoAiAGK6ACL7wCM7gCN7ACOxACOAZDJAJHmAJLGAJP0AJT2AJXyAJb7AJf5AJj/AJnWAJrcAJuiAJsBnaUAnqcgn5IBoOEAoe0AovMAo/oApPEApdEApqoAp7oAqL8AqRAjqqwAq70ArLwAraEArqsAr7sA4LED4d8A4pMD48AD5KMD5cMD5rUA58QD6KYD6ZgD6qkD67QD7B4i7cYD7rUD7yki8GEi9CAj9AE=", table7);
21
+ var table11 = unpackCodepage("m/gAndgAr6QA", table10);
22
+ var table12 = unpackCodepage("i9AAjPAAjd4Alf4Al90AmP0ApMEApc0AptMAp9oAr7sA", table11);
23
+ var table13 = unpackCodepage("hOMAhsEAicoAi80AjNQAjsMAj8IAkcAAksgAlPUAltoAmMwAmdUAndkAn9MAqdIA", table10);
24
+ var table14 = unpackCodepage("hMIAhrYAjRcgjsAAj6cAkcgAksoAlMsAlc8AmKQAmdQAndkAntsAoKYAobQApKgApbgAprMAp68AqM4Arb4A", table10);
25
+ var table15 = unpackCodepage("ntcAqa4Ar7sAtcEAtQG3wAC4qQC9ogC+pQDG4wDHwwDPpADQ8ADR0ADSygDSAdTIANUxAdbNANYC3aYA3swA4NMA4tQA49IA5PUA5dUA5/4A6N4A6doA6QHr2QDs/QDt3QDurwDvtADwrQDyFyDzvgD0tgD1pwD3uAD5qAD7uQD8swA=", table11);
26
+ var table16 = unpackCodepage("jTEBmDABnl4BngGmHgGmAdC6ANGqANX//+f//+jXAOzsAO3/APL//w==", table15);
27
+ var table17 = unpackCodepage("hW8BhgcBiEIBilABigGNeQGPBgGROQGRAZU9AZUBl1oBlwGbZAGbAZ1BAZ8NAaQEAaQBpn0BpgGoGAGoAat6AawMAa1fAbcaAbheAb17Ab0BxgIBxgHQEQHREAHSDgHUDwHVRwHYGwHdYgHebgHjQwHjAeVIAeZgAeYB6FQB6lUB63AB7mMB8d0C8tsC88cC9NgC+tkC+3EB/FgB/AE=", table15);
28
+ var table18 = unpackCodepage("gMQAgQABgQGDyQCEBAGF1gCG3ACH4QCIBQGJDAGK5ACLDQGMBgGMAY7pAI95AY8BkQ4Bku0Akw8BlBIBlAGWFgGX8wCYFwGZ9ACa9gCb9QCc+gCdGgGdAZ/8AKIYAaffAKsZAayoAK4jAa8uAa8BsSoBtCsBtTYBtgIitxEiuEIBuTsBuQO9OQG9Ab9FAb8BwUMBxEQBxUcBy0gBzFABzdUAzlEBz0wB18ol2E0B2VQB2QHbWAHcOSDcAd5ZAd9WAd8B4WAB4hog4x4g5GEB5VoB5QHnwQDoZAHoAerNAOt9AesB7WoB7tMA7gHwawHxbgHy2gDzbwHzBPjdAPn9APo3Aft7AfxBAf18Af4iAf/HAg==", table8);
29
+ var table19 = unpackCodepage("gcUAgscAhNEAiOAAieIAi+MAjOUAjecAj+gAkOoAkAGT7ACU7gCUAZbxAJjyAJ35AJ77AKKiAKu0AK7GAK/YALAeIrGxALSlALW1ALgPIrnAA7orIruqALy6AL2pA77mAL/4AMC/AMGhAMSSAcVIIsvAAMzDAM5SAc4B2P8A2XgB2kQg26wg3gH73gHgISDhtwDkMCDlwgDmygDoywDpyADrzgDrAe3MAPD/+PHSAPPbAPTZAPUxAfbGAvfcAvivAPnYAvkC/LgA/d0C/tsC", table18);
30
+ var table20 = unpackCodepage("gbkAgrIAhLMAh4UDi4QDjKgAkqMAkyIhliIgl70AmDAgm6YAnKwgoZMDoQGjmAOkmwOlngOmoAOqowOrqgOspwCusACvtwCwkQO1kgO2lQO2ArmZA7kBu5wDvKYDvasDvqgDvgHArAPBnQPDnwPEoQPGpAPLpQPMpwPNhgPOiAPRFSDXiQPXAdmMA9qOA9utA9sC3swD348D4M0D4bED4QHjyAPktAPkAebGA+ezA+i3A+m5A+q+A+u6A+sD778D7wHxzgPywQPzwwPzAfW4A/bJA/fCA/jHA/nFA/q2A/vKA/sB/ZAD/rAD/60A", table19);
31
+ var dbfCodepages = Object.freeze({
32
+ "cp1250": table9,
33
+ "cp1251": table5,
34
+ "cp1253": table1,
35
+ "cp1254": table3,
36
+ "cp1255": table2,
37
+ "cp1256": table4,
38
+ "cp437": table10,
39
+ "cp737": table7,
40
+ "cp850": table15,
41
+ "cp852": table17,
42
+ "cp857": table16,
43
+ "cp860": table13,
44
+ "cp861": table12,
45
+ "cp863": table14,
46
+ "cp865": table11,
47
+ "cp866": table6,
48
+ "cp874": table0,
49
+ "mac_cyrillic": table8,
50
+ "mac_greek": table20,
51
+ "mac_latin2": table18,
52
+ "mac_roman": table19
53
+ });
54
+ var cp1252High = [
55
+ 8364,
56
+ -1,
57
+ 8218,
58
+ 402,
59
+ 8222,
60
+ 8230,
61
+ 8224,
62
+ 8225,
63
+ 710,
64
+ 8240,
65
+ 352,
66
+ 8249,
67
+ 338,
68
+ -1,
69
+ 381,
70
+ -1,
71
+ -1,
72
+ 8216,
73
+ 8217,
74
+ 8220,
75
+ 8221,
76
+ 8226,
77
+ 8211,
78
+ 8212,
79
+ 732,
80
+ 8482,
81
+ 353,
82
+ 8250,
83
+ 339,
84
+ -1,
85
+ 382,
86
+ 376
87
+ ];
88
+ var PythonTextDecodeError = class extends Error {
89
+ };
90
+ function decodePythonSingleByte(bytes, codepoints, encoding) {
91
+ let text = "";
92
+ for (const byte of bytes) {
93
+ const code = codepoints[byte];
94
+ if (code < 0) throw new PythonTextDecodeError(`Invalid ${encoding} input`);
95
+ text += String.fromCodePoint(code);
96
+ }
97
+ return text;
98
+ }
99
+ var pythonSingleByteCodepages = Object.freeze({
100
+ ...Object.fromEntries(Object.entries(dbfCodepages).map(([name, codepoints]) => [pythonCodecAliases[normalizeEncoding(name)], codepoints])),
101
+ ascii: Object.freeze(Array.from({ length: 256 }, (_, byte) => byte < 128 ? byte : -1)),
102
+ "iso8859-1": Object.freeze(Array.from({ length: 256 }, (_, byte) => byte)),
103
+ cp1252: Object.freeze(Array.from({ length: 256 }, (_, byte) => byte >= 128 && byte < 160 ? cp1252High[byte - 128] : byte))
104
+ });
105
+
106
+ export {
107
+ dbfCodepages,
108
+ PythonTextDecodeError,
109
+ decodePythonSingleByte,
110
+ pythonSingleByteCodepages
111
+ };
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  PythonTextEncodingError,
3
3
  PythonUtf16Decoder
4
- } from "./chunk-OLXMWQJ5.js";
4
+ } from "./chunk-Q2ACHUTY.js";
5
5
  import {
6
6
  PythonTextDecodeError,
7
7
  decodePythonSingleByte,
8
8
  pythonSingleByteCodepages
9
- } from "./chunk-OOYVZAWL.js";
9
+ } from "./chunk-NXZJJM4J.js";
10
10
  import {
11
11
  normalizeEncoding,
12
12
  pythonCodecAliases
13
13
  } from "./chunk-ZERCTWUI.js";
14
14
  import {
15
15
  pythonFileCodepages
16
- } from "./chunk-WIUEM7HP.js";
16
+ } from "./chunk-TGSNVLFZ.js";
17
17
  import {
18
18
  decodeBase64Latin1,
19
19
  encodeBase64Latin1
20
- } from "./chunk-HNEWGADJ.js";
20
+ } from "./chunk-RUXOFW5G.js";
21
21
 
22
22
  // packages/safe-bash-csv-engine/src/python-utf7.ts
23
23
  var PythonUtf7EncodingError = class extends TypeError {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PythonTextDecodeError
3
- } from "./chunk-OOYVZAWL.js";
3
+ } from "./chunk-NXZJJM4J.js";
4
4
 
5
5
  // packages/safe-bash-csv-engine/src/python-utf16.ts
6
6
  var PythonTextEncodingError = class extends Error {
@@ -26,12 +26,13 @@ function encodeBase64Latin1(bytes) {
26
26
  }
27
27
  return out;
28
28
  }
29
- function unpackCodepage(encoded) {
30
- const bytes = decodeBase64Latin1(encoded), offset = bytes.length === 256 ? 128 : 0;
31
- const values = Array.from({ length: offset }, (_, byte) => byte);
32
- for (let i = 0; i < bytes.length; i += 2) {
33
- const point = bytes.charCodeAt(i) | bytes.charCodeAt(i + 1) << 8;
34
- values.push(point === 65535 ? -1 : point);
29
+ function unpackCodepage(encoded, base) {
30
+ const bytes = decodeBase64Latin1(encoded);
31
+ const values = base ? [...base] : Array.from({ length: 256 }, (_, byte) => byte);
32
+ for (let i = 0; i < bytes.length; ) {
33
+ const start = bytes.charCodeAt(i++), point = bytes.charCodeAt(i++) | bytes.charCodeAt(i++) << 8;
34
+ const length = bytes.charCodeAt(i) === start ? (i++, bytes.charCodeAt(i++) + 1) : 1;
35
+ for (let offset = 0; offset < length; offset++) values[start + offset] = point === 65535 ? -1 : point + offset;
35
36
  }
36
37
  return Object.freeze(values);
37
38
  }
@@ -10,7 +10,7 @@ import {
10
10
  pythonRuntimeRelocation,
11
11
  pythonStatProjection,
12
12
  pythonTreeCleanup
13
- } from "./chunk-WY6THI6J.js";
13
+ } from "./chunk-DV7TCGJR.js";
14
14
  import {
15
15
  pythonJspiSignatures
16
16
  } from "./chunk-P56KGNW7.js";
@@ -0,0 +1,105 @@
1
+ import {
2
+ unpackCodepage
3
+ } from "./chunk-RUXOFW5G.js";
4
+
5
+ // packages/safe-bash-csv-engine/src/python-file-codepages.ts
6
+ var table0 = unpackCodepage("oQEOoTnb///bA98/Dt8c/P///AM=");
7
+ var table1 = unpackCodepage("oP//", table0);
8
+ var table2 = unpackCodepage("oQEEoQuuDgSuQfAWIfFRBPEL/acA/l4E/gE=");
9
+ var table3 = unpackCodepage("0B4B3TAB3l4B8B8B/TEB/l8B");
10
+ var table4 = unpackCodepage("pKwgpmABqGEBtH0BuH4BvFIBvAG+eAE=");
11
+ var table5 = unpackCodepage("of//qtcAuvcAv///vx/fFyDg0AXgGvv///sB/Q4g/QH///8=");
12
+ var table6 = unpackCodepage("oRggoQGkrCClryCqegOu//+vFSC0hAO0AriIA7gCvIwDvo4DvhPTowPTKw==", table5);
13
+ var table7 = unpackCodepage("of//oQKl//+lBqwMBq7//64MuxsGvP//vAK/HwbA///BIQbBGdv//9sE4EAG4BLz///zDA==");
14
+ var table8 = unpackCodepage("gKwgghogg5IBhB4ghSYghiAghgGIxgKJMCCKYAGLOSCMUgGNZiaOYyaPZSaQYCaRGCCRAZMcIJMBlSIglhMglgGY3AKZIiGaYQGcUwGfeAE=");
15
+ var table9 = unpackCodepage("gf//iv//jf//jQOa//+bOiCd//+dAcMCAcwAA9AQAdIJA9WgAd2vAd4DA+MDAewBA/ARAfIjA/WhAf2wAf6rIA==", table8);
16
+ var table10 = unpackCodepage("oQIeoQGkCgGkAaYKHqiAHqqCHqsLHqzyHq94AbAeHrABsiABsgG0QB60AbdWHriBHrlXHrqDHrtgHrzzHr2EHr0Bv2Ee0HQB12oe3nYB8HUB92se/ncB");
17
+ var table11 = unpackCodepage("oQQBoQGjQQGlHiCqGAKseQGuegGuAbIMAbNCAbUdILkNAboZAr98AcMCAcUGAdAQAdFDAdVQAddaAdhwAd0YAd4aAuMDAeUHAfARAfFEAfVRAfdbAfhxAf0ZAf4bAg==", table4);
18
+ var table12 = unpackCodepage("gAIEgAGDUwSIrCCKCQSMCgSNmgSOugSPDwSQUgSY//+aWQScWgSdmwSeuwSfXwShsAShAaPYBKXoBKgBBKqSBK+uBLIGBLNWBLTpBLhRBLkWIbqTBLzZBL2iBL0Bv68EwBAEwD8=", table9);
19
+ var table13 = unpackCodepage("oSYBotgCpf//piQBqTABql4Bqx4BrDQBrv//r3sBsScBtiUBuTEBul8Bux8BvDUBvv//v3wBw///xQoBxggB0P//1SAB2BwB3WwB3lwB4///5QsB5gkB8P//9SEB+B0B/W0B/l0B/9kC");
20
+ var table14 = unpackCodepage("gJYEgZIEgu4Eg5MEhrYEh64EiLIEia8EiqAEi+IEjKIEj7gEkJcEmLMEmbcEmqEEm+MEnKMEn7kEoQ4Eol4EowgEpOgEpZgEprAEqtgEre8Er5wEsbEEtJkEtekEutkEvFgEvaoEvQG/nQQ=", table12);
21
+ var table15 = unpackCodepage("oQQBohIBoyIBpCoBpSgBpjYBqDsBqRABqmABq2YBrH0BrmoBr0oBsQUBshMBsyMBtCsBtSkBtjcBuDwBuREBumEBu2cBvH4BvRUgvmsBv0sBwAABxy4ByAwByhgBzBYB0UUB0kwB12gB2XIB4AEB5y8B6A0B6hkB7BcB8UYB8k0B92kB+XMB/zgB");
22
+ var table16 = unpackCodepage("ojgBo1YBpKQApjsBqKgAqWABqhIBqyIBrGYBrn0Br68AstsCs1cBtLQAtjwBt8cCuLgAuWEBuhMBuyMBvGcBvUoBvn4BzyoB0BAB0zYB19cA3WgB3moB7ysB8BEB8zcB9/cA/WkB/msB/9kC", table15);
23
+ var table17 = unpackCodepage("otgCo0EBpT0BploBql4Bq2QBrHkBr3sBs0IBtT4BtlsBul8Bu2UBvHoBvd0Cv3wBwFQBwwIBxTkBxgYBx8cAzBoBzw4B0UMB0kcB09MA1VAB2FgB2W4B23AB3d0A3mIB4FUB4wMB5ToB5gcB5+cA7BsB7w8B8UQB8kgB8/MA9VEB+FkB+W8B+3EB/f0A/mMB", table16);
24
+ var table18 = unpackCodepage("gMQAgaAAgscAg8kAhNEAhdYAhtwAh+EAiOAAieIAiuQAi7oGjKsAjecAjukAj+gAkOoAkAGS7QCTJiCU7gCUAZbxAJfzAJi7AJn0AJr2AJoBnPoAnfkAnvsAngGgIACgBKVqBqYmAKYFrS0ArQKwYAawCbo6ALw8ALwCwEon21sA2wTzfgb0eQb1hgb21Qb3pAb4rwb5iAb6kQb7ewD7Av6YBv/SBg==", table7);
25
+ var table19 = unpackCodepage("sPAGsAk=", table18);
26
+ var table20 = unpackCodepage("gBAEgC+wkSWwArMCJbQkJbVhJbUBt1YluFUluWMlulElu1clvF0lvVwlvlslvxAlwBQlwTQlwiwlwxwlxAAlxTwlxl4lxgHIWiXJVCXKaSXLZiXMYCXNUCXObCXPZyXPAdFkJdEB01kl1Fgl1VIl1QHXayXYaiXZGCXaDCXbiCXchCXdjCXekCXfgCXwAQTykATyAfQEBPVUBPYGBPdWBPgHBPlXBPq3APsaIvwWIf2kAP6gJf+gAA==", table2);
27
+ var table21 = unpackCodepage("gIAAgAGC6QCD4gCEhACF4ACGhgCH5wCI6gCIAYroAIvvAIzuAI2NAI0DkVEGkQGT9ACUpACVQAaW+wCX+QCYIQaYA5yjAJ0lBp0QrqsAr7sA4DYG4ATlQQbmtQDnQgbnCPBhIvFLBvEF90gi+LAA+Rki/H8g/bIA", table20);
28
+ var table22 = unpackCodepage("gNAFgBqb//+d//+e1wCf//+fCamuAKqsAKu9AKy8AK3//7X//7UCuKkAvaIAvqUAxv//xgHPpADQ///QCN2mAN7//+D//+AF5///5wburwDvtADwrQDxsQDyFyDzvgD0tgD1pwD29wD3uAD5qAD7uQD8swA=", table21);
29
+ var table23 = unpackCodepage("gNAFgBqbogCdpQCepyCfkgGg4QCh7QCi8wCj+gCk8QCl0QCmqgCnugCovwCpECOqrACrvQCsvACtoQDgsQPh3wDikwPjwAPkowPlwwPnxAPopgPpmAPqqQPrtAPsHiLtxgPutQPvKSLxsQDyZSLzZCL0ICP0Afb3AA==", table21);
30
+ var table24 = unpackCodepage("gP//gAWGhgOH//+ItwCJrACKpgCLGCCLAY2IA44VII+JA48BkaoDkowDk///kwGVjgOWqwOXqQCYjwOZsgCZAZusA52tA50CoMoDoZADoswDogGkkQOkBqyYA6wBtZoDtQO9ngO9AcagA8YBz6MDzwbWsQPWAt20A90B4LYD4AvswwPtwgPuxAPvhAPyxQPyAvbIA/eFA/rJA/vLA/ywA/3OAw==", table22);
31
+ var table25 = unpackCodepage("oR0gpR4gqNgAqlYBr8YAtBwguPgAulcBv+YAwAQBwS4BwgABwwYBxhgBxxIByAwBynkByxYBzCIBzTYBzioBzzsB0GAB0UMB0kUB1EwB2HIB2UEB2loB22oB3XsB3n0B4AUB4S8B4gEB4wcB5hkB5xMB6A0B6noB6xcB7CMB7TcB7isB7zwB8GEB8UQB8kYB9E0B+HMB+UIB+lsB+2sB/XwB/n4B/xkg");
32
+ var table26 = unpackCodepage("gKwggf//ghogg///hB4ghSYghiAghgGI//+JMCCK//+LOSCM//+NqACOxwKPuACQ//+RGCCRAZMcIJMBlSIglhMglgGY//+ZIiGa//+bOiCc//+drwCe2wKf//+h//+l//+0tAD/2QI=", table25);
33
+ var table27 = unpackCodepage("gMcAgfwAgukAg+IAhOQAheAAhuUAh+cAiOoAiAGK6ACL7wCM7gCN7ACOxACOAZDJAJHmAJLGAJP0AJT2AJXyAJb7AJf5AJj/AJnWAJrcAJv4AJ3YAJ+SAaDhAKHtAKLzAKP6AKTxAKXRAKaqAKe6AKi/AK2hALXBALUBt8AAxuMAx8MA0PAA0dAA0soA0gHUyADVrCDWzQDWAt7MAODTAOHfAOLUAOPSAOT1AOXVAOf+AOjeAOnaAOkB69kA7P0A7d0A", table22);
34
+ var table28 = unpackCodepage("gAYBgwEBhSMBhwcBiEIBiRMBilYBigGMKwGNeQGTTQGVIgGWogCXWgGXAZ+kAKAAAaEqAaN7AaMBpXoBph0gp6YAqKkArUEBtQQBtgwBtxgBuBYBvS4BvmABxnIBx2oBz30B0AUB0Q0B0hkB0xcB1C8B1WEB1nMB12sB2H4B3Ywl3pAl4kwB40MB50QB6DYB6AHqOwHqAexGAe0SAe5FAe8ZIPIcIPceIPkZIg==", table27);
35
+ var table29 = unpackCodepage("gJsEgZMEg5IEirMEjLIEjbcEjrYEj///kJoEnf//nQGg//+h7wSi7gSjUQSl4wSo//+oAq///7MBBLT//7XiBLj//7kWIbr//7z//7wCv6kAwE4EwTAEwQHDRgTENATEAcZEBMczBMhFBMk4BMkH0U8E0kAE0gPWNgTXMgTYTATZSwTaNwTbSATcTQTdSQTeRwTfSgTgLgThEAThAeMmBOQUBOQB5iQE5xME6CUE6RgE6QfxLwTyIATyA/YWBPcSBPgsBPkrBPoXBPsoBPwtBP0pBP4nBP8qBA==", table26);
36
+ var table30 = unpackCodepage("gAAlgQIlggwlgxAlhBQlhRglhhwlhyQliCwliTQlijwli4AljIQljYgljowlj5AljwOTICOUoCWVGSKVAZdIIphkIpgBmqAAmyEjnLAAnbIAnrcAn/cAoFAloAKkUyWkDrRiJbQK", table29);
37
+ var table31 = unpackCodepage("pFQEplYEpgGtkQS0BAS2BgS2Ab2QBA==", table30);
38
+ var table32 = unpackCodepage("ofAGoQmrDAasGwauHwavgf6wjf6wAbKO/rIBtJH+tVb7tlj7t5P+uJX+uZf+umb7u2j7vJn+vZv+vp3+v5/+wHr7wXz7wqH+w6P+xKX+xaf+xqn+x4T7yKv+ya3+yoz7y6/+zIr7zbH+zrP+z7X+0Lf+0bn+0rv+073+1L/+1cH+1sX+18n+1wjg0/7h1f7i1/7j2f7k2/7lkvvmlPvn3f7o3/7oAuvj/uye++3l/u7n/u+F/vDt/vGm+/Ko+/IC9YD+9on+9gL58f75Avyw+/2u+/58/v4B");
39
+ var table33 = unpackCodepage("gcUAi+MAjOUAk+wAmPIAm/UAoCAgobAAoqIAogGkpwClIiCmtgCn3wCorgCpqQCqIiGrtACsqACtYCKuxgCv2ACwHiKxsQCyZCKyAbSlALW1ALYCIrcRIrgPIrnAA7orIruqALy6AL2pA77mAL/4AMC/AMGhAMKsAMMaIsSSAcVIIsYGIserAMi7AMkmIMqgAMvAAMzDAM3VAM5SAc4B0BMg0AHSHCDSAdQYINQB1vcA18ol2P8A2XgB2h4B2gHcMAHcAd5eAd4B4CEg4bcA4hog4x4g5DAg5cIA5soA58EA6MsA6cgA6s0A6gLtzADu0wDuAfD/+PHSAPLaAPIB9NkA9aD49sYC99wC+K8A+dgC+QL8uAD93QL+2wL/xwI=", table18);
40
+ var table34 = unpackCodepage("oN0A2kQg26wg3NAA3fAA3t4A3/4A4P0A9TEB", table33);
41
+ var table35 = unpackCodepage("oCAgrgIBrxgCvgMBvxkC3Dkg3AHeGgLeAeAhIA==", table34);
42
+ var table36 = unpackCodepage("oCAgqWABrn0BtAYiuWEBvn4BxgYByAwB0BAB2P/42akA3Dkg3AHexgDfuwDgEyDmBwHoDQHwEQH5wAP6ywD9ygD+5gA=", table34);
43
+ var table37 = unpackCodepage("ocAAosIAo8gApMoApAGmzgCmAai0AKnLAqrGAquoAKzcAq3ZAK7bAK+kILCvALHdALL9ALOwALTHALXnALbRALfxALihALm/ALqkALujALylAL2nAL6SAb+iAMDiAMHqAML0AMP7AMThAMXpAMbzAMf6AMjgAMnoAMryAMv5AMzkAM3rAM72AM/8ANDFANHuANLYANPGANTlANXtANb4ANfmANjEANnsANrWANvcANzJAN3vAN7fAN/UAODBAOHDAOLjAOPQAOTwAOXNAObMAOfTAOjSAOnVAOr1AOtgAesB7doA7ngB7/8A8N4A8f4A8rcA87UA8wH1vgD2FCD3vAD3AfmqAPq6APurAPygJf27AP6xAA==", table0);
44
+ var table38 = unpackCodepage("gFIEgQIEglMEgwMEhFEEhQEEhlQEhwQEiFUEiQUEilYEiwYEjFcEjQcEjlgEjwgEkFkEkQkEkloEkwoElFsElQsEllwElwwEmF4EmQ4Eml8Emw8EnE4EnS4EnkoEnyoEoDAEoRAEojEEoxEEpEYEpSYEpjQEpxQEqDUEqRUEqkQEqyQErDMErRMEtUUEtiUEtzgEuBgEvTkEvhkExjoExxoE0DsE0RsE0jwE0xwE1D0E1R0E1j4E1x4E2D8E3R8E3k8E4C8E4UAE4iAE40EE5CEE5UIE5iIE50ME6CME6TYE6hYE6zIE7BIE7UwE7iwE7xYh8UsE8isE8zcE9BcE9UgE9igE900E+C0E+UkE+ikE+0cE/CcE/acA", table22);
45
+ var table39 = unpackCodepage("JWoGgLAAgbcAghkiggGEkiWFACWGAiWHPCWIJCWJLCWKHCWLNCWMECWNDCWOFCWPGCWQsgORHiKSxgOTsQCUvQCVvACWSCKXqwCYuwCZ9/6ZAZv//5sBnfv+nQGf//+hrQCigv6jowClhP6ojv6oAaqV/quZ/q2d/q6h/q+l/rBgBrAJutH+vLH+vbX+vrn+wKIAwYD+wQHDg/7Ehf7Fyv7Gi/7Hjf7Ikf7Jk/7Kl/7Lm/7Mn/7No/7Op/7Pqf7Qq/7Rrf7Sr/7Ts/7Ut/7Vu/7Wv/7Xwf7Yxf7Zy/7az/7bpgDcrADd9wDe1wDfyf7h0/7i1/7j2/7k3/7l4/7m5/7n6/7o7f7p7/7q8/7rvf7szP7tzv7uzf7v4f7wff7y5f7z6f707P718P728v730P741f759f75Afvd/vzZ/v3x/v6gJQ==", table7);
46
+ var table40 = unpackCodepage("BJwABQkABoYAB38ACJcACY0ACQEUnQAVhQAWCAAXhwAakgAbjwAggAAgBCUKACYXACcbACiIACgELQUALQIwkAAwATIWADOTADMDNwQAOJgAOAM8FAA8AT6eAD8aAEAgAEHQBUEISqIASy4ATDwATSgATisAT3wAUCYAUdkFUQhaIQBbJABcKgBdKQBeOwBfrABgLQBhLwBi4gViB2qmAGssAGwlAG1fAG4+AG4BcP//ceoFcv//cgF0oAB1//91AngXIHlgAHo6AHsjAHxAAH0nAH49AH8iAID//4FhAIEIiqsAi7sAjP//jAKPsQCQsACRagCRCJr//5oCnbgAnv//n6QAoLUAoX4AonMAogeq//+qBK+uALBeALGjALKlALO3ALSpALWnALe8ALcCulsAu10AvK8AvagAvrQAv9cAwHsAwUEAwQjKrQDQfQDRSgDRCNq5AN///+BcAOH3AOJTAOIH6rIA6///6wTwMADwCfqzAP3///0B/58A", table5);
47
+ var table41 = unpackCodepage("QaAAQuIAQ+QAROAARAFG4wBH5QBI5wBJ8QBR6QBRAlToAFXtAFUCWOwAWd8AYsIAY8QAZMAAZAFmwwBnxQBoxwBp0QBw+ABxyQBxAnTIAHXNAHUCeMwAgNgAjPAAjf0AjQGaqgCbugCc5gCexgCqoQCrvwCs0ACt3QCtAcv0AMz2AM3yAM0Bz/UA2/sA2wHd+QDdAd//AOvUAOzWAO3SAO0B79UA+9sA+wH92QD9AQ==", table40);
48
+ var table42 = unpackCodepage("n6wg", table41);
49
+ var table43 = unpackCodepage("SlsATyEAWl0AX14AsKIAuqwAu3wA", table41);
50
+ var table44 = unpackCodepage("Q3sASsQAWX4AWtwAY1sAavYAfKcAod8AtUAAvD4gwOQAzKYA0PwA3H0A4NYA7FwA/F0A", table43);
51
+ var table45 = unpackCodepage("SHsASscAWh4BWzABaFsAal8BeTEBe9YAfF4Bf9wAjH0AjWAAjqYAofYArF0ArSQArkAAwOcAzH4A0B8B3FwA4PwA7CMA/CIA", table43);
52
+ var table46 = unpackCodepage("QZEDQQhRmgNRB1mjA2KkA2IHanwAcKgAcYYDcogDcgF0oAB1igN2jAN3jgN3AYCFA4qxA4oFmrcDmgWgtACqvQOqBK/DA7CjALGsA7ECtMoDta8DtswDtgG4ywO5zgO6wgO7xAO7BMvJA8yQA82wA84YIM8VINqxANu9ANwaAN2HA94ZIN+mAOEaAOunAOwaAO0aAO6rAO4B+6kA/BoA/RoA/rsA", table43);
53
+ var pythonFileCodepages = Object.freeze({
54
+ "cp037": table41,
55
+ "cp1006": table32,
56
+ "cp1026": table45,
57
+ "cp1125": table20,
58
+ "cp1140": table42,
59
+ "cp1257": table26,
60
+ "cp1258": table9,
61
+ "cp273": table44,
62
+ "cp424": table40,
63
+ "cp500": table43,
64
+ "cp720": table21,
65
+ "cp775": table28,
66
+ "cp855": table38,
67
+ "cp856": table22,
68
+ "cp858": table27,
69
+ "cp862": table23,
70
+ "cp864": table39,
71
+ "cp869": table24,
72
+ "cp875": table46,
73
+ "hp-roman8": table37,
74
+ "iso8859-10": table15,
75
+ "iso8859-11": table0,
76
+ "iso8859-13": table25,
77
+ "iso8859-14": table10,
78
+ "iso8859-15": table4,
79
+ "iso8859-16": table11,
80
+ "iso8859-2": table17,
81
+ "iso8859-3": table13,
82
+ "iso8859-4": table16,
83
+ "iso8859-5": table2,
84
+ "iso8859-6": table7,
85
+ "iso8859-7": table6,
86
+ "iso8859-8": table5,
87
+ "iso8859-9": table3,
88
+ "koi8-r": table30,
89
+ "koi8-t": table29,
90
+ "koi8-u": table31,
91
+ "kz1048": table12,
92
+ "mac-arabic": table18,
93
+ "mac-croatian": table36,
94
+ "mac-farsi": table19,
95
+ "mac-iceland": table34,
96
+ "mac-romanian": table35,
97
+ "mac-turkish": table33,
98
+ "palmos": table8,
99
+ "ptcp154": table14,
100
+ "tis-620": table1
101
+ });
102
+
103
+ export {
104
+ pythonFileCodepages
105
+ };
@@ -3,7 +3,7 @@ import {
3
3
  createPythonPackageManifestStore,
4
4
  publishPythonBuildWheel,
5
5
  pythonDocumentPackages
6
- } from "./chunk-RZOHZGEZ.js";
6
+ } from "./chunk-BKQWFABY.js";
7
7
  import {
8
8
  pythonShellDispatchActive
9
9
  } from "./chunk-NHAG4DWL.js";
@@ -14,7 +14,7 @@ import {
14
14
  PythonInvocationError,
15
15
  parsePythonInvocation,
16
16
  pythonPackageUrlHash
17
- } from "./chunk-WY6THI6J.js";
17
+ } from "./chunk-DV7TCGJR.js";
18
18
  import {
19
19
  pythonLlmProvider
20
20
  } from "./chunk-YYRVGXJH.js";
@@ -14,7 +14,7 @@ import {
14
14
  installPythonLlmPackages,
15
15
  pythonExecutorCommands,
16
16
  pythonLlmPackages
17
- } from "../safe-bash/command-chunks/chunk-LFTGMUAV.js";
17
+ } from "../safe-bash/command-chunks/chunk-VKTM2SOL.js";
18
18
  import {
19
19
  PythonPackageConflictError,
20
20
  createPythonPackageCache,
@@ -22,7 +22,7 @@ import {
22
22
  createPythonPackageManifestStore,
23
23
  publishPythonBuildWheel,
24
24
  pythonDocumentPackages
25
- } from "../safe-bash/command-chunks/chunk-RZOHZGEZ.js";
25
+ } from "../safe-bash/command-chunks/chunk-BKQWFABY.js";
26
26
  import {
27
27
  createPythonShellCapability
28
28
  } from "../safe-bash/command-chunks/chunk-NHAG4DWL.js";
@@ -32,9 +32,9 @@ import {
32
32
  } from "../safe-bash/command-chunks/chunk-IOZTDDNT.js";
33
33
  import {
34
34
  createPythonJspiExecutor
35
- } from "../safe-bash/command-chunks/chunk-XSZNL3GV.js";
35
+ } from "../safe-bash/command-chunks/chunk-T7RT2BNL.js";
36
36
  import "../safe-bash/command-chunks/chunk-FXWKMNX2.js";
37
- import "../safe-bash/command-chunks/chunk-WY6THI6J.js";
37
+ import "../safe-bash/command-chunks/chunk-DV7TCGJR.js";
38
38
  import {
39
39
  createPythonJspiNativeCall,
40
40
  createPythonJspiStatResult,
@@ -14,7 +14,7 @@ import {
14
14
  installPythonLlmPackages,
15
15
  pythonExecutorCommands,
16
16
  pythonLlmPackages
17
- } from "../safe-bash/command-chunks/chunk-LFTGMUAV.js";
17
+ } from "../safe-bash/command-chunks/chunk-VKTM2SOL.js";
18
18
  import {
19
19
  PythonPackageConflictError,
20
20
  createPythonPackageCache,
@@ -22,7 +22,7 @@ import {
22
22
  createPythonPackageManifestStore,
23
23
  publishPythonBuildWheel,
24
24
  pythonDocumentPackages
25
- } from "../safe-bash/command-chunks/chunk-RZOHZGEZ.js";
25
+ } from "../safe-bash/command-chunks/chunk-BKQWFABY.js";
26
26
  import {
27
27
  createPythonShellCapability
28
28
  } from "../safe-bash/command-chunks/chunk-NHAG4DWL.js";
@@ -32,9 +32,9 @@ import {
32
32
  } from "../safe-bash/command-chunks/chunk-IOZTDDNT.js";
33
33
  import {
34
34
  createPythonJspiExecutor
35
- } from "../safe-bash/command-chunks/chunk-XSZNL3GV.js";
35
+ } from "../safe-bash/command-chunks/chunk-T7RT2BNL.js";
36
36
  import "../safe-bash/command-chunks/chunk-FXWKMNX2.js";
37
- import "../safe-bash/command-chunks/chunk-WY6THI6J.js";
37
+ import "../safe-bash/command-chunks/chunk-DV7TCGJR.js";
38
38
  import {
39
39
  createPythonJspiNativeCall,
40
40
  createPythonJspiStatResult,
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createPythonJspiExecutor
3
- } from "../safe-bash/command-chunks/chunk-XSZNL3GV.js";
3
+ } from "../safe-bash/command-chunks/chunk-T7RT2BNL.js";
4
4
  import "../safe-bash/command-chunks/chunk-FXWKMNX2.js";
5
- import "../safe-bash/command-chunks/chunk-WY6THI6J.js";
5
+ import "../safe-bash/command-chunks/chunk-DV7TCGJR.js";
6
6
  import "../safe-bash/command-chunks/chunk-P56KGNW7.js";
7
7
  import "../safe-bash/command-chunks/chunk-NK3FRG5O.js";
8
8
  import "../safe-bash/command-chunks/chunk-XNJGNDFW.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createPythonPackageEnvironment,
3
3
  pythonDocumentPackages
4
- } from "../safe-bash/command-chunks/chunk-RZOHZGEZ.js";
4
+ } from "../safe-bash/command-chunks/chunk-BKQWFABY.js";
5
5
  import "../safe-bash/command-chunks/chunk-NXCJNPL3.js";
6
6
  import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
7
7
  export {
@@ -8,7 +8,7 @@ import {
8
8
  pythonRuntimeRelocation,
9
9
  pythonStatProjection,
10
10
  pythonTreeCleanup
11
- } from "../safe-bash/command-chunks/chunk-WY6THI6J.js";
11
+ } from "../safe-bash/command-chunks/chunk-DV7TCGJR.js";
12
12
  import {
13
13
  PythonFailure
14
14
  } from "../safe-bash/command-chunks/chunk-TO6UNFEF.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  PythonTextDecoder
3
- } from "../safe-bash/command-chunks/chunk-AVSINNZ6.js";
4
- import "../safe-bash/command-chunks/chunk-OLXMWQJ5.js";
5
- import "../safe-bash/command-chunks/chunk-OOYVZAWL.js";
3
+ } from "../safe-bash/command-chunks/chunk-P66Q5F6K.js";
4
+ import "../safe-bash/command-chunks/chunk-Q2ACHUTY.js";
5
+ import "../safe-bash/command-chunks/chunk-NXZJJM4J.js";
6
6
  import "../safe-bash/command-chunks/chunk-ZERCTWUI.js";
7
- import "../safe-bash/command-chunks/chunk-WIUEM7HP.js";
8
- import "../safe-bash/command-chunks/chunk-HNEWGADJ.js";
7
+ import "../safe-bash/command-chunks/chunk-TGSNVLFZ.js";
8
+ import "../safe-bash/command-chunks/chunk-RUXOFW5G.js";
9
9
  import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
10
10
 
11
11
  // packages/safe-bash-csv-engine/src/index.ts
@@ -3,9 +3,9 @@ import {
3
3
  dbfCodepages,
4
4
  decodePythonSingleByte,
5
5
  pythonSingleByteCodepages
6
- } from "../safe-bash/command-chunks/chunk-OOYVZAWL.js";
6
+ } from "../safe-bash/command-chunks/chunk-NXZJJM4J.js";
7
7
  import "../safe-bash/command-chunks/chunk-ZERCTWUI.js";
8
- import "../safe-bash/command-chunks/chunk-HNEWGADJ.js";
8
+ import "../safe-bash/command-chunks/chunk-RUXOFW5G.js";
9
9
  import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
10
10
  export {
11
11
  PythonTextDecodeError,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  pythonFileCodepages
3
- } from "../safe-bash/command-chunks/chunk-WIUEM7HP.js";
4
- import "../safe-bash/command-chunks/chunk-HNEWGADJ.js";
3
+ } from "../safe-bash/command-chunks/chunk-TGSNVLFZ.js";
4
+ import "../safe-bash/command-chunks/chunk-RUXOFW5G.js";
5
5
  import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
6
6
  export {
7
7
  pythonFileCodepages
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  PythonTextEncodingError,
3
3
  PythonUtf16Decoder
4
- } from "../safe-bash/command-chunks/chunk-OLXMWQJ5.js";
5
- import "../safe-bash/command-chunks/chunk-OOYVZAWL.js";
4
+ } from "../safe-bash/command-chunks/chunk-Q2ACHUTY.js";
5
+ import "../safe-bash/command-chunks/chunk-NXZJJM4J.js";
6
6
  import "../safe-bash/command-chunks/chunk-ZERCTWUI.js";
7
- import "../safe-bash/command-chunks/chunk-HNEWGADJ.js";
7
+ import "../safe-bash/command-chunks/chunk-RUXOFW5G.js";
8
8
  import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
9
9
  export {
10
10
  PythonTextEncodingError,
@@ -2,14 +2,14 @@ import {
2
2
  PythonIso2022PendingError,
3
3
  PythonTextDecoder,
4
4
  PythonUtf7EncodingError
5
- } from "../safe-bash/command-chunks/chunk-AVSINNZ6.js";
6
- import "../safe-bash/command-chunks/chunk-OLXMWQJ5.js";
5
+ } from "../safe-bash/command-chunks/chunk-P66Q5F6K.js";
6
+ import "../safe-bash/command-chunks/chunk-Q2ACHUTY.js";
7
7
  import {
8
8
  PythonTextDecodeError
9
- } from "../safe-bash/command-chunks/chunk-OOYVZAWL.js";
9
+ } from "../safe-bash/command-chunks/chunk-NXZJJM4J.js";
10
10
  import "../safe-bash/command-chunks/chunk-ZERCTWUI.js";
11
- import "../safe-bash/command-chunks/chunk-WIUEM7HP.js";
12
- import "../safe-bash/command-chunks/chunk-HNEWGADJ.js";
11
+ import "../safe-bash/command-chunks/chunk-TGSNVLFZ.js";
12
+ import "../safe-bash/command-chunks/chunk-RUXOFW5G.js";
13
13
  import "../safe-bash/command-chunks/chunk-65DS4IOB.js";
14
14
  export {
15
15
  PythonIso2022PendingError,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poe-platform/safe-bash",
3
- "version": "0.1.825",
3
+ "version": "0.1.826",
4
4
  "description": "Extensible virtual shell with pluggable filesystems and streaming commands",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1415,7 +1415,7 @@
1415
1415
  "access": "public"
1416
1416
  },
1417
1417
  "dependencies": {
1418
- "@poe-platform/safe-fs": "0.1.825",
1418
+ "@poe-platform/safe-fs": "0.1.826",
1419
1419
  "pdf-lib": "1.17.1",
1420
1420
  "@types/node": "^25.2.2",
1421
1421
  "@formatjs/intl-numberformat": "9.4.0",
@@ -1,90 +0,0 @@
1
- import {
2
- normalizeEncoding,
3
- pythonCodecAliases
4
- } from "./chunk-ZERCTWUI.js";
5
- import {
6
- unpackCodepage
7
- } from "./chunk-HNEWGADJ.js";
8
-
9
- // packages/safe-bash-csv-engine/src/python-codepages.ts
10
- var dbfCodepages = Object.freeze({
11
- "cp1250": unpackCodepage("rCD//xog//8eICYgICAhIP//MCBgATkgWgFkAX0BeQH//xggGSAcIB0gIiATIBQg//8iIWEBOiBbAWUBfgF6AaAAxwLYAkEBpAAEAaYApwCoAKkAXgGrAKwArQCuAHsBsACxANsCQgG0ALUAtgC3ALgABQFfAbsAPQHdAj4BfAFUAcEAwgACAcQAOQEGAccADAHJABgBywAaAc0AzgAOARABQwFHAdMA1ABQAdYA1wBYAW4B2gBwAdwA3QBiAd8AVQHhAOIAAwHkADoBBwHnAA0B6QAZAesAGwHtAO4ADwERAUQBSAHzAPQAUQH2APcAWQFvAfoAcQH8AP0AYwHZAg=="),
12
- "cp1251": unpackCodepage("AgQDBBogUwQeICYgICAhIKwgMCAJBDkgCgQMBAsEDwRSBBggGSAcIB0gIiATIBQg//8iIVkEOiBaBFwEWwRfBKAADgReBAgEpACQBKYApwABBKkABASrAKwArQCuAAcEsACxAAYEVgSRBLUAtgC3AFEEFiFUBLsAWAQFBFUEVwQQBBEEEgQTBBQEFQQWBBcEGAQZBBoEGwQcBB0EHgQfBCAEIQQiBCMEJAQlBCYEJwQoBCkEKgQrBCwELQQuBC8EMAQxBDIEMwQ0BDUENgQ3BDgEOQQ6BDsEPAQ9BD4EPwRABEEEQgRDBEQERQRGBEcESARJBEoESwRMBE0ETgRPBA=="),
13
- "cp1253": unpackCodepage("rCD//xogkgEeICYgICAhIP//MCD//zkg/////////////xggGSAcIB0gIiATIBQg//8iIf//OiD//////////6AAhQOGA6MApAClAKYApwCoAKkA//+rAKwArQCuABUgsACxALIAswCEA7UAtgC3AIgDiQOKA7sAjAO9AI4DjwOQA5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQP//6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA8oDywPMA80DzgP//w=="),
14
- "cp1254": unpackCodepage("rCD//xogkgEeICYgICAhIMYCMCBgATkgUgH//////////xggGSAcIB0gIiATIBQg3AIiIWEBOiBTAf////94AaAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPAB4B0QDSANMA1ADVANYA1wDYANkA2gDbANwAMAFeAd8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wAfAfEA8gDzAPQA9QD2APcA+AD5APoA+wD8ADEBXwH/AA=="),
15
- "cp1255": unpackCodepage("rCD//xogkgEeICYgICAhIMYCMCD//zkg/////////////xggGSAcIB0gIiATIBQg3AIiIf//OiD//////////6AAoQCiAKMAqiClAKYApwCoAKkA1wCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQD3ALsAvAC9AL4AvwCwBbEFsgWzBbQFtQW2BbcFuAW5Bf//uwW8Bb0FvgW/BcAFwQXCBcMF8AXxBfIF8wX0Bf//////////////////0AXRBdIF0wXUBdUF1gXXBdgF2QXaBdsF3AXdBd4F3wXgBeEF4gXjBeQF5QXmBecF6AXpBeoF/////w4gDyD//w=="),
16
- "cp1256": unpackCodepage("rCB+BhogkgEeICYgICAhIMYCMCB5BjkgUgGGBpgGiAavBhggGSAcIB0gIiATIBQgqQYiIZEGOiBTAQwgDSC6BqAADAaiAKMApAClAKYApwCoAKkAvgarAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQAbBrsAvAC9AL4AHwbBBiEGIgYjBiQGJQYmBicGKAYpBioGKwYsBi0GLgYvBjAGMQYyBjMGNAY1BjYG1wA3BjgGOQY6BkAGQQZCBkMG4ABEBuIARQZGBkcGSAbnAOgA6QDqAOsASQZKBu4A7wBLBkwGTQZOBvQATwZQBvcAUQb5AFIG+wD8AA4gDyDSBg=="),
17
- "cp437": unpackCodepage("xwD8AOkA4gDkAOAA5QDnAOoA6wDoAO8A7gDsAMQAxQDJAOYAxgD0APYA8gD7APkA/wDWANwAogCjAKUApyCSAeEA7QDzAPoA8QDRAKoAugC/ABAjrAC9ALwAoQCrALsAkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlsQPfAJMDwAOjA8MDtQDEA6YDmAOpA7QDHiLGA7UDKSJhIrEAZSJkIiAjISP3AEgisAAZIrcAGiJ/ILIAoCWgAA=="),
18
- "cp737": unpackCodepage("kQOSA5MDlAOVA5YDlwOYA5kDmgObA5wDnQOeA58DoAOhA6MDpAOlA6YDpwOoA6kDsQOyA7MDtAO1A7YDtwO4A7kDugO7A7wDvQO+A78DwAPBA8MDwgPEA8UDxgPHA8gDkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlyQOsA60DrgPKA68DzAPNA8sDzgOGA4gDiQOKA4wDjgOPA7EAZSJkIqoDqwP3AEgisAAZIrcAGiJ/ILIAoCWgAA=="),
19
- "cp850": unpackCodepage("xwD8AOkA4gDkAOAA5QDnAOoA6wDoAO8A7gDsAMQAxQDJAOYAxgD0APYA8gD7APkA/wDWANwA+ACjANgA1wCSAeEA7QDzAPoA8QDRAKoAugC/AK4ArAC9ALwAoQCrALsAkSWSJZMlAiUkJcEAwgDAAKkAYyVRJVclXSWiAKUAECUUJTQlLCUcJQAlPCXjAMMAWiVUJWklZiVgJVAlbCWkAPAA0ADKAMsAyAAxAc0AzgDPABglDCWIJYQlpgDMAIAl0wDfANQA0gD1ANUAtQD+AN4A2gDbANkA/QDdAK8AtACtALEAFyC+ALYApwD3ALgAsACoALcAuQCzALIAoCWgAA=="),
20
- "cp852": unpackCodepage("xwD8AOkA4gDkAG8BBwHnAEIB6wBQAVEB7gB5AcQABgHJADkBOgH0APYAPQE+AVoBWwHWANwAZAFlAUEB1wANAeEA7QDzAPoABAEFAX0BfgEYARkBrAB6AQwBXwGrALsAkSWSJZMlAiUkJcEAwgAaAV4BYyVRJVclXSV7AXwBECUUJTQlLCUcJQAlPCUCAQMBWiVUJWklZiVgJVAlbCWkABEBEAEOAcsADwFHAc0AzgAbARglDCWIJYQlYgFuAYAl0wDfANQAQwFEAUgBYAFhAVQB2gBVAXAB/QDdAGMBtACtAN0C2wLHAtgCpwD3ALgAsACoANkCcQFYAVkBoCWgAA=="),
21
- "cp857": unpackCodepage("xwD8AOkA4gDkAOAA5QDnAOoA6wDoAO8A7gAxAcQAxQDJAOYAxgD0APYA8gD7APkAMAHWANwA+ACjANgAXgFfAeEA7QDzAPoA8QDRAB4BHwG/AK4ArAC9ALwAoQCrALsAkSWSJZMlAiUkJcEAwgDAAKkAYyVRJVclXSWiAKUAECUUJTQlLCUcJQAlPCXjAMMAWiVUJWklZiVgJVAlbCWkALoAqgDKAMsAyAD//80AzgDPABglDCWIJYQlpgDMAIAl0wDfANQA0gD1ANUAtQD//9cA2gDbANkA7AD/AK8AtACtALEA//++ALYApwD3ALgAsACoALcAuQCzALIAoCWgAA=="),
22
- "cp860": unpackCodepage("xwD8AOkA4gDjAOAAwQDnAOoAygDoAM0A1ADsAMMAwgDJAMAAyAD0APUA8gDaAPkAzADVANwAogCjANkApyDTAOEA7QDzAPoA8QDRAKoAugC/ANIArAC9ALwAoQCrALsAkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlsQPfAJMDwAOjA8MDtQDEA6YDmAOpA7QDHiLGA7UDKSJhIrEAZSJkIiAjISP3AEgisAAZIrcAGiJ/ILIAoCWgAA=="),
23
- "cp861": unpackCodepage("xwD8AOkA4gDkAOAA5QDnAOoA6wDoANAA8ADeAMQAxQDJAOYAxgD0APYA/gD7AN0A/QDWANwA+ACjANgApyCSAeEA7QDzAPoAwQDNANMA2gC/ABAjrAC9ALwAoQCrALsAkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlsQPfAJMDwAOjA8MDtQDEA6YDmAOpA7QDHiLGA7UDKSJhIrEAZSJkIiAjISP3AEgisAAZIrcAGiJ/ILIAoCWgAA=="),
24
- "cp863": unpackCodepage("xwD8AOkA4gDCAOAAtgDnAOoA6wDoAO8A7gAXIMAApwDJAMgAygD0AMsAzwD7APkApADUANwAogCjANkA2wCSAaYAtADzAPoAqAC4ALMArwDOABAjrAC9ALwAvgCrALsAkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlsQPfAJMDwAOjA8MDtQDEA6YDmAOpA7QDHiLGA7UDKSJhIrEAZSJkIiAjISP3AEgisAAZIrcAGiJ/ILIAoCWgAA=="),
25
- "cp865": unpackCodepage("xwD8AOkA4gDkAOAA5QDnAOoA6wDoAO8A7gDsAMQAxQDJAOYAxgD0APYA8gD7APkA/wDWANwA+ACjANgApyCSAeEA7QDzAPoA8QDRAKoAugC/ABAjrAC9ALwAoQCrAKQAkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlsQPfAJMDwAOjA8MDtQDEA6YDmAOpA7QDHiLGA7UDKSJhIrEAZSJkIiAjISP3AEgisAAZIrcAGiJ/ILIAoCWgAA=="),
26
- "cp866": unpackCodepage("EAQRBBIEEwQUBBUEFgQXBBgEGQQaBBsEHAQdBB4EHwQgBCEEIgQjBCQEJQQmBCcEKAQpBCoEKwQsBC0ELgQvBDAEMQQyBDMENAQ1BDYENwQ4BDkEOgQ7BDwEPQQ+BD8EkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlQARBBEIEQwREBEUERgRHBEgESQRKBEsETARNBE4ETwQBBFEEBARUBAcEVwQOBF4EsAAZIrcAGiIWIaQAoCWgAA=="),
27
- "cp874": unpackCodepage("rCD//////////yYg/////////////////////////////xggGSAcIB0gIiATIBQg/////////////////////6AAAQ4CDgMOBA4FDgYOBw4IDgkOCg4LDgwODQ4ODg8OEA4RDhIOEw4UDhUOFg4XDhgOGQ4aDhsOHA4dDh4OHw4gDiEOIg4jDiQOJQ4mDicOKA4pDioOKw4sDi0OLg4vDjAOMQ4yDjMONA41DjYONw44DjkOOg7//////////z8OQA5BDkIOQw5EDkUORg5HDkgOSQ5KDksOTA5NDk4OTw5QDlEOUg5TDlQOVQ5WDlcOWA5ZDloOWw7//////////w=="),
28
- "mac_cyrillic": unpackCodepage("EAQRBBIEEwQUBBUEFgQXBBgEGQQaBBsEHAQdBB4EHwQgBCEEIgQjBCQEJQQmBCcEKAQpBCoEKwQsBC0ELgQvBCAgsACQBKMApwAiILYABgSuAKkAIiECBFIEYCIDBFMEHiKxAGQiZSJWBLUAkQQIBAQEVAQHBFcECQRZBAoEWgRYBAUErAAaIpIBSCIGIqsAuwAmIKAACwRbBAwEXARVBBMgFCAcIB0gGCAZIPcAHiAOBF4EDwRfBBYhAQRRBE8EMAQxBDIEMwQ0BDUENgQ3BDgEOQQ6BDsEPAQ9BD4EPwRABEEEQgRDBEQERQRGBEcESARJBEoESwRMBE0ETgSsIA=="),
29
- "mac_greek": unpackCodepage("xAC5ALIAyQCzANYA3ACFA+AA4gDkAIQDqADnAOkA6ADqAOsAowAiIe4A7wAiIL0AMCD0APYApgCsIPkA+wD8ACAgkwOUA5gDmwOeA6AD3wCuAKkAowOqA6cAYCKwALcAkQOxAGQiZSKlAJIDlQOWA5cDmQOaA5wDpgOrA6gDqQOsA50DrACfA6EDSCKkA6sAuwAmIKAApQOnA4YDiANTARMgFSAcIB0gGCAZIPcAiQOKA4wDjgOtA64DrwPMA48DzQOxA7IDyAO0A7UDxgOzA7cDuQO+A7oDuwO8A70DvwPAA84DwQPDA8QDuAPJA8IDxwPFA7YDygPLA5ADsAOtAA=="),
30
- "mac_latin2": unpackCodepage("xAAAAQEByQAEAdYA3ADhAAUBDAHkAA0BBgEHAekAeQF6AQ4B7QAPARIBEwEWAfMAFwH0APYA9QD6ABoBGwH8ACAgsAAYAaMApwAiILYA3wCuAKkAIiEZAagAYCIjAS4BLwEqAWQiZSIrATYBAiIRIkIBOwE8AT0BPgE5AToBRQFGAUMBrAAaIkQBRwEGIqsAuwAmIKAASAFQAdUAUQFMARMgFCAcIB0gGCAZIPcAyiVNAVQBVQFYATkgOiBZAVYBVwFgARogHiBhAVoBWwHBAGQBZQHNAH0BfgFqAdMA1ABrAW4B2gBvAXABcQFyAXMB3QD9ADcBewFBAXwBIgHHAg=="),
31
- "mac_roman": unpackCodepage("xADFAMcAyQDRANYA3ADhAOAA4gDkAOMA5QDnAOkA6ADqAOsA7QDsAO4A7wDxAPMA8gD0APYA9QD6APkA+wD8ACAgsACiAKMApwAiILYA3wCuAKkAIiG0AKgAYCLGANgAHiKxAGQiZSKlALUAAiIRIg8iwAMrIqoAugCpA+YA+AC/AKEArAAaIpIBSCIGIqsAuwAmIKAAwADDANUAUgFTARMgFCAcIB0gGCAZIPcAyiX/AHgBRCCsIDkgOiAB+wL7ISC3ABogHiAwIMIAygDBAMsAyADNAM4AzwDMANMA1AD/+NIA2gDbANkAMQHGAtwCrwDYAtkC2gK4AN0C2wLHAg==")
32
- });
33
- var cp1252High = [
34
- 8364,
35
- -1,
36
- 8218,
37
- 402,
38
- 8222,
39
- 8230,
40
- 8224,
41
- 8225,
42
- 710,
43
- 8240,
44
- 352,
45
- 8249,
46
- 338,
47
- -1,
48
- 381,
49
- -1,
50
- -1,
51
- 8216,
52
- 8217,
53
- 8220,
54
- 8221,
55
- 8226,
56
- 8211,
57
- 8212,
58
- 732,
59
- 8482,
60
- 353,
61
- 8250,
62
- 339,
63
- -1,
64
- 382,
65
- 376
66
- ];
67
- var PythonTextDecodeError = class extends Error {
68
- };
69
- function decodePythonSingleByte(bytes, codepoints, encoding) {
70
- let text = "";
71
- for (const byte of bytes) {
72
- const code = codepoints[byte];
73
- if (code < 0) throw new PythonTextDecodeError(`Invalid ${encoding} input`);
74
- text += String.fromCodePoint(code);
75
- }
76
- return text;
77
- }
78
- var pythonSingleByteCodepages = Object.freeze({
79
- ...Object.fromEntries(Object.entries(dbfCodepages).map(([name, codepoints]) => [pythonCodecAliases[normalizeEncoding(name)], codepoints])),
80
- ascii: Object.freeze(Array.from({ length: 256 }, (_, byte) => byte < 128 ? byte : -1)),
81
- "iso8859-1": Object.freeze(Array.from({ length: 256 }, (_, byte) => byte)),
82
- cp1252: Object.freeze(Array.from({ length: 256 }, (_, byte) => byte >= 128 && byte < 160 ? cp1252High[byte - 128] : byte))
83
- });
84
-
85
- export {
86
- dbfCodepages,
87
- PythonTextDecodeError,
88
- decodePythonSingleByte,
89
- pythonSingleByteCodepages
90
- };
@@ -1,58 +0,0 @@
1
- import {
2
- unpackCodepage
3
- } from "./chunk-HNEWGADJ.js";
4
-
5
- // packages/safe-bash-csv-engine/src/python-file-codepages.ts
6
- var pythonFileCodepages = Object.freeze({
7
- "cp037": unpackCodepage("AAABAAIAAwCcAAkAhgB/AJcAjQCOAAsADAANAA4ADwAQABEAEgATAJ0AhQAIAIcAGAAZAJIAjwAcAB0AHgAfAIAAgQCCAIMAhAAKABcAGwCIAIkAigCLAIwABQAGAAcAkACRABYAkwCUAJUAlgAEAJgAmQCaAJsAFAAVAJ4AGgAgAKAA4gDkAOAA4QDjAOUA5wDxAKIALgA8ACgAKwB8ACYA6QDqAOsA6ADtAO4A7wDsAN8AIQAkACoAKQA7AKwALQAvAMIAxADAAMEAwwDFAMcA0QCmACwAJQBfAD4APwD4AMkAygDLAMgAzQDOAM8AzABgADoAIwBAACcAPQAiANgAYQBiAGMAZABlAGYAZwBoAGkAqwC7APAA/QD+ALEAsABqAGsAbABtAG4AbwBwAHEAcgCqALoA5gC4AMYApAC1AH4AcwB0AHUAdgB3AHgAeQB6AKEAvwDQAN0A3gCuAF4AowClALcAqQCnALYAvAC9AL4AWwBdAK8AqAC0ANcAewBBAEIAQwBEAEUARgBHAEgASQCtAPQA9gDyAPMA9QB9AEoASwBMAE0ATgBPAFAAUQBSALkA+wD8APkA+gD/AFwA9wBTAFQAVQBWAFcAWABZAFoAsgDUANYA0gDTANUAMAAxADIAMwA0ADUANgA3ADgAOQCzANsA3ADZANoAnwA="),
8
- "cp1006": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAA8AbxBvIG8wb0BvUG9gb3BvgG+QYMBhsGrQAfBoH+jf6O/o7+j/6R/lb7WPuT/pX+l/5m+2j7mf6b/p3+n/56+3z7of6j/qX+p/6p/oT7q/6t/oz7r/6K+7H+s/61/rf+uf67/r3+v/7B/sX+yf7K/sv+zP7N/s7+z/7Q/tH+0/7V/tf+2f7b/pL7lPvd/t/+4P7h/uP+nvvl/uf+hf7t/qb7qPup+6r7gP6J/or+i/7x/vL+8/6w+677fP59/g=="),
9
- "cp1026": unpackCodepage("AAABAAIAAwCcAAkAhgB/AJcAjQCOAAsADAANAA4ADwAQABEAEgATAJ0AhQAIAIcAGAAZAJIAjwAcAB0AHgAfAIAAgQCCAIMAhAAKABcAGwCIAIkAigCLAIwABQAGAAcAkACRABYAkwCUAJUAlgAEAJgAmQCaAJsAFAAVAJ4AGgAgAKAA4gDkAOAA4QDjAOUAewDxAMcALgA8ACgAKwAhACYA6QDqAOsA6ADtAO4A7wDsAN8AHgEwASoAKQA7AF4ALQAvAMIAxADAAMEAwwDFAFsA0QBfASwAJQBfAD4APwD4AMkAygDLAMgAzQDOAM8AzAAxAToA1gBeAScAPQDcANgAYQBiAGMAZABlAGYAZwBoAGkAqwC7AH0AYACmALEAsABqAGsAbABtAG4AbwBwAHEAcgCqALoA5gC4AMYApAC1APYAcwB0AHUAdgB3AHgAeQB6AKEAvwBdACQAQACuAKIAowClALcAqQCnALYAvAC9AL4ArAB8AK8AqAC0ANcA5wBBAEIAQwBEAEUARgBHAEgASQCtAPQAfgDyAPMA9QAfAUoASwBMAE0ATgBPAFAAUQBSALkA+wBcAPkA+gD/APwA9wBTAFQAVQBWAFcAWABZAFoAsgDUACMA0gDTANUAMAAxADIAMwA0ADUANgA3ADgAOQCzANsAIgDZANoAnwA="),
10
- "cp1125": unpackCodepage("EAQRBBIEEwQUBBUEFgQXBBgEGQQaBBsEHAQdBB4EHwQgBCEEIgQjBCQEJQQmBCcEKAQpBCoEKwQsBC0ELgQvBDAEMQQyBDMENAQ1BDYENwQ4BDkEOgQ7BDwEPQQ+BD8EkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlQARBBEIEQwREBEUERgRHBEgESQRKBEsETARNBE4ETwQBBFEEkASRBAQEVAQGBFYEBwRXBLcAGiIWIaQAoCWgAA=="),
11
- "cp1140": unpackCodepage("AAABAAIAAwCcAAkAhgB/AJcAjQCOAAsADAANAA4ADwAQABEAEgATAJ0AhQAIAIcAGAAZAJIAjwAcAB0AHgAfAIAAgQCCAIMAhAAKABcAGwCIAIkAigCLAIwABQAGAAcAkACRABYAkwCUAJUAlgAEAJgAmQCaAJsAFAAVAJ4AGgAgAKAA4gDkAOAA4QDjAOUA5wDxAKIALgA8ACgAKwB8ACYA6QDqAOsA6ADtAO4A7wDsAN8AIQAkACoAKQA7AKwALQAvAMIAxADAAMEAwwDFAMcA0QCmACwAJQBfAD4APwD4AMkAygDLAMgAzQDOAM8AzABgADoAIwBAACcAPQAiANgAYQBiAGMAZABlAGYAZwBoAGkAqwC7APAA/QD+ALEAsABqAGsAbABtAG4AbwBwAHEAcgCqALoA5gC4AMYArCC1AH4AcwB0AHUAdgB3AHgAeQB6AKEAvwDQAN0A3gCuAF4AowClALcAqQCnALYAvAC9AL4AWwBdAK8AqAC0ANcAewBBAEIAQwBEAEUARgBHAEgASQCtAPQA9gDyAPMA9QB9AEoASwBMAE0ATgBPAFAAUQBSALkA+wD8APkA+gD/AFwA9wBTAFQAVQBWAFcAWABZAFoAsgDUANYA0gDTANUAMAAxADIAMwA0ADUANgA3ADgAOQCzANsA3ADZANoAnwA="),
12
- "cp1257": unpackCodepage("rCD//xog//8eICYgICAhIP//MCD//zkg//+oAMcCuAD//xggGSAcIB0gIiATIBQg//8iIf//OiD//68A2wL//6AA//+iAKMApAD//6YApwDYAKkAVgGrAKwArQCuAMYAsACxALIAswC0ALUAtgC3APgAuQBXAbsAvAC9AL4A5gAEAS4BAAEGAcQAxQAYARIBDAHJAHkBFgEiATYBKgE7AWABQwFFAdMATAHVANYA1wByAUEBWgFqAdwAewF9Ad8ABQEvAQEBBwHkAOUAGQETAQ0B6QB6ARcBIwE3ASsBPAFhAUQBRgHzAE0B9QD2APcAcwFCAVsBawH8AHwBfgHZAg=="),
13
- "cp1258": unpackCodepage("rCD//xogkgEeICYgICAhIMYCMCD//zkgUgH//////////xggGSAcIB0gIiATIBQg3AIiIf//OiBTAf////94AaAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgACAcQAxQDGAMcAyADJAMoAywAAA80AzgDPABAB0QAJA9MA1ACgAdYA1wDYANkA2gDbANwArwEDA98A4ADhAOIAAwHkAOUA5gDnAOgA6QDqAOsAAQPtAO4A7wARAfEAIwPzAPQAoQH2APcA+AD5APoA+wD8ALABqyD/AA=="),
14
- "cp273": unpackCodepage("AAABAAIAAwCcAAkAhgB/AJcAjQCOAAsADAANAA4ADwAQABEAEgATAJ0AhQAIAIcAGAAZAJIAjwAcAB0AHgAfAIAAgQCCAIMAhAAKABcAGwCIAIkAigCLAIwABQAGAAcAkACRABYAkwCUAJUAlgAEAJgAmQCaAJsAFAAVAJ4AGgAgAKAA4gB7AOAA4QDjAOUA5wDxAMQALgA8ACgAKwAhACYA6QDqAOsA6ADtAO4A7wDsAH4A3AAkACoAKQA7AF4ALQAvAMIAWwDAAMEAwwDFAMcA0QD2ACwAJQBfAD4APwD4AMkAygDLAMgAzQDOAM8AzABgADoAIwCnACcAPQAiANgAYQBiAGMAZABlAGYAZwBoAGkAqwC7APAA/QD+ALEAsABqAGsAbABtAG4AbwBwAHEAcgCqALoA5gC4AMYApAC1AN8AcwB0AHUAdgB3AHgAeQB6AKEAvwDQAN0A3gCuAKIAowClALcAqQBAALYAvAC9AL4ArAB8AD4gqAC0ANcA5ABBAEIAQwBEAEUARgBHAEgASQCtAPQApgDyAPMA9QD8AEoASwBMAE0ATgBPAFAAUQBSALkA+wB9APkA+gD/ANYA9wBTAFQAVQBWAFcAWABZAFoAsgDUAFwA0gDTANUAMAAxADIAMwA0ADUANgA3ADgAOQCzANsAXQDZANoAnwA="),
15
- "cp424": unpackCodepage("AAABAAIAAwCcAAkAhgB/AJcAjQCOAAsADAANAA4ADwAQABEAEgATAJ0AhQAIAIcAGAAZAJIAjwAcAB0AHgAfAIAAgQCCAIMAhAAKABcAGwCIAIkAigCLAIwABQAGAAcAkACRABYAkwCUAJUAlgAEAJgAmQCaAJsAFAAVAJ4AGgAgANAF0QXSBdMF1AXVBdYF1wXYBaIALgA8ACgAKwB8ACYA2QXaBdsF3AXdBd4F3wXgBeEFIQAkACoAKQA7AKwALQAvAOIF4wXkBeUF5gXnBegF6QWmACwAJQBfAD4APwD//+oF/////6AA////////FyBgADoAIwBAACcAPQAiAP//YQBiAGMAZABlAGYAZwBoAGkAqwC7AP///////7EAsABqAGsAbABtAG4AbwBwAHEAcgD///////+4AP//pAC1AH4AcwB0AHUAdgB3AHgAeQB6AP////////////+uAF4AowClALcAqQCnALYAvAC9AL4AWwBdAK8AqAC0ANcAewBBAEIAQwBEAEUARgBHAEgASQCtAP////////////99AEoASwBMAE0ATgBPAFAAUQBSALkA/////////////1wA9wBTAFQAVQBWAFcAWABZAFoAsgD/////////////MAAxADIAMwA0ADUANgA3ADgAOQCzAP//////////nwA="),
16
- "cp500": unpackCodepage("AAABAAIAAwCcAAkAhgB/AJcAjQCOAAsADAANAA4ADwAQABEAEgATAJ0AhQAIAIcAGAAZAJIAjwAcAB0AHgAfAIAAgQCCAIMAhAAKABcAGwCIAIkAigCLAIwABQAGAAcAkACRABYAkwCUAJUAlgAEAJgAmQCaAJsAFAAVAJ4AGgAgAKAA4gDkAOAA4QDjAOUA5wDxAFsALgA8ACgAKwAhACYA6QDqAOsA6ADtAO4A7wDsAN8AXQAkACoAKQA7AF4ALQAvAMIAxADAAMEAwwDFAMcA0QCmACwAJQBfAD4APwD4AMkAygDLAMgAzQDOAM8AzABgADoAIwBAACcAPQAiANgAYQBiAGMAZABlAGYAZwBoAGkAqwC7APAA/QD+ALEAsABqAGsAbABtAG4AbwBwAHEAcgCqALoA5gC4AMYApAC1AH4AcwB0AHUAdgB3AHgAeQB6AKEAvwDQAN0A3gCuAKIAowClALcAqQCnALYAvAC9AL4ArAB8AK8AqAC0ANcAewBBAEIAQwBEAEUARgBHAEgASQCtAPQA9gDyAPMA9QB9AEoASwBMAE0ATgBPAFAAUQBSALkA+wD8APkA+gD/AFwA9wBTAFQAVQBWAFcAWABZAFoAsgDUANYA0gDTANUAMAAxADIAMwA0ADUANgA3ADgAOQCzANsA3ADZANoAnwA="),
17
- "cp720": unpackCodepage("gACBAOkA4gCEAOAAhgDnAOoA6wDoAO8A7gCNAI4AjwCQAFEGUgb0AKQAQAb7APkAIQYiBiMGJAajACUGJgYnBigGKQYqBisGLAYtBi4GLwYwBjEGMgYzBjQGNQarALsAkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlNgY3BjgGOQY6BkEGtQBCBkMGRAZFBkYGRwZIBkkGSgZhIksGTAZNBk4GTwZQBkgisAAZIrcAGiJ/ILIAoCWgAA=="),
18
- "cp775": unpackCodepage("BgH8AOkAAQHkACMB5QAHAUIBEwFWAVcBKwF5AcQAxQDJAOYAxgBNAfYAIgGiAFoBWwHWANwA+ACjANgA1wCkAAABKgHzAHsBfAF6AR0gpgCpAK4ArAC9ALwAQQGrALsAkSWSJZMlAiUkJQQBDAEYARYBYyVRJVclXSUuAWABECUUJTQlLCUcJQAlPCVyAWoBWiVUJWklZiVgJVAlbCV9AQUBDQEZARcBLwFhAXMBawF+ARglDCWIJYQljCWQJYAl0wDfAEwBQwH1ANUAtQBEATYBNwE7ATwBRgESAUUBGSCtALEAHCC+ALYApwD3AB4gsAAZIrcAuQCzALIAoCWgAA=="),
19
- "cp855": unpackCodepage("UgQCBFMEAwRRBAEEVAQEBFUEBQRWBAYEVwQHBFgECARZBAkEWgQKBFsECwRcBAwEXgQOBF8EDwROBC4ESgQqBDAEEAQxBBEERgQmBDQEFAQ1BBUERAQkBDMEEwSrALsAkSWSJZMlAiUkJUUEJQQ4BBgEYyVRJVclXSU5BBkEECUUJTQlLCUcJQAlPCU6BBoEWiVUJWklZiVgJVAlbCWkADsEGwQ8BBwEPQQdBD4EHgQ/BBglDCWIJYQlHwRPBIAlLwRABCAEQQQhBEIEIgRDBCMENgQWBDIEEgRMBCwEFiGtAEsEKwQ3BBcESAQoBE0ELQRJBCkERwQnBKcAoCWgAA=="),
20
- "cp856": unpackCodepage("0AXRBdIF0wXUBdUF1gXXBdgF2QXaBdsF3AXdBd4F3wXgBeEF4gXjBeQF5QXmBecF6AXpBeoF//+jAP//1wD//////////////////////////64ArAC9ALwA//+rALsAkSWSJZMlAiUkJf///////6kAYyVRJVclXSWiAKUAECUUJTQlLCUcJQAlPCX/////WiVUJWklZiVgJVAlbCWkAP///////////////////////xglDCWIJYQlpgD//4Al////////////////tQD//////////////////68AtACtALEAFyC+ALYApwD3ALgAsACoALcAuQCzALIAoCWgAA=="),
21
- "cp858": unpackCodepage("xwD8AOkA4gDkAOAA5QDnAOoA6wDoAO8A7gDsAMQAxQDJAOYAxgD0APYA8gD7APkA/wDWANwA+ACjANgA1wCSAeEA7QDzAPoA8QDRAKoAugC/AK4ArAC9ALwAoQCrALsAkSWSJZMlAiUkJcEAwgDAAKkAYyVRJVclXSWiAKUAECUUJTQlLCUcJQAlPCXjAMMAWiVUJWklZiVgJVAlbCWkAPAA0ADKAMsAyACsIM0AzgDPABglDCWIJYQlpgDMAIAl0wDfANQA0gD1ANUAtQD+AN4A2gDbANkA/QDdAK8AtACtALEAFyC+ALYApwD3ALgAsACoALcAuQCzALIAoCWgAA=="),
22
- "cp862": unpackCodepage("0AXRBdIF0wXUBdUF1gXXBdgF2QXaBdsF3AXdBd4F3wXgBeEF4gXjBeQF5QXmBecF6AXpBeoFogCjAKUApyCSAeEA7QDzAPoA8QDRAKoAugC/ABAjrAC9ALwAoQCrALsAkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlsQPfAJMDwAOjA8MDtQDEA6YDmAOpA7QDHiLGA7UDKSJhIrEAZSJkIiAjISP3AEgisAAZIrcAGiJ/ILIAoCWgAA=="),
23
- "cp864": unpackCodepage("AAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJABqBiYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgB/ALAAtwAZIhoikiUAJQIlPCUkJSwlHCU0JRAlDCUUJRglsgMeIsYDsQC9ALwASCKrALsA9/74/v/////7/vz+//+gAK0Agv6jAKQAhP7/////jv6P/pX+mf4MBp3+of6l/mAGYQZiBmMGZAZlBmYGZwZoBmkG0f4bBrH+tf65/h8GogCA/oH+g/6F/sr+i/6N/pH+k/6X/pv+n/6j/qf+qf6r/q3+r/6z/rf+u/6//sH+xf7L/s/+pgCsAPcA1wDJ/kAG0/7X/tv+3/7j/uf+6/7t/u/+8/69/sz+zv7N/uH+ff5RBuX+6f7s/vD+8v7Q/tX+9f72/t3+2f7x/qAl//8="),
24
- "cp869": unpackCodepage("////////////////hgP//7cArACmABggGSCIAxUgiQOKA6oDjAP/////jgOrA6kAjwOyALMArAOjAK0DrgOvA8oDkAPMA80DkQOSA5MDlAOVA5YDlwO9AJgDmQOrALsAkSWSJZMlAiUkJZoDmwOcA50DYyVRJVclXSWeA58DECUUJTQlLCUcJQAlPCWgA6EDWiVUJWklZiVgJVAlbCWjA6QDpQOmA6cDqAOpA7EDsgOzAxglDCWIJYQltAO1A4AltgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwwPCA8QDhAOtALEAxQPGA8cDpwDIA4UDsACoAMkDywOwA84DoCWgAA=="),
25
- "cp875": unpackCodepage("AAABAAIAAwCcAAkAhgB/AJcAjQCOAAsADAANAA4ADwAQABEAEgATAJ0AhQAIAIcAGAAZAJIAjwAcAB0AHgAfAIAAgQCCAIMAhAAKABcAGwCIAIkAigCLAIwABQAGAAcAkACRABYAkwCUAJUAlgAEAJgAmQCaAJsAFAAVAJ4AGgAgAJEDkgOTA5QDlQOWA5cDmAOZA1sALgA8ACgAKwAhACYAmgObA5wDnQOeA58DoAOhA6MDXQAkACoAKQA7AF4ALQAvAKQDpQOmA6cDqAOpA6oDqwN8ACwAJQBfAD4APwCoAIYDiAOJA6AAigOMA44DjwNgADoAIwBAACcAPQAiAIUDYQBiAGMAZABlAGYAZwBoAGkAsQOyA7MDtAO1A7YDsABqAGsAbABtAG4AbwBwAHEAcgC3A7gDuQO6A7sDvAO0AH4AcwB0AHUAdgB3AHgAeQB6AL0DvgO/A8ADwQPDA6MArAOtA64DygOvA8wDzQPLA84DwgPEA8UDxgPHA8gDewBBAEIAQwBEAEUARgBHAEgASQCtAMkDkAOwAxggFSB9AEoASwBMAE0ATgBPAFAAUQBSALEAvQAaAIcDGSCmAFwAGgBTAFQAVQBWAFcAWABZAFoAsgCnABoAGgCrAKwAMAAxADIAMwA0ADUANgA3ADgAOQCzAKkAGgAaALsAnwA="),
26
- "hp-roman8": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAwADCAMgAygDLAM4AzwC0AMsCxgKoANwC2QDbAKQgrwDdAP0AsADHAOcA0QDxAKEAvwCkAKMApQCnAJIBogDiAOoA9AD7AOEA6QDzAPoA4ADoAPIA+QDkAOsA9gD8AMUA7gDYAMYA5QDtAPgA5gDEAOwA1gDcAMkA7wDfANQAwQDDAOMA0ADwAM0AzADTANIA1QD1AGABYQHaAHgB/wDeAP4AtwC1ALYAvgAUILwAvQCqALoAqwCgJbsAsQD//w=="),
27
- "iso8859-10": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAABAESASIBKgEoATYBpwA7ARABYAFmAX0BrQBqAUoBsAAFARMBIwErASkBNwG3ADwBEQFhAWcBfgEVIGsBSwEAAcEAwgDDAMQAxQDGAC4BDAHJABgBywAWAc0AzgDPANAARQFMAdMA1ADVANYAaAHYAHIB2gDbANwA3QDeAN8AAQHhAOIA4wDkAOUA5gAvAQ0B6QAZAesAFwHtAO4A7wDwAEYBTQHzAPQA9QD2AGkB+ABzAfoA+wD8AP0A/gA4AQ=="),
28
- "iso8859-11": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAAQ4CDgMOBA4FDgYOBw4IDgkOCg4LDgwODQ4ODg8OEA4RDhIOEw4UDhUOFg4XDhgOGQ4aDhsOHA4dDh4OHw4gDiEOIg4jDiQOJQ4mDicOKA4pDioOKw4sDi0OLg4vDjAOMQ4yDjMONA41DjYONw44DjkOOg7//////////z8OQA5BDkIOQw5EDkUORg5HDkgOSQ5KDksOTA5NDk4OTw5QDlEOUg5TDlQOVQ5WDlcOWA5ZDloOWw7//////////w=="),
29
- "iso8859-13": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAHSCiAKMApAAeIKYApwDYAKkAVgGrAKwArQCuAMYAsACxALIAswAcILUAtgC3APgAuQBXAbsAvAC9AL4A5gAEAS4BAAEGAcQAxQAYARIBDAHJAHkBFgEiATYBKgE7AWABQwFFAdMATAHVANYA1wByAUEBWgFqAdwAewF9Ad8ABQEvAQEBBwHkAOUAGQETAQ0B6QB6ARcBIwE3ASsBPAFhAUQBRgHzAE0B9QD2APcAcwFCAVsBawH8AHwBfgEZIA=="),
30
- "iso8859-14": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAAh4DHqMACgELAQoepwCAHqkAgh4LHvIerQCuAHgBHh4fHiABIQFAHkEetgBWHoEeVx6DHmAe8x6EHoUeYR7AAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPAHQB0QDSANMA1ADVANYAah7YANkA2gDbANwA3QB2Ad8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wB1AfEA8gDzAPQA9QD2AGse+AD5APoA+wD8AP0AdwH/AA=="),
31
- "iso8859-15": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAoQCiAKMArCClAGABpwBhAakAqgCrAKwArQCuAK8AsACxALIAswB9AbUAtgC3AH4BuQC6ALsAUgFTAXgBvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AA=="),
32
- "iso8859-16": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAABAEFAUEBrCAeIGABpwBhAakAGAKrAHkBrQB6AXsBsACxAAwBQgF9AR0gtgC3AH4BDQEZArsAUgFTAXgBfAHAAMEAwgACAcQABgHGAMcAyADJAMoAywDMAM0AzgDPABABQwHSANMA1ABQAdYAWgFwAdkA2gDbANwAGAEaAt8A4ADhAOIAAwHkAAcB5gDnAOgA6QDqAOsA7ADtAO4A7wARAUQB8gDzAPQAUQH2AFsBcQH5APoA+wD8ABkBGwL/AA=="),
33
- "iso8859-2": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAABAHYAkEBpAA9AVoBpwCoAGABXgFkAXkBrQB9AXsBsAAFAdsCQgG0AD4BWwHHArgAYQFfAWUBegHdAn4BfAFUAcEAwgACAcQAOQEGAccADAHJABgBywAaAc0AzgAOARABQwFHAdMA1ABQAdYA1wBYAW4B2gBwAdwA3QBiAd8AVQHhAOIAAwHkADoBBwHnAA0B6QAZAesAGwHtAO4ADwERAUQBSAHzAPQAUQH2APcAWQFvAfoAcQH8AP0AYwHZAg=="),
34
- "iso8859-3": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAJgHYAqMApAD//yQBpwCoADABXgEeATQBrQD//3sBsAAnAbIAswC0ALUAJQG3ALgAMQFfAR8BNQG9AP//fAHAAMEAwgD//8QACgEIAccAyADJAMoAywDMAM0AzgDPAP//0QDSANMA1AAgAdYA1wAcAdkA2gDbANwAbAFcAd8A4ADhAOIA///kAAsBCQHnAOgA6QDqAOsA7ADtAO4A7wD///EA8gDzAPQAIQH2APcAHQH5APoA+wD8AG0BXQHZAg=="),
35
- "iso8859-4": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAABAE4AVYBpAAoATsBpwCoAGABEgEiAWYBrQB9Aa8AsAAFAdsCVwG0ACkBPAHHArgAYQETASMBZwFKAX4BSwEAAcEAwgDDAMQAxQDGAC4BDAHJABgBywAWAc0AzgAqARABRQFMATYB1ADVANYA1wDYAHIB2gDbANwAaAFqAd8AAQHhAOIA4wDkAOUA5gAvAQ0B6QAZAesAFwHtAO4AKwERAUYBTQE3AfQA9QD2APcA+ABzAfoA+wD8AGkBawHZAg=="),
36
- "iso8859-5": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAAQQCBAMEBAQFBAYEBwQIBAkECgQLBAwErQAOBA8EEAQRBBIEEwQUBBUEFgQXBBgEGQQaBBsEHAQdBB4EHwQgBCEEIgQjBCQEJQQmBCcEKAQpBCoEKwQsBC0ELgQvBDAEMQQyBDMENAQ1BDYENwQ4BDkEOgQ7BDwEPQQ+BD8EQARBBEIEQwREBEUERgRHBEgESQRKBEsETARNBE4ETwQWIVEEUgRTBFQEVQRWBFcEWARZBFoEWwRcBKcAXgRfBA=="),
37
- "iso8859-6": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAA////////pAD//////////////////wwGrQD//////////////////////////////////xsG////////Hwb//yEGIgYjBiQGJQYmBicGKAYpBioGKwYsBi0GLgYvBjAGMQYyBjMGNAY1BjYGNwY4BjkGOgb/////////////QAZBBkIGQwZEBkUGRgZHBkgGSQZKBksGTAZNBk4GTwZQBlEGUgb//////////////////////////////////w=="),
38
- "iso8859-7": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAGCAZIKMArCCvIKYApwCoAKkAegOrAKwArQD//xUgsACxALIAswCEA4UDhgO3AIgDiQOKA7sAjAO9AI4DjwOQA5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQP//6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA8oDywPMA80DzgP//w=="),
39
- "iso8859-8": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAA//+iAKMApAClAKYApwCoAKkA1wCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQD3ALsAvAC9AL4A/////////////////////////////////////////////////////////////////////////////////////xcg0AXRBdIF0wXUBdUF1gXXBdgF2QXaBdsF3AXdBd4F3wXgBeEF4gXjBeQF5QXmBecF6AXpBeoF/////w4gDyD//w=="),
40
- "iso8859-9": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPAB4B0QDSANMA1ADVANYA1wDYANkA2gDbANwAMAFeAd8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wAfAfEA8gDzAPQA9QD2APcA+AD5APoA+wD8ADEBXwH/AA=="),
41
- "koi8-r": unpackCodepage("ACUCJQwlECUUJRglHCUkJSwlNCU8JYAlhCWIJYwlkCWRJZIlkyUgI6AlGSIaIkgiZCJlIqAAISOwALIAtwD3AFAlUSVSJVEEUyVUJVUlViVXJVglWSVaJVslXCVdJV4lXyVgJWElAQRiJWMlZCVlJWYlZyVoJWklaiVrJWwlqQBOBDAEMQRGBDQENQREBDMERQQ4BDkEOgQ7BDwEPQQ+BD8ETwRABEEEQgRDBDYEMgRMBEsENwRIBE0ESQRHBEoELgQQBBEEJgQUBBUEJAQTBCUEGAQZBBoEGwQcBB0EHgQfBC8EIAQhBCIEIwQWBBIELAQrBBcEKAQtBCkEJwQqBA=="),
42
- "koi8-t": unpackCodepage("mwSTBBogkgQeICYgICAhIP//MCCzBDkgsgS3BLYE//+aBBggGSAcIB0gIiATIBQg//8iIf//OiD/////////////7wTuBFEEpADjBKYApwD///////+rAKwArQCuAP//sACxALIAAQT//+IEtgC3AP//FiH//7sA////////qQBOBDAEMQRGBDQENQREBDMERQQ4BDkEOgQ7BDwEPQQ+BD8ETwRABEEEQgRDBDYEMgRMBEsENwRIBE0ESQRHBEoELgQQBBEEJgQUBBUEJAQTBCUEGAQZBBoEGwQcBB0EHgQfBC8EIAQhBCIEIwQWBBIELAQrBBcEKAQtBCkEJwQqBA=="),
43
- "koi8-u": unpackCodepage("ACUCJQwlECUUJRglHCUkJSwlNCU8JYAlhCWIJYwlkCWRJZIlkyUgI6AlGSIaIkgiZCJlIqAAISOwALIAtwD3AFAlUSVSJVEEVARUJVYEVwRXJVglWSVaJVslkQRdJV4lXyVgJWElAQQEBGMlBgQHBGYlZyVoJWklaiWQBGwlqQBOBDAEMQRGBDQENQREBDMERQQ4BDkEOgQ7BDwEPQQ+BD8ETwRABEEEQgRDBDYEMgRMBEsENwRIBE0ESQRHBEoELgQQBBEEJgQUBBUEJAQTBCUEGAQZBBoEGwQcBB0EHgQfBC8EIAQhBCIEIwQWBBIELAQrBBcEKAQtBCkEJwQqBA=="),
44
- "kz1048": unpackCodepage("AgQDBBogUwQeICYgICAhIKwgMCAJBDkgCgSaBLoEDwRSBBggGSAcIB0gIiATIBQg//8iIVkEOiBaBJsEuwRfBKAAsASxBNgEpADoBKYApwABBKkAkgSrAKwArQCuAK4EsACxAAYEVgTpBLUAtgC3AFEEFiGTBLsA2QSiBKMErwQQBBEEEgQTBBQEFQQWBBcEGAQZBBoEGwQcBB0EHgQfBCAEIQQiBCMEJAQlBCYEJwQoBCkEKgQrBCwELQQuBC8EMAQxBDIEMwQ0BDUENgQ3BDgEOQQ6BDsEPAQ9BD4EPwRABEEEQgRDBEQERQRGBEcESARJBEoESwRMBE0ETgRPBA=="),
45
- "mac-arabic": unpackCodepage("xACgAMcAyQDRANYA3ADhAOAA4gDkALoGqwDnAOkA6ADqAOsA7QAmIO4A7wDxAPMAuwD0APYA9wD6APkA+wD8ACAAIQAiACMAJABqBiYAJwAoACkAKgArAAwGLQAuAC8AYAZhBmIGYwZkBmUGZgZnBmgGaQY6ABsGPAA9AD4AHwZKJyEGIgYjBiQGJQYmBicGKAYpBioGKwYsBi0GLgYvBjAGMQYyBjMGNAY1BjYGNwY4BjkGOgZbAFwAXQBeAF8AQAZBBkIGQwZEBkUGRgZHBkgGSQZKBksGTAZNBk4GTwZQBlEGUgZ+BnkGhgbVBqQGrwaIBpEGewB8AH0AmAbSBg=="),
46
- "mac-croatian": unpackCodepage("xADFAMcAyQDRANYA3ADhAOAA4gDkAOMA5QDnAOkA6ADqAOsA7QDsAO4A7wDxAPMA8gD0APYA9QD6APkA+wD8ACAgsACiAKMApwAiILYA3wCuAGABIiG0AKgAYCJ9AdgAHiKxAGQiZSIGIrUAAiIRIg8iYQErIqoAugCpA34B+AC/AKEArAAaIpIBSCIGAasADAEmIKAAwADDANUAUgFTARABFCAcIB0gGCAZIPcAyiX/+KkARCCsIDkgOiDGALsAEyC3ABogHiAwIMIABwHBAA0ByADNAM4AzwDMANMA1AARAdIA2gDbANkAMQHGAtwCrwDAA8sA2gK4AMoA5gDHAg=="),
47
- "mac-farsi": unpackCodepage("xACgAMcAyQDRANYA3ADhAOAA4gDkALoGqwDnAOkA6ADqAOsA7QAmIO4A7wDxAPMAuwD0APYA9wD6APkA+wD8ACAAIQAiACMAJABqBiYAJwAoACkAKgArAAwGLQAuAC8A8AbxBvIG8wb0BvUG9gb3BvgG+QY6ABsGPAA9AD4AHwZKJyEGIgYjBiQGJQYmBicGKAYpBioGKwYsBi0GLgYvBjAGMQYyBjMGNAY1BjYGNwY4BjkGOgZbAFwAXQBeAF8AQAZBBkIGQwZEBkUGRgZHBkgGSQZKBksGTAZNBk4GTwZQBlEGUgZ+BnkGhgbVBqQGrwaIBpEGewB8AH0AmAbSBg=="),
48
- "mac-iceland": unpackCodepage("xADFAMcAyQDRANYA3ADhAOAA4gDkAOMA5QDnAOkA6ADqAOsA7QDsAO4A7wDxAPMA8gD0APYA9QD6APkA+wD8AN0AsACiAKMApwAiILYA3wCuAKkAIiG0AKgAYCLGANgAHiKxAGQiZSKlALUAAiIRIg8iwAMrIqoAugCpA+YA+AC/AKEArAAaIpIBSCIGIqsAuwAmIKAAwADDANUAUgFTARMgFCAcIB0gGCAZIPcAyiX/AHgBRCCsINAA8ADeAP4A/QC3ABogHiAwIMIAygDBAMsAyADNAM4AzwDMANMA1AD/+NIA2gDbANkAMQHGAtwCrwDYAtkC2gK4AN0C2wLHAg=="),
49
- "mac-romanian": unpackCodepage("xADFAMcAyQDRANYA3ADhAOAA4gDkAOMA5QDnAOkA6ADqAOsA7QDsAO4A7wDxAPMA8gD0APYA9QD6APkA+wD8ACAgsACiAKMApwAiILYA3wCuAKkAIiG0AKgAYCICARgCHiKxAGQiZSKlALUAAiIRIg8iwAMrIqoAugCpAwMBGQK/AKEArAAaIpIBSCIGIqsAuwAmIKAAwADDANUAUgFTARMgFCAcIB0gGCAZIPcAyiX/AHgBRCCsIDkgOiAaAhsCISC3ABogHiAwIMIAygDBAMsAyADNAM4AzwDMANMA1AD/+NIA2gDbANkAMQHGAtwCrwDYAtkC2gK4AN0C2wLHAg=="),
50
- "mac-turkish": unpackCodepage("xADFAMcAyQDRANYA3ADhAOAA4gDkAOMA5QDnAOkA6ADqAOsA7QDsAO4A7wDxAPMA8gD0APYA9QD6APkA+wD8ACAgsACiAKMApwAiILYA3wCuAKkAIiG0AKgAYCLGANgAHiKxAGQiZSKlALUAAiIRIg8iwAMrIqoAugCpA+YA+AC/AKEArAAaIpIBSCIGIqsAuwAmIKAAwADDANUAUgFTARMgFCAcIB0gGCAZIPcAyiX/AHgBHgEfATABMQFeAV8BISC3ABogHiAwIMIAygDBAMsAyADNAM4AzwDMANMA1AD/+NIA2gDbANkAoPjGAtwCrwDYAtkC2gK4AN0C2wLHAg=="),
51
- "palmos": unpackCodepage("rCCBABogkgEeICYgICAhIMYCMCBgATkgUgFmJmMmZSZgJhggGSAcIB0gIiATIBQg3AIiIWEBmwBTAZ0AngB4AaAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AA=="),
52
- "ptcp154": unpackCodepage("lgSSBO4EkwQeICYgtgSuBLIErwSgBOIEogSaBLoEuASXBBggGSAcIB0gIiATIBQgswS3BKEE4wSjBJsEuwS5BKAADgReBAgE6ASYBLAEpwABBKkA2ASrAKwA7wSuAJwEsACxBAYEVgSZBOkEtgC3AFEEFiHZBLsAWASqBKsEnQQQBBEEEgQTBBQEFQQWBBcEGAQZBBoEGwQcBB0EHgQfBCAEIQQiBCMEJAQlBCYEJwQoBCkEKgQrBCwELQQuBC8EMAQxBDIEMwQ0BDUENgQ3BDgEOQQ6BDsEPAQ9BD4EPwRABEEEQgRDBEQERQRGBEcESARJBEoESwRMBE0ETgRPBA=="),
53
- "tis-620": unpackCodepage("gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAP//AQ4CDgMOBA4FDgYOBw4IDgkOCg4LDgwODQ4ODg8OEA4RDhIOEw4UDhUOFg4XDhgOGQ4aDhsOHA4dDh4OHw4gDiEOIg4jDiQOJQ4mDicOKA4pDioOKw4sDi0OLg4vDjAOMQ4yDjMONA41DjYONw44DjkOOg7//////////z8OQA5BDkIOQw5EDkUORg5HDkgOSQ5KDksOTA5NDk4OTw5QDlEOUg5TDlQOVQ5WDlcOWA5ZDloOWw7//////////w==")
54
- });
55
-
56
- export {
57
- pythonFileCodepages
58
- };