@bluepic/embed 0.5.0 → 0.5.4

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 (106) hide show
  1. package/dist/bash-DI5WKoY1.cjs +1 -0
  2. package/dist/bash-SfqkqXwO.js +169 -0
  3. package/dist/bluepic-embed.iife.js +240 -271
  4. package/dist/bluepic-embed.umd.js +240 -271
  5. package/dist/c-Bwju34J8.js +176 -0
  6. package/dist/c-CxjdkDqU.cjs +1 -0
  7. package/dist/client-zip-Dl4jBUKQ.cjs +1 -0
  8. package/dist/client-zip-DscsL7SZ.js +254 -0
  9. package/dist/components/BxDatePickerPopover.vue.d.ts +1 -1
  10. package/dist/components/BxInput.vue.d.ts +1 -1
  11. package/dist/components/BxTag.vue.d.ts +1 -1
  12. package/dist/components/TemplateEditor/BatchEditor.vue.d.ts +14 -10
  13. package/dist/components/TemplateEditor/BxTemplateEditor.vue.d.ts +80 -64
  14. package/dist/components/TemplateEditor/TemplateView.vue.d.ts +20 -16
  15. package/dist/cpp-BNKWamrP.js +225 -0
  16. package/dist/cpp-BlYqzAb6.cjs +1 -0
  17. package/dist/css-C6p-exw3.cjs +1 -0
  18. package/dist/css-yWyfM7J9.js +140 -0
  19. package/dist/decompress-3ZSaG6Ii.cjs +15 -0
  20. package/dist/decompress-C88dmWOf.js +643 -0
  21. package/dist/embed/embed.d.ts +4416 -1454
  22. package/dist/go-DnIuztGs.js +140 -0
  23. package/dist/go-RBRkffhh.cjs +1 -0
  24. package/dist/java-CYbswnVa.js +169 -0
  25. package/dist/java-DiqBJCuC.cjs +1 -0
  26. package/dist/javascript-DaG6fU1i.js +436 -0
  27. package/dist/javascript-hWWC5YVO.cjs +1 -0
  28. package/dist/json-CW2SpMXu.cjs +1 -0
  29. package/dist/json-Cu6rbgWf.js +36 -0
  30. package/dist/main.cjs +118 -146
  31. package/dist/main.mjs +73680 -85828
  32. package/dist/markdown-BaDHGYjR.cjs +1 -0
  33. package/dist/markdown-D3Gs6FWn.js +181 -0
  34. package/dist/markdown-it-BOugFJd0.cjs +13 -0
  35. package/dist/markdown-it-bsR6HXzL.js +2875 -0
  36. package/dist/postal-mime-BnhFNwEJ.cjs +28 -0
  37. package/dist/postal-mime-Bsdi2kUR.js +3210 -0
  38. package/dist/python-D1ZXre9G.js +238 -0
  39. package/dist/python-DawLCmeM.cjs +1 -0
  40. package/dist/rolldown-runtime-CEFd7nDs.js +30 -0
  41. package/dist/rolldown-runtime-CPUxUITh.cjs +1 -0
  42. package/dist/rust-B47KpJg8.cjs +1 -0
  43. package/dist/rust-DV3X-6zd.js +169 -0
  44. package/dist/scss-BwEwJffF.cjs +1 -0
  45. package/dist/scss-DVPIh7kT.js +150 -0
  46. package/dist/sql-BsfEDS1M.cjs +1 -0
  47. package/dist/sql-CmVzGP4w.js +118 -0
  48. package/dist/style.css +2 -1
  49. package/dist/theme.cjs +1 -1
  50. package/dist/theme.mjs +1394 -1273
  51. package/dist/typescript-CjqyVRRm.cjs +1 -0
  52. package/dist/typescript-DbET6Hbh.js +521 -0
  53. package/dist/unzipit.module-CWI6YKpy.js +697 -0
  54. package/dist/unzipit.module-DLgVBmhU.cjs +1 -0
  55. package/dist/util/gallery.d.ts +21 -37
  56. package/dist/xlsx-Bm1OL5B8.js +16261 -0
  57. package/dist/xlsx-C9EeNB50.cjs +38 -0
  58. package/dist/xml-Bh8MwSUt.cjs +1 -0
  59. package/dist/xml-Bxh-tO8n.js +166 -0
  60. package/dist/yaml-CIP4hiwy.cjs +1 -0
  61. package/dist/yaml-DT7UV549.js +144 -0
  62. package/package.json +9 -5
  63. package/dist/bash-BHkfQ7MG.cjs +0 -1
  64. package/dist/bash-CPB87Egg.js +0 -377
  65. package/dist/c-B4BAHWS4.cjs +0 -1
  66. package/dist/c-C0DTNf68.js +0 -336
  67. package/dist/cpp-BfO2fOQK.cjs +0 -1
  68. package/dist/cpp-DxGBPWa5.js +0 -538
  69. package/dist/css-Cx1gP-zj.js +0 -934
  70. package/dist/css-DTF39MN3.cjs +0 -1
  71. package/dist/decompress-BGiydwyp.cjs +0 -15
  72. package/dist/decompress-D5RzmD-2.js +0 -566
  73. package/dist/go-By8nj0Vi.cjs +0 -1
  74. package/dist/go-C8VcBUsu.js +0 -156
  75. package/dist/index-C99_zLhc.js +0 -175
  76. package/dist/index-D8N6IfRw.cjs +0 -1
  77. package/dist/java-BoRJOXvw.js +0 -249
  78. package/dist/java-DFXAwvvK.cjs +0 -1
  79. package/dist/javascript-C2jY0XE6.cjs +0 -1
  80. package/dist/javascript-CgRUYx2b.js +0 -660
  81. package/dist/json-C4rahuoJ.cjs +0 -1
  82. package/dist/json-DYK-YbD3.js +0 -44
  83. package/dist/markdown-BmL9j9cU.cjs +0 -1
  84. package/dist/markdown-D19noYwn.js +0 -215
  85. package/dist/markdown-it-5-ieF6Bh.js +0 -3790
  86. package/dist/markdown-it-CLB5Jta6.cjs +0 -16
  87. package/dist/postal-mime-Df-WB8Vq.js +0 -3337
  88. package/dist/postal-mime-_7WF5UBe.cjs +0 -28
  89. package/dist/python-BBUuE3AY.js +0 -404
  90. package/dist/python-Clt6L10q.cjs +0 -1
  91. package/dist/rust-DY-oA2gr.js +0 -319
  92. package/dist/rust-_vvcEGSJ.cjs +0 -1
  93. package/dist/scss-BWo_aR1L.js +0 -919
  94. package/dist/scss-ex7iHSUb.cjs +0 -1
  95. package/dist/sql-BSlOauVK.cjs +0 -1
  96. package/dist/sql-IeKX8fQ8.js +0 -615
  97. package/dist/typescript-BHqLHF13.js +0 -755
  98. package/dist/typescript-DYRnLHqF.cjs +0 -1
  99. package/dist/unzipit.module-4zGfAuq6.cjs +0 -1
  100. package/dist/unzipit.module-qN5XWVVT.js +0 -649
  101. package/dist/xlsx-BopDBbWb.js +0 -24176
  102. package/dist/xlsx-qn1xoUuv.cjs +0 -105
  103. package/dist/xml-Bse49fPV.js +0 -212
  104. package/dist/xml-CVmug_x4.cjs +0 -1
  105. package/dist/yaml-BslECvWp.js +0 -183
  106. package/dist/yaml-C6zsmLZx.cjs +0 -1
@@ -1,3337 +0,0 @@
1
- const E = new TextEncoder(), R = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", B = new Uint8Array(256);
2
- for (let s = 0; s < R.length; s++)
3
- B[R.charCodeAt(s)] = s;
4
- function _(s) {
5
- let u = s.length;
6
- for (; u > 0 && s.charAt(u - 1) === "="; )
7
- u--;
8
- u % 4 === 1 && u--;
9
- const r = u % 4, t = Math.floor(u / 4) * 3 + (r ? r - 1 : 0), i = new ArrayBuffer(t), n = new Uint8Array(i);
10
- let e = 0;
11
- for (let a = 0; a < u; a += 4) {
12
- let o = B[s.charCodeAt(a)], c = B[s.charCodeAt(a + 1)], l = B[s.charCodeAt(a + 2)], p = B[s.charCodeAt(a + 3)];
13
- n[e++] = o << 2 | c >> 4, e < t && (n[e++] = (c & 15) << 4 | l >> 2), e < t && (n[e++] = (l & 3) << 6 | p & 63);
14
- }
15
- return i;
16
- }
17
- const J = /* @__PURE__ */ new Map([
18
- // Hebrew. The logical and explicit ordering variants share the iso-8859-8 index.
19
- ["iso88598i", "iso-8859-8"],
20
- ["iso88598e", "iso-8859-8"],
21
- // Japanese. WHATWG shift_jis is the Windows-31J index, so cp932 text decodes
22
- // identically, including the NEC and IBM extension rows.
23
- ["shiftjis", "shift_jis"],
24
- ["windows31j", "shift_jis"],
25
- ["mskanji", "shift_jis"],
26
- ["eucjp", "euc-jp"],
27
- // ISO-2022-JP, including the -1 / -2 supersets. Escape sequences outside plain
28
- // ISO-2022-JP (JIS X 0212, the non-Japanese G2 sets, and the SO/SI katakana shifts
29
- // cp50222 uses) decode to replacement characters, but the Japanese text around them
30
- // still comes out right.
31
- ["iso2022jp", "iso-2022-jp"],
32
- ["iso2022jp1", "iso-2022-jp"],
33
- ["iso2022jp2", "iso-2022-jp"],
34
- ["junet", "iso-2022-jp"],
35
- // Korean. The WHATWG euc-kr index is the extended cp949 / UHC index.
36
- ["euckr", "euc-kr"],
37
- ["uhc", "euc-kr"],
38
- // Thai.
39
- ["tis620", "windows-874"]
40
- ]), Y = /* @__PURE__ */ new Map([
41
- ["932", "shift_jis"],
42
- ["936", "gbk"],
43
- ["949", "euc-kr"],
44
- ["950", "big5"],
45
- ["874", "windows-874"],
46
- // Microsoft's EUC-JP and ISO-2022-JP variants. euc-jp and iso-2022-jp cover
47
- // everything they can express.
48
- ["51932", "euc-jp"],
49
- ["50220", "iso-2022-jp"],
50
- ["50221", "iso-2022-jp"],
51
- ["50222", "iso-2022-jp"]
52
- ]), Z = /^(?:cp|windows|ms|ibm)(\d+)$/;
53
- function X(s) {
54
- return s.replace(/^(?:x-ms-|x-|cs)/, "").replace(/[\s._-]+/g, "");
55
- }
56
- function U(s) {
57
- try {
58
- return new TextDecoder(s);
59
- } catch {
60
- return null;
61
- }
62
- }
63
- function N(s) {
64
- s = (s || "utf8").trim().toLowerCase();
65
- const u = U(s);
66
- if (u)
67
- return u;
68
- const r = X(s), t = r.match(Z), i = t && Y.get(t[1]) || J.get(r) || r;
69
- return U(i) || new TextDecoder("windows-1252");
70
- }
71
- async function x(s) {
72
- if ("arrayBuffer" in s)
73
- return await s.arrayBuffer();
74
- const u = new FileReader();
75
- return new Promise((r, t) => {
76
- u.onload = function(i) {
77
- r(i.target.result);
78
- }, u.onerror = function(i) {
79
- t(u.error);
80
- }, u.readAsArrayBuffer(s);
81
- });
82
- }
83
- function F(s) {
84
- return s >= 48 && s <= 57 ? s - 48 : s >= 97 && s <= 102 ? s - 97 + 10 : s >= 65 && s <= 70 ? s - 65 + 10 : -1;
85
- }
86
- function q(s, u, r) {
87
- let t = s.indexOf("*");
88
- t >= 0 && (s = s.substr(0, t)), u = u.toUpperCase();
89
- let i;
90
- if (u === "Q") {
91
- r = r.replace(/=\s+([0-9a-fA-F])/g, "=$1").replace(/[_\s]/g, " ");
92
- let n = E.encode(r), e = [];
93
- for (let o = 0, c = n.length; o < c; o++) {
94
- let l = n[o];
95
- if (o <= c - 2 && l === 61) {
96
- let p = F(n[o + 1]), f = F(n[o + 2]);
97
- if (p >= 0 && f >= 0) {
98
- e.push(p << 4 | f), o += 2;
99
- continue;
100
- }
101
- }
102
- e.push(l);
103
- }
104
- i = new ArrayBuffer(e.length);
105
- let a = new DataView(i);
106
- for (let o = 0, c = e.length; o < c; o++)
107
- a.setUint8(o, e[o]);
108
- } else u === "B" ? i = _(r.replace(/[^a-zA-Z0-9\+\/=]+/g, "")) : i = E.encode(r);
109
- return N(s).decode(i);
110
- }
111
- const W = "=\\?([^?\\s]+)\\?([QqBb])\\?([^?]*)\\?=", P = new RegExp(W, "g"), uu = /^[ \t\r\n]+$/, eu = new RegExp(`^(?:${W}\\s*)+$`);
112
- function tu(s) {
113
- return eu.test(s);
114
- }
115
- function ru(s) {
116
- const u = [];
117
- P.lastIndex = 0;
118
- let r = 0, t;
119
- for (; t = P.exec(s); )
120
- t.index > r && u.push({ text: s.substring(r, t.index) }), u.push({ charset: t[1], encoding: t[2], encodedText: t[3] }), r = t.index + t[0].length;
121
- return r < s.length && u.push({ text: s.substring(r) }), u;
122
- }
123
- function su(s, u) {
124
- const r = s.encoding.toUpperCase();
125
- return s.charset !== u.charset || r !== u.encoding.toUpperCase() ? !1 : r === "B" ? s.encodedText.length % 4 === 0 && !/=$/.test(s.encodedText) : !0;
126
- }
127
- function H(s, u) {
128
- let r = "", t = null;
129
- for (let i = 0; i < s.length; i++) {
130
- const n = s[i];
131
- if (n.text !== void 0) {
132
- const e = s[i + 1];
133
- if (t && e && e.text === void 0 && uu.test(n.text))
134
- continue;
135
- t && (r += q(t.charset, t.encoding, t.encodedText), t = null), r += n.text;
136
- continue;
137
- }
138
- if (t && u && su(t, n)) {
139
- t.encodedText += n.encodedText;
140
- continue;
141
- }
142
- t && (r += q(t.charset, t.encoding, t.encodedText)), t = { charset: n.charset, encoding: n.encoding, encodedText: n.encodedText };
143
- }
144
- return t && (r += q(t.charset, t.encoding, t.encodedText)), r;
145
- }
146
- function C(s) {
147
- const u = ru((s || "").toString()), r = H(u, !0);
148
- return r.indexOf("�") < 0 ? r : H(u, !1);
149
- }
150
- function O(s, u) {
151
- u = u || "utf-8";
152
- let r = [];
153
- for (let n = 0; n < s.length; n++) {
154
- let e = s.charAt(n);
155
- if (e === "%" && /^[a-f0-9]{2}/i.test(s.substr(n + 1, 2))) {
156
- let a = s.substr(n + 1, 2);
157
- n += 2, r.push(parseInt(a, 16));
158
- } else if (e.charCodeAt(0) > 126) {
159
- e = E.encode(e);
160
- for (let a = 0; a < e.length; a++)
161
- r.push(e[a]);
162
- } else
163
- r.push(e.charCodeAt(0));
164
- }
165
- const t = new ArrayBuffer(r.length), i = new DataView(t);
166
- for (let n = 0, e = r.length; n < e; n++)
167
- i.setUint8(n, r[n]);
168
- return N(u).decode(t);
169
- }
170
- function au(s) {
171
- let u = /* @__PURE__ */ new Map();
172
- Object.keys(s.params).forEach((r) => {
173
- let t = r.match(/\*((\d+)\*?)?$/);
174
- if (!t)
175
- return;
176
- let i = r.substr(0, t.index).toLowerCase(), n = Number(t[2]) || 0, e;
177
- u.has(i) ? e = u.get(i) : (e = {
178
- charset: !1,
179
- values: []
180
- }, u.set(i, e));
181
- let a = s.params[r], o = t[0].charAt(t[0].length - 1) === "*";
182
- n === 0 && o && (t = a.match(/^([^']*)'[^']*'(.*)$/)) && (e.charset = t[1] || "utf-8", a = t[2]), e.values.push({ nr: n, value: a, encoded: o }), delete s.params[r];
183
- }), u.forEach((r, t) => {
184
- let i = "", n = "";
185
- for (let e of r.values.sort((a, o) => a.nr - o.nr)) {
186
- if (e.encoded) {
187
- n += e.value;
188
- continue;
189
- }
190
- n && (i += O(n, r.charset), n = ""), i += e.value;
191
- }
192
- n && (i += O(n, r.charset)), s.params[t] = i;
193
- });
194
- }
195
- class iu {
196
- constructor() {
197
- this.chunks = [];
198
- }
199
- update(u) {
200
- this.chunks.push(u), this.chunks.push(`
201
- `);
202
- }
203
- finalize() {
204
- return x(new Blob(this.chunks, { type: "application/octet-stream" }));
205
- }
206
- }
207
- class nu {
208
- constructor(u) {
209
- u = u || {}, this.decoder = u.decoder || new TextDecoder(), this.maxChunkSize = 100 * 1024, this.chunks = [], this.remainder = "";
210
- }
211
- pushChunk(u) {
212
- u.length && this.chunks.push(_(u));
213
- }
214
- flushRemainder() {
215
- this.pushChunk(this.remainder), this.remainder = "";
216
- }
217
- update(u) {
218
- const t = this.decoder.decode(u).replace(/[^a-zA-Z0-9+/=]+/g, "").split(/=+/);
219
- for (let i = 0; i < t.length; i++)
220
- this.remainder += t[i], i < t.length - 1 && this.flushRemainder();
221
- if (this.remainder.length >= this.maxChunkSize) {
222
- const i = Math.floor(this.remainder.length / 4) * 4;
223
- this.pushChunk(this.remainder.substring(0, i)), this.remainder = this.remainder.substring(i);
224
- }
225
- }
226
- finalize() {
227
- return this.flushRemainder(), x(new Blob(this.chunks, { type: "application/octet-stream" }));
228
- }
229
- }
230
- const j = 61, ou = 10;
231
- class lu {
232
- constructor() {
233
- this.maxChunkSize = 100 * 1024, this.buffer = new Uint8Array(this.maxChunkSize), this.bufferPos = 0, this.chunks = [];
234
- }
235
- writeByte(u) {
236
- this.bufferPos >= this.buffer.length && this.flushBuffer(), this.buffer[this.bufferPos++] = u;
237
- }
238
- // Literal text is the bulk of a typical body, so it is copied in runs rather than a
239
- // byte at a time
240
- writeBytes(u, r, t) {
241
- for (; r < t; ) {
242
- this.bufferPos >= this.buffer.length && this.flushBuffer();
243
- const i = Math.min(t - r, this.buffer.length - this.bufferPos);
244
- this.buffer.set(u.subarray(r, r + i), this.bufferPos), this.bufferPos += i, r += i;
245
- }
246
- }
247
- flushBuffer() {
248
- this.bufferPos && (this.chunks.push(this.buffer.slice(0, this.bufferPos)), this.bufferPos = 0);
249
- }
250
- // Quoted-printable source is 7 bit by definition, so it is decoded byte by byte and
251
- // the result is handed on as bytes. Running the body charset over the encoded source
252
- // instead corrupted every part whose charset was not ASCII compatible: the same
253
- // content that decoded correctly in base64 came out as mojibake in quoted-printable.
254
- update(u) {
255
- let r = u.length;
256
- const t = r > 0 && u[r - 1] === j;
257
- t && r--;
258
- let i = 0;
259
- for (let n = 0; n < r; n++) {
260
- if (u[n] !== j || n + 2 >= r)
261
- continue;
262
- const e = F(u[n + 1]), a = F(u[n + 2]);
263
- e < 0 || a < 0 || (this.writeBytes(u, i, n), this.writeByte(e << 4 | a), n += 2, i = n + 1);
264
- }
265
- this.writeBytes(u, i, r), t || this.writeByte(ou);
266
- }
267
- finalize() {
268
- return this.flushBuffer(), x(new Blob(this.chunks, { type: "application/octet-stream" }));
269
- }
270
- }
271
- const cu = new TextDecoder("utf-8", { ignoreBOM: !0 }), k = (s) => s.replace(/^[ \t]+|[ \t]+$/g, ""), pu = /* @__PURE__ */ new Set([
272
- "content-type",
273
- "content-transfer-encoding",
274
- "content-disposition",
275
- "content-id",
276
- "content-description"
277
- ]);
278
- class z {
279
- constructor(u) {
280
- if (this.options = u || {}, this.postalMime = this.options.postalMime, this.childNodes = [], this.finalizedChildCount = 0, this.options.parentNode) {
281
- if (this.parentNode = this.options.parentNode, this.depth = this.parentNode.depth + 1, this.depth > this.options.maxNestingDepth)
282
- throw new Error(`Maximum MIME nesting depth of ${this.options.maxNestingDepth} levels exceeded`);
283
- this.options.parentNode.childNodes.push(this);
284
- } else
285
- this.depth = 0;
286
- this.state = "header", this.headerLines = [];
287
- const t = (this.options.parentMultipartType || null) === "digest" ? "message/rfc822" : "text/plain";
288
- this.contentType = {
289
- value: t
290
- }, this.contentTransferEncoding = {
291
- value: "8bit"
292
- }, this.contentDisposition = {
293
- value: ""
294
- }, this.headers = [], this.contentDecoder = !1;
295
- }
296
- setupContentDecoder(u) {
297
- /base64/i.test(u) ? this.contentDecoder = new nu() : /quoted-printable/i.test(u) ? this.contentDecoder = new lu() : this.contentDecoder = new iu();
298
- }
299
- async finalize() {
300
- if (this.state === "finished")
301
- return;
302
- this.state === "header" && this.processHeaders();
303
- let u = this.postalMime.boundaries;
304
- for (let r = u.length - 1; r >= 0; r--)
305
- if (u[r].node === this) {
306
- u.splice(r, 1);
307
- break;
308
- }
309
- await this.finalizeChildNodes(), this.content = this.contentDecoder ? await this.contentDecoder.finalize() : null, this.contentDecoder = !1, this.state = "finished";
310
- }
311
- async finalizeChildNodes() {
312
- for (; this.finalizedChildCount < this.childNodes.length; )
313
- await this.childNodes[this.finalizedChildCount++].finalize();
314
- }
315
- // Strip RFC 822 comments (parenthesized text) from structured header values.
316
- //
317
- // Inside an unquoted parameter value a parenthesis that continues the current token is
318
- // content, because `filename=Invoice(1).pdf` is a filename and not a token followed by
319
- // a comment, and deleting the parens silently renames the attachment.
320
- stripComments(u) {
321
- let r = "", t = 0, i = !1, n = !1, e = -1, a = !1;
322
- const o = () => !a || !r.length || /[ \t]$/.test(r);
323
- for (let c = 0; c < u.length; c++) {
324
- const l = u.charAt(c);
325
- if (i) {
326
- t === 0 && (r += l), i = !1;
327
- continue;
328
- }
329
- if (l === "\\") {
330
- i = !0, t === 0 && (r += l);
331
- continue;
332
- }
333
- if (l === '"' && t === 0) {
334
- n = !n, r += l;
335
- continue;
336
- }
337
- if (!n) {
338
- if (l === "(" && o()) {
339
- t === 0 && (e = c), t++;
340
- continue;
341
- }
342
- if (l === ")" && t > 0) {
343
- t--;
344
- continue;
345
- }
346
- t === 0 && (l === "=" ? a = !0 : l === ";" && (a = !1));
347
- }
348
- t === 0 && (r += l);
349
- }
350
- return t === 0 || u.indexOf(";", e) < 0 ? r : u;
351
- }
352
- parseStructuredHeader(u) {
353
- u = this.stripComments(u);
354
- let r = {
355
- value: !1,
356
- params: {}
357
- }, t = !1, i = "", n = "value", e = "", a = !1, o = !1, c = !1, l;
358
- const p = (h) => {
359
- i.length && (i += e), e = "", i += h;
360
- }, f = () => {
361
- const h = i;
362
- return i = "", e = "", a = !1, h;
363
- }, b = (h, d) => {
364
- Object.prototype.hasOwnProperty.call(r.params, h) || (r.params[h] = d);
365
- }, A = () => {
366
- const h = f();
367
- t === !1 ? r.value = h : b(t, h);
368
- }, m = () => {
369
- const h = f().trim();
370
- h && b(h.toLowerCase(), "");
371
- };
372
- for (let h = 0, d = u.length; h < d; h++)
373
- switch (l = u.charAt(h), n) {
374
- case "key":
375
- if (l === "=") {
376
- t = f().trim().toLowerCase(), n = "value";
377
- break;
378
- }
379
- if (l === ";") {
380
- m();
381
- break;
382
- }
383
- i += l;
384
- break;
385
- case "value":
386
- if (c)
387
- p(l);
388
- else if (o && l === "\\") {
389
- c = !0;
390
- continue;
391
- } else o && l === o ? (o = !1, a = !0) : !o && l === '"' ? (o = l, i.length && (i += e), e = "") : !o && l === ";" ? (A(), n = "key") : !o && (l === " " || l === " ") ? e += l : a || p(l);
392
- c = !1;
393
- break;
394
- }
395
- return n === "value" ? A() : m(), r.value && (r.value = r.value.toLowerCase()), au(r), r;
396
- }
397
- decodeFlowedText(u, r) {
398
- return u.split(/\r?\n/).map((t) => t.charAt(0) === " " ? t.slice(1) : t).reduce((t, i) => t.endsWith(" ") && t !== "-- " && !t.endsWith(`
399
- -- `) ? r ? t.slice(0, -1) + i : t + i : t + `
400
- ` + i);
401
- }
402
- getTextContent() {
403
- if (!this.content)
404
- return "";
405
- let u = N(this.contentType.parsed.params.charset).decode(this.content);
406
- return /^flowed$/i.test(this.contentType.parsed.params.format) && (u = this.decodeFlowedText(u, /^yes$/i.test(this.contentType.parsed.params.delsp))), u;
407
- }
408
- processHeaders() {
409
- let u = [];
410
- for (let t of this.headerLines)
411
- u.length && /^[ \t]/.test(t) ? u[u.length - 1].push(t) : u.push([t]);
412
- this.rawHeaderLines = [];
413
- let r = /* @__PURE__ */ new Set();
414
- for (let t of u) {
415
- let i = t.join(`
416
- `), n = i.indexOf(":"), e = k(n < 0 ? i : i.substr(0, n));
417
- this.rawHeaderLines.push({
418
- key: e.toLowerCase(),
419
- line: i
420
- });
421
- let a = t.join("");
422
- n = a.indexOf(":");
423
- let o = k(n < 0 ? a : a.substr(0, n)), c = n < 0 ? "" : k(a.substr(n + 1).replace(/[\r\n]+/g, " "));
424
- this.headers.push({ key: o.toLowerCase(), originalKey: o, value: c });
425
- const l = o.toLowerCase();
426
- if (pu.has(l) && !r.has(l))
427
- switch (r.add(l), l) {
428
- case "content-type":
429
- this.contentType = { value: c, parsed: {} };
430
- break;
431
- case "content-transfer-encoding":
432
- this.contentTransferEncoding = { value: c, parsed: {} };
433
- break;
434
- case "content-disposition":
435
- this.contentDisposition = { value: c, parsed: {} };
436
- break;
437
- case "content-id":
438
- this.contentId = c;
439
- break;
440
- case "content-description":
441
- this.contentDescription = c;
442
- break;
443
- }
444
- }
445
- this.contentType.parsed = this.parseStructuredHeader(this.contentType.value), this.contentType.multipart = /^multipart\//i.test(this.contentType.parsed.value) ? this.contentType.parsed.value.substr(this.contentType.parsed.value.indexOf("/") + 1) : !1, this.contentType.multipart && this.contentType.parsed.params.boundary && this.postalMime.boundaries.push({
446
- value: E.encode(this.contentType.parsed.params.boundary),
447
- node: this
448
- }), this.contentDisposition.parsed = this.parseStructuredHeader(this.contentDisposition.value), this.contentTransferEncoding.encoding = (this.stripComments(this.contentTransferEncoding.value).toLowerCase().match(/[\w-]+/) || [""])[0], this.setupContentDecoder(this.contentTransferEncoding.encoding);
449
- }
450
- feed(u) {
451
- switch (this.state) {
452
- case "header":
453
- if (!u.length)
454
- return this.state = "body", this.processHeaders();
455
- if (this.postalMime.headerSize += u.length, this.postalMime.headerSize > this.options.maxHeadersSize)
456
- throw new Error(`Maximum header size of ${this.options.maxHeadersSize} bytes exceeded`);
457
- this.headerLines.push(cu.decode(u));
458
- break;
459
- case "body":
460
- this.contentDecoder.update(u);
461
- }
462
- }
463
- }
464
- const M = {
465
- "&AElig": "Æ",
466
- "&AElig;": "Æ",
467
- "&AMP": "&",
468
- "&AMP;": "&",
469
- "&Aacute": "Á",
470
- "&Aacute;": "Á",
471
- "&Abreve;": "Ă",
472
- "&Acirc": "Â",
473
- "&Acirc;": "Â",
474
- "&Acy;": "А",
475
- "&Afr;": "𝔄",
476
- "&Agrave": "À",
477
- "&Agrave;": "À",
478
- "&Alpha;": "Α",
479
- "&Amacr;": "Ā",
480
- "&And;": "⩓",
481
- "&Aogon;": "Ą",
482
- "&Aopf;": "𝔸",
483
- "&ApplyFunction;": "⁡",
484
- "&Aring": "Å",
485
- "&Aring;": "Å",
486
- "&Ascr;": "𝒜",
487
- "&Assign;": "≔",
488
- "&Atilde": "Ã",
489
- "&Atilde;": "Ã",
490
- "&Auml": "Ä",
491
- "&Auml;": "Ä",
492
- "&Backslash;": "∖",
493
- "&Barv;": "⫧",
494
- "&Barwed;": "⌆",
495
- "&Bcy;": "Б",
496
- "&Because;": "∵",
497
- "&Bernoullis;": "ℬ",
498
- "&Beta;": "Β",
499
- "&Bfr;": "𝔅",
500
- "&Bopf;": "𝔹",
501
- "&Breve;": "˘",
502
- "&Bscr;": "ℬ",
503
- "&Bumpeq;": "≎",
504
- "&CHcy;": "Ч",
505
- "&COPY": "©",
506
- "&COPY;": "©",
507
- "&Cacute;": "Ć",
508
- "&Cap;": "⋒",
509
- "&CapitalDifferentialD;": "ⅅ",
510
- "&Cayleys;": "ℭ",
511
- "&Ccaron;": "Č",
512
- "&Ccedil": "Ç",
513
- "&Ccedil;": "Ç",
514
- "&Ccirc;": "Ĉ",
515
- "&Cconint;": "∰",
516
- "&Cdot;": "Ċ",
517
- "&Cedilla;": "¸",
518
- "&CenterDot;": "·",
519
- "&Cfr;": "ℭ",
520
- "&Chi;": "Χ",
521
- "&CircleDot;": "⊙",
522
- "&CircleMinus;": "⊖",
523
- "&CirclePlus;": "⊕",
524
- "&CircleTimes;": "⊗",
525
- "&ClockwiseContourIntegral;": "∲",
526
- "&CloseCurlyDoubleQuote;": "”",
527
- "&CloseCurlyQuote;": "’",
528
- "&Colon;": "∷",
529
- "&Colone;": "⩴",
530
- "&Congruent;": "≡",
531
- "&Conint;": "∯",
532
- "&ContourIntegral;": "∮",
533
- "&Copf;": "ℂ",
534
- "&Coproduct;": "∐",
535
- "&CounterClockwiseContourIntegral;": "∳",
536
- "&Cross;": "⨯",
537
- "&Cscr;": "𝒞",
538
- "&Cup;": "⋓",
539
- "&CupCap;": "≍",
540
- "&DD;": "ⅅ",
541
- "&DDotrahd;": "⤑",
542
- "&DJcy;": "Ђ",
543
- "&DScy;": "Ѕ",
544
- "&DZcy;": "Џ",
545
- "&Dagger;": "‡",
546
- "&Darr;": "↡",
547
- "&Dashv;": "⫤",
548
- "&Dcaron;": "Ď",
549
- "&Dcy;": "Д",
550
- "&Del;": "∇",
551
- "&Delta;": "Δ",
552
- "&Dfr;": "𝔇",
553
- "&DiacriticalAcute;": "´",
554
- "&DiacriticalDot;": "˙",
555
- "&DiacriticalDoubleAcute;": "˝",
556
- "&DiacriticalGrave;": "`",
557
- "&DiacriticalTilde;": "˜",
558
- "&Diamond;": "⋄",
559
- "&DifferentialD;": "ⅆ",
560
- "&Dopf;": "𝔻",
561
- "&Dot;": "¨",
562
- "&DotDot;": "⃜",
563
- "&DotEqual;": "≐",
564
- "&DoubleContourIntegral;": "∯",
565
- "&DoubleDot;": "¨",
566
- "&DoubleDownArrow;": "⇓",
567
- "&DoubleLeftArrow;": "⇐",
568
- "&DoubleLeftRightArrow;": "⇔",
569
- "&DoubleLeftTee;": "⫤",
570
- "&DoubleLongLeftArrow;": "⟸",
571
- "&DoubleLongLeftRightArrow;": "⟺",
572
- "&DoubleLongRightArrow;": "⟹",
573
- "&DoubleRightArrow;": "⇒",
574
- "&DoubleRightTee;": "⊨",
575
- "&DoubleUpArrow;": "⇑",
576
- "&DoubleUpDownArrow;": "⇕",
577
- "&DoubleVerticalBar;": "∥",
578
- "&DownArrow;": "↓",
579
- "&DownArrowBar;": "⤓",
580
- "&DownArrowUpArrow;": "⇵",
581
- "&DownBreve;": "̑",
582
- "&DownLeftRightVector;": "⥐",
583
- "&DownLeftTeeVector;": "⥞",
584
- "&DownLeftVector;": "↽",
585
- "&DownLeftVectorBar;": "⥖",
586
- "&DownRightTeeVector;": "⥟",
587
- "&DownRightVector;": "⇁",
588
- "&DownRightVectorBar;": "⥗",
589
- "&DownTee;": "⊤",
590
- "&DownTeeArrow;": "↧",
591
- "&Downarrow;": "⇓",
592
- "&Dscr;": "𝒟",
593
- "&Dstrok;": "Đ",
594
- "&ENG;": "Ŋ",
595
- "&ETH": "Ð",
596
- "&ETH;": "Ð",
597
- "&Eacute": "É",
598
- "&Eacute;": "É",
599
- "&Ecaron;": "Ě",
600
- "&Ecirc": "Ê",
601
- "&Ecirc;": "Ê",
602
- "&Ecy;": "Э",
603
- "&Edot;": "Ė",
604
- "&Efr;": "𝔈",
605
- "&Egrave": "È",
606
- "&Egrave;": "È",
607
- "&Element;": "∈",
608
- "&Emacr;": "Ē",
609
- "&EmptySmallSquare;": "◻",
610
- "&EmptyVerySmallSquare;": "▫",
611
- "&Eogon;": "Ę",
612
- "&Eopf;": "𝔼",
613
- "&Epsilon;": "Ε",
614
- "&Equal;": "⩵",
615
- "&EqualTilde;": "≂",
616
- "&Equilibrium;": "⇌",
617
- "&Escr;": "ℰ",
618
- "&Esim;": "⩳",
619
- "&Eta;": "Η",
620
- "&Euml": "Ë",
621
- "&Euml;": "Ë",
622
- "&Exists;": "∃",
623
- "&ExponentialE;": "ⅇ",
624
- "&Fcy;": "Ф",
625
- "&Ffr;": "𝔉",
626
- "&FilledSmallSquare;": "◼",
627
- "&FilledVerySmallSquare;": "▪",
628
- "&Fopf;": "𝔽",
629
- "&ForAll;": "∀",
630
- "&Fouriertrf;": "ℱ",
631
- "&Fscr;": "ℱ",
632
- "&GJcy;": "Ѓ",
633
- "&GT": ">",
634
- "&GT;": ">",
635
- "&Gamma;": "Γ",
636
- "&Gammad;": "Ϝ",
637
- "&Gbreve;": "Ğ",
638
- "&Gcedil;": "Ģ",
639
- "&Gcirc;": "Ĝ",
640
- "&Gcy;": "Г",
641
- "&Gdot;": "Ġ",
642
- "&Gfr;": "𝔊",
643
- "&Gg;": "⋙",
644
- "&Gopf;": "𝔾",
645
- "&GreaterEqual;": "≥",
646
- "&GreaterEqualLess;": "⋛",
647
- "&GreaterFullEqual;": "≧",
648
- "&GreaterGreater;": "⪢",
649
- "&GreaterLess;": "≷",
650
- "&GreaterSlantEqual;": "⩾",
651
- "&GreaterTilde;": "≳",
652
- "&Gscr;": "𝒢",
653
- "&Gt;": "≫",
654
- "&HARDcy;": "Ъ",
655
- "&Hacek;": "ˇ",
656
- "&Hat;": "^",
657
- "&Hcirc;": "Ĥ",
658
- "&Hfr;": "ℌ",
659
- "&HilbertSpace;": "ℋ",
660
- "&Hopf;": "ℍ",
661
- "&HorizontalLine;": "─",
662
- "&Hscr;": "ℋ",
663
- "&Hstrok;": "Ħ",
664
- "&HumpDownHump;": "≎",
665
- "&HumpEqual;": "≏",
666
- "&IEcy;": "Е",
667
- "&IJlig;": "IJ",
668
- "&IOcy;": "Ё",
669
- "&Iacute": "Í",
670
- "&Iacute;": "Í",
671
- "&Icirc": "Î",
672
- "&Icirc;": "Î",
673
- "&Icy;": "И",
674
- "&Idot;": "İ",
675
- "&Ifr;": "ℑ",
676
- "&Igrave": "Ì",
677
- "&Igrave;": "Ì",
678
- "&Im;": "ℑ",
679
- "&Imacr;": "Ī",
680
- "&ImaginaryI;": "ⅈ",
681
- "&Implies;": "⇒",
682
- "&Int;": "∬",
683
- "&Integral;": "∫",
684
- "&Intersection;": "⋂",
685
- "&InvisibleComma;": "⁣",
686
- "&InvisibleTimes;": "⁢",
687
- "&Iogon;": "Į",
688
- "&Iopf;": "𝕀",
689
- "&Iota;": "Ι",
690
- "&Iscr;": "ℐ",
691
- "&Itilde;": "Ĩ",
692
- "&Iukcy;": "І",
693
- "&Iuml": "Ï",
694
- "&Iuml;": "Ï",
695
- "&Jcirc;": "Ĵ",
696
- "&Jcy;": "Й",
697
- "&Jfr;": "𝔍",
698
- "&Jopf;": "𝕁",
699
- "&Jscr;": "𝒥",
700
- "&Jsercy;": "Ј",
701
- "&Jukcy;": "Є",
702
- "&KHcy;": "Х",
703
- "&KJcy;": "Ќ",
704
- "&Kappa;": "Κ",
705
- "&Kcedil;": "Ķ",
706
- "&Kcy;": "К",
707
- "&Kfr;": "𝔎",
708
- "&Kopf;": "𝕂",
709
- "&Kscr;": "𝒦",
710
- "&LJcy;": "Љ",
711
- "&LT": "<",
712
- "&LT;": "<",
713
- "&Lacute;": "Ĺ",
714
- "&Lambda;": "Λ",
715
- "&Lang;": "⟪",
716
- "&Laplacetrf;": "ℒ",
717
- "&Larr;": "↞",
718
- "&Lcaron;": "Ľ",
719
- "&Lcedil;": "Ļ",
720
- "&Lcy;": "Л",
721
- "&LeftAngleBracket;": "⟨",
722
- "&LeftArrow;": "←",
723
- "&LeftArrowBar;": "⇤",
724
- "&LeftArrowRightArrow;": "⇆",
725
- "&LeftCeiling;": "⌈",
726
- "&LeftDoubleBracket;": "⟦",
727
- "&LeftDownTeeVector;": "⥡",
728
- "&LeftDownVector;": "⇃",
729
- "&LeftDownVectorBar;": "⥙",
730
- "&LeftFloor;": "⌊",
731
- "&LeftRightArrow;": "↔",
732
- "&LeftRightVector;": "⥎",
733
- "&LeftTee;": "⊣",
734
- "&LeftTeeArrow;": "↤",
735
- "&LeftTeeVector;": "⥚",
736
- "&LeftTriangle;": "⊲",
737
- "&LeftTriangleBar;": "⧏",
738
- "&LeftTriangleEqual;": "⊴",
739
- "&LeftUpDownVector;": "⥑",
740
- "&LeftUpTeeVector;": "⥠",
741
- "&LeftUpVector;": "↿",
742
- "&LeftUpVectorBar;": "⥘",
743
- "&LeftVector;": "↼",
744
- "&LeftVectorBar;": "⥒",
745
- "&Leftarrow;": "⇐",
746
- "&Leftrightarrow;": "⇔",
747
- "&LessEqualGreater;": "⋚",
748
- "&LessFullEqual;": "≦",
749
- "&LessGreater;": "≶",
750
- "&LessLess;": "⪡",
751
- "&LessSlantEqual;": "⩽",
752
- "&LessTilde;": "≲",
753
- "&Lfr;": "𝔏",
754
- "&Ll;": "⋘",
755
- "&Lleftarrow;": "⇚",
756
- "&Lmidot;": "Ŀ",
757
- "&LongLeftArrow;": "⟵",
758
- "&LongLeftRightArrow;": "⟷",
759
- "&LongRightArrow;": "⟶",
760
- "&Longleftarrow;": "⟸",
761
- "&Longleftrightarrow;": "⟺",
762
- "&Longrightarrow;": "⟹",
763
- "&Lopf;": "𝕃",
764
- "&LowerLeftArrow;": "↙",
765
- "&LowerRightArrow;": "↘",
766
- "&Lscr;": "ℒ",
767
- "&Lsh;": "↰",
768
- "&Lstrok;": "Ł",
769
- "&Lt;": "≪",
770
- "&Map;": "⤅",
771
- "&Mcy;": "М",
772
- "&MediumSpace;": " ",
773
- "&Mellintrf;": "ℳ",
774
- "&Mfr;": "𝔐",
775
- "&MinusPlus;": "∓",
776
- "&Mopf;": "𝕄",
777
- "&Mscr;": "ℳ",
778
- "&Mu;": "Μ",
779
- "&NJcy;": "Њ",
780
- "&Nacute;": "Ń",
781
- "&Ncaron;": "Ň",
782
- "&Ncedil;": "Ņ",
783
- "&Ncy;": "Н",
784
- "&NegativeMediumSpace;": "​",
785
- "&NegativeThickSpace;": "​",
786
- "&NegativeThinSpace;": "​",
787
- "&NegativeVeryThinSpace;": "​",
788
- "&NestedGreaterGreater;": "≫",
789
- "&NestedLessLess;": "≪",
790
- "&NewLine;": `
791
- `,
792
- "&Nfr;": "𝔑",
793
- "&NoBreak;": "⁠",
794
- "&NonBreakingSpace;": " ",
795
- "&Nopf;": "ℕ",
796
- "&Not;": "⫬",
797
- "&NotCongruent;": "≢",
798
- "&NotCupCap;": "≭",
799
- "&NotDoubleVerticalBar;": "∦",
800
- "&NotElement;": "∉",
801
- "&NotEqual;": "≠",
802
- "&NotEqualTilde;": "≂̸",
803
- "&NotExists;": "∄",
804
- "&NotGreater;": "≯",
805
- "&NotGreaterEqual;": "≱",
806
- "&NotGreaterFullEqual;": "≧̸",
807
- "&NotGreaterGreater;": "≫̸",
808
- "&NotGreaterLess;": "≹",
809
- "&NotGreaterSlantEqual;": "⩾̸",
810
- "&NotGreaterTilde;": "≵",
811
- "&NotHumpDownHump;": "≎̸",
812
- "&NotHumpEqual;": "≏̸",
813
- "&NotLeftTriangle;": "⋪",
814
- "&NotLeftTriangleBar;": "⧏̸",
815
- "&NotLeftTriangleEqual;": "⋬",
816
- "&NotLess;": "≮",
817
- "&NotLessEqual;": "≰",
818
- "&NotLessGreater;": "≸",
819
- "&NotLessLess;": "≪̸",
820
- "&NotLessSlantEqual;": "⩽̸",
821
- "&NotLessTilde;": "≴",
822
- "&NotNestedGreaterGreater;": "⪢̸",
823
- "&NotNestedLessLess;": "⪡̸",
824
- "&NotPrecedes;": "⊀",
825
- "&NotPrecedesEqual;": "⪯̸",
826
- "&NotPrecedesSlantEqual;": "⋠",
827
- "&NotReverseElement;": "∌",
828
- "&NotRightTriangle;": "⋫",
829
- "&NotRightTriangleBar;": "⧐̸",
830
- "&NotRightTriangleEqual;": "⋭",
831
- "&NotSquareSubset;": "⊏̸",
832
- "&NotSquareSubsetEqual;": "⋢",
833
- "&NotSquareSuperset;": "⊐̸",
834
- "&NotSquareSupersetEqual;": "⋣",
835
- "&NotSubset;": "⊂⃒",
836
- "&NotSubsetEqual;": "⊈",
837
- "&NotSucceeds;": "⊁",
838
- "&NotSucceedsEqual;": "⪰̸",
839
- "&NotSucceedsSlantEqual;": "⋡",
840
- "&NotSucceedsTilde;": "≿̸",
841
- "&NotSuperset;": "⊃⃒",
842
- "&NotSupersetEqual;": "⊉",
843
- "&NotTilde;": "≁",
844
- "&NotTildeEqual;": "≄",
845
- "&NotTildeFullEqual;": "≇",
846
- "&NotTildeTilde;": "≉",
847
- "&NotVerticalBar;": "∤",
848
- "&Nscr;": "𝒩",
849
- "&Ntilde": "Ñ",
850
- "&Ntilde;": "Ñ",
851
- "&Nu;": "Ν",
852
- "&OElig;": "Œ",
853
- "&Oacute": "Ó",
854
- "&Oacute;": "Ó",
855
- "&Ocirc": "Ô",
856
- "&Ocirc;": "Ô",
857
- "&Ocy;": "О",
858
- "&Odblac;": "Ő",
859
- "&Ofr;": "𝔒",
860
- "&Ograve": "Ò",
861
- "&Ograve;": "Ò",
862
- "&Omacr;": "Ō",
863
- "&Omega;": "Ω",
864
- "&Omicron;": "Ο",
865
- "&Oopf;": "𝕆",
866
- "&OpenCurlyDoubleQuote;": "“",
867
- "&OpenCurlyQuote;": "‘",
868
- "&Or;": "⩔",
869
- "&Oscr;": "𝒪",
870
- "&Oslash": "Ø",
871
- "&Oslash;": "Ø",
872
- "&Otilde": "Õ",
873
- "&Otilde;": "Õ",
874
- "&Otimes;": "⨷",
875
- "&Ouml": "Ö",
876
- "&Ouml;": "Ö",
877
- "&OverBar;": "‾",
878
- "&OverBrace;": "⏞",
879
- "&OverBracket;": "⎴",
880
- "&OverParenthesis;": "⏜",
881
- "&PartialD;": "∂",
882
- "&Pcy;": "П",
883
- "&Pfr;": "𝔓",
884
- "&Phi;": "Φ",
885
- "&Pi;": "Π",
886
- "&PlusMinus;": "±",
887
- "&Poincareplane;": "ℌ",
888
- "&Popf;": "ℙ",
889
- "&Pr;": "⪻",
890
- "&Precedes;": "≺",
891
- "&PrecedesEqual;": "⪯",
892
- "&PrecedesSlantEqual;": "≼",
893
- "&PrecedesTilde;": "≾",
894
- "&Prime;": "″",
895
- "&Product;": "∏",
896
- "&Proportion;": "∷",
897
- "&Proportional;": "∝",
898
- "&Pscr;": "𝒫",
899
- "&Psi;": "Ψ",
900
- "&QUOT": '"',
901
- "&QUOT;": '"',
902
- "&Qfr;": "𝔔",
903
- "&Qopf;": "ℚ",
904
- "&Qscr;": "𝒬",
905
- "&RBarr;": "⤐",
906
- "&REG": "®",
907
- "&REG;": "®",
908
- "&Racute;": "Ŕ",
909
- "&Rang;": "⟫",
910
- "&Rarr;": "↠",
911
- "&Rarrtl;": "⤖",
912
- "&Rcaron;": "Ř",
913
- "&Rcedil;": "Ŗ",
914
- "&Rcy;": "Р",
915
- "&Re;": "ℜ",
916
- "&ReverseElement;": "∋",
917
- "&ReverseEquilibrium;": "⇋",
918
- "&ReverseUpEquilibrium;": "⥯",
919
- "&Rfr;": "ℜ",
920
- "&Rho;": "Ρ",
921
- "&RightAngleBracket;": "⟩",
922
- "&RightArrow;": "→",
923
- "&RightArrowBar;": "⇥",
924
- "&RightArrowLeftArrow;": "⇄",
925
- "&RightCeiling;": "⌉",
926
- "&RightDoubleBracket;": "⟧",
927
- "&RightDownTeeVector;": "⥝",
928
- "&RightDownVector;": "⇂",
929
- "&RightDownVectorBar;": "⥕",
930
- "&RightFloor;": "⌋",
931
- "&RightTee;": "⊢",
932
- "&RightTeeArrow;": "↦",
933
- "&RightTeeVector;": "⥛",
934
- "&RightTriangle;": "⊳",
935
- "&RightTriangleBar;": "⧐",
936
- "&RightTriangleEqual;": "⊵",
937
- "&RightUpDownVector;": "⥏",
938
- "&RightUpTeeVector;": "⥜",
939
- "&RightUpVector;": "↾",
940
- "&RightUpVectorBar;": "⥔",
941
- "&RightVector;": "⇀",
942
- "&RightVectorBar;": "⥓",
943
- "&Rightarrow;": "⇒",
944
- "&Ropf;": "ℝ",
945
- "&RoundImplies;": "⥰",
946
- "&Rrightarrow;": "⇛",
947
- "&Rscr;": "ℛ",
948
- "&Rsh;": "↱",
949
- "&RuleDelayed;": "⧴",
950
- "&SHCHcy;": "Щ",
951
- "&SHcy;": "Ш",
952
- "&SOFTcy;": "Ь",
953
- "&Sacute;": "Ś",
954
- "&Sc;": "⪼",
955
- "&Scaron;": "Š",
956
- "&Scedil;": "Ş",
957
- "&Scirc;": "Ŝ",
958
- "&Scy;": "С",
959
- "&Sfr;": "𝔖",
960
- "&ShortDownArrow;": "↓",
961
- "&ShortLeftArrow;": "←",
962
- "&ShortRightArrow;": "→",
963
- "&ShortUpArrow;": "↑",
964
- "&Sigma;": "Σ",
965
- "&SmallCircle;": "∘",
966
- "&Sopf;": "𝕊",
967
- "&Sqrt;": "√",
968
- "&Square;": "□",
969
- "&SquareIntersection;": "⊓",
970
- "&SquareSubset;": "⊏",
971
- "&SquareSubsetEqual;": "⊑",
972
- "&SquareSuperset;": "⊐",
973
- "&SquareSupersetEqual;": "⊒",
974
- "&SquareUnion;": "⊔",
975
- "&Sscr;": "𝒮",
976
- "&Star;": "⋆",
977
- "&Sub;": "⋐",
978
- "&Subset;": "⋐",
979
- "&SubsetEqual;": "⊆",
980
- "&Succeeds;": "≻",
981
- "&SucceedsEqual;": "⪰",
982
- "&SucceedsSlantEqual;": "≽",
983
- "&SucceedsTilde;": "≿",
984
- "&SuchThat;": "∋",
985
- "&Sum;": "∑",
986
- "&Sup;": "⋑",
987
- "&Superset;": "⊃",
988
- "&SupersetEqual;": "⊇",
989
- "&Supset;": "⋑",
990
- "&THORN": "Þ",
991
- "&THORN;": "Þ",
992
- "&TRADE;": "™",
993
- "&TSHcy;": "Ћ",
994
- "&TScy;": "Ц",
995
- "&Tab;": " ",
996
- "&Tau;": "Τ",
997
- "&Tcaron;": "Ť",
998
- "&Tcedil;": "Ţ",
999
- "&Tcy;": "Т",
1000
- "&Tfr;": "𝔗",
1001
- "&Therefore;": "∴",
1002
- "&Theta;": "Θ",
1003
- "&ThickSpace;": "  ",
1004
- "&ThinSpace;": " ",
1005
- "&Tilde;": "∼",
1006
- "&TildeEqual;": "≃",
1007
- "&TildeFullEqual;": "≅",
1008
- "&TildeTilde;": "≈",
1009
- "&Topf;": "𝕋",
1010
- "&TripleDot;": "⃛",
1011
- "&Tscr;": "𝒯",
1012
- "&Tstrok;": "Ŧ",
1013
- "&Uacute": "Ú",
1014
- "&Uacute;": "Ú",
1015
- "&Uarr;": "↟",
1016
- "&Uarrocir;": "⥉",
1017
- "&Ubrcy;": "Ў",
1018
- "&Ubreve;": "Ŭ",
1019
- "&Ucirc": "Û",
1020
- "&Ucirc;": "Û",
1021
- "&Ucy;": "У",
1022
- "&Udblac;": "Ű",
1023
- "&Ufr;": "𝔘",
1024
- "&Ugrave": "Ù",
1025
- "&Ugrave;": "Ù",
1026
- "&Umacr;": "Ū",
1027
- "&UnderBar;": "_",
1028
- "&UnderBrace;": "⏟",
1029
- "&UnderBracket;": "⎵",
1030
- "&UnderParenthesis;": "⏝",
1031
- "&Union;": "⋃",
1032
- "&UnionPlus;": "⊎",
1033
- "&Uogon;": "Ų",
1034
- "&Uopf;": "𝕌",
1035
- "&UpArrow;": "↑",
1036
- "&UpArrowBar;": "⤒",
1037
- "&UpArrowDownArrow;": "⇅",
1038
- "&UpDownArrow;": "↕",
1039
- "&UpEquilibrium;": "⥮",
1040
- "&UpTee;": "⊥",
1041
- "&UpTeeArrow;": "↥",
1042
- "&Uparrow;": "⇑",
1043
- "&Updownarrow;": "⇕",
1044
- "&UpperLeftArrow;": "↖",
1045
- "&UpperRightArrow;": "↗",
1046
- "&Upsi;": "ϒ",
1047
- "&Upsilon;": "Υ",
1048
- "&Uring;": "Ů",
1049
- "&Uscr;": "𝒰",
1050
- "&Utilde;": "Ũ",
1051
- "&Uuml": "Ü",
1052
- "&Uuml;": "Ü",
1053
- "&VDash;": "⊫",
1054
- "&Vbar;": "⫫",
1055
- "&Vcy;": "В",
1056
- "&Vdash;": "⊩",
1057
- "&Vdashl;": "⫦",
1058
- "&Vee;": "⋁",
1059
- "&Verbar;": "‖",
1060
- "&Vert;": "‖",
1061
- "&VerticalBar;": "∣",
1062
- "&VerticalLine;": "|",
1063
- "&VerticalSeparator;": "❘",
1064
- "&VerticalTilde;": "≀",
1065
- "&VeryThinSpace;": " ",
1066
- "&Vfr;": "𝔙",
1067
- "&Vopf;": "𝕍",
1068
- "&Vscr;": "𝒱",
1069
- "&Vvdash;": "⊪",
1070
- "&Wcirc;": "Ŵ",
1071
- "&Wedge;": "⋀",
1072
- "&Wfr;": "𝔚",
1073
- "&Wopf;": "𝕎",
1074
- "&Wscr;": "𝒲",
1075
- "&Xfr;": "𝔛",
1076
- "&Xi;": "Ξ",
1077
- "&Xopf;": "𝕏",
1078
- "&Xscr;": "𝒳",
1079
- "&YAcy;": "Я",
1080
- "&YIcy;": "Ї",
1081
- "&YUcy;": "Ю",
1082
- "&Yacute": "Ý",
1083
- "&Yacute;": "Ý",
1084
- "&Ycirc;": "Ŷ",
1085
- "&Ycy;": "Ы",
1086
- "&Yfr;": "𝔜",
1087
- "&Yopf;": "𝕐",
1088
- "&Yscr;": "𝒴",
1089
- "&Yuml;": "Ÿ",
1090
- "&ZHcy;": "Ж",
1091
- "&Zacute;": "Ź",
1092
- "&Zcaron;": "Ž",
1093
- "&Zcy;": "З",
1094
- "&Zdot;": "Ż",
1095
- "&ZeroWidthSpace;": "​",
1096
- "&Zeta;": "Ζ",
1097
- "&Zfr;": "ℨ",
1098
- "&Zopf;": "ℤ",
1099
- "&Zscr;": "𝒵",
1100
- "&aacute": "á",
1101
- "&aacute;": "á",
1102
- "&abreve;": "ă",
1103
- "&ac;": "∾",
1104
- "&acE;": "∾̳",
1105
- "&acd;": "∿",
1106
- "&acirc": "â",
1107
- "&acirc;": "â",
1108
- "&acute": "´",
1109
- "&acute;": "´",
1110
- "&acy;": "а",
1111
- "&aelig": "æ",
1112
- "&aelig;": "æ",
1113
- "&af;": "⁡",
1114
- "&afr;": "𝔞",
1115
- "&agrave": "à",
1116
- "&agrave;": "à",
1117
- "&alefsym;": "ℵ",
1118
- "&aleph;": "ℵ",
1119
- "&alpha;": "α",
1120
- "&amacr;": "ā",
1121
- "&amalg;": "⨿",
1122
- "&amp": "&",
1123
- "&amp;": "&",
1124
- "&and;": "∧",
1125
- "&andand;": "⩕",
1126
- "&andd;": "⩜",
1127
- "&andslope;": "⩘",
1128
- "&andv;": "⩚",
1129
- "&ang;": "∠",
1130
- "&ange;": "⦤",
1131
- "&angle;": "∠",
1132
- "&angmsd;": "∡",
1133
- "&angmsdaa;": "⦨",
1134
- "&angmsdab;": "⦩",
1135
- "&angmsdac;": "⦪",
1136
- "&angmsdad;": "⦫",
1137
- "&angmsdae;": "⦬",
1138
- "&angmsdaf;": "⦭",
1139
- "&angmsdag;": "⦮",
1140
- "&angmsdah;": "⦯",
1141
- "&angrt;": "∟",
1142
- "&angrtvb;": "⊾",
1143
- "&angrtvbd;": "⦝",
1144
- "&angsph;": "∢",
1145
- "&angst;": "Å",
1146
- "&angzarr;": "⍼",
1147
- "&aogon;": "ą",
1148
- "&aopf;": "𝕒",
1149
- "&ap;": "≈",
1150
- "&apE;": "⩰",
1151
- "&apacir;": "⩯",
1152
- "&ape;": "≊",
1153
- "&apid;": "≋",
1154
- "&apos;": "'",
1155
- "&approx;": "≈",
1156
- "&approxeq;": "≊",
1157
- "&aring": "å",
1158
- "&aring;": "å",
1159
- "&ascr;": "𝒶",
1160
- "&ast;": "*",
1161
- "&asymp;": "≈",
1162
- "&asympeq;": "≍",
1163
- "&atilde": "ã",
1164
- "&atilde;": "ã",
1165
- "&auml": "ä",
1166
- "&auml;": "ä",
1167
- "&awconint;": "∳",
1168
- "&awint;": "⨑",
1169
- "&bNot;": "⫭",
1170
- "&backcong;": "≌",
1171
- "&backepsilon;": "϶",
1172
- "&backprime;": "‵",
1173
- "&backsim;": "∽",
1174
- "&backsimeq;": "⋍",
1175
- "&barvee;": "⊽",
1176
- "&barwed;": "⌅",
1177
- "&barwedge;": "⌅",
1178
- "&bbrk;": "⎵",
1179
- "&bbrktbrk;": "⎶",
1180
- "&bcong;": "≌",
1181
- "&bcy;": "б",
1182
- "&bdquo;": "„",
1183
- "&becaus;": "∵",
1184
- "&because;": "∵",
1185
- "&bemptyv;": "⦰",
1186
- "&bepsi;": "϶",
1187
- "&bernou;": "ℬ",
1188
- "&beta;": "β",
1189
- "&beth;": "ℶ",
1190
- "&between;": "≬",
1191
- "&bfr;": "𝔟",
1192
- "&bigcap;": "⋂",
1193
- "&bigcirc;": "◯",
1194
- "&bigcup;": "⋃",
1195
- "&bigodot;": "⨀",
1196
- "&bigoplus;": "⨁",
1197
- "&bigotimes;": "⨂",
1198
- "&bigsqcup;": "⨆",
1199
- "&bigstar;": "★",
1200
- "&bigtriangledown;": "▽",
1201
- "&bigtriangleup;": "△",
1202
- "&biguplus;": "⨄",
1203
- "&bigvee;": "⋁",
1204
- "&bigwedge;": "⋀",
1205
- "&bkarow;": "⤍",
1206
- "&blacklozenge;": "⧫",
1207
- "&blacksquare;": "▪",
1208
- "&blacktriangle;": "▴",
1209
- "&blacktriangledown;": "▾",
1210
- "&blacktriangleleft;": "◂",
1211
- "&blacktriangleright;": "▸",
1212
- "&blank;": "␣",
1213
- "&blk12;": "▒",
1214
- "&blk14;": "░",
1215
- "&blk34;": "▓",
1216
- "&block;": "█",
1217
- "&bne;": "=⃥",
1218
- "&bnequiv;": "≡⃥",
1219
- "&bnot;": "⌐",
1220
- "&bopf;": "𝕓",
1221
- "&bot;": "⊥",
1222
- "&bottom;": "⊥",
1223
- "&bowtie;": "⋈",
1224
- "&boxDL;": "╗",
1225
- "&boxDR;": "╔",
1226
- "&boxDl;": "╖",
1227
- "&boxDr;": "╓",
1228
- "&boxH;": "═",
1229
- "&boxHD;": "╦",
1230
- "&boxHU;": "╩",
1231
- "&boxHd;": "╤",
1232
- "&boxHu;": "╧",
1233
- "&boxUL;": "╝",
1234
- "&boxUR;": "╚",
1235
- "&boxUl;": "╜",
1236
- "&boxUr;": "╙",
1237
- "&boxV;": "║",
1238
- "&boxVH;": "╬",
1239
- "&boxVL;": "╣",
1240
- "&boxVR;": "╠",
1241
- "&boxVh;": "╫",
1242
- "&boxVl;": "╢",
1243
- "&boxVr;": "╟",
1244
- "&boxbox;": "⧉",
1245
- "&boxdL;": "╕",
1246
- "&boxdR;": "╒",
1247
- "&boxdl;": "┐",
1248
- "&boxdr;": "┌",
1249
- "&boxh;": "─",
1250
- "&boxhD;": "╥",
1251
- "&boxhU;": "╨",
1252
- "&boxhd;": "┬",
1253
- "&boxhu;": "┴",
1254
- "&boxminus;": "⊟",
1255
- "&boxplus;": "⊞",
1256
- "&boxtimes;": "⊠",
1257
- "&boxuL;": "╛",
1258
- "&boxuR;": "╘",
1259
- "&boxul;": "┘",
1260
- "&boxur;": "└",
1261
- "&boxv;": "│",
1262
- "&boxvH;": "╪",
1263
- "&boxvL;": "╡",
1264
- "&boxvR;": "╞",
1265
- "&boxvh;": "┼",
1266
- "&boxvl;": "┤",
1267
- "&boxvr;": "├",
1268
- "&bprime;": "‵",
1269
- "&breve;": "˘",
1270
- "&brvbar": "¦",
1271
- "&brvbar;": "¦",
1272
- "&bscr;": "𝒷",
1273
- "&bsemi;": "⁏",
1274
- "&bsim;": "∽",
1275
- "&bsime;": "⋍",
1276
- "&bsol;": "\\",
1277
- "&bsolb;": "⧅",
1278
- "&bsolhsub;": "⟈",
1279
- "&bull;": "•",
1280
- "&bullet;": "•",
1281
- "&bump;": "≎",
1282
- "&bumpE;": "⪮",
1283
- "&bumpe;": "≏",
1284
- "&bumpeq;": "≏",
1285
- "&cacute;": "ć",
1286
- "&cap;": "∩",
1287
- "&capand;": "⩄",
1288
- "&capbrcup;": "⩉",
1289
- "&capcap;": "⩋",
1290
- "&capcup;": "⩇",
1291
- "&capdot;": "⩀",
1292
- "&caps;": "∩︀",
1293
- "&caret;": "⁁",
1294
- "&caron;": "ˇ",
1295
- "&ccaps;": "⩍",
1296
- "&ccaron;": "č",
1297
- "&ccedil": "ç",
1298
- "&ccedil;": "ç",
1299
- "&ccirc;": "ĉ",
1300
- "&ccups;": "⩌",
1301
- "&ccupssm;": "⩐",
1302
- "&cdot;": "ċ",
1303
- "&cedil": "¸",
1304
- "&cedil;": "¸",
1305
- "&cemptyv;": "⦲",
1306
- "&cent": "¢",
1307
- "&cent;": "¢",
1308
- "&centerdot;": "·",
1309
- "&cfr;": "𝔠",
1310
- "&chcy;": "ч",
1311
- "&check;": "✓",
1312
- "&checkmark;": "✓",
1313
- "&chi;": "χ",
1314
- "&cir;": "○",
1315
- "&cirE;": "⧃",
1316
- "&circ;": "ˆ",
1317
- "&circeq;": "≗",
1318
- "&circlearrowleft;": "↺",
1319
- "&circlearrowright;": "↻",
1320
- "&circledR;": "®",
1321
- "&circledS;": "Ⓢ",
1322
- "&circledast;": "⊛",
1323
- "&circledcirc;": "⊚",
1324
- "&circleddash;": "⊝",
1325
- "&cire;": "≗",
1326
- "&cirfnint;": "⨐",
1327
- "&cirmid;": "⫯",
1328
- "&cirscir;": "⧂",
1329
- "&clubs;": "♣",
1330
- "&clubsuit;": "♣",
1331
- "&colon;": ":",
1332
- "&colone;": "≔",
1333
- "&coloneq;": "≔",
1334
- "&comma;": ",",
1335
- "&commat;": "@",
1336
- "&comp;": "∁",
1337
- "&compfn;": "∘",
1338
- "&complement;": "∁",
1339
- "&complexes;": "ℂ",
1340
- "&cong;": "≅",
1341
- "&congdot;": "⩭",
1342
- "&conint;": "∮",
1343
- "&copf;": "𝕔",
1344
- "&coprod;": "∐",
1345
- "&copy": "©",
1346
- "&copy;": "©",
1347
- "&copysr;": "℗",
1348
- "&crarr;": "↵",
1349
- "&cross;": "✗",
1350
- "&cscr;": "𝒸",
1351
- "&csub;": "⫏",
1352
- "&csube;": "⫑",
1353
- "&csup;": "⫐",
1354
- "&csupe;": "⫒",
1355
- "&ctdot;": "⋯",
1356
- "&cudarrl;": "⤸",
1357
- "&cudarrr;": "⤵",
1358
- "&cuepr;": "⋞",
1359
- "&cuesc;": "⋟",
1360
- "&cularr;": "↶",
1361
- "&cularrp;": "⤽",
1362
- "&cup;": "∪",
1363
- "&cupbrcap;": "⩈",
1364
- "&cupcap;": "⩆",
1365
- "&cupcup;": "⩊",
1366
- "&cupdot;": "⊍",
1367
- "&cupor;": "⩅",
1368
- "&cups;": "∪︀",
1369
- "&curarr;": "↷",
1370
- "&curarrm;": "⤼",
1371
- "&curlyeqprec;": "⋞",
1372
- "&curlyeqsucc;": "⋟",
1373
- "&curlyvee;": "⋎",
1374
- "&curlywedge;": "⋏",
1375
- "&curren": "¤",
1376
- "&curren;": "¤",
1377
- "&curvearrowleft;": "↶",
1378
- "&curvearrowright;": "↷",
1379
- "&cuvee;": "⋎",
1380
- "&cuwed;": "⋏",
1381
- "&cwconint;": "∲",
1382
- "&cwint;": "∱",
1383
- "&cylcty;": "⌭",
1384
- "&dArr;": "⇓",
1385
- "&dHar;": "⥥",
1386
- "&dagger;": "†",
1387
- "&daleth;": "ℸ",
1388
- "&darr;": "↓",
1389
- "&dash;": "‐",
1390
- "&dashv;": "⊣",
1391
- "&dbkarow;": "⤏",
1392
- "&dblac;": "˝",
1393
- "&dcaron;": "ď",
1394
- "&dcy;": "д",
1395
- "&dd;": "ⅆ",
1396
- "&ddagger;": "‡",
1397
- "&ddarr;": "⇊",
1398
- "&ddotseq;": "⩷",
1399
- "&deg": "°",
1400
- "&deg;": "°",
1401
- "&delta;": "δ",
1402
- "&demptyv;": "⦱",
1403
- "&dfisht;": "⥿",
1404
- "&dfr;": "𝔡",
1405
- "&dharl;": "⇃",
1406
- "&dharr;": "⇂",
1407
- "&diam;": "⋄",
1408
- "&diamond;": "⋄",
1409
- "&diamondsuit;": "♦",
1410
- "&diams;": "♦",
1411
- "&die;": "¨",
1412
- "&digamma;": "ϝ",
1413
- "&disin;": "⋲",
1414
- "&div;": "÷",
1415
- "&divide": "÷",
1416
- "&divide;": "÷",
1417
- "&divideontimes;": "⋇",
1418
- "&divonx;": "⋇",
1419
- "&djcy;": "ђ",
1420
- "&dlcorn;": "⌞",
1421
- "&dlcrop;": "⌍",
1422
- "&dollar;": "$",
1423
- "&dopf;": "𝕕",
1424
- "&dot;": "˙",
1425
- "&doteq;": "≐",
1426
- "&doteqdot;": "≑",
1427
- "&dotminus;": "∸",
1428
- "&dotplus;": "∔",
1429
- "&dotsquare;": "⊡",
1430
- "&doublebarwedge;": "⌆",
1431
- "&downarrow;": "↓",
1432
- "&downdownarrows;": "⇊",
1433
- "&downharpoonleft;": "⇃",
1434
- "&downharpoonright;": "⇂",
1435
- "&drbkarow;": "⤐",
1436
- "&drcorn;": "⌟",
1437
- "&drcrop;": "⌌",
1438
- "&dscr;": "𝒹",
1439
- "&dscy;": "ѕ",
1440
- "&dsol;": "⧶",
1441
- "&dstrok;": "đ",
1442
- "&dtdot;": "⋱",
1443
- "&dtri;": "▿",
1444
- "&dtrif;": "▾",
1445
- "&duarr;": "⇵",
1446
- "&duhar;": "⥯",
1447
- "&dwangle;": "⦦",
1448
- "&dzcy;": "џ",
1449
- "&dzigrarr;": "⟿",
1450
- "&eDDot;": "⩷",
1451
- "&eDot;": "≑",
1452
- "&eacute": "é",
1453
- "&eacute;": "é",
1454
- "&easter;": "⩮",
1455
- "&ecaron;": "ě",
1456
- "&ecir;": "≖",
1457
- "&ecirc": "ê",
1458
- "&ecirc;": "ê",
1459
- "&ecolon;": "≕",
1460
- "&ecy;": "э",
1461
- "&edot;": "ė",
1462
- "&ee;": "ⅇ",
1463
- "&efDot;": "≒",
1464
- "&efr;": "𝔢",
1465
- "&eg;": "⪚",
1466
- "&egrave": "è",
1467
- "&egrave;": "è",
1468
- "&egs;": "⪖",
1469
- "&egsdot;": "⪘",
1470
- "&el;": "⪙",
1471
- "&elinters;": "⏧",
1472
- "&ell;": "ℓ",
1473
- "&els;": "⪕",
1474
- "&elsdot;": "⪗",
1475
- "&emacr;": "ē",
1476
- "&empty;": "∅",
1477
- "&emptyset;": "∅",
1478
- "&emptyv;": "∅",
1479
- "&emsp13;": " ",
1480
- "&emsp14;": " ",
1481
- "&emsp;": " ",
1482
- "&eng;": "ŋ",
1483
- "&ensp;": " ",
1484
- "&eogon;": "ę",
1485
- "&eopf;": "𝕖",
1486
- "&epar;": "⋕",
1487
- "&eparsl;": "⧣",
1488
- "&eplus;": "⩱",
1489
- "&epsi;": "ε",
1490
- "&epsilon;": "ε",
1491
- "&epsiv;": "ϵ",
1492
- "&eqcirc;": "≖",
1493
- "&eqcolon;": "≕",
1494
- "&eqsim;": "≂",
1495
- "&eqslantgtr;": "⪖",
1496
- "&eqslantless;": "⪕",
1497
- "&equals;": "=",
1498
- "&equest;": "≟",
1499
- "&equiv;": "≡",
1500
- "&equivDD;": "⩸",
1501
- "&eqvparsl;": "⧥",
1502
- "&erDot;": "≓",
1503
- "&erarr;": "⥱",
1504
- "&escr;": "ℯ",
1505
- "&esdot;": "≐",
1506
- "&esim;": "≂",
1507
- "&eta;": "η",
1508
- "&eth": "ð",
1509
- "&eth;": "ð",
1510
- "&euml": "ë",
1511
- "&euml;": "ë",
1512
- "&euro;": "€",
1513
- "&excl;": "!",
1514
- "&exist;": "∃",
1515
- "&expectation;": "ℰ",
1516
- "&exponentiale;": "ⅇ",
1517
- "&fallingdotseq;": "≒",
1518
- "&fcy;": "ф",
1519
- "&female;": "♀",
1520
- "&ffilig;": "ffi",
1521
- "&fflig;": "ff",
1522
- "&ffllig;": "ffl",
1523
- "&ffr;": "𝔣",
1524
- "&filig;": "fi",
1525
- "&fjlig;": "fj",
1526
- "&flat;": "♭",
1527
- "&fllig;": "fl",
1528
- "&fltns;": "▱",
1529
- "&fnof;": "ƒ",
1530
- "&fopf;": "𝕗",
1531
- "&forall;": "∀",
1532
- "&fork;": "⋔",
1533
- "&forkv;": "⫙",
1534
- "&fpartint;": "⨍",
1535
- "&frac12": "½",
1536
- "&frac12;": "½",
1537
- "&frac13;": "⅓",
1538
- "&frac14": "¼",
1539
- "&frac14;": "¼",
1540
- "&frac15;": "⅕",
1541
- "&frac16;": "⅙",
1542
- "&frac18;": "⅛",
1543
- "&frac23;": "⅔",
1544
- "&frac25;": "⅖",
1545
- "&frac34": "¾",
1546
- "&frac34;": "¾",
1547
- "&frac35;": "⅗",
1548
- "&frac38;": "⅜",
1549
- "&frac45;": "⅘",
1550
- "&frac56;": "⅚",
1551
- "&frac58;": "⅝",
1552
- "&frac78;": "⅞",
1553
- "&frasl;": "⁄",
1554
- "&frown;": "⌢",
1555
- "&fscr;": "𝒻",
1556
- "&gE;": "≧",
1557
- "&gEl;": "⪌",
1558
- "&gacute;": "ǵ",
1559
- "&gamma;": "γ",
1560
- "&gammad;": "ϝ",
1561
- "&gap;": "⪆",
1562
- "&gbreve;": "ğ",
1563
- "&gcirc;": "ĝ",
1564
- "&gcy;": "г",
1565
- "&gdot;": "ġ",
1566
- "&ge;": "≥",
1567
- "&gel;": "⋛",
1568
- "&geq;": "≥",
1569
- "&geqq;": "≧",
1570
- "&geqslant;": "⩾",
1571
- "&ges;": "⩾",
1572
- "&gescc;": "⪩",
1573
- "&gesdot;": "⪀",
1574
- "&gesdoto;": "⪂",
1575
- "&gesdotol;": "⪄",
1576
- "&gesl;": "⋛︀",
1577
- "&gesles;": "⪔",
1578
- "&gfr;": "𝔤",
1579
- "&gg;": "≫",
1580
- "&ggg;": "⋙",
1581
- "&gimel;": "ℷ",
1582
- "&gjcy;": "ѓ",
1583
- "&gl;": "≷",
1584
- "&glE;": "⪒",
1585
- "&gla;": "⪥",
1586
- "&glj;": "⪤",
1587
- "&gnE;": "≩",
1588
- "&gnap;": "⪊",
1589
- "&gnapprox;": "⪊",
1590
- "&gne;": "⪈",
1591
- "&gneq;": "⪈",
1592
- "&gneqq;": "≩",
1593
- "&gnsim;": "⋧",
1594
- "&gopf;": "𝕘",
1595
- "&grave;": "`",
1596
- "&gscr;": "ℊ",
1597
- "&gsim;": "≳",
1598
- "&gsime;": "⪎",
1599
- "&gsiml;": "⪐",
1600
- "&gt": ">",
1601
- "&gt;": ">",
1602
- "&gtcc;": "⪧",
1603
- "&gtcir;": "⩺",
1604
- "&gtdot;": "⋗",
1605
- "&gtlPar;": "⦕",
1606
- "&gtquest;": "⩼",
1607
- "&gtrapprox;": "⪆",
1608
- "&gtrarr;": "⥸",
1609
- "&gtrdot;": "⋗",
1610
- "&gtreqless;": "⋛",
1611
- "&gtreqqless;": "⪌",
1612
- "&gtrless;": "≷",
1613
- "&gtrsim;": "≳",
1614
- "&gvertneqq;": "≩︀",
1615
- "&gvnE;": "≩︀",
1616
- "&hArr;": "⇔",
1617
- "&hairsp;": " ",
1618
- "&half;": "½",
1619
- "&hamilt;": "ℋ",
1620
- "&hardcy;": "ъ",
1621
- "&harr;": "↔",
1622
- "&harrcir;": "⥈",
1623
- "&harrw;": "↭",
1624
- "&hbar;": "ℏ",
1625
- "&hcirc;": "ĥ",
1626
- "&hearts;": "♥",
1627
- "&heartsuit;": "♥",
1628
- "&hellip;": "…",
1629
- "&hercon;": "⊹",
1630
- "&hfr;": "𝔥",
1631
- "&hksearow;": "⤥",
1632
- "&hkswarow;": "⤦",
1633
- "&hoarr;": "⇿",
1634
- "&homtht;": "∻",
1635
- "&hookleftarrow;": "↩",
1636
- "&hookrightarrow;": "↪",
1637
- "&hopf;": "𝕙",
1638
- "&horbar;": "―",
1639
- "&hscr;": "𝒽",
1640
- "&hslash;": "ℏ",
1641
- "&hstrok;": "ħ",
1642
- "&hybull;": "⁃",
1643
- "&hyphen;": "‐",
1644
- "&iacute": "í",
1645
- "&iacute;": "í",
1646
- "&ic;": "⁣",
1647
- "&icirc": "î",
1648
- "&icirc;": "î",
1649
- "&icy;": "и",
1650
- "&iecy;": "е",
1651
- "&iexcl": "¡",
1652
- "&iexcl;": "¡",
1653
- "&iff;": "⇔",
1654
- "&ifr;": "𝔦",
1655
- "&igrave": "ì",
1656
- "&igrave;": "ì",
1657
- "&ii;": "ⅈ",
1658
- "&iiiint;": "⨌",
1659
- "&iiint;": "∭",
1660
- "&iinfin;": "⧜",
1661
- "&iiota;": "℩",
1662
- "&ijlig;": "ij",
1663
- "&imacr;": "ī",
1664
- "&image;": "ℑ",
1665
- "&imagline;": "ℐ",
1666
- "&imagpart;": "ℑ",
1667
- "&imath;": "ı",
1668
- "&imof;": "⊷",
1669
- "&imped;": "Ƶ",
1670
- "&in;": "∈",
1671
- "&incare;": "℅",
1672
- "&infin;": "∞",
1673
- "&infintie;": "⧝",
1674
- "&inodot;": "ı",
1675
- "&int;": "∫",
1676
- "&intcal;": "⊺",
1677
- "&integers;": "ℤ",
1678
- "&intercal;": "⊺",
1679
- "&intlarhk;": "⨗",
1680
- "&intprod;": "⨼",
1681
- "&iocy;": "ё",
1682
- "&iogon;": "į",
1683
- "&iopf;": "𝕚",
1684
- "&iota;": "ι",
1685
- "&iprod;": "⨼",
1686
- "&iquest": "¿",
1687
- "&iquest;": "¿",
1688
- "&iscr;": "𝒾",
1689
- "&isin;": "∈",
1690
- "&isinE;": "⋹",
1691
- "&isindot;": "⋵",
1692
- "&isins;": "⋴",
1693
- "&isinsv;": "⋳",
1694
- "&isinv;": "∈",
1695
- "&it;": "⁢",
1696
- "&itilde;": "ĩ",
1697
- "&iukcy;": "і",
1698
- "&iuml": "ï",
1699
- "&iuml;": "ï",
1700
- "&jcirc;": "ĵ",
1701
- "&jcy;": "й",
1702
- "&jfr;": "𝔧",
1703
- "&jmath;": "ȷ",
1704
- "&jopf;": "𝕛",
1705
- "&jscr;": "𝒿",
1706
- "&jsercy;": "ј",
1707
- "&jukcy;": "є",
1708
- "&kappa;": "κ",
1709
- "&kappav;": "ϰ",
1710
- "&kcedil;": "ķ",
1711
- "&kcy;": "к",
1712
- "&kfr;": "𝔨",
1713
- "&kgreen;": "ĸ",
1714
- "&khcy;": "х",
1715
- "&kjcy;": "ќ",
1716
- "&kopf;": "𝕜",
1717
- "&kscr;": "𝓀",
1718
- "&lAarr;": "⇚",
1719
- "&lArr;": "⇐",
1720
- "&lAtail;": "⤛",
1721
- "&lBarr;": "⤎",
1722
- "&lE;": "≦",
1723
- "&lEg;": "⪋",
1724
- "&lHar;": "⥢",
1725
- "&lacute;": "ĺ",
1726
- "&laemptyv;": "⦴",
1727
- "&lagran;": "ℒ",
1728
- "&lambda;": "λ",
1729
- "&lang;": "⟨",
1730
- "&langd;": "⦑",
1731
- "&langle;": "⟨",
1732
- "&lap;": "⪅",
1733
- "&laquo": "«",
1734
- "&laquo;": "«",
1735
- "&larr;": "←",
1736
- "&larrb;": "⇤",
1737
- "&larrbfs;": "⤟",
1738
- "&larrfs;": "⤝",
1739
- "&larrhk;": "↩",
1740
- "&larrlp;": "↫",
1741
- "&larrpl;": "⤹",
1742
- "&larrsim;": "⥳",
1743
- "&larrtl;": "↢",
1744
- "&lat;": "⪫",
1745
- "&latail;": "⤙",
1746
- "&late;": "⪭",
1747
- "&lates;": "⪭︀",
1748
- "&lbarr;": "⤌",
1749
- "&lbbrk;": "❲",
1750
- "&lbrace;": "{",
1751
- "&lbrack;": "[",
1752
- "&lbrke;": "⦋",
1753
- "&lbrksld;": "⦏",
1754
- "&lbrkslu;": "⦍",
1755
- "&lcaron;": "ľ",
1756
- "&lcedil;": "ļ",
1757
- "&lceil;": "⌈",
1758
- "&lcub;": "{",
1759
- "&lcy;": "л",
1760
- "&ldca;": "⤶",
1761
- "&ldquo;": "“",
1762
- "&ldquor;": "„",
1763
- "&ldrdhar;": "⥧",
1764
- "&ldrushar;": "⥋",
1765
- "&ldsh;": "↲",
1766
- "&le;": "≤",
1767
- "&leftarrow;": "←",
1768
- "&leftarrowtail;": "↢",
1769
- "&leftharpoondown;": "↽",
1770
- "&leftharpoonup;": "↼",
1771
- "&leftleftarrows;": "⇇",
1772
- "&leftrightarrow;": "↔",
1773
- "&leftrightarrows;": "⇆",
1774
- "&leftrightharpoons;": "⇋",
1775
- "&leftrightsquigarrow;": "↭",
1776
- "&leftthreetimes;": "⋋",
1777
- "&leg;": "⋚",
1778
- "&leq;": "≤",
1779
- "&leqq;": "≦",
1780
- "&leqslant;": "⩽",
1781
- "&les;": "⩽",
1782
- "&lescc;": "⪨",
1783
- "&lesdot;": "⩿",
1784
- "&lesdoto;": "⪁",
1785
- "&lesdotor;": "⪃",
1786
- "&lesg;": "⋚︀",
1787
- "&lesges;": "⪓",
1788
- "&lessapprox;": "⪅",
1789
- "&lessdot;": "⋖",
1790
- "&lesseqgtr;": "⋚",
1791
- "&lesseqqgtr;": "⪋",
1792
- "&lessgtr;": "≶",
1793
- "&lesssim;": "≲",
1794
- "&lfisht;": "⥼",
1795
- "&lfloor;": "⌊",
1796
- "&lfr;": "𝔩",
1797
- "&lg;": "≶",
1798
- "&lgE;": "⪑",
1799
- "&lhard;": "↽",
1800
- "&lharu;": "↼",
1801
- "&lharul;": "⥪",
1802
- "&lhblk;": "▄",
1803
- "&ljcy;": "љ",
1804
- "&ll;": "≪",
1805
- "&llarr;": "⇇",
1806
- "&llcorner;": "⌞",
1807
- "&llhard;": "⥫",
1808
- "&lltri;": "◺",
1809
- "&lmidot;": "ŀ",
1810
- "&lmoust;": "⎰",
1811
- "&lmoustache;": "⎰",
1812
- "&lnE;": "≨",
1813
- "&lnap;": "⪉",
1814
- "&lnapprox;": "⪉",
1815
- "&lne;": "⪇",
1816
- "&lneq;": "⪇",
1817
- "&lneqq;": "≨",
1818
- "&lnsim;": "⋦",
1819
- "&loang;": "⟬",
1820
- "&loarr;": "⇽",
1821
- "&lobrk;": "⟦",
1822
- "&longleftarrow;": "⟵",
1823
- "&longleftrightarrow;": "⟷",
1824
- "&longmapsto;": "⟼",
1825
- "&longrightarrow;": "⟶",
1826
- "&looparrowleft;": "↫",
1827
- "&looparrowright;": "↬",
1828
- "&lopar;": "⦅",
1829
- "&lopf;": "𝕝",
1830
- "&loplus;": "⨭",
1831
- "&lotimes;": "⨴",
1832
- "&lowast;": "∗",
1833
- "&lowbar;": "_",
1834
- "&loz;": "◊",
1835
- "&lozenge;": "◊",
1836
- "&lozf;": "⧫",
1837
- "&lpar;": "(",
1838
- "&lparlt;": "⦓",
1839
- "&lrarr;": "⇆",
1840
- "&lrcorner;": "⌟",
1841
- "&lrhar;": "⇋",
1842
- "&lrhard;": "⥭",
1843
- "&lrm;": "‎",
1844
- "&lrtri;": "⊿",
1845
- "&lsaquo;": "‹",
1846
- "&lscr;": "𝓁",
1847
- "&lsh;": "↰",
1848
- "&lsim;": "≲",
1849
- "&lsime;": "⪍",
1850
- "&lsimg;": "⪏",
1851
- "&lsqb;": "[",
1852
- "&lsquo;": "‘",
1853
- "&lsquor;": "‚",
1854
- "&lstrok;": "ł",
1855
- "&lt": "<",
1856
- "&lt;": "<",
1857
- "&ltcc;": "⪦",
1858
- "&ltcir;": "⩹",
1859
- "&ltdot;": "⋖",
1860
- "&lthree;": "⋋",
1861
- "&ltimes;": "⋉",
1862
- "&ltlarr;": "⥶",
1863
- "&ltquest;": "⩻",
1864
- "&ltrPar;": "⦖",
1865
- "&ltri;": "◃",
1866
- "&ltrie;": "⊴",
1867
- "&ltrif;": "◂",
1868
- "&lurdshar;": "⥊",
1869
- "&luruhar;": "⥦",
1870
- "&lvertneqq;": "≨︀",
1871
- "&lvnE;": "≨︀",
1872
- "&mDDot;": "∺",
1873
- "&macr": "¯",
1874
- "&macr;": "¯",
1875
- "&male;": "♂",
1876
- "&malt;": "✠",
1877
- "&maltese;": "✠",
1878
- "&map;": "↦",
1879
- "&mapsto;": "↦",
1880
- "&mapstodown;": "↧",
1881
- "&mapstoleft;": "↤",
1882
- "&mapstoup;": "↥",
1883
- "&marker;": "▮",
1884
- "&mcomma;": "⨩",
1885
- "&mcy;": "м",
1886
- "&mdash;": "—",
1887
- "&measuredangle;": "∡",
1888
- "&mfr;": "𝔪",
1889
- "&mho;": "℧",
1890
- "&micro": "µ",
1891
- "&micro;": "µ",
1892
- "&mid;": "∣",
1893
- "&midast;": "*",
1894
- "&midcir;": "⫰",
1895
- "&middot": "·",
1896
- "&middot;": "·",
1897
- "&minus;": "−",
1898
- "&minusb;": "⊟",
1899
- "&minusd;": "∸",
1900
- "&minusdu;": "⨪",
1901
- "&mlcp;": "⫛",
1902
- "&mldr;": "…",
1903
- "&mnplus;": "∓",
1904
- "&models;": "⊧",
1905
- "&mopf;": "𝕞",
1906
- "&mp;": "∓",
1907
- "&mscr;": "𝓂",
1908
- "&mstpos;": "∾",
1909
- "&mu;": "μ",
1910
- "&multimap;": "⊸",
1911
- "&mumap;": "⊸",
1912
- "&nGg;": "⋙̸",
1913
- "&nGt;": "≫⃒",
1914
- "&nGtv;": "≫̸",
1915
- "&nLeftarrow;": "⇍",
1916
- "&nLeftrightarrow;": "⇎",
1917
- "&nLl;": "⋘̸",
1918
- "&nLt;": "≪⃒",
1919
- "&nLtv;": "≪̸",
1920
- "&nRightarrow;": "⇏",
1921
- "&nVDash;": "⊯",
1922
- "&nVdash;": "⊮",
1923
- "&nabla;": "∇",
1924
- "&nacute;": "ń",
1925
- "&nang;": "∠⃒",
1926
- "&nap;": "≉",
1927
- "&napE;": "⩰̸",
1928
- "&napid;": "≋̸",
1929
- "&napos;": "ʼn",
1930
- "&napprox;": "≉",
1931
- "&natur;": "♮",
1932
- "&natural;": "♮",
1933
- "&naturals;": "ℕ",
1934
- "&nbsp": " ",
1935
- "&nbsp;": " ",
1936
- "&nbump;": "≎̸",
1937
- "&nbumpe;": "≏̸",
1938
- "&ncap;": "⩃",
1939
- "&ncaron;": "ň",
1940
- "&ncedil;": "ņ",
1941
- "&ncong;": "≇",
1942
- "&ncongdot;": "⩭̸",
1943
- "&ncup;": "⩂",
1944
- "&ncy;": "н",
1945
- "&ndash;": "–",
1946
- "&ne;": "≠",
1947
- "&neArr;": "⇗",
1948
- "&nearhk;": "⤤",
1949
- "&nearr;": "↗",
1950
- "&nearrow;": "↗",
1951
- "&nedot;": "≐̸",
1952
- "&nequiv;": "≢",
1953
- "&nesear;": "⤨",
1954
- "&nesim;": "≂̸",
1955
- "&nexist;": "∄",
1956
- "&nexists;": "∄",
1957
- "&nfr;": "𝔫",
1958
- "&ngE;": "≧̸",
1959
- "&nge;": "≱",
1960
- "&ngeq;": "≱",
1961
- "&ngeqq;": "≧̸",
1962
- "&ngeqslant;": "⩾̸",
1963
- "&nges;": "⩾̸",
1964
- "&ngsim;": "≵",
1965
- "&ngt;": "≯",
1966
- "&ngtr;": "≯",
1967
- "&nhArr;": "⇎",
1968
- "&nharr;": "↮",
1969
- "&nhpar;": "⫲",
1970
- "&ni;": "∋",
1971
- "&nis;": "⋼",
1972
- "&nisd;": "⋺",
1973
- "&niv;": "∋",
1974
- "&njcy;": "њ",
1975
- "&nlArr;": "⇍",
1976
- "&nlE;": "≦̸",
1977
- "&nlarr;": "↚",
1978
- "&nldr;": "‥",
1979
- "&nle;": "≰",
1980
- "&nleftarrow;": "↚",
1981
- "&nleftrightarrow;": "↮",
1982
- "&nleq;": "≰",
1983
- "&nleqq;": "≦̸",
1984
- "&nleqslant;": "⩽̸",
1985
- "&nles;": "⩽̸",
1986
- "&nless;": "≮",
1987
- "&nlsim;": "≴",
1988
- "&nlt;": "≮",
1989
- "&nltri;": "⋪",
1990
- "&nltrie;": "⋬",
1991
- "&nmid;": "∤",
1992
- "&nopf;": "𝕟",
1993
- "&not": "¬",
1994
- "&not;": "¬",
1995
- "&notin;": "∉",
1996
- "&notinE;": "⋹̸",
1997
- "&notindot;": "⋵̸",
1998
- "&notinva;": "∉",
1999
- "&notinvb;": "⋷",
2000
- "&notinvc;": "⋶",
2001
- "&notni;": "∌",
2002
- "&notniva;": "∌",
2003
- "&notnivb;": "⋾",
2004
- "&notnivc;": "⋽",
2005
- "&npar;": "∦",
2006
- "&nparallel;": "∦",
2007
- "&nparsl;": "⫽⃥",
2008
- "&npart;": "∂̸",
2009
- "&npolint;": "⨔",
2010
- "&npr;": "⊀",
2011
- "&nprcue;": "⋠",
2012
- "&npre;": "⪯̸",
2013
- "&nprec;": "⊀",
2014
- "&npreceq;": "⪯̸",
2015
- "&nrArr;": "⇏",
2016
- "&nrarr;": "↛",
2017
- "&nrarrc;": "⤳̸",
2018
- "&nrarrw;": "↝̸",
2019
- "&nrightarrow;": "↛",
2020
- "&nrtri;": "⋫",
2021
- "&nrtrie;": "⋭",
2022
- "&nsc;": "⊁",
2023
- "&nsccue;": "⋡",
2024
- "&nsce;": "⪰̸",
2025
- "&nscr;": "𝓃",
2026
- "&nshortmid;": "∤",
2027
- "&nshortparallel;": "∦",
2028
- "&nsim;": "≁",
2029
- "&nsime;": "≄",
2030
- "&nsimeq;": "≄",
2031
- "&nsmid;": "∤",
2032
- "&nspar;": "∦",
2033
- "&nsqsube;": "⋢",
2034
- "&nsqsupe;": "⋣",
2035
- "&nsub;": "⊄",
2036
- "&nsubE;": "⫅̸",
2037
- "&nsube;": "⊈",
2038
- "&nsubset;": "⊂⃒",
2039
- "&nsubseteq;": "⊈",
2040
- "&nsubseteqq;": "⫅̸",
2041
- "&nsucc;": "⊁",
2042
- "&nsucceq;": "⪰̸",
2043
- "&nsup;": "⊅",
2044
- "&nsupE;": "⫆̸",
2045
- "&nsupe;": "⊉",
2046
- "&nsupset;": "⊃⃒",
2047
- "&nsupseteq;": "⊉",
2048
- "&nsupseteqq;": "⫆̸",
2049
- "&ntgl;": "≹",
2050
- "&ntilde": "ñ",
2051
- "&ntilde;": "ñ",
2052
- "&ntlg;": "≸",
2053
- "&ntriangleleft;": "⋪",
2054
- "&ntrianglelefteq;": "⋬",
2055
- "&ntriangleright;": "⋫",
2056
- "&ntrianglerighteq;": "⋭",
2057
- "&nu;": "ν",
2058
- "&num;": "#",
2059
- "&numero;": "№",
2060
- "&numsp;": " ",
2061
- "&nvDash;": "⊭",
2062
- "&nvHarr;": "⤄",
2063
- "&nvap;": "≍⃒",
2064
- "&nvdash;": "⊬",
2065
- "&nvge;": "≥⃒",
2066
- "&nvgt;": ">⃒",
2067
- "&nvinfin;": "⧞",
2068
- "&nvlArr;": "⤂",
2069
- "&nvle;": "≤⃒",
2070
- "&nvlt;": "<⃒",
2071
- "&nvltrie;": "⊴⃒",
2072
- "&nvrArr;": "⤃",
2073
- "&nvrtrie;": "⊵⃒",
2074
- "&nvsim;": "∼⃒",
2075
- "&nwArr;": "⇖",
2076
- "&nwarhk;": "⤣",
2077
- "&nwarr;": "↖",
2078
- "&nwarrow;": "↖",
2079
- "&nwnear;": "⤧",
2080
- "&oS;": "Ⓢ",
2081
- "&oacute": "ó",
2082
- "&oacute;": "ó",
2083
- "&oast;": "⊛",
2084
- "&ocir;": "⊚",
2085
- "&ocirc": "ô",
2086
- "&ocirc;": "ô",
2087
- "&ocy;": "о",
2088
- "&odash;": "⊝",
2089
- "&odblac;": "ő",
2090
- "&odiv;": "⨸",
2091
- "&odot;": "⊙",
2092
- "&odsold;": "⦼",
2093
- "&oelig;": "œ",
2094
- "&ofcir;": "⦿",
2095
- "&ofr;": "𝔬",
2096
- "&ogon;": "˛",
2097
- "&ograve": "ò",
2098
- "&ograve;": "ò",
2099
- "&ogt;": "⧁",
2100
- "&ohbar;": "⦵",
2101
- "&ohm;": "Ω",
2102
- "&oint;": "∮",
2103
- "&olarr;": "↺",
2104
- "&olcir;": "⦾",
2105
- "&olcross;": "⦻",
2106
- "&oline;": "‾",
2107
- "&olt;": "⧀",
2108
- "&omacr;": "ō",
2109
- "&omega;": "ω",
2110
- "&omicron;": "ο",
2111
- "&omid;": "⦶",
2112
- "&ominus;": "⊖",
2113
- "&oopf;": "𝕠",
2114
- "&opar;": "⦷",
2115
- "&operp;": "⦹",
2116
- "&oplus;": "⊕",
2117
- "&or;": "∨",
2118
- "&orarr;": "↻",
2119
- "&ord;": "⩝",
2120
- "&order;": "ℴ",
2121
- "&orderof;": "ℴ",
2122
- "&ordf": "ª",
2123
- "&ordf;": "ª",
2124
- "&ordm": "º",
2125
- "&ordm;": "º",
2126
- "&origof;": "⊶",
2127
- "&oror;": "⩖",
2128
- "&orslope;": "⩗",
2129
- "&orv;": "⩛",
2130
- "&oscr;": "ℴ",
2131
- "&oslash": "ø",
2132
- "&oslash;": "ø",
2133
- "&osol;": "⊘",
2134
- "&otilde": "õ",
2135
- "&otilde;": "õ",
2136
- "&otimes;": "⊗",
2137
- "&otimesas;": "⨶",
2138
- "&ouml": "ö",
2139
- "&ouml;": "ö",
2140
- "&ovbar;": "⌽",
2141
- "&par;": "∥",
2142
- "&para": "¶",
2143
- "&para;": "¶",
2144
- "&parallel;": "∥",
2145
- "&parsim;": "⫳",
2146
- "&parsl;": "⫽",
2147
- "&part;": "∂",
2148
- "&pcy;": "п",
2149
- "&percnt;": "%",
2150
- "&period;": ".",
2151
- "&permil;": "‰",
2152
- "&perp;": "⊥",
2153
- "&pertenk;": "‱",
2154
- "&pfr;": "𝔭",
2155
- "&phi;": "φ",
2156
- "&phiv;": "ϕ",
2157
- "&phmmat;": "ℳ",
2158
- "&phone;": "☎",
2159
- "&pi;": "π",
2160
- "&pitchfork;": "⋔",
2161
- "&piv;": "ϖ",
2162
- "&planck;": "ℏ",
2163
- "&planckh;": "ℎ",
2164
- "&plankv;": "ℏ",
2165
- "&plus;": "+",
2166
- "&plusacir;": "⨣",
2167
- "&plusb;": "⊞",
2168
- "&pluscir;": "⨢",
2169
- "&plusdo;": "∔",
2170
- "&plusdu;": "⨥",
2171
- "&pluse;": "⩲",
2172
- "&plusmn": "±",
2173
- "&plusmn;": "±",
2174
- "&plussim;": "⨦",
2175
- "&plustwo;": "⨧",
2176
- "&pm;": "±",
2177
- "&pointint;": "⨕",
2178
- "&popf;": "𝕡",
2179
- "&pound": "£",
2180
- "&pound;": "£",
2181
- "&pr;": "≺",
2182
- "&prE;": "⪳",
2183
- "&prap;": "⪷",
2184
- "&prcue;": "≼",
2185
- "&pre;": "⪯",
2186
- "&prec;": "≺",
2187
- "&precapprox;": "⪷",
2188
- "&preccurlyeq;": "≼",
2189
- "&preceq;": "⪯",
2190
- "&precnapprox;": "⪹",
2191
- "&precneqq;": "⪵",
2192
- "&precnsim;": "⋨",
2193
- "&precsim;": "≾",
2194
- "&prime;": "′",
2195
- "&primes;": "ℙ",
2196
- "&prnE;": "⪵",
2197
- "&prnap;": "⪹",
2198
- "&prnsim;": "⋨",
2199
- "&prod;": "∏",
2200
- "&profalar;": "⌮",
2201
- "&profline;": "⌒",
2202
- "&profsurf;": "⌓",
2203
- "&prop;": "∝",
2204
- "&propto;": "∝",
2205
- "&prsim;": "≾",
2206
- "&prurel;": "⊰",
2207
- "&pscr;": "𝓅",
2208
- "&psi;": "ψ",
2209
- "&puncsp;": " ",
2210
- "&qfr;": "𝔮",
2211
- "&qint;": "⨌",
2212
- "&qopf;": "𝕢",
2213
- "&qprime;": "⁗",
2214
- "&qscr;": "𝓆",
2215
- "&quaternions;": "ℍ",
2216
- "&quatint;": "⨖",
2217
- "&quest;": "?",
2218
- "&questeq;": "≟",
2219
- "&quot": '"',
2220
- "&quot;": '"',
2221
- "&rAarr;": "⇛",
2222
- "&rArr;": "⇒",
2223
- "&rAtail;": "⤜",
2224
- "&rBarr;": "⤏",
2225
- "&rHar;": "⥤",
2226
- "&race;": "∽̱",
2227
- "&racute;": "ŕ",
2228
- "&radic;": "√",
2229
- "&raemptyv;": "⦳",
2230
- "&rang;": "⟩",
2231
- "&rangd;": "⦒",
2232
- "&range;": "⦥",
2233
- "&rangle;": "⟩",
2234
- "&raquo": "»",
2235
- "&raquo;": "»",
2236
- "&rarr;": "→",
2237
- "&rarrap;": "⥵",
2238
- "&rarrb;": "⇥",
2239
- "&rarrbfs;": "⤠",
2240
- "&rarrc;": "⤳",
2241
- "&rarrfs;": "⤞",
2242
- "&rarrhk;": "↪",
2243
- "&rarrlp;": "↬",
2244
- "&rarrpl;": "⥅",
2245
- "&rarrsim;": "⥴",
2246
- "&rarrtl;": "↣",
2247
- "&rarrw;": "↝",
2248
- "&ratail;": "⤚",
2249
- "&ratio;": "∶",
2250
- "&rationals;": "ℚ",
2251
- "&rbarr;": "⤍",
2252
- "&rbbrk;": "❳",
2253
- "&rbrace;": "}",
2254
- "&rbrack;": "]",
2255
- "&rbrke;": "⦌",
2256
- "&rbrksld;": "⦎",
2257
- "&rbrkslu;": "⦐",
2258
- "&rcaron;": "ř",
2259
- "&rcedil;": "ŗ",
2260
- "&rceil;": "⌉",
2261
- "&rcub;": "}",
2262
- "&rcy;": "р",
2263
- "&rdca;": "⤷",
2264
- "&rdldhar;": "⥩",
2265
- "&rdquo;": "”",
2266
- "&rdquor;": "”",
2267
- "&rdsh;": "↳",
2268
- "&real;": "ℜ",
2269
- "&realine;": "ℛ",
2270
- "&realpart;": "ℜ",
2271
- "&reals;": "ℝ",
2272
- "&rect;": "▭",
2273
- "&reg": "®",
2274
- "&reg;": "®",
2275
- "&rfisht;": "⥽",
2276
- "&rfloor;": "⌋",
2277
- "&rfr;": "𝔯",
2278
- "&rhard;": "⇁",
2279
- "&rharu;": "⇀",
2280
- "&rharul;": "⥬",
2281
- "&rho;": "ρ",
2282
- "&rhov;": "ϱ",
2283
- "&rightarrow;": "→",
2284
- "&rightarrowtail;": "↣",
2285
- "&rightharpoondown;": "⇁",
2286
- "&rightharpoonup;": "⇀",
2287
- "&rightleftarrows;": "⇄",
2288
- "&rightleftharpoons;": "⇌",
2289
- "&rightrightarrows;": "⇉",
2290
- "&rightsquigarrow;": "↝",
2291
- "&rightthreetimes;": "⋌",
2292
- "&ring;": "˚",
2293
- "&risingdotseq;": "≓",
2294
- "&rlarr;": "⇄",
2295
- "&rlhar;": "⇌",
2296
- "&rlm;": "‏",
2297
- "&rmoust;": "⎱",
2298
- "&rmoustache;": "⎱",
2299
- "&rnmid;": "⫮",
2300
- "&roang;": "⟭",
2301
- "&roarr;": "⇾",
2302
- "&robrk;": "⟧",
2303
- "&ropar;": "⦆",
2304
- "&ropf;": "𝕣",
2305
- "&roplus;": "⨮",
2306
- "&rotimes;": "⨵",
2307
- "&rpar;": ")",
2308
- "&rpargt;": "⦔",
2309
- "&rppolint;": "⨒",
2310
- "&rrarr;": "⇉",
2311
- "&rsaquo;": "›",
2312
- "&rscr;": "𝓇",
2313
- "&rsh;": "↱",
2314
- "&rsqb;": "]",
2315
- "&rsquo;": "’",
2316
- "&rsquor;": "’",
2317
- "&rthree;": "⋌",
2318
- "&rtimes;": "⋊",
2319
- "&rtri;": "▹",
2320
- "&rtrie;": "⊵",
2321
- "&rtrif;": "▸",
2322
- "&rtriltri;": "⧎",
2323
- "&ruluhar;": "⥨",
2324
- "&rx;": "℞",
2325
- "&sacute;": "ś",
2326
- "&sbquo;": "‚",
2327
- "&sc;": "≻",
2328
- "&scE;": "⪴",
2329
- "&scap;": "⪸",
2330
- "&scaron;": "š",
2331
- "&sccue;": "≽",
2332
- "&sce;": "⪰",
2333
- "&scedil;": "ş",
2334
- "&scirc;": "ŝ",
2335
- "&scnE;": "⪶",
2336
- "&scnap;": "⪺",
2337
- "&scnsim;": "⋩",
2338
- "&scpolint;": "⨓",
2339
- "&scsim;": "≿",
2340
- "&scy;": "с",
2341
- "&sdot;": "⋅",
2342
- "&sdotb;": "⊡",
2343
- "&sdote;": "⩦",
2344
- "&seArr;": "⇘",
2345
- "&searhk;": "⤥",
2346
- "&searr;": "↘",
2347
- "&searrow;": "↘",
2348
- "&sect": "§",
2349
- "&sect;": "§",
2350
- "&semi;": ";",
2351
- "&seswar;": "⤩",
2352
- "&setminus;": "∖",
2353
- "&setmn;": "∖",
2354
- "&sext;": "✶",
2355
- "&sfr;": "𝔰",
2356
- "&sfrown;": "⌢",
2357
- "&sharp;": "♯",
2358
- "&shchcy;": "щ",
2359
- "&shcy;": "ш",
2360
- "&shortmid;": "∣",
2361
- "&shortparallel;": "∥",
2362
- "&shy": "­",
2363
- "&shy;": "­",
2364
- "&sigma;": "σ",
2365
- "&sigmaf;": "ς",
2366
- "&sigmav;": "ς",
2367
- "&sim;": "∼",
2368
- "&simdot;": "⩪",
2369
- "&sime;": "≃",
2370
- "&simeq;": "≃",
2371
- "&simg;": "⪞",
2372
- "&simgE;": "⪠",
2373
- "&siml;": "⪝",
2374
- "&simlE;": "⪟",
2375
- "&simne;": "≆",
2376
- "&simplus;": "⨤",
2377
- "&simrarr;": "⥲",
2378
- "&slarr;": "←",
2379
- "&smallsetminus;": "∖",
2380
- "&smashp;": "⨳",
2381
- "&smeparsl;": "⧤",
2382
- "&smid;": "∣",
2383
- "&smile;": "⌣",
2384
- "&smt;": "⪪",
2385
- "&smte;": "⪬",
2386
- "&smtes;": "⪬︀",
2387
- "&softcy;": "ь",
2388
- "&sol;": "/",
2389
- "&solb;": "⧄",
2390
- "&solbar;": "⌿",
2391
- "&sopf;": "𝕤",
2392
- "&spades;": "♠",
2393
- "&spadesuit;": "♠",
2394
- "&spar;": "∥",
2395
- "&sqcap;": "⊓",
2396
- "&sqcaps;": "⊓︀",
2397
- "&sqcup;": "⊔",
2398
- "&sqcups;": "⊔︀",
2399
- "&sqsub;": "⊏",
2400
- "&sqsube;": "⊑",
2401
- "&sqsubset;": "⊏",
2402
- "&sqsubseteq;": "⊑",
2403
- "&sqsup;": "⊐",
2404
- "&sqsupe;": "⊒",
2405
- "&sqsupset;": "⊐",
2406
- "&sqsupseteq;": "⊒",
2407
- "&squ;": "□",
2408
- "&square;": "□",
2409
- "&squarf;": "▪",
2410
- "&squf;": "▪",
2411
- "&srarr;": "→",
2412
- "&sscr;": "𝓈",
2413
- "&ssetmn;": "∖",
2414
- "&ssmile;": "⌣",
2415
- "&sstarf;": "⋆",
2416
- "&star;": "☆",
2417
- "&starf;": "★",
2418
- "&straightepsilon;": "ϵ",
2419
- "&straightphi;": "ϕ",
2420
- "&strns;": "¯",
2421
- "&sub;": "⊂",
2422
- "&subE;": "⫅",
2423
- "&subdot;": "⪽",
2424
- "&sube;": "⊆",
2425
- "&subedot;": "⫃",
2426
- "&submult;": "⫁",
2427
- "&subnE;": "⫋",
2428
- "&subne;": "⊊",
2429
- "&subplus;": "⪿",
2430
- "&subrarr;": "⥹",
2431
- "&subset;": "⊂",
2432
- "&subseteq;": "⊆",
2433
- "&subseteqq;": "⫅",
2434
- "&subsetneq;": "⊊",
2435
- "&subsetneqq;": "⫋",
2436
- "&subsim;": "⫇",
2437
- "&subsub;": "⫕",
2438
- "&subsup;": "⫓",
2439
- "&succ;": "≻",
2440
- "&succapprox;": "⪸",
2441
- "&succcurlyeq;": "≽",
2442
- "&succeq;": "⪰",
2443
- "&succnapprox;": "⪺",
2444
- "&succneqq;": "⪶",
2445
- "&succnsim;": "⋩",
2446
- "&succsim;": "≿",
2447
- "&sum;": "∑",
2448
- "&sung;": "♪",
2449
- "&sup1": "¹",
2450
- "&sup1;": "¹",
2451
- "&sup2": "²",
2452
- "&sup2;": "²",
2453
- "&sup3": "³",
2454
- "&sup3;": "³",
2455
- "&sup;": "⊃",
2456
- "&supE;": "⫆",
2457
- "&supdot;": "⪾",
2458
- "&supdsub;": "⫘",
2459
- "&supe;": "⊇",
2460
- "&supedot;": "⫄",
2461
- "&suphsol;": "⟉",
2462
- "&suphsub;": "⫗",
2463
- "&suplarr;": "⥻",
2464
- "&supmult;": "⫂",
2465
- "&supnE;": "⫌",
2466
- "&supne;": "⊋",
2467
- "&supplus;": "⫀",
2468
- "&supset;": "⊃",
2469
- "&supseteq;": "⊇",
2470
- "&supseteqq;": "⫆",
2471
- "&supsetneq;": "⊋",
2472
- "&supsetneqq;": "⫌",
2473
- "&supsim;": "⫈",
2474
- "&supsub;": "⫔",
2475
- "&supsup;": "⫖",
2476
- "&swArr;": "⇙",
2477
- "&swarhk;": "⤦",
2478
- "&swarr;": "↙",
2479
- "&swarrow;": "↙",
2480
- "&swnwar;": "⤪",
2481
- "&szlig": "ß",
2482
- "&szlig;": "ß",
2483
- "&target;": "⌖",
2484
- "&tau;": "τ",
2485
- "&tbrk;": "⎴",
2486
- "&tcaron;": "ť",
2487
- "&tcedil;": "ţ",
2488
- "&tcy;": "т",
2489
- "&tdot;": "⃛",
2490
- "&telrec;": "⌕",
2491
- "&tfr;": "𝔱",
2492
- "&there4;": "∴",
2493
- "&therefore;": "∴",
2494
- "&theta;": "θ",
2495
- "&thetasym;": "ϑ",
2496
- "&thetav;": "ϑ",
2497
- "&thickapprox;": "≈",
2498
- "&thicksim;": "∼",
2499
- "&thinsp;": " ",
2500
- "&thkap;": "≈",
2501
- "&thksim;": "∼",
2502
- "&thorn": "þ",
2503
- "&thorn;": "þ",
2504
- "&tilde;": "˜",
2505
- "&times": "×",
2506
- "&times;": "×",
2507
- "&timesb;": "⊠",
2508
- "&timesbar;": "⨱",
2509
- "&timesd;": "⨰",
2510
- "&tint;": "∭",
2511
- "&toea;": "⤨",
2512
- "&top;": "⊤",
2513
- "&topbot;": "⌶",
2514
- "&topcir;": "⫱",
2515
- "&topf;": "𝕥",
2516
- "&topfork;": "⫚",
2517
- "&tosa;": "⤩",
2518
- "&tprime;": "‴",
2519
- "&trade;": "™",
2520
- "&triangle;": "▵",
2521
- "&triangledown;": "▿",
2522
- "&triangleleft;": "◃",
2523
- "&trianglelefteq;": "⊴",
2524
- "&triangleq;": "≜",
2525
- "&triangleright;": "▹",
2526
- "&trianglerighteq;": "⊵",
2527
- "&tridot;": "◬",
2528
- "&trie;": "≜",
2529
- "&triminus;": "⨺",
2530
- "&triplus;": "⨹",
2531
- "&trisb;": "⧍",
2532
- "&tritime;": "⨻",
2533
- "&trpezium;": "⏢",
2534
- "&tscr;": "𝓉",
2535
- "&tscy;": "ц",
2536
- "&tshcy;": "ћ",
2537
- "&tstrok;": "ŧ",
2538
- "&twixt;": "≬",
2539
- "&twoheadleftarrow;": "↞",
2540
- "&twoheadrightarrow;": "↠",
2541
- "&uArr;": "⇑",
2542
- "&uHar;": "⥣",
2543
- "&uacute": "ú",
2544
- "&uacute;": "ú",
2545
- "&uarr;": "↑",
2546
- "&ubrcy;": "ў",
2547
- "&ubreve;": "ŭ",
2548
- "&ucirc": "û",
2549
- "&ucirc;": "û",
2550
- "&ucy;": "у",
2551
- "&udarr;": "⇅",
2552
- "&udblac;": "ű",
2553
- "&udhar;": "⥮",
2554
- "&ufisht;": "⥾",
2555
- "&ufr;": "𝔲",
2556
- "&ugrave": "ù",
2557
- "&ugrave;": "ù",
2558
- "&uharl;": "↿",
2559
- "&uharr;": "↾",
2560
- "&uhblk;": "▀",
2561
- "&ulcorn;": "⌜",
2562
- "&ulcorner;": "⌜",
2563
- "&ulcrop;": "⌏",
2564
- "&ultri;": "◸",
2565
- "&umacr;": "ū",
2566
- "&uml": "¨",
2567
- "&uml;": "¨",
2568
- "&uogon;": "ų",
2569
- "&uopf;": "𝕦",
2570
- "&uparrow;": "↑",
2571
- "&updownarrow;": "↕",
2572
- "&upharpoonleft;": "↿",
2573
- "&upharpoonright;": "↾",
2574
- "&uplus;": "⊎",
2575
- "&upsi;": "υ",
2576
- "&upsih;": "ϒ",
2577
- "&upsilon;": "υ",
2578
- "&upuparrows;": "⇈",
2579
- "&urcorn;": "⌝",
2580
- "&urcorner;": "⌝",
2581
- "&urcrop;": "⌎",
2582
- "&uring;": "ů",
2583
- "&urtri;": "◹",
2584
- "&uscr;": "𝓊",
2585
- "&utdot;": "⋰",
2586
- "&utilde;": "ũ",
2587
- "&utri;": "▵",
2588
- "&utrif;": "▴",
2589
- "&uuarr;": "⇈",
2590
- "&uuml": "ü",
2591
- "&uuml;": "ü",
2592
- "&uwangle;": "⦧",
2593
- "&vArr;": "⇕",
2594
- "&vBar;": "⫨",
2595
- "&vBarv;": "⫩",
2596
- "&vDash;": "⊨",
2597
- "&vangrt;": "⦜",
2598
- "&varepsilon;": "ϵ",
2599
- "&varkappa;": "ϰ",
2600
- "&varnothing;": "∅",
2601
- "&varphi;": "ϕ",
2602
- "&varpi;": "ϖ",
2603
- "&varpropto;": "∝",
2604
- "&varr;": "↕",
2605
- "&varrho;": "ϱ",
2606
- "&varsigma;": "ς",
2607
- "&varsubsetneq;": "⊊︀",
2608
- "&varsubsetneqq;": "⫋︀",
2609
- "&varsupsetneq;": "⊋︀",
2610
- "&varsupsetneqq;": "⫌︀",
2611
- "&vartheta;": "ϑ",
2612
- "&vartriangleleft;": "⊲",
2613
- "&vartriangleright;": "⊳",
2614
- "&vcy;": "в",
2615
- "&vdash;": "⊢",
2616
- "&vee;": "∨",
2617
- "&veebar;": "⊻",
2618
- "&veeeq;": "≚",
2619
- "&vellip;": "⋮",
2620
- "&verbar;": "|",
2621
- "&vert;": "|",
2622
- "&vfr;": "𝔳",
2623
- "&vltri;": "⊲",
2624
- "&vnsub;": "⊂⃒",
2625
- "&vnsup;": "⊃⃒",
2626
- "&vopf;": "𝕧",
2627
- "&vprop;": "∝",
2628
- "&vrtri;": "⊳",
2629
- "&vscr;": "𝓋",
2630
- "&vsubnE;": "⫋︀",
2631
- "&vsubne;": "⊊︀",
2632
- "&vsupnE;": "⫌︀",
2633
- "&vsupne;": "⊋︀",
2634
- "&vzigzag;": "⦚",
2635
- "&wcirc;": "ŵ",
2636
- "&wedbar;": "⩟",
2637
- "&wedge;": "∧",
2638
- "&wedgeq;": "≙",
2639
- "&weierp;": "℘",
2640
- "&wfr;": "𝔴",
2641
- "&wopf;": "𝕨",
2642
- "&wp;": "℘",
2643
- "&wr;": "≀",
2644
- "&wreath;": "≀",
2645
- "&wscr;": "𝓌",
2646
- "&xcap;": "⋂",
2647
- "&xcirc;": "◯",
2648
- "&xcup;": "⋃",
2649
- "&xdtri;": "▽",
2650
- "&xfr;": "𝔵",
2651
- "&xhArr;": "⟺",
2652
- "&xharr;": "⟷",
2653
- "&xi;": "ξ",
2654
- "&xlArr;": "⟸",
2655
- "&xlarr;": "⟵",
2656
- "&xmap;": "⟼",
2657
- "&xnis;": "⋻",
2658
- "&xodot;": "⨀",
2659
- "&xopf;": "𝕩",
2660
- "&xoplus;": "⨁",
2661
- "&xotime;": "⨂",
2662
- "&xrArr;": "⟹",
2663
- "&xrarr;": "⟶",
2664
- "&xscr;": "𝓍",
2665
- "&xsqcup;": "⨆",
2666
- "&xuplus;": "⨄",
2667
- "&xutri;": "△",
2668
- "&xvee;": "⋁",
2669
- "&xwedge;": "⋀",
2670
- "&yacute": "ý",
2671
- "&yacute;": "ý",
2672
- "&yacy;": "я",
2673
- "&ycirc;": "ŷ",
2674
- "&ycy;": "ы",
2675
- "&yen": "¥",
2676
- "&yen;": "¥",
2677
- "&yfr;": "𝔶",
2678
- "&yicy;": "ї",
2679
- "&yopf;": "𝕪",
2680
- "&yscr;": "𝓎",
2681
- "&yucy;": "ю",
2682
- "&yuml": "ÿ",
2683
- "&yuml;": "ÿ",
2684
- "&zacute;": "ź",
2685
- "&zcaron;": "ž",
2686
- "&zcy;": "з",
2687
- "&zdot;": "ż",
2688
- "&zeetrf;": "ℨ",
2689
- "&zeta;": "ζ",
2690
- "&zfr;": "𝔷",
2691
- "&zhcy;": "ж",
2692
- "&zigrarr;": "⇝",
2693
- "&zopf;": "𝕫",
2694
- "&zscr;": "𝓏",
2695
- "&zwj;": "‍",
2696
- "&zwnj;": "‌"
2697
- };
2698
- function hu(s) {
2699
- return s.replace(/&(#\d+|#x[a-f0-9]+|[a-z]+\d*);?/gi, (u, r) => {
2700
- if (typeof M[u] == "string")
2701
- return M[u];
2702
- if (r.charAt(0) !== "#" || u.charAt(u.length - 1) !== ";")
2703
- return u;
2704
- let t;
2705
- r.charAt(1) === "x" ? t = parseInt(r.substr(2), 16) : t = parseInt(r.substr(1), 10);
2706
- let i = "";
2707
- return t >= 55296 && t <= 57343 || t > 1114111 ? "�" : (t > 65535 && (t -= 65536, i += String.fromCharCode(t >>> 10 & 1023 | 55296), t = 56320 | t & 1023), i += String.fromCharCode(t), i);
2708
- });
2709
- }
2710
- function g(s) {
2711
- return s.trim().replace(/[<>"'?&]/g, (u) => {
2712
- let r = u.charCodeAt(0).toString(16);
2713
- return r.length < 2 && (r = "0" + r), "&#x" + r.toUpperCase() + ";";
2714
- });
2715
- }
2716
- function du(s) {
2717
- return "<div>" + g(s).replace(/\n/g, "<br />") + "</div>";
2718
- }
2719
- function fu(s) {
2720
- return s = s.replace(/\r?\n/g, "").replace(/<\!\-\-.*?\-\->/gi, " ").replace(/<br\b[^>]*>/gi, `
2721
- `).replace(/<\/?(p|div|table|tr|td|th)\b[^>]*>/gi, `
2722
-
2723
- `).replace(/<script\b[^>]*>.*?<\/script\b[^>]*>/gi, " ").replace(/^.*<body\b[^>]*>/i, "").replace(/^.*<\/head\b[^>]*>/i, "").replace(/^.*<\!doctype\b[^>]*>/i, "").replace(/<\/body\b[^>]*>.*$/i, "").replace(/<\/html\b[^>]*>.*$/i, "").replace(/<a\b[^>]*href\s*=\s*["']?([^\s"']+)[^>]*>/gi, " ($1) ").replace(/<\/?(span|em|i|strong|b|u|a)\b[^>]*>/gi, "").replace(/<li\b[^>]*>[\n\u0001\s]*/gi, "* ").replace(/<hr\b[^>]*>/g, `
2724
- -------------
2725
- `).replace(/<[^>]*>/g, " ").replace(/\u0001/g, `
2726
- `).replace(/[ \t]+/g, " ").replace(/^\s+$/gm, "").replace(/\n\n+/g, `
2727
-
2728
- `).replace(/^\n+/, `
2729
- `).replace(/\n+$/, `
2730
- `), s = hu(s), s;
2731
- }
2732
- function Q(s) {
2733
- if (typeof Intl > "u")
2734
- return s;
2735
- const u = new Date(s);
2736
- return isNaN(u.getTime()) ? s : new Intl.DateTimeFormat("default", {
2737
- year: "numeric",
2738
- month: "numeric",
2739
- day: "numeric",
2740
- hour: "numeric",
2741
- minute: "numeric",
2742
- second: "numeric",
2743
- hour12: !1
2744
- }).format(u);
2745
- }
2746
- function Du(s) {
2747
- return [].concat(s.name || []).concat(s.name ? `<${s.address}>` : s.address).join(" ");
2748
- }
2749
- function v(s) {
2750
- let u = [], r = (t, i) => {
2751
- if (i && u.push(", "), t.group) {
2752
- let n = `${t.name}:`, e = ";";
2753
- u.push(n), t.group.forEach(r), u.push(e);
2754
- } else
2755
- u.push(Du(t));
2756
- };
2757
- return s.forEach(r), u.join("");
2758
- }
2759
- function Au(s) {
2760
- return `<a href="mailto:${g(s.address)}" class="postal-email-address">${g(s.name || `<${s.address}>`)}</a>`;
2761
- }
2762
- function y(s) {
2763
- let u = [], r = (t, i) => {
2764
- if (i && u.push('<span class="postal-email-address-separator">, </span>'), t.group) {
2765
- let n = `<span class="postal-email-address-group">${g(t.name)}:</span>`, e = '<span class="postal-email-address-group">;</span>';
2766
- u.push(n), t.group.forEach(r), u.push(e);
2767
- } else
2768
- u.push(Au(t));
2769
- };
2770
- return s.forEach(r), u.join(" ");
2771
- }
2772
- function gu(s, u, r) {
2773
- s = (s || "").toString(), u = u || 76;
2774
- let t = 0, i = s.length, n = "", e, a;
2775
- for (; t < i; ) {
2776
- if (e = s.substr(t, u), e.length < u) {
2777
- n += e;
2778
- break;
2779
- }
2780
- if (a = e.match(/^[^\n\r]*(\r?\n|\r)/)) {
2781
- e = a[0], n += e, t += e.length;
2782
- continue;
2783
- } else (a = e.match(/(\s+)[^\s]*$/)) && a[0].length - (a[1] || "").length < e.length ? e = e.substr(0, e.length - (a[0].length - (a[1] || "").length)) : (a = s.substr(t + e.length).match(/^[^\s]+(\s*)/)) && (e = e + a[0].substr(0, a[0].length - 0));
2784
- n += e, t += e.length, t < i && (n += `\r
2785
- `);
2786
- }
2787
- return n;
2788
- }
2789
- function I(s) {
2790
- let u = [];
2791
- s.from && u.push({ key: "From", val: v([s.from]) }), s.subject && u.push({ key: "Subject", val: s.subject }), s.date && u.push({ key: "Date", val: Q(s.date) }), s.to && s.to.length && u.push({ key: "To", val: v(s.to) }), s.cc && s.cc.length && u.push({ key: "Cc", val: v(s.cc) }), s.bcc && s.bcc.length && u.push({ key: "Bcc", val: v(s.bcc) });
2792
- let r = u.map((e) => e.key.length).reduce((e, a) => a > e ? a : e, 0);
2793
- u = u.flatMap((e) => {
2794
- let a = r - e.key.length, o = `${e.key}: ${" ".repeat(a)}`, c = `${" ".repeat(e.key.length + 1)} ${" ".repeat(a)}`;
2795
- return gu(e.val, 80).split(/\r?\n/).map((p) => p.trim()).map((p, f) => `${f ? c : o}${p}`);
2796
- });
2797
- let t = u.map((e) => e.length).reduce((e, a) => a > e ? a : e, 0), i = "-".repeat(t);
2798
- return `
2799
- ${i}
2800
- ${u.join(`
2801
- `)}
2802
- ${i}
2803
- `;
2804
- }
2805
- function V(s) {
2806
- let u = [];
2807
- return s.from && u.push(
2808
- // through the plural formatter, because `From:` may hold RFC 5322 group syntax
2809
- // and a group has no address of its own
2810
- `<div class="postal-email-header-key">From</div><div class="postal-email-header-value">${y([s.from])}</div>`
2811
- ), s.subject && u.push(
2812
- `<div class="postal-email-header-key">Subject</div><div class="postal-email-header-value postal-email-header-subject">${g(
2813
- s.subject
2814
- )}</div>`
2815
- ), s.date && u.push(
2816
- `<div class="postal-email-header-key">Date</div><div class="postal-email-header-value postal-email-header-date" data-date="${g(
2817
- s.date
2818
- )}">${g(Q(s.date))}</div>`
2819
- ), s.to && s.to.length && u.push(
2820
- `<div class="postal-email-header-key">To</div><div class="postal-email-header-value">${y(s.to)}</div>`
2821
- ), s.cc && s.cc.length && u.push(
2822
- `<div class="postal-email-header-key">Cc</div><div class="postal-email-header-value">${y(s.cc)}</div>`
2823
- ), s.bcc && s.bcc.length && u.push(
2824
- `<div class="postal-email-header-key">Bcc</div><div class="postal-email-header-value">${y(s.bcc)}</div>`
2825
- ), `<div class="postal-email-header">${u.length ? '<div class="postal-email-header-row">' : ""}${u.join(
2826
- `</div>
2827
- <div class="postal-email-header-row">`
2828
- )}${u.length ? "</div>" : ""}</div>`;
2829
- }
2830
- const G = /\w/, $ = /[^\s]+/g;
2831
- function mu(s) {
2832
- $.lastIndex = 0;
2833
- let u;
2834
- for (; u = $.exec(s); ) {
2835
- const r = u[0], t = r.indexOf("@");
2836
- let i = 0;
2837
- for (; i < t && !G.test(r.charAt(i)); )
2838
- i++;
2839
- if (i >= t)
2840
- continue;
2841
- let n = r.length;
2842
- for (; n > t + 1 && !G.test(r.charAt(n - 1)); )
2843
- n--;
2844
- if (!(n <= t + 1))
2845
- return { index: u.index + i, length: n - i, value: r.substring(i, n) };
2846
- }
2847
- return null;
2848
- }
2849
- function Cu(s, u) {
2850
- let r = !1, t = "text", i, n = [], e = {
2851
- address: [],
2852
- comment: [],
2853
- group: [],
2854
- text: [],
2855
- textWasQuoted: []
2856
- // Track which text tokens came from inside quotes
2857
- }, a, o, c = !1;
2858
- for (a = 0, o = s.length; a < o; a++) {
2859
- let l = s[a], p = a ? s[a - 1] : null;
2860
- if (l.type === "operator")
2861
- switch (l.value) {
2862
- case "<":
2863
- t = "address", c = !1;
2864
- break;
2865
- case "(":
2866
- t = "comment", c = !1;
2867
- break;
2868
- case ":":
2869
- t = "group", r = !0, c = !1;
2870
- break;
2871
- case '"':
2872
- c = !c, t = "text";
2873
- break;
2874
- default:
2875
- t = "text", c = !1;
2876
- break;
2877
- }
2878
- else l.value && (t === "address" && (l.value = l.value.replace(/^[^<]*<\s*/, "")), p && p.noBreak && e[t].length ? (e[t][e[t].length - 1] += l.value, t === "text" && c && (e.textWasQuoted[e.textWasQuoted.length - 1] = !0)) : (e[t].push(l.value), t === "text" && e.textWasQuoted.push(c)));
2879
- }
2880
- if (!e.text.length && e.comment.length && (e.text = e.comment, e.comment = []), r) {
2881
- e.text = e.text.join(" ");
2882
- let l = [];
2883
- e.group.length && w(e.group.join(","), { _depth: u + 1 }).forEach((f) => {
2884
- f.group ? l = l.concat(f.group) : l.push(f);
2885
- }), n.push({
2886
- name: C(e.text || i && i.name),
2887
- group: l
2888
- });
2889
- } else {
2890
- if (!e.address.length && e.text.length) {
2891
- for (a = e.text.length - 1; a >= 0; a--)
2892
- if (!e.textWasQuoted[a] && e.text[a].match(/^[^@\s]+@[^@\s]+$/)) {
2893
- e.address = e.text.splice(a, 1), e.textWasQuoted.splice(a, 1);
2894
- break;
2895
- }
2896
- if (!e.address.length) {
2897
- for (a = e.text.length - 1; a >= 0; a--)
2898
- if (!e.textWasQuoted[a]) {
2899
- const l = mu(e.text[a]);
2900
- if (l) {
2901
- e.address = [l.value], e.text[a] = (e.text[a].substring(0, l.index).replace(/\s+$/, "") + " " + e.text[a].substring(l.index + l.length).replace(/^\s+/, "")).trim();
2902
- break;
2903
- }
2904
- e.text[a] = e.text[a].trim();
2905
- }
2906
- }
2907
- }
2908
- if (!e.text.length && e.comment.length && (e.text = e.comment, e.comment = []), e.address.length > 1 && (e.text = e.text.concat(e.address.splice(1))), e.text = e.text.join(" "), e.address = e.address.join(" "), !e.address && tu(e.text.trim())) {
2909
- const l = C(e.text);
2910
- if (/<[^<>]+@[^<>]+>/.test(l)) {
2911
- const p = w(l);
2912
- if (p && p.length)
2913
- return p;
2914
- }
2915
- return [{ address: "", name: l }];
2916
- }
2917
- i = {
2918
- address: e.address || e.text || "",
2919
- name: C(e.text || e.address || "")
2920
- }, i.address === i.name && ((i.address || "").match(/@/) ? i.name = "" : i.address = ""), n.push(i);
2921
- }
2922
- return n;
2923
- }
2924
- class Eu {
2925
- constructor(u) {
2926
- this.str = (u || "").toString(), this.operatorCurrent = "", this.operatorExpecting = "", this.node = null, this.escaped = !1, this.list = [], this.operators = {
2927
- '"': '"',
2928
- "(": ")",
2929
- "<": ">",
2930
- ",": "",
2931
- ":": ";",
2932
- // Semicolons are not a legal delimiter per the RFC2822 grammar other
2933
- // than for terminating a group, but they are also not valid for any
2934
- // other use in this context. Given that some mail clients have
2935
- // historically allowed the semicolon as a delimiter equivalent to the
2936
- // comma in their UI, it makes sense to treat them the same as a comma
2937
- // when used outside of a group.
2938
- ";": ""
2939
- };
2940
- }
2941
- /**
2942
- * Tokenizes the original input string
2943
- *
2944
- * @return {Array} An array of operator|text tokens
2945
- */
2946
- tokenize() {
2947
- let u = [];
2948
- for (let r = 0, t = this.str.length; r < t; r++) {
2949
- let i = this.str.charAt(r), n = r < t - 1 ? this.str.charAt(r + 1) : null;
2950
- this.checkChar(i, n);
2951
- }
2952
- return this.list.forEach((r) => {
2953
- r.value = (r.value || "").toString().trim(), r.value && u.push(r);
2954
- }), u;
2955
- }
2956
- /**
2957
- * Checks if a character is an operator or text and acts accordingly
2958
- *
2959
- * @param {String} chr Character from the address field
2960
- */
2961
- checkChar(u, r) {
2962
- if (!this.escaped) {
2963
- if (u === this.operatorExpecting) {
2964
- this.node = {
2965
- type: "operator",
2966
- value: u
2967
- }, r && ![" ", " ", "\r", `
2968
- `, ",", ";"].includes(r) && (this.node.noBreak = !0), this.list.push(this.node), this.node = null, this.operatorExpecting = "", this.escaped = !1;
2969
- return;
2970
- } else if (!this.operatorExpecting && u in this.operators) {
2971
- this.node = {
2972
- type: "operator",
2973
- value: u
2974
- }, this.list.push(this.node), this.node = null, this.operatorExpecting = this.operators[u], this.escaped = !1;
2975
- return;
2976
- } else if (this.operatorExpecting === '"' && u === "\\") {
2977
- this.escaped = !0;
2978
- return;
2979
- }
2980
- }
2981
- this.node || (this.node = {
2982
- type: "text",
2983
- value: ""
2984
- }, this.list.push(this.node)), u === `
2985
- ` && (u = " "), (u.charCodeAt(0) >= 33 || [" ", " "].includes(u)) && (this.node.value += u), this.escaped = !1;
2986
- }
2987
- }
2988
- const bu = 50;
2989
- function w(s, u) {
2990
- u = u || {};
2991
- let r = u._depth || 0;
2992
- if (r > bu)
2993
- return [];
2994
- let i = new Eu(s).tokenize(), n = [], e = [], a = [];
2995
- if (i.forEach((o) => {
2996
- o.type === "operator" && (o.value === "," || o.value === ";") ? (e.length && n.push(e), e = []) : e.push(o);
2997
- }), e.length && n.push(e), n.forEach((o) => {
2998
- o = Cu(o, r), o.length && (a = a.concat(o));
2999
- }), u.flatten) {
3000
- let o = [], c = (l) => {
3001
- l.forEach((p) => {
3002
- if (p.group)
3003
- return c(p.group);
3004
- o.push(p);
3005
- });
3006
- };
3007
- return c(a), o;
3008
- }
3009
- return a;
3010
- }
3011
- function Bu(s) {
3012
- for (var u = "", r = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", t = new Uint8Array(s), i = t.byteLength, n = i % 3, e = i - n, a, o, c, l, p, f = 0; f < e; f = f + 3)
3013
- p = t[f] << 16 | t[f + 1] << 8 | t[f + 2], a = (p & 16515072) >> 18, o = (p & 258048) >> 12, c = (p & 4032) >> 6, l = p & 63, u += r[a] + r[o] + r[c] + r[l];
3014
- return n == 1 ? (p = t[e], a = (p & 252) >> 2, o = (p & 3) << 4, u += r[a] + r[o] + "==") : n == 2 && (p = t[e] << 8 | t[e + 1], a = (p & 64512) >> 10, o = (p & 1008) >> 4, c = (p & 15) << 2, u += r[a] + r[o] + r[c] + "="), u;
3015
- }
3016
- const wu = 256, vu = 2 * 1024 * 1024, yu = 10;
3017
- function T(s) {
3018
- return s.replace(/-(.)/g, (u, r) => r.toUpperCase());
3019
- }
3020
- function L(s, u, r) {
3021
- if (s == null)
3022
- return u;
3023
- if (typeof s != "number" || !Number.isInteger(s) || s < 0)
3024
- throw new TypeError(`${r} must be a non-negative integer`);
3025
- return s;
3026
- }
3027
- class S {
3028
- // async so that an invalid option rejects the returned promise instead of throwing
3029
- // synchronously, which would escape a `.catch()` chain
3030
- static async parse(u, r) {
3031
- return new S(r).parse(u);
3032
- }
3033
- // rfc822NestingDepth is internal state that nested parsers receive from their parent.
3034
- // It is deliberately a separate argument rather than an option, so that forwarding a
3035
- // caller supplied options object can not seed it and switch the recursion limit off.
3036
- constructor(u, r = 0) {
3037
- this.options = u || {}, this.mimeOptions = {
3038
- maxNestingDepth: L(this.options.maxNestingDepth, wu, "maxNestingDepth"),
3039
- maxHeadersSize: L(this.options.maxHeadersSize, vu, "maxHeadersSize")
3040
- }, this.maxRfc822NestingDepth = L(
3041
- this.options.maxRfc822NestingDepth,
3042
- yu,
3043
- "maxRfc822NestingDepth"
3044
- ), this.rfc822NestingDepth = r, this.root = this.currentNode = new z({
3045
- postalMime: this,
3046
- ...this.mimeOptions
3047
- }), this.boundaries = [], this.headerSize = 0, this.textContent = {}, this.attachments = [], this.attachmentEncoding = (this.options.attachmentEncoding || "").toString().replace(/[-_\s]/g, "").trim().toLowerCase() || "arraybuffer", this.started = !1;
3048
- }
3049
- async finalize() {
3050
- await this.root.finalize();
3051
- }
3052
- async processLine(u, r) {
3053
- let t = this.boundaries;
3054
- if (t.length && u.length > 2 && u[0] === 45 && u[1] === 45)
3055
- for (let i = t.length - 1; i >= 0; i--) {
3056
- let n = t[i];
3057
- if (u.length < n.value.length + 2)
3058
- continue;
3059
- let e = !0;
3060
- for (let l = 0; l < n.value.length; l++)
3061
- if (u[l + 2] !== n.value[l]) {
3062
- e = !1;
3063
- break;
3064
- }
3065
- if (!e)
3066
- continue;
3067
- let a = n.value.length + 2, o = !1;
3068
- u.length >= n.value.length + 4 && u[n.value.length + 2] === 45 && u[n.value.length + 3] === 45 && (o = !0, a = n.value.length + 4);
3069
- let c = !0;
3070
- for (let l = a; l < u.length; l++)
3071
- if (u[l] !== 32 && u[l] !== 9) {
3072
- c = !1;
3073
- break;
3074
- }
3075
- if (c)
3076
- return o ? (await n.node.finalize(), this.currentNode = n.node.parentNode || this.root) : (await n.node.finalizeChildNodes(), this.currentNode = new z({
3077
- postalMime: this,
3078
- parentNode: n.node,
3079
- parentMultipartType: n.node.contentType.multipart,
3080
- ...this.mimeOptions
3081
- })), r ? this.finalize() : void 0;
3082
- }
3083
- if (this.currentNode.feed(u), r)
3084
- return this.finalize();
3085
- }
3086
- readLine() {
3087
- let u = this.readPos, r = this.readPos;
3088
- for (; this.readPos < this.av.length; ) {
3089
- const t = this.av[this.readPos++];
3090
- if (t !== 13 && t !== 10 && (r = this.readPos), t === 10)
3091
- return {
3092
- bytes: new Uint8Array(this.buf, u, r - u),
3093
- done: this.readPos >= this.av.length
3094
- };
3095
- }
3096
- return {
3097
- bytes: new Uint8Array(this.buf, u, r - u),
3098
- done: this.readPos >= this.av.length
3099
- };
3100
- }
3101
- async processNodeTree() {
3102
- let u = {}, r = /* @__PURE__ */ new Set(), t = this.textMap = /* @__PURE__ */ new Map(), i = this.forceRfc822Attachments(), n = async (e, a, o) => {
3103
- var c, l, p, f, b;
3104
- if (a = a || !1, o = o || !1, e.contentType.multipart)
3105
- e.contentType.multipart === "alternative" ? a = e : e.contentType.multipart === "related" && (o = e);
3106
- else {
3107
- const A = this.isInlineMessageRfc822(e) && !i, m = A && this.rfc822NestingDepth >= this.maxRfc822NestingDepth;
3108
- if (A && !m) {
3109
- const h = new S(
3110
- {
3111
- // Only the limits are inherited. Options that decide how a part
3112
- // is classified stay with the parser that was configured.
3113
- ...this.mimeOptions,
3114
- maxRfc822NestingDepth: this.maxRfc822NestingDepth,
3115
- // attachments are encoded by the parent parser, keep raw buffers here
3116
- attachmentEncoding: "arraybuffer"
3117
- },
3118
- this.rfc822NestingDepth + 1
3119
- );
3120
- e.subMessage = await h.parse(e.content), t.has(e) || t.set(e, {});
3121
- let d = t.get(e);
3122
- (e.subMessage.text || !e.subMessage.html) && (d.plain = d.plain || [], d.plain.push({ type: "subMessage", value: e.subMessage }), r.add("plain")), e.subMessage.html && (d.html = d.html || [], d.html.push({ type: "subMessage", value: e.subMessage }), r.add("html")), h.textMap && h.textMap.forEach((D, K) => {
3123
- t.set(K, D);
3124
- });
3125
- for (let D of e.subMessage.attachments || [])
3126
- this.attachments.push(D);
3127
- } else if (this.isInlineTextNode(e)) {
3128
- let h = e.contentType.parsed.value.substr(e.contentType.parsed.value.indexOf("/") + 1), d = a || e;
3129
- t.has(d) || t.set(d, {});
3130
- let D = t.get(d);
3131
- D[h] = D[h] || [], D[h].push({ type: "text", value: e.getTextContent() }), r.add(h);
3132
- } else if (e.content) {
3133
- const h = ((p = (l = (c = e.contentDisposition) == null ? void 0 : c.parsed) == null ? void 0 : l.params) == null ? void 0 : p.filename) || e.contentType.parsed.params.name || null, d = {
3134
- filename: h ? C(h) : null,
3135
- mimeType: e.contentType.parsed.value,
3136
- disposition: ((b = (f = e.contentDisposition) == null ? void 0 : f.parsed) == null ? void 0 : b.value) || null
3137
- };
3138
- switch (o && e.contentId && !m && (d.related = !0), m && (d.rfc822DepthExceeded = !0), e.contentDescription && (d.description = C(e.contentDescription)), e.contentId && (d.contentId = e.contentId), e.contentType.parsed.value) {
3139
- case "text/calendar":
3140
- case "application/ics": {
3141
- e.contentType.parsed.params.method && (d.method = e.contentType.parsed.params.method.toString().toUpperCase().trim());
3142
- const D = e.getTextContent().replace(/\r?\n/g, `
3143
- `).replace(/\n*$/, `
3144
- `);
3145
- d.content = E.encode(D);
3146
- break;
3147
- }
3148
- default:
3149
- d.content = e.content;
3150
- }
3151
- this.attachments.push(d);
3152
- }
3153
- }
3154
- for (let A of e.childNodes)
3155
- await n(A, a, o);
3156
- };
3157
- await n(this.root, !1, !1), t.forEach((e) => {
3158
- r.forEach((a) => {
3159
- if (u[a] || (u[a] = []), e[a])
3160
- e[a].forEach((o) => {
3161
- switch (o.type) {
3162
- case "text":
3163
- u[a].push(o.value);
3164
- break;
3165
- case "subMessage":
3166
- switch (a) {
3167
- case "html":
3168
- u[a].push(V(o.value));
3169
- break;
3170
- case "plain":
3171
- u[a].push(I(o.value));
3172
- break;
3173
- }
3174
- break;
3175
- }
3176
- });
3177
- else {
3178
- let o;
3179
- switch (a) {
3180
- case "html":
3181
- o = "plain";
3182
- break;
3183
- case "plain":
3184
- o = "html";
3185
- break;
3186
- }
3187
- (e[o] || []).forEach((c) => {
3188
- switch (c.type) {
3189
- case "text":
3190
- switch (a) {
3191
- case "html":
3192
- u[a].push(du(c.value));
3193
- break;
3194
- case "plain":
3195
- u[a].push(fu(c.value));
3196
- break;
3197
- }
3198
- break;
3199
- case "subMessage":
3200
- switch (a) {
3201
- case "html":
3202
- u[a].push(V(c.value));
3203
- break;
3204
- case "plain":
3205
- u[a].push(I(c.value));
3206
- break;
3207
- }
3208
- break;
3209
- }
3210
- });
3211
- }
3212
- });
3213
- }), Object.keys(u).forEach((e) => {
3214
- u[e] = u[e].join(`
3215
- `);
3216
- }), this.textContent = u;
3217
- }
3218
- isInlineTextNode(u) {
3219
- var r, t, i;
3220
- if (((t = (r = u.contentDisposition) == null ? void 0 : r.parsed) == null ? void 0 : t.value) === "attachment")
3221
- return !1;
3222
- switch ((i = u.contentType.parsed) == null ? void 0 : i.value) {
3223
- case "text/html":
3224
- case "text/plain":
3225
- return !0;
3226
- case "text/calendar":
3227
- case "text/csv":
3228
- default:
3229
- return !1;
3230
- }
3231
- }
3232
- isInlineMessageRfc822(u) {
3233
- var t, i, n;
3234
- return ((t = u.contentType.parsed) == null ? void 0 : t.value) !== "message/rfc822" ? !1 : (((n = (i = u.contentDisposition) == null ? void 0 : i.parsed) == null ? void 0 : n.value) || (this.options.rfc822Attachments ? "attachment" : "inline")) === "inline";
3235
- }
3236
- // Check if this is a specially crafted report email where message/rfc822 content should not be inlined
3237
- forceRfc822Attachments() {
3238
- if (this.options.forceRfc822Attachments)
3239
- return !0;
3240
- let u = !1, r = (t) => {
3241
- t.contentType.multipart || t.contentType.parsed && ["message/delivery-status", "message/feedback-report"].includes(t.contentType.parsed.value) && (u = !0);
3242
- for (let i of t.childNodes)
3243
- r(i);
3244
- };
3245
- return r(this.root), u;
3246
- }
3247
- async resolveStream(u) {
3248
- let r = 0, t = [];
3249
- const i = u.getReader();
3250
- for (; ; ) {
3251
- const { done: a, value: o } = await i.read();
3252
- if (a)
3253
- break;
3254
- t.push(o), r += o.length;
3255
- }
3256
- const n = new Uint8Array(r);
3257
- let e = 0;
3258
- for (let a of t)
3259
- n.set(a, e), e += a.length;
3260
- return n;
3261
- }
3262
- async parse(u) {
3263
- var i, n;
3264
- if (this.started)
3265
- throw new Error("Can not reuse parser, create a new PostalMime object");
3266
- for (this.started = !0, u && typeof u.getReader == "function" && (u = await this.resolveStream(u)), u = u || new ArrayBuffer(0), typeof u == "string" && (u = E.encode(u)), (u instanceof Blob || Object.prototype.toString.call(u) === "[object Blob]") && (u = await x(u)), ArrayBuffer.isView(u) && (u = u.buffer.slice(u.byteOffset, u.byteOffset + u.byteLength)), this.buf = u, this.av = new Uint8Array(u), this.readPos = 0; this.readPos < this.av.length; ) {
3267
- const e = this.readLine();
3268
- await this.processLine(e.bytes, e.done);
3269
- }
3270
- await this.processNodeTree();
3271
- const r = {
3272
- headers: this.root.headers.map((e) => ({
3273
- key: e.key,
3274
- originalKey: e.originalKey,
3275
- value: e.value
3276
- }))
3277
- };
3278
- for (const e of ["from", "sender"]) {
3279
- const a = this.root.headers.find((o) => o.key === e);
3280
- if (a && a.value) {
3281
- const o = w(a.value);
3282
- o && o.length && (r[e] = o[0]);
3283
- }
3284
- }
3285
- for (const e of ["delivered-to", "return-path"]) {
3286
- const a = this.root.headers.find((o) => o.key === e);
3287
- if (a && a.value) {
3288
- const o = w(a.value);
3289
- if (o && o.length && o[0].address) {
3290
- const c = T(e);
3291
- r[c] = o[0].address;
3292
- }
3293
- }
3294
- }
3295
- for (const e of ["to", "cc", "bcc", "reply-to"]) {
3296
- const a = this.root.headers.filter((c) => c.key === e);
3297
- let o = [];
3298
- if (a.filter((c) => c && c.value).map((c) => w(c.value)).forEach((c) => o = o.concat(c || [])), o && o.length) {
3299
- const c = T(e);
3300
- r[c] = o;
3301
- }
3302
- }
3303
- for (const e of ["subject", "message-id", "in-reply-to", "references"]) {
3304
- const a = this.root.headers.find((o) => o.key === e);
3305
- if (a && a.value) {
3306
- const o = T(e);
3307
- r[o] = C(a.value);
3308
- }
3309
- }
3310
- let t = this.root.headers.find((e) => e.key === "date");
3311
- if (t) {
3312
- let e = new Date(t.value);
3313
- e.toString() === "Invalid Date" ? e = t.value : e = e.toISOString(), r.date = e;
3314
- }
3315
- switch ((i = this.textContent) != null && i.html && (r.html = this.textContent.html), (n = this.textContent) != null && n.plain && (r.text = this.textContent.plain), r.attachments = this.attachments, r.headerLines = (this.root.rawHeaderLines || []).slice(), this.attachmentEncoding) {
3316
- case "arraybuffer":
3317
- break;
3318
- case "base64":
3319
- for (let a of r.attachments || [])
3320
- a != null && a.content && (a.content = Bu(a.content), a.encoding = "base64");
3321
- break;
3322
- case "utf8":
3323
- let e = new TextDecoder("utf8");
3324
- for (let a of r.attachments || [])
3325
- a != null && a.content && (a.content = e.decode(a.content), a.encoding = "utf8");
3326
- break;
3327
- default:
3328
- throw new Error("Unknown attachment encoding");
3329
- }
3330
- return r;
3331
- }
3332
- }
3333
- export {
3334
- w as addressParser,
3335
- C as decodeWords,
3336
- S as default
3337
- };