@opentui/core 0.0.0-20251112-a24ada2d → 0.0.0-20251128-0889a764

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.
@@ -2200,8 +2200,18 @@ var parseKeypress = (s = "", options = {}) => {
2200
2200
  key.name = s;
2201
2201
  } else if (parts = metaKeyCodeRe.exec(s)) {
2202
2202
  key.meta = true;
2203
- key.shift = /^[A-Z]$/.test(parts[1]);
2204
- key.name = parts[1];
2203
+ const char = parts[1];
2204
+ const isUpperCase = /^[A-Z]$/.test(char);
2205
+ if (char === "F") {
2206
+ key.name = "right";
2207
+ } else if (char === "B") {
2208
+ key.name = "left";
2209
+ } else if (isUpperCase) {
2210
+ key.shift = true;
2211
+ key.name = char;
2212
+ } else {
2213
+ key.name = char;
2214
+ }
2205
2215
  } else if (s.length === 2 && s[0] === "\x1B" && s[1] <= "\x1A") {
2206
2216
  key.meta = true;
2207
2217
  key.ctrl = true;
@@ -2297,47 +2307,43 @@ class PasteEvent {
2297
2307
 
2298
2308
  class KeyHandler extends EventEmitter {
2299
2309
  useKittyKeyboard;
2300
- suspended = false;
2301
2310
  constructor(useKittyKeyboard = false) {
2302
2311
  super();
2303
2312
  this.useKittyKeyboard = useKittyKeyboard;
2304
2313
  }
2305
2314
  processInput(data) {
2306
- if (this.suspended) {
2307
- return false;
2308
- }
2309
2315
  const parsedKey = parseKeypress(data, { useKittyKeyboard: this.useKittyKeyboard });
2310
2316
  if (!parsedKey) {
2311
2317
  return false;
2312
2318
  }
2313
- switch (parsedKey.eventType) {
2314
- case "press":
2315
- this.emit("keypress", new KeyEvent(parsedKey));
2316
- break;
2317
- case "repeat":
2318
- this.emit("keyrepeat", new KeyEvent(parsedKey));
2319
- break;
2320
- case "release":
2321
- this.emit("keyrelease", new KeyEvent(parsedKey));
2322
- break;
2323
- default:
2324
- this.emit("keypress", new KeyEvent(parsedKey));
2325
- break;
2319
+ try {
2320
+ switch (parsedKey.eventType) {
2321
+ case "press":
2322
+ this.emit("keypress", new KeyEvent(parsedKey));
2323
+ break;
2324
+ case "repeat":
2325
+ this.emit("keyrepeat", new KeyEvent(parsedKey));
2326
+ break;
2327
+ case "release":
2328
+ this.emit("keyrelease", new KeyEvent(parsedKey));
2329
+ break;
2330
+ default:
2331
+ this.emit("keypress", new KeyEvent(parsedKey));
2332
+ break;
2333
+ }
2334
+ } catch (error) {
2335
+ console.error(`[KeyHandler] Error processing input:`, error);
2336
+ return true;
2326
2337
  }
2327
2338
  return true;
2328
2339
  }
2329
2340
  processPaste(data) {
2330
- if (this.suspended) {
2331
- return;
2341
+ try {
2342
+ const cleanedData = Bun.stripANSI(data);
2343
+ this.emit("paste", new PasteEvent(cleanedData));
2344
+ } catch (error) {
2345
+ console.error(`[KeyHandler] Error processing paste:`, error);
2332
2346
  }
2333
- const cleanedData = Bun.stripANSI(data);
2334
- this.emit("paste", new PasteEvent(cleanedData));
2335
- }
2336
- suspend() {
2337
- this.suspended = true;
2338
- }
2339
- resume() {
2340
- this.suspended = false;
2341
2347
  }
2342
2348
  }
2343
2349
 
@@ -2350,8 +2356,14 @@ class InternalKeyHandler extends KeyHandler {
2350
2356
  return this.emitWithPriority(event, ...args);
2351
2357
  }
2352
2358
  emitWithPriority(event, ...args) {
2353
- const hasGlobalListeners = super.emit(event, ...args);
2359
+ let hasGlobalListeners = false;
2360
+ try {
2361
+ hasGlobalListeners = super.emit(event, ...args);
2362
+ } catch (error) {
2363
+ console.error(`[KeyHandler] Error in global ${event} handler:`, error);
2364
+ }
2354
2365
  const renderableSet = this.renderableHandlers.get(event);
2366
+ const renderableHandlers = renderableSet && renderableSet.size > 0 ? [...renderableSet] : [];
2355
2367
  let hasRenderableListeners = false;
2356
2368
  if (renderableSet && renderableSet.size > 0) {
2357
2369
  hasRenderableListeners = true;
@@ -2360,8 +2372,12 @@ class InternalKeyHandler extends KeyHandler {
2360
2372
  if (keyEvent.defaultPrevented)
2361
2373
  return hasGlobalListeners || hasRenderableListeners;
2362
2374
  }
2363
- for (const handler of renderableSet) {
2364
- handler(...args);
2375
+ for (const handler of renderableHandlers) {
2376
+ try {
2377
+ handler(...args);
2378
+ } catch (error) {
2379
+ console.error(`[KeyHandler] Error in renderable ${event} handler:`, error);
2380
+ }
2365
2381
  }
2366
2382
  }
2367
2383
  return hasGlobalListeners || hasRenderableListeners;
@@ -2540,76 +2556,6 @@ function parseColor(color) {
2540
2556
  }
2541
2557
  return color;
2542
2558
  }
2543
- // src/lib/fonts/tiny.json
2544
- var tiny_default = {
2545
- name: "tiny",
2546
- version: "0.2.0",
2547
- homepage: "https://github.com/dominikwilkowski/cfonts",
2548
- colors: 1,
2549
- lines: 2,
2550
- buffer: ["", ""],
2551
- letterspace: [" ", " "],
2552
- letterspace_size: 1,
2553
- chars: {
2554
- A: ["\u2584\u2580\u2588", "\u2588\u2580\u2588"],
2555
- B: ["\u2588\u2584\u2584", "\u2588\u2584\u2588"],
2556
- C: ["\u2588\u2580\u2580", "\u2588\u2584\u2584"],
2557
- D: ["\u2588\u2580\u2584", "\u2588\u2584\u2580"],
2558
- E: ["\u2588\u2580\u2580", "\u2588\u2588\u2584"],
2559
- F: ["\u2588\u2580\u2580", "\u2588\u2580 "],
2560
- G: ["\u2588\u2580\u2580", "\u2588\u2584\u2588"],
2561
- H: ["\u2588 \u2588", "\u2588\u2580\u2588"],
2562
- I: ["\u2588", "\u2588"],
2563
- J: [" \u2588", "\u2588\u2584\u2588"],
2564
- K: ["\u2588\u2584\u2580", "\u2588 \u2588"],
2565
- L: ["\u2588 ", "\u2588\u2584\u2584"],
2566
- M: ["\u2588\u2580\u2584\u2580\u2588", "\u2588 \u2580 \u2588"],
2567
- N: ["\u2588\u2584 \u2588", "\u2588 \u2580\u2588"],
2568
- O: ["\u2588\u2580\u2588", "\u2588\u2584\u2588"],
2569
- P: ["\u2588\u2580\u2588", "\u2588\u2580\u2580"],
2570
- Q: ["\u2588\u2580\u2588", "\u2580\u2580\u2588"],
2571
- R: ["\u2588\u2580\u2588", "\u2588\u2580\u2584"],
2572
- S: ["\u2588\u2580\u2580", "\u2584\u2584\u2588"],
2573
- T: ["\u2580\u2588\u2580", " \u2588 "],
2574
- U: ["\u2588 \u2588", "\u2588\u2584\u2588"],
2575
- V: ["\u2588 \u2588", "\u2580\u2584\u2580"],
2576
- W: ["\u2588 \u2588 \u2588", "\u2580\u2584\u2580\u2584\u2580"],
2577
- X: ["\u2580\u2584\u2580", "\u2588 \u2588"],
2578
- Y: ["\u2588\u2584\u2588", " \u2588 "],
2579
- Z: ["\u2580\u2588", "\u2588\u2584"],
2580
- "0": ["\u259E\u2588\u259A", "\u259A\u2588\u259E"],
2581
- "1": ["\u2584\u2588", " \u2588"],
2582
- "2": ["\u2580\u2588", "\u2588\u2584"],
2583
- "3": ["\u2580\u2580\u2588", "\u2584\u2588\u2588"],
2584
- "4": ["\u2588 \u2588", "\u2580\u2580\u2588"],
2585
- "5": ["\u2588\u2580", "\u2584\u2588"],
2586
- "6": ["\u2588\u2584\u2584", "\u2588\u2584\u2588"],
2587
- "7": ["\u2580\u2580\u2588", " \u2588"],
2588
- "8": ["\u2588\u2588\u2588", "\u2588\u2584\u2588"],
2589
- "9": ["\u2588\u2580\u2588", "\u2580\u2580\u2588"],
2590
- "!": ["\u2588", "\u2584"],
2591
- "?": ["\u2580\u2588", " \u2584"],
2592
- ".": [" ", "\u2584"],
2593
- "+": ["\u2584\u2588\u2584", " \u2580 "],
2594
- "-": ["\u2584\u2584", " "],
2595
- _: [" ", "\u2584\u2584"],
2596
- "=": ["\u2580\u2580", "\u2580\u2580"],
2597
- "@": ["\u259B\u2588\u259C", "\u2599\u259F\u2583"],
2598
- "#": ["\u259F\u2584\u2599", "\u259C\u2580\u259B"],
2599
- $: ["\u2596\u2588\u2597", "\u2598\u2588\u259D"],
2600
- "%": ["\u2580 \u2584\u2580", "\u2584\u2580 \u2584"],
2601
- "&": ["\u2584\u2584\u2588", "\u2588\u2584\u2588"],
2602
- "(": ["\u2584\u2580", "\u2580\u2584"],
2603
- ")": ["\u2580\u2584", "\u2584\u2580"],
2604
- "/": [" \u2584\u2580", "\u2584\u2580 "],
2605
- ":": ["\u2580", "\u2584"],
2606
- ";": [" ", "\u2584\u2580"],
2607
- ",": [" ", "\u2588"],
2608
- "'": ["\u2580", " "],
2609
- '"': ["\u259B \u259C", " "],
2610
- " ": [" ", " "]
2611
- }
2612
- };
2613
2559
  // src/lib/fonts/block.json
2614
2560
  var block_default = {
2615
2561
  name: "block",
@@ -3748,186 +3694,1579 @@ var slick_default = {
3748
3694
  "<c1>\u2503\u2570\u2501\u256F\u2503\u256E</c1>",
3749
3695
  "<c1>\u2570\u2501\u2501\u2501\u2501\u256F</c1>"
3750
3696
  ],
3751
- R: ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2503\u256D\u256E\u256D\u256F</c1>", "<c1>\u2503\u2503\u2503\u2570\u256E</c1>", "<c1>\u2570\u256F\u2570\u2501\u256F</c1>"],
3752
- S: ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3697
+ R: ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2503\u256D\u256E\u256D\u256F</c1>", "<c1>\u2503\u2503\u2503\u2570\u256E</c1>", "<c1>\u2570\u256F\u2570\u2501\u256F</c1>"],
3698
+ S: ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3699
+ T: [
3700
+ "<c1>\u256D\u2501\u2501\u2501\u2501\u256E</c1>",
3701
+ "<c1>\u2503\u256D\u256E\u256D\u256E\u2503</c1>",
3702
+ "<c1>\u2570\u256F\u2503\u2503\u2570\u256F</c1>",
3703
+ "<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571\u2571</c2>",
3704
+ "<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571\u2571</c2>",
3705
+ "<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"
3706
+ ],
3707
+ U: [
3708
+ "<c1>\u256D\u256E</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>",
3709
+ "<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>",
3710
+ "<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>",
3711
+ "<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>",
3712
+ "<c1>\u2503\u2570\u2501\u256F\u2503</c1>",
3713
+ "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"
3714
+ ],
3715
+ V: [
3716
+ "<c1>\u256D\u256E</c1><c2>\u2571\u2571</c2><c1>\u256D\u256E</c1>",
3717
+ "<c1>\u2503\u2570\u256E\u256D\u256F\u2503</c1>",
3718
+ "<c1>\u2570\u256E\u2503\u2503\u256D\u256F</c1>",
3719
+ "<c2>\u2571</c2><c1>\u2503\u2570\u256F\u2503</c1><c2>\u2571</c2>",
3720
+ "<c2>\u2571</c2><c1>\u2570\u256E\u256D\u256F</c1><c2>\u2571</c2>",
3721
+ "<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"
3722
+ ],
3723
+ W: [
3724
+ "<c1>\u256D\u256E\u256D\u256E\u256D\u256E</c1>",
3725
+ "<c1>\u2503\u2503\u2503\u2503\u2503\u2503</c1>",
3726
+ "<c1>\u2503\u2503\u2503\u2503\u2503\u2503</c1>",
3727
+ "<c1>\u2503\u2570\u256F\u2570\u256F\u2503</c1>",
3728
+ "<c1>\u2570\u256E\u256D\u256E\u256D\u256F</c1>",
3729
+ "<c2>\u2571</c2><c1>\u2570\u256F\u2570\u256F</c1><c2>\u2571</c2>"
3730
+ ],
3731
+ X: [
3732
+ "<c1>\u256D\u2501\u256E\u256D\u2501\u256E</c1>",
3733
+ "<c1>\u2570\u256E\u2570\u256F\u256D\u256F</c1>",
3734
+ "<c2>\u2571</c2><c1>\u2570\u256E\u256D\u256F</c1><c2>\u2571</c2>",
3735
+ "<c2>\u2571</c2><c1>\u256D\u256F\u2570\u256E</c1><c2>\u2571</c2>",
3736
+ "<c1>\u256D\u256F\u256D\u256E\u2570\u256E</c1>",
3737
+ "<c1>\u2570\u2501\u256F\u2570\u2501\u256F</c1>"
3738
+ ],
3739
+ Y: [
3740
+ "<c1>\u256D\u256E</c1><c2>\u2571\u2571</c2><c1>\u256D\u256E</c1>",
3741
+ "<c1>\u2503\u2570\u256E\u256D\u256F\u2503</c1>",
3742
+ "<c1>\u2570\u256E\u2570\u256F\u256D\u256F</c1>",
3743
+ "<c2>\u2571</c2><c1>\u2570\u256E\u256D\u256F</c1><c2>\u2571</c2>",
3744
+ "<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571\u2571</c2>",
3745
+ "<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"
3746
+ ],
3747
+ Z: [
3748
+ "<c1>\u256D\u2501\u2501\u2501\u2501\u256E</c1>",
3749
+ "<c1>\u2570\u2501\u2501\u256E\u2501\u2503</c1>",
3750
+ "<c2>\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>",
3751
+ "<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>",
3752
+ "<c1>\u256D\u256F\u2501\u2570\u2501\u256E</c1>",
3753
+ "<c1>\u2570\u2501\u2501\u2501\u2501\u256F</c1>"
3754
+ ],
3755
+ "0": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2503\u2503\u2503\u2503</c1>", "<c1>\u2503\u2503\u2503\u2503\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3756
+ "1": [
3757
+ "<c2>\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>",
3758
+ "<c1>\u256D\u256F\u2503</c1><c2>\u2571</c2>",
3759
+ "<c1>\u2570\u256E\u2503</c1><c2>\u2571</c2>",
3760
+ "<c2>\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>",
3761
+ "<c1>\u256D\u256F\u2570\u256E</c1>",
3762
+ "<c1>\u2570\u2501\u2501\u256F</c1>"
3763
+ ],
3764
+ "2": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2570\u256F\u256D\u256F\u2503</c1>", "<c1>\u256D\u2501\u256F\u256D\u256F</c1>", "<c1>\u2503\u2570\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3765
+ "3": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2570\u256F\u256D\u256F\u2503</c1>", "<c1>\u256D\u256E\u2570\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3766
+ "4": [
3767
+ "<c1>\u256D\u256E</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>",
3768
+ "<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>",
3769
+ "<c1>\u2503\u2570\u2501\u256F\u2503</c1>",
3770
+ "<c1>\u2570\u2501\u2501\u256E\u2503</c1>",
3771
+ "<c2>\u2571\u2571\u2571</c2><c1>\u2503\u2503</c1>",
3772
+ "<c2>\u2571\u2571\u2571</c2><c1>\u2570\u256F</c1>"
3773
+ ],
3774
+ "5": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u2501\u256F</c1>", "<c1>\u2503\u2570\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u256E\u2503</c1>", "<c1>\u256D\u2501\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3775
+ "6": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u2501\u256F</c1>", "<c1>\u2503\u2570\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3776
+ "7": [
3777
+ "<c1>\u256D\u2501\u2501\u2501\u256E</c1>",
3778
+ "<c1>\u2503\u256D\u2501\u256E\u2503</c1>",
3779
+ "<c1>\u2570\u256F\u256D\u256F\u2503</c1>",
3780
+ "<c2>\u2571\u2571</c2><c1>\u2503\u256D\u256F</c1>",
3781
+ "<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>",
3782
+ "<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571</c2>"
3783
+ ],
3784
+ "8": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3785
+ "9": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u256E\u2503</c1>", "<c1>\u256D\u2501\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3786
+ "!": ["<c1>\u256D\u256E</c1>", "<c1>\u2503\u2503</c1>", "<c1>\u2503\u2503</c1>", "<c1>\u2570\u256F</c1>", "<c1>\u256D\u256E</c1>", "<c1>\u2570\u256F</c1>"],
3787
+ "?": [
3788
+ "<c1>\u256D\u2501\u2501\u2501\u256E</c1>",
3789
+ "<c1>\u2503\u256D\u2501\u256E\u2503</c1>",
3790
+ "<c1>\u2570\u256F\u256D\u256F\u2503</c1>",
3791
+ "<c2>\u2571\u2571</c2><c1>\u2503\u256D\u256F</c1>",
3792
+ "<c2>\u2571\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>",
3793
+ "<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571</c2>"
3794
+ ],
3795
+ ".": ["<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c1>\u256D\u256E</c1>", "<c1>\u2570\u256F</c1>"],
3796
+ "+": [
3797
+ "<c2>\u2571\u2571\u2571\u2571</c2>",
3798
+ "<c2>\u2571\u2571\u2571\u2571</c2>",
3799
+ "<c2>\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>",
3800
+ "<c1>\u256D\u256F\u2570\u256E</c1>",
3801
+ "<c1>\u2570\u256E\u256D\u256F</c1>",
3802
+ "<c2>\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571</c2>"
3803
+ ],
3804
+ "-": ["<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c1>\u256D\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u256F</c1>", "<c2>\u2571\u2571\u2571\u2571</c2>"],
3805
+ _: ["<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c1>\u256D\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u256F</c1>"],
3806
+ "=": ["<c2>\u2571\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571\u2571</c2>", "<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>", "<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3807
+ "@": [
3808
+ "<c1>\u256D\u2501\u2501\u2501\u2501\u256E</c1><c2>\u2571</c2>",
3809
+ "<c1>\u2503\u256D\u2501\u2501\u256E\u2503</c1><c2>\u2571</c2>",
3810
+ "<c1>\u2503\u2503\u256D\u2501\u2503\u2503</c1><c2>\u2571</c2>",
3811
+ "<c1>\u2503\u2503\u2570\u256F\u2503\u2503</c1><c2>\u2571</c2>",
3812
+ "<c1>\u2503\u2570\u2501\u2501\u256F\u2501\u256E</c1>",
3813
+ "<c1>\u2570\u2501\u2501\u2501\u2501\u2501\u256F</c1>"
3814
+ ],
3815
+ "#": [
3816
+ "<c2>\u2571</c2><c1>\u256D\u2501\u2501\u256E</c1><c2>\u2571</c2>",
3817
+ "<c1>\u256D\u256F\u256D\u256E\u2570\u256E</c1>",
3818
+ "<c1>\u2570\u256E\u2503\u2503\u256D\u256F</c1>",
3819
+ "<c1>\u256D\u256F\u2503\u2503\u2570\u256E</c1>",
3820
+ "<c1>\u2570\u256E\u2570\u256F\u256D\u256F</c1>",
3821
+ "<c2>\u2571</c2><c1>\u2570\u2501\u2501\u256F</c1><c2>\u2571</c2>"
3822
+ ],
3823
+ $: [
3824
+ "<c2>\u2571\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>",
3825
+ "<c1>\u256D\u2501\u256F\u2570\u256E</c1>",
3826
+ "<c1>\u2503\u2570\u2501\u2501\u256E</c1>",
3827
+ "<c1>\u2570\u2501\u2501\u256E\u2503</c1>",
3828
+ "<c1>\u2570\u256E\u256D\u2501\u256F</c1>",
3829
+ "<c2>\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"
3830
+ ],
3831
+ "%": [
3832
+ "<c1>\u256D\u256E</c1><c2>\u2571\u2571</c2><c1>\u256D\u2501\u256E</c1>",
3833
+ "<c1>\u2570\u256F</c1><c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>",
3834
+ "<c2>\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>",
3835
+ "<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571\u2571</c2>",
3836
+ "<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>",
3837
+ "<c1>\u2570\u2501\u256F</c1><c2>\u2571\u2571</c2><c1>\u2570\u256F</c1>"
3838
+ ],
3839
+ "&": [
3840
+ "<c2>\u2571</c2><c1>\u256D\u2501\u2501\u256E</c1>",
3841
+ "<c2>\u2571</c2><c1>\u2503\u256D\u2501\u256F</c1>",
3842
+ "<c1>\u256D\u256F\u2570\u256E</c1><c2>\u2571</c2>",
3843
+ "<c1>\u2503\u256D\u256E\u2503</c1><c2>\u2571</c2>",
3844
+ "<c1>\u2503\u2570\u256F\u2503\u256E</c1>",
3845
+ "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"
3846
+ ],
3847
+ "(": [
3848
+ "<c2>\u2571\u2571</c2><c1>\u256D\u2501\u256E</c1>",
3849
+ "<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>",
3850
+ "<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>",
3851
+ "<c1>\u2570\u256E\u2570\u256E</c1><c2>\u2571</c2>",
3852
+ "<c2>\u2571</c2><c1>\u2570\u256E\u2570\u256E</c1>",
3853
+ "<c2>\u2571\u2571</c2><c1>\u2570\u2501\u256F</c1>"
3854
+ ],
3855
+ ")": [
3856
+ "<c1>\u256D\u2501\u256E</c1><c2>\u2571\u2571</c2>",
3857
+ "<c1>\u2570\u256E\u2570\u256E</c1><c2>\u2571</c2>",
3858
+ "<c2>\u2571</c2><c1>\u2570\u256E\u2570\u256E</c1>",
3859
+ "<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>",
3860
+ "<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>",
3861
+ "<c1>\u2570\u2501\u256F</c1><c2>\u2571\u2571</c2>"
3862
+ ],
3863
+ "/": [
3864
+ "<c2>\u2571\u2571\u2571\u2571</c2><c1>\u256D\u2501\u256E</c1>",
3865
+ "<c2>\u2571\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>",
3866
+ "<c2>\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>",
3867
+ "<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571\u2571</c2>",
3868
+ "<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571\u2571\u2571</c2>",
3869
+ "<c1>\u2570\u2501\u256F</c1><c2>\u2571\u2571\u2571\u2571</c2>"
3870
+ ],
3871
+ ":": ["<c2>\u2571\u2571</c2>", "<c1>\u256D\u256E</c1>", "<c1>\u2570\u256F</c1>", "<c1>\u256D\u256E</c1>", "<c1>\u2570\u256F</c1>", "<c2>\u2571\u2571</c2>"],
3872
+ ";": ["<c1>\u256D\u256E</c1>", "<c1>\u2503\u2503</c1>", "<c1>\u2570\u256F</c1>", "<c1>\u256D\u256E</c1>", "<c1>\u2570\u252B</c1>", "<c2>\u2571</c2><c1>\u256F</c1>"],
3873
+ ",": ["<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c1>\u256D\u256E</c1>", "<c1>\u2570\u252B</c1>", "<c2>\u2571</c2><c1>\u256F</c1>"],
3874
+ "'": ["<c1>\u256D\u256E</c1>", "<c1>\u2570\u256F</c1>", "<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>"],
3875
+ '"': ["<c1>\u256D\u256E\u256D\u256E</c1>", "<c1>\u2570\u256F\u2570\u256F</c1>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>"],
3876
+ " ": ["<c2>\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571</c2>"]
3877
+ }
3878
+ };
3879
+ // src/lib/fonts/tiny.json
3880
+ var tiny_default = {
3881
+ name: "tiny",
3882
+ version: "0.2.0",
3883
+ homepage: "https://github.com/dominikwilkowski/cfonts",
3884
+ colors: 1,
3885
+ lines: 2,
3886
+ buffer: ["", ""],
3887
+ letterspace: [" ", " "],
3888
+ letterspace_size: 1,
3889
+ chars: {
3890
+ A: ["\u2584\u2580\u2588", "\u2588\u2580\u2588"],
3891
+ B: ["\u2588\u2584\u2584", "\u2588\u2584\u2588"],
3892
+ C: ["\u2588\u2580\u2580", "\u2588\u2584\u2584"],
3893
+ D: ["\u2588\u2580\u2584", "\u2588\u2584\u2580"],
3894
+ E: ["\u2588\u2580\u2580", "\u2588\u2588\u2584"],
3895
+ F: ["\u2588\u2580\u2580", "\u2588\u2580 "],
3896
+ G: ["\u2588\u2580\u2580", "\u2588\u2584\u2588"],
3897
+ H: ["\u2588 \u2588", "\u2588\u2580\u2588"],
3898
+ I: ["\u2588", "\u2588"],
3899
+ J: [" \u2588", "\u2588\u2584\u2588"],
3900
+ K: ["\u2588\u2584\u2580", "\u2588 \u2588"],
3901
+ L: ["\u2588 ", "\u2588\u2584\u2584"],
3902
+ M: ["\u2588\u2580\u2584\u2580\u2588", "\u2588 \u2580 \u2588"],
3903
+ N: ["\u2588\u2584 \u2588", "\u2588 \u2580\u2588"],
3904
+ O: ["\u2588\u2580\u2588", "\u2588\u2584\u2588"],
3905
+ P: ["\u2588\u2580\u2588", "\u2588\u2580\u2580"],
3906
+ Q: ["\u2588\u2580\u2588", "\u2580\u2580\u2588"],
3907
+ R: ["\u2588\u2580\u2588", "\u2588\u2580\u2584"],
3908
+ S: ["\u2588\u2580\u2580", "\u2584\u2584\u2588"],
3909
+ T: ["\u2580\u2588\u2580", " \u2588 "],
3910
+ U: ["\u2588 \u2588", "\u2588\u2584\u2588"],
3911
+ V: ["\u2588 \u2588", "\u2580\u2584\u2580"],
3912
+ W: ["\u2588 \u2588 \u2588", "\u2580\u2584\u2580\u2584\u2580"],
3913
+ X: ["\u2580\u2584\u2580", "\u2588 \u2588"],
3914
+ Y: ["\u2588\u2584\u2588", " \u2588 "],
3915
+ Z: ["\u2580\u2588", "\u2588\u2584"],
3916
+ "0": ["\u259E\u2588\u259A", "\u259A\u2588\u259E"],
3917
+ "1": ["\u2584\u2588", " \u2588"],
3918
+ "2": ["\u2580\u2588", "\u2588\u2584"],
3919
+ "3": ["\u2580\u2580\u2588", "\u2584\u2588\u2588"],
3920
+ "4": ["\u2588 \u2588", "\u2580\u2580\u2588"],
3921
+ "5": ["\u2588\u2580", "\u2584\u2588"],
3922
+ "6": ["\u2588\u2584\u2584", "\u2588\u2584\u2588"],
3923
+ "7": ["\u2580\u2580\u2588", " \u2588"],
3924
+ "8": ["\u2588\u2588\u2588", "\u2588\u2584\u2588"],
3925
+ "9": ["\u2588\u2580\u2588", "\u2580\u2580\u2588"],
3926
+ "!": ["\u2588", "\u2584"],
3927
+ "?": ["\u2580\u2588", " \u2584"],
3928
+ ".": [" ", "\u2584"],
3929
+ "+": ["\u2584\u2588\u2584", " \u2580 "],
3930
+ "-": ["\u2584\u2584", " "],
3931
+ _: [" ", "\u2584\u2584"],
3932
+ "=": ["\u2580\u2580", "\u2580\u2580"],
3933
+ "@": ["\u259B\u2588\u259C", "\u2599\u259F\u2583"],
3934
+ "#": ["\u259F\u2584\u2599", "\u259C\u2580\u259B"],
3935
+ $: ["\u2596\u2588\u2597", "\u2598\u2588\u259D"],
3936
+ "%": ["\u2580 \u2584\u2580", "\u2584\u2580 \u2584"],
3937
+ "&": ["\u2584\u2584\u2588", "\u2588\u2584\u2588"],
3938
+ "(": ["\u2584\u2580", "\u2580\u2584"],
3939
+ ")": ["\u2580\u2584", "\u2584\u2580"],
3940
+ "/": [" \u2584\u2580", "\u2584\u2580 "],
3941
+ ":": ["\u2580", "\u2584"],
3942
+ ";": [" ", "\u2584\u2580"],
3943
+ ",": [" ", "\u2588"],
3944
+ "'": ["\u2580", " "],
3945
+ '"': ["\u259B \u259C", " "],
3946
+ " ": [" ", " "]
3947
+ }
3948
+ };
3949
+ // src/lib/fonts/huge.json
3950
+ var huge_default = {
3951
+ name: "huge",
3952
+ version: "0.2.0",
3953
+ homepage: "https://github.com/dominikwilkowski/cfonts",
3954
+ colors: 2,
3955
+ lines: 11,
3956
+ buffer: ["", "", "", "", "", "", "", "", "", "", ""],
3957
+ letterspace: [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "],
3958
+ letterspace_size: 1,
3959
+ chars: {
3960
+ A: [
3961
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
3962
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
3963
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3964
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
3965
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3966
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
3967
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3968
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
3969
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
3970
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
3971
+ " <c1>\u2580 \u2580</c1> "
3972
+ ],
3973
+ B: [
3974
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
3975
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
3976
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3977
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
3978
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3979
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
3980
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3981
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
3982
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
3983
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
3984
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
3985
+ ],
3986
+ C: [
3987
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
3988
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
3989
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
3990
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
3991
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
3992
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
3993
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
3994
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
3995
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
3996
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
3997
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
3998
+ ],
3999
+ D: [
4000
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4001
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4002
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4003
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4004
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4005
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4006
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4007
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4008
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4009
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4010
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4011
+ ],
4012
+ E: [
4013
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4014
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4015
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4016
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4017
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4018
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4019
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4020
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4021
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4022
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4023
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4024
+ ],
4025
+ F: [
4026
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4027
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4028
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4029
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4030
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4031
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4032
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4033
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4034
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4035
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4036
+ " <c1>\u2580</c1> "
4037
+ ],
4038
+ G: [
4039
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4040
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4041
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4042
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4043
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4044
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4045
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4046
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4047
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4048
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4049
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4050
+ ],
4051
+ H: [
4052
+ " <c1>\u2584 \u2584</c1> ",
4053
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4054
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4055
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4056
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4057
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4058
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4059
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4060
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4061
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4062
+ " <c1>\u2580 \u2580</c1> "
4063
+ ],
4064
+ I: [
4065
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4066
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4067
+ " <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> ",
4068
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4069
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4070
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4071
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4072
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4073
+ " <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584</c1> ",
4074
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4075
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4076
+ ],
4077
+ J: [
4078
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4079
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4080
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580</c1> ",
4081
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4082
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4083
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4084
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4085
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4086
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4087
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4088
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4089
+ ],
4090
+ K: [
4091
+ " <c1>\u2584 \u2584</c1> ",
4092
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4093
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4094
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4095
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4096
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4097
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4098
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4099
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4100
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4101
+ " <c1>\u2580 \u2580</c1> "
4102
+ ],
4103
+ L: [
4104
+ " <c1>\u2584</c1> ",
4105
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4106
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4107
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4108
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4109
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4110
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4111
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4112
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4113
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4114
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4115
+ ],
4116
+ M: [
4117
+ " <c1>\u2584\u2584 \u2584\u2584</c1> ",
4118
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4119
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4120
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4121
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4122
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4123
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2580 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4124
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4125
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4126
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4127
+ " <c1>\u2580 \u2580</c1> "
4128
+ ],
4129
+ N: [
4130
+ " <c1>\u2584\u2584 \u2584</c1> ",
4131
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4132
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4133
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4134
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4135
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4136
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4137
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4138
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4139
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4140
+ " <c1>\u2580 \u2580\u2580</c1> "
4141
+ ],
4142
+ O: [
4143
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4144
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4145
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4146
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4147
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4148
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4149
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4150
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4151
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4152
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4153
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4154
+ ],
4155
+ P: [
4156
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4157
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4158
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4159
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4160
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4161
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4162
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4163
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4164
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4165
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4166
+ " <c1>\u2580</c1> "
4167
+ ],
4168
+ Q: [
4169
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4170
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4171
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4172
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4173
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4174
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4175
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4176
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4177
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580</c1> ",
4178
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4179
+ " <c1>\u2580</c1> "
4180
+ ],
4181
+ R: [
4182
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4183
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4184
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4185
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4186
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4187
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4188
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580</c1> ",
4189
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4190
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4191
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4192
+ " <c1>\u2580 \u2580</c1> "
4193
+ ],
4194
+ S: [
4195
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4196
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4197
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4198
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4199
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4200
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4201
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4202
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4203
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4204
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4205
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4206
+ ],
4207
+ T: [
4208
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4209
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4210
+ " <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> ",
4211
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4212
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4213
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4214
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4215
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4216
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4217
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4218
+ " <c1>\u2580</c1> "
4219
+ ],
4220
+ U: [
4221
+ " <c1>\u2584 \u2584</c1> ",
4222
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4223
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4224
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4225
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4226
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4227
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4228
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4229
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4230
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4231
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4232
+ ],
4233
+ V: [
4234
+ " <c1>\u2584 \u2584</c1> ",
4235
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4236
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4237
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4238
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4239
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4240
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4241
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4242
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4243
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4244
+ " <c1>\u2580</c1> "
4245
+ ],
4246
+ W: [
4247
+ " <c1>\u2584 \u2584</c1> ",
4248
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4249
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4250
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4251
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4252
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4253
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4254
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4255
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4256
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4257
+ " <c1>\u2580\u2580 \u2580\u2580</c1> "
4258
+ ],
4259
+ X: [
4260
+ " <c1>\u2584 \u2584</c1> ",
4261
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4262
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4263
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4264
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4265
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4266
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4267
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4268
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4269
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4270
+ " <c1>\u2580 \u2580</c1> "
4271
+ ],
4272
+ Y: [
4273
+ " <c1>\u2584 \u2584</c1> ",
4274
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4275
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4276
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4277
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4278
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4279
+ " <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> ",
4280
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4281
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4282
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4283
+ " <c1>\u2580</c1> "
4284
+ ],
4285
+ Z: [
4286
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4287
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4288
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4289
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4290
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4291
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4292
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4293
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4294
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584</c1> ",
4295
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4296
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4297
+ ],
4298
+ "0": [
4299
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4300
+ " <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4301
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4302
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4303
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4304
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4305
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4306
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4307
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4308
+ " <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4309
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4310
+ ],
4311
+ "1": [
4312
+ " <c1>\u2584\u2584\u2584\u2584</c1> ",
4313
+ " <c1>\u2584\u2588</c1><c2>\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4314
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4315
+ " <c1>\u2580\u2580 \u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4316
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4317
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4318
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4319
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4320
+ " <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588\u2584\u2584\u2584</c1> ",
4321
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4322
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4323
+ ],
4324
+ "2": [
4325
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4326
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4327
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4328
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4329
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4330
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4331
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4332
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4333
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4334
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4335
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4336
+ ],
4337
+ "3": [
4338
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4339
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4340
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4341
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4342
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4343
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4344
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4345
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4346
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4347
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4348
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4349
+ ],
4350
+ "4": [
4351
+ " <c1>\u2584 \u2584</c1> ",
4352
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4353
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4354
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4355
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4356
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4357
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4358
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4359
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4360
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4361
+ " <c1>\u2580</c1> "
4362
+ ],
4363
+ "5": [
4364
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4365
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4366
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4367
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4368
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4369
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4370
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4371
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4372
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4373
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4374
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4375
+ ],
4376
+ "6": [
4377
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4378
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4379
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> ",
4380
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4381
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4382
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4383
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4384
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4385
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4386
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4387
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4388
+ ],
4389
+ "7": [
4390
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4391
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4392
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4393
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4394
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4395
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4396
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4397
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4398
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4399
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4400
+ " <c1>\u2580</c1> "
4401
+ ],
4402
+ "8": [
4403
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4404
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4405
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4406
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4407
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4408
+ " <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4409
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4410
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4411
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4412
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4413
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4414
+ ],
4415
+ "9": [
4416
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4417
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4418
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4419
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4420
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4421
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4422
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4423
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4424
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4425
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4426
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4427
+ ],
4428
+ "!": [
4429
+ " <c1>\u2584\u2584</c1> ",
4430
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4431
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4432
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4433
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4434
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4435
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4436
+ " <c1>\u2580\u2580</c1> ",
4437
+ " <c1>\u2584\u2584</c1> ",
4438
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4439
+ " <c1>\u2580\u2580</c1> "
4440
+ ],
4441
+ "?": [
4442
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4443
+ " <c1>\u2584\u2588</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u2588\u2584</c1> ",
4444
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4445
+ " <c1>\u2580\u2580 \u2584\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4446
+ " <c1>\u2584\u2588</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u2588</c1> ",
4447
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C\u2580\u2580\u2580\u2580</c1> ",
4448
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4449
+ " <c1>\u2580\u2580</c1> ",
4450
+ " <c1>\u2584\u2584</c1> ",
4451
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4452
+ " <c1>\u2580\u2580</c1> "
4453
+ ],
4454
+ ".": [
4455
+ " ",
4456
+ " ",
4457
+ " ",
4458
+ " ",
4459
+ " ",
4460
+ " ",
4461
+ " ",
4462
+ " ",
4463
+ " <c1>\u2584\u2584</c1> ",
4464
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4465
+ " <c1>\u2580\u2580</c1> "
4466
+ ],
4467
+ "+": [
4468
+ " ",
4469
+ " ",
4470
+ " <c1>\u2584\u2584</c1> ",
4471
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4472
+ " <c1>\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588\u2584\u2584</c1> ",
4473
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4474
+ " <c1>\u2580\u2580\u2588</c1><c2>\u2591\u2591</c2><c1>\u2588\u2580\u2580</c1> ",
4475
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4476
+ " <c1>\u2580\u2580</c1> ",
4477
+ " ",
4478
+ " "
4479
+ ],
4480
+ "-": [
4481
+ " ",
4482
+ " ",
4483
+ " ",
4484
+ " ",
4485
+ " <c1>\u2584\u2584\u2584\u2584\u2584</c1> ",
4486
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4487
+ " <c1>\u2580\u2580\u2580\u2580\u2580</c1> ",
4488
+ " ",
4489
+ " ",
4490
+ " ",
4491
+ " "
4492
+ ],
4493
+ _: [
4494
+ " ",
4495
+ " ",
4496
+ " ",
4497
+ " ",
4498
+ " ",
4499
+ " ",
4500
+ " ",
4501
+ " <c1>\u2584\u2584\u2584\u2584\u2584</c1> ",
4502
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4503
+ " <c1>\u2580\u2580\u2580\u2580\u2580</c1> ",
4504
+ " "
4505
+ ],
4506
+ "=": [
4507
+ " ",
4508
+ " ",
4509
+ " <c1>\u2584\u2584\u2584\u2584\u2584</c1> ",
4510
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4511
+ " <c1>\u2580\u2580\u2580\u2580\u2580</c1> ",
4512
+ " ",
4513
+ " <c1>\u2584\u2584\u2584\u2584\u2584</c1> ",
4514
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4515
+ " <c1>\u2580\u2580\u2580\u2580\u2580</c1> ",
4516
+ " ",
4517
+ " "
4518
+ ],
4519
+ "@": [
4520
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4521
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4522
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4523
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4524
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584\u2584\u2584\u2584 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4525
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2588</c1><c2>\u2591\u2591\u2591\u2591</c2><c1>\u2588 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4526
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u2588\u2588\u2588\u2588</c1><c2>\u2591</c2><c1>\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4527
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2588</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4528
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C\u2584\u2584\u2588\u2588\u2588\u2588\u2588\u2588\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4529
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4530
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2580</c1> "
4531
+ ],
4532
+ "#": [
4533
+ " <c1>\u2584 \u2584</c1> ",
4534
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4535
+ " <c1>\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584</c1> ",
4536
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4537
+ " <c1>\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580</c1> ",
4538
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4539
+ " <c1>\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584</c1> ",
4540
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4541
+ " <c1>\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580</c1> ",
4542
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4543
+ " <c1>\u2580 \u2580</c1> "
4544
+ ],
4545
+ $: [
4546
+ " <c1>\u2584</c1> ",
4547
+ " <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584</c1> ",
4548
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4549
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> ",
4550
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584</c1> ",
4551
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4552
+ " <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4553
+ " <c1>\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4554
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4555
+ " <c1>\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580</c1> ",
4556
+ " <c1>\u2580</c1> "
4557
+ ],
4558
+ "%": [
4559
+ " <c1>\u2584</c1> ",
4560
+ " <c1>\u2584 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4561
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4562
+ " <c1>\u2580 \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4563
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4564
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4565
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4566
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2584</c1> ",
4567
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4568
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2580</c1> ",
4569
+ " <c1>\u2580</c1> "
4570
+ ],
4571
+ "&": [
4572
+ " <c1>\u2584\u2584\u2584\u2584\u2584\u2584\u2584</c1> ",
4573
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4574
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4575
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4576
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4577
+ " <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4578
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2580\u2580\u2580\u2580\u2588</c1><c2>\u2591</c2><c1>\u258C \u2584</c1> ",
4579
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C \u2590</c1><c2>\u2591</c2><c1>\u2588</c1><c2>\u2591</c2><c1>\u258C</c1>",
4580
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2588\u2584\u2584\u2584\u2584\u2588</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4581
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4582
+ " <c1>\u2580\u2580\u2580\u2580\u2580\u2580 \u2580</c1> "
4583
+ ],
4584
+ "(": [
4585
+ " <c1>\u2584\u2584\u2584\u2584\u2584</c1> ",
4586
+ " <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4587
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u2588\u2580\u2580\u2580</c1> ",
4588
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4589
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4590
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4591
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4592
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1> ",
4593
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u2588\u2584\u2584\u2584</c1> ",
4594
+ " <c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1>",
4595
+ " <c1>\u2580\u2580\u2580\u2580\u2580</c1> "
4596
+ ],
4597
+ ")": [
4598
+ " <c1>\u2584\u2584\u2584\u2584\u2584</c1> ",
4599
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4600
+ " <c1>\u2580\u2580\u2580\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4601
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4602
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4603
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4604
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4605
+ " <c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4606
+ " <c1>\u2584\u2584\u2584\u2588</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4607
+ "<c1>\u2590</c1><c2>\u2591\u2591\u2591\u2591\u2591</c2><c1>\u258C</c1> ",
4608
+ " <c1>\u2580\u2580\u2580\u2580\u2580</c1> "
4609
+ ],
4610
+ "/": [
4611
+ " <c1>\u2584</c1> ",
4612
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1>",
4613
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4614
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4615
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4616
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4617
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4618
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4619
+ " <c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4620
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u258C</c1> ",
4621
+ " <c1>\u2580</c1> "
4622
+ ],
4623
+ ":": [
4624
+ " ",
4625
+ " ",
4626
+ " <c1>\u2584\u2584</c1> ",
4627
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4628
+ " <c1>\u2580\u2580</c1> ",
4629
+ " ",
4630
+ " <c1>\u2584\u2584</c1> ",
4631
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4632
+ " <c1>\u2580\u2580</c1> ",
4633
+ " ",
4634
+ " "
4635
+ ],
4636
+ ";": [
4637
+ " ",
4638
+ " ",
4639
+ " <c1>\u2584\u2584</c1> ",
4640
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4641
+ " <c1>\u2580\u2580</c1> ",
4642
+ " ",
4643
+ " <c1>\u2584\u2584</c1> ",
4644
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4645
+ " <c1>\u2580\u258C</c1> ",
4646
+ " <c1>\u2580</c1> ",
4647
+ " "
4648
+ ],
4649
+ ",": [
4650
+ " ",
4651
+ " ",
4652
+ " ",
4653
+ " ",
4654
+ " ",
4655
+ " ",
4656
+ " ",
4657
+ " <c1>\u2584\u2584</c1> ",
4658
+ "<c1>\u2590</c1><c2>\u2591\u2591</c2><c1>\u258C</c1>",
4659
+ " <c1>\u2580\u258C</c1> ",
4660
+ " <c1>\u2580</c1> "
4661
+ ],
4662
+ "'": [
4663
+ " <c1>\u2584</c1> ",
4664
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>",
4665
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>",
4666
+ " <c1>\u2580</c1> ",
4667
+ " ",
4668
+ " ",
4669
+ " ",
4670
+ " ",
4671
+ " ",
4672
+ " ",
4673
+ " "
4674
+ ],
4675
+ '"': [
4676
+ " <c1>\u2584 \u2584</c1> ",
4677
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>",
4678
+ "<c1>\u2590</c1><c2>\u2591</c2><c1>\u2590\u2590</c1><c2>\u2591</c2><c1>\u2590</c1>",
4679
+ " <c1>\u2580 \u2580</c1> ",
4680
+ " ",
4681
+ " ",
4682
+ " ",
4683
+ " ",
4684
+ " ",
4685
+ " ",
4686
+ " "
4687
+ ],
4688
+ " ": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]
4689
+ }
4690
+ };
4691
+ // src/lib/fonts/grid.json
4692
+ var grid_default = {
4693
+ name: "grid",
4694
+ version: "0.1.0",
4695
+ homepage: "https://github.com/dominikwilkowski/cfonts",
4696
+ colors: 2,
4697
+ lines: 6,
4698
+ buffer: ["", "", "", "", "", ""],
4699
+ letterspace: ["<c2>\u254B</c2>", "<c2>\u254B</c2>", "<c2>\u254B</c2>", "<c2>\u254B</c2>", "<c2>\u254B</c2>", "<c2>\u254B</c2>"],
4700
+ letterspace_size: 1,
4701
+ chars: {
4702
+ A: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2513\u2503</c1>", "<c1>\u2503\u250F\u2513\u2503</c1>", "<c1>\u2517\u251B\u2517\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4703
+ B: [
4704
+ "<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2>",
4705
+ "<c1>\u2503\u2517\u2501\u2513</c1>",
4706
+ "<c1>\u2503\u250F\u2513\u2503</c1>",
4707
+ "<c1>\u2503\u2517\u251B\u2503</c1>",
4708
+ "<c1>\u2517\u2501\u2501\u251B</c1>",
4709
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4710
+ ],
4711
+ C: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u251B</c1>", "<c1>\u2503\u2517\u2501\u2513</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4712
+ D: [
4713
+ "<c2>\u254B\u254B</c2><c1>\u250F\u2513</c1>",
4714
+ "<c1>\u250F\u2501\u251B\u2503</c1>",
4715
+ "<c1>\u2503\u250F\u2513\u2503</c1>",
4716
+ "<c1>\u2503\u2517\u251B\u2503</c1>",
4717
+ "<c1>\u2517\u2501\u2501\u251B</c1>",
4718
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4719
+ ],
4720
+ E: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2503\u2503\u2501\u252B</c1>", "<c1>\u2503\u2503\u2501\u252B</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4721
+ F: [
4722
+ "<c2>\u254B</c2><c1>\u250F\u2501\u2513</c1>",
4723
+ "<c1>\u250F\u251B\u2517\u2513</c1>",
4724
+ "<c1>\u2517\u2513\u250F\u251B</c1>",
4725
+ "<c2>\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>",
4726
+ "<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>",
4727
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4728
+ ],
4729
+ G: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2513\u2503</c1>", "<c1>\u2503\u2517\u251B\u2503</c1>", "<c1>\u2517\u2501\u2513\u2503</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>"],
4730
+ H: [
4731
+ "<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2>",
4732
+ "<c1>\u2503\u2517\u2501\u2513</c1>",
4733
+ "<c1>\u2503\u250F\u2513\u2503</c1>",
4734
+ "<c1>\u2503\u2503\u2503\u2503</c1>",
4735
+ "<c1>\u2517\u251B\u2517\u251B</c1>",
4736
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4737
+ ],
4738
+ I: ["<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>", "<c1>\u250F\u2513</c1>", "<c1>\u2503\u2503</c1>", "<c1>\u2517\u251B</c1>", "<c2>\u254B\u254B</c2>"],
4739
+ J: [
4740
+ "<c2>\u254B</c2><c1>\u250F\u2513</c1>",
4741
+ "<c2>\u254B</c2><c1>\u2517\u251B</c1>",
4742
+ "<c2>\u254B</c2><c1>\u250F\u2513</c1>",
4743
+ "<c2>\u254B</c2><c1>\u2503\u2503</c1>",
4744
+ "<c1>\u250F\u251B\u2503</c1>",
4745
+ "<c1>\u2517\u2501\u251B</c1>"
4746
+ ],
4747
+ K: [
4748
+ "<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2>",
4749
+ "<c1>\u2503\u2503\u250F\u2513</c1>",
4750
+ "<c1>\u2503\u2517\u251B\u251B</c1>",
4751
+ "<c1>\u2503\u250F\u2513\u2513</c1>",
4752
+ "<c1>\u2517\u251B\u2517\u251B</c1>",
4753
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4754
+ ],
4755
+ L: [
4756
+ "<c1>\u250F\u2513</c1><c2>\u254B</c2>",
4757
+ "<c1>\u2503\u2503</c1><c2>\u254B</c2>",
4758
+ "<c1>\u2503\u2503</c1><c2>\u254B</c2>",
4759
+ "<c1>\u2503\u2517\u2513</c1>",
4760
+ "<c1>\u2517\u2501\u251B</c1>",
4761
+ "<c2>\u254B\u254B\u254B</c2>"
4762
+ ],
4763
+ M: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2513\u250F\u2513</c1>", "<c1>\u2503\u2517\u251B\u2503</c1>", "<c1>\u2503\u2503\u2503\u2503</c1>", "<c1>\u2517\u253B\u253B\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4764
+ N: [
4765
+ "<c2>\u254B\u254B\u254B\u254B</c2>",
4766
+ "<c1>\u250F\u2501\u2513</c1><c2>\u254B</c2>",
4767
+ "<c1>\u2503\u250F\u2513\u2513</c1>",
4768
+ "<c1>\u2503\u2503\u2503\u2503</c1>",
4769
+ "<c1>\u2517\u251B\u2517\u251B</c1>",
4770
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4771
+ ],
4772
+ O: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2513\u2503</c1>", "<c1>\u2503\u2517\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4773
+ P: [
4774
+ "<c2>\u254B\u254B\u254B\u254B</c2>",
4775
+ "<c1>\u250F\u2501\u2501\u2513</c1>",
4776
+ "<c1>\u2503\u250F\u2513\u2503</c1>",
4777
+ "<c1>\u2503\u2517\u251B\u2503</c1>",
4778
+ "<c1>\u2503\u250F\u2501\u251B</c1>",
4779
+ "<c1>\u2517\u251B</c1><c2>\u254B\u254B</c2>"
4780
+ ],
4781
+ Q: [
4782
+ "<c2>\u254B\u254B\u254B\u254B</c2>",
4783
+ "<c1>\u250F\u2501\u2501\u2513</c1>",
4784
+ "<c1>\u2503\u250F\u2513\u2503</c1>",
4785
+ "<c1>\u2503\u2517\u251B\u2503</c1>",
4786
+ "<c1>\u2517\u2501\u2513\u2503</c1>",
4787
+ "<c2>\u254B\u254B</c2><c1>\u2517\u251B</c1>"
4788
+ ],
4789
+ R: [
4790
+ "<c2>\u254B\u254B\u254B</c2>",
4791
+ "<c1>\u250F\u2501\u2513</c1>",
4792
+ "<c1>\u2503\u250F\u251B</c1>",
4793
+ "<c1>\u2503\u2503</c1><c2>\u254B</c2>",
4794
+ "<c1>\u2517\u251B</c1><c2>\u254B</c2>",
4795
+ "<c2>\u254B\u254B\u254B</c2>"
4796
+ ],
4797
+ S: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2503\u2501\u2501\u252B</c1>", "<c1>\u2523\u2501\u2501\u2503</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4798
+ T: [
4799
+ "<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>",
4800
+ "<c1>\u250F\u251B\u2517\u2513</c1>",
4801
+ "<c1>\u2517\u2513\u250F\u251B</c1>",
4802
+ "<c2>\u254B</c2><c1>\u2503\u2517\u2513</c1>",
4803
+ "<c2>\u254B</c2><c1>\u2517\u2501\u251B</c1>",
4804
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4805
+ ],
4806
+ U: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2513\u250F\u2513</c1>", "<c1>\u2503\u2503\u2503\u2503</c1>", "<c1>\u2503\u2517\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4807
+ V: [
4808
+ "<c2>\u254B\u254B\u254B\u254B</c2>",
4809
+ "<c1>\u250F\u2513\u250F\u2513</c1>",
4810
+ "<c1>\u2503\u2517\u251B\u2503</c1>",
4811
+ "<c1>\u2517\u2513\u250F\u251B</c1>",
4812
+ "<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>",
4813
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4814
+ ],
4815
+ W: [
4816
+ "<c2>\u254B\u254B\u254B\u254B\u254B\u254B</c2>",
4817
+ "<c1>\u250F\u2513\u250F\u2513\u250F\u2513</c1>",
4818
+ "<c1>\u2503\u2517\u251B\u2517\u251B\u2503</c1>",
4819
+ "<c1>\u2517\u2513\u250F\u2513\u250F\u251B</c1>",
4820
+ "<c2>\u254B</c2><c1>\u2517\u251B\u2517\u251B</c1><c2>\u254B</c2>",
4821
+ "<c2>\u254B\u254B\u254B\u254B\u254B\u254B</c2>"
4822
+ ],
4823
+ X: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2513\u250F\u2513</c1>", "<c1>\u2517\u254B\u254B\u251B</c1>", "<c1>\u250F\u254B\u254B\u2513</c1>", "<c1>\u2517\u251B\u2517\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4824
+ Y: [
4825
+ "<c2>\u254B\u254B\u254B\u254B\u254B</c2>",
4826
+ "<c1>\u250F\u2513</c1><c2>\u254B</c2><c1>\u250F\u2513</c1>",
4827
+ "<c1>\u2503\u2517\u2501\u251B\u2503</c1>",
4828
+ "<c1>\u2517\u2501\u2513\u250F\u251B</c1>",
4829
+ "<c1>\u2517\u2501\u2501\u251B</c1><c2>\u254B</c2>",
4830
+ "<c2>\u254B\u254B\u254B\u254B\u254B</c2>"
4831
+ ],
4832
+ Z: ["<c2>\u254B\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2523\u2501\u2501\u2503\u2503</c1>", "<c1>\u2503\u2503\u2501\u2501\u252B</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B\u254B</c2>"],
4833
+ "0": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2503\u2503\u2503\u2503\u2503</c1>", "<c1>\u2503\u2503\u2503\u2503\u2503</c1>", "<c1>\u2503\u2517\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4834
+ "1": [
4835
+ "<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>",
4836
+ "<c1>\u250F\u251B\u2503</c1><c2>\u254B</c2>",
4837
+ "<c1>\u2517\u2513\u2503</c1><c2>\u254B</c2>",
4838
+ "<c2>\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>",
4839
+ "<c1>\u250F\u251B\u2517\u2513</c1>",
4840
+ "<c1>\u2517\u2501\u2501\u251B</c1>"
4841
+ ],
4842
+ "2": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2517\u251B\u250F\u251B\u2503</c1>", "<c1>\u250F\u2501\u251B\u250F\u251B</c1>", "<c1>\u2503\u2517\u2501\u253B\u2513</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4843
+ "3": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2517\u251B\u250F\u251B\u2503</c1>", "<c1>\u250F\u2513\u2517\u2513\u2503</c1>", "<c1>\u2503\u2517\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4844
+ "4": [
4845
+ "<c1>\u250F\u2513</c1><c2>\u254B</c2><c1>\u250F\u2513</c1>",
4846
+ "<c1>\u2503\u2503</c1><c2>\u254B</c2><c1>\u2503\u2503</c1>",
4847
+ "<c1>\u2503\u2517\u2501\u251B\u2503</c1>",
4848
+ "<c1>\u2517\u2501\u2501\u2513\u2503</c1>",
4849
+ "<c2>\u254B\u254B\u254B</c2><c1>\u2503\u2503</c1>",
4850
+ "<c2>\u254B\u254B\u254B</c2><c1>\u2517\u251B</c1>"
4851
+ ],
4852
+ "5": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2501\u251B</c1>", "<c1>\u2503\u2517\u2501\u2501\u2513</c1>", "<c1>\u2517\u2501\u2501\u2513\u2503</c1>", "<c1>\u250F\u2501\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4853
+ "6": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2501\u251B</c1>", "<c1>\u2503\u2517\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2503\u2517\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4854
+ "7": [
4855
+ "<c1>\u250F\u2501\u2501\u2501\u2513</c1>",
4856
+ "<c1>\u2503\u250F\u2501\u2513\u2503</c1>",
4857
+ "<c1>\u2517\u251B\u250F\u251B\u2503</c1>",
4858
+ "<c2>\u254B\u254B</c2><c1>\u2503\u250F\u251B</c1>",
4859
+ "<c2>\u254B\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>",
4860
+ "<c2>\u254B\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>"
4861
+ ],
4862
+ "8": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2503\u2517\u2501\u251B\u2503</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2503\u2517\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4863
+ "9": ["<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2503\u250F\u2501\u2513\u2503</c1>", "<c1>\u2503\u2517\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2513\u2503</c1>", "<c1>\u250F\u2501\u2501\u251B\u2503</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>"],
4864
+ "!": ["<c1>\u250F\u2513</c1>", "<c1>\u2503\u2503</c1>", "<c1>\u2503\u2503</c1>", "<c1>\u2517\u251B</c1>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>"],
4865
+ "?": [
4866
+ "<c1>\u250F\u2501\u2501\u2501\u2513</c1>",
4867
+ "<c1>\u2503\u250F\u2501\u2513\u2503</c1>",
4868
+ "<c1>\u2517\u251B\u250F\u251B\u2503</c1>",
4869
+ "<c2>\u254B\u254B</c2><c1>\u2503\u250F\u251B</c1>",
4870
+ "<c2>\u254B\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>",
4871
+ "<c2>\u254B\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>"
4872
+ ],
4873
+ ".": ["<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>"],
4874
+ "+": [
4875
+ "<c2>\u254B\u254B\u254B\u254B</c2>",
4876
+ "<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>",
4877
+ "<c1>\u250F\u251B\u2517\u2513</c1>",
4878
+ "<c1>\u2517\u2513\u250F\u251B</c1>",
4879
+ "<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>",
4880
+ "<c2>\u254B\u254B\u254B\u254B</c2>"
4881
+ ],
4882
+ "-": ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4883
+ _: ["<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2513</c1>", "<c1>\u2517\u2501\u2501\u251B</c1>"],
4884
+ "=": ["<c2>\u254B\u254B\u254B\u254B\u254B</c2>", "<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>", "<c1>\u250F\u2501\u2501\u2501\u2513</c1>", "<c1>\u2517\u2501\u2501\u2501\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B\u254B</c2>"],
4885
+ "@": [
4886
+ "<c1>\u250F\u2501\u2501\u2501\u2501\u2513</c1><c2>\u254B</c2>",
4887
+ "<c1>\u2503\u250F\u2501\u2501\u2513\u2503</c1><c2>\u254B</c2>",
4888
+ "<c1>\u2503\u2503\u250F\u2501\u2503\u2503</c1><c2>\u254B</c2>",
4889
+ "<c1>\u2503\u2503\u2517\u251B\u2503\u2503</c1><c2>\u254B</c2>",
4890
+ "<c1>\u2503\u2517\u2501\u2501\u251B\u2517\u2513</c1>",
4891
+ "<c1>\u2517\u2501\u2501\u2501\u2501\u2501\u251B</c1>"
4892
+ ],
4893
+ "#": [
4894
+ "<c2>\u254B</c2><c1>\u250F\u2501\u2501\u2501\u2513</c1><c2>\u254B</c2>",
4895
+ "<c1>\u250F\u251B\u250F\u2501\u2513\u2517\u2513</c1>",
4896
+ "<c1>\u2517\u2513\u2503\u2503\u2503\u250F\u251B</c1>",
4897
+ "<c1>\u250F\u251B\u2503\u2503\u2503\u2517\u2513</c1>",
4898
+ "<c1>\u2517\u2513\u2517\u2501\u251B\u250F\u251B</c1>",
4899
+ "<c2>\u254B</c2><c1>\u2517\u2501\u2501\u2501\u251B</c1><c2>\u254B</c2>"
4900
+ ],
4901
+ $: [
4902
+ "<c2>\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>",
4903
+ "<c1>\u250F\u251B\u2517\u2513</c1>",
4904
+ "<c1>\u2503\u2501\u2501\u252B</c1>",
4905
+ "<c1>\u2523\u2501\u2501\u2503</c1>",
4906
+ "<c1>\u2517\u2513\u250F\u251B</c1>",
4907
+ "<c2>\u254B</c2><c1>\u2517\u251B</c1><c2>\u254B</c2>"
4908
+ ],
4909
+ "%": [
4910
+ "<c1>\u250F\u2513</c1><c2>\u254B\u254B</c2><c1>\u250F\u2501\u2513</c1>",
4911
+ "<c1>\u2517\u251B</c1><c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>",
4912
+ "<c2>\u254B\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>",
4913
+ "<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B\u254B</c2>",
4914
+ "<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2><c1>\u250F\u2513</c1>",
4915
+ "<c1>\u2517\u2501\u251B</c1><c2>\u254B\u254B</c2><c1>\u2517\u251B</c1>"
4916
+ ],
4917
+ "&": [
4918
+ "<c2>\u254B\u254B</c2><c1>\u250F\u2513</c1><c2>\u254B</c2>",
4919
+ "<c2>\u254B\u254B</c2><c1>\u2503\u2503</c1><c2>\u254B</c2>",
4920
+ "<c1>\u250F\u2501\u251B\u2517\u2513</c1>",
4921
+ "<c1>\u2503\u250F\u2513\u250F\u251B</c1>",
4922
+ "<c1>\u2503\u2517\u251B\u2503</c1><c2>\u254B</c2>",
4923
+ "<c1>\u2517\u2501\u2501\u251B</c1><c2>\u254B</c2>"
4924
+ ],
4925
+ "(": [
4926
+ "<c2>\u254B\u254B</c2><c1>\u250F\u2501\u2513</c1>",
4927
+ "<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>",
4928
+ "<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>",
4929
+ "<c1>\u2517\u2513\u2517\u2513</c1><c2>\u254B</c2>",
4930
+ "<c2>\u254B</c2><c1>\u2517\u2513\u2517\u2513</c1>",
4931
+ "<c2>\u254B\u254B</c2><c1>\u2517\u2501\u251B</c1>"
4932
+ ],
4933
+ ")": [
4934
+ "<c1>\u250F\u2501\u2513</c1><c2>\u254B\u254B</c2>",
4935
+ "<c1>\u2517\u2513\u2517\u2513</c1><c2>\u254B</c2>",
4936
+ "<c2>\u254B</c2><c1>\u2517\u2513\u2517\u2513</c1>",
4937
+ "<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>",
4938
+ "<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>",
4939
+ "<c1>\u2517\u2501\u251B</c1><c2>\u254B\u254B</c2>"
4940
+ ],
4941
+ "/": [
4942
+ "<c2>\u254B\u254B\u254B\u254B</c2><c1>\u250F\u2501\u2513</c1>",
4943
+ "<c2>\u254B\u254B\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1>",
4944
+ "<c2>\u254B\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B</c2>",
4945
+ "<c2>\u254B</c2><c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B\u254B</c2>",
4946
+ "<c1>\u250F\u251B\u250F\u251B</c1><c2>\u254B\u254B\u254B</c2>",
4947
+ "<c1>\u2517\u2501\u251B</c1><c2>\u254B\u254B\u254B\u254B</c2>"
4948
+ ],
4949
+ ":": ["<c2>\u254B\u254B</c2>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>", "<c2>\u254B\u254B</c2>"],
4950
+ ";": ["<c2>\u254B\u254B</c2>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>", "<c2>\u254B\u254B</c2>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u252B</c1>"],
4951
+ ",": ["<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c1>\u250F\u2513</c1>", "<c1>\u2517\u252B</c1>"],
4952
+ "'": ["<c1>\u250F\u2513</c1>", "<c1>\u2517\u251B</c1>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>"],
4953
+ '"': ["<c1>\u250F\u2513\u250F\u2513</c1>", "<c1>\u2517\u251B\u2517\u251B</c1>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>", "<c2>\u254B\u254B\u254B\u254B</c2>"],
4954
+ " ": ["<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>", "<c2>\u254B\u254B</c2>"]
4955
+ }
4956
+ };
4957
+ // src/lib/fonts/pallet.json
4958
+ var pallet_default = {
4959
+ name: "pallet",
4960
+ version: "0.1.0",
4961
+ homepage: "https://github.com/dominikwilkowski/cfonts",
4962
+ colors: 2,
4963
+ lines: 6,
4964
+ buffer: ["", "", "", "", "", ""],
4965
+ letterspace: ["<c2>\u2500</c2>", "<c2>\u2500</c2>", "<c2>\u2500</c2>", "<c2>\u2500</c2>", "<c2>\u2500</c2>", "<c2>\u2500</c2>"],
4966
+ letterspace_size: 1,
4967
+ chars: {
4968
+ A: [
4969
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
4970
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
4971
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
4972
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
4973
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
4974
+ "<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>"
4975
+ ],
4976
+ B: [
4977
+ "<c1>\u2554\u2550\u2550\u2557</c1><c2>\u2500</c2>",
4978
+ "<c1>\u2551\u2554\u2557\u2551</c1><c2>\u2500</c2>",
4979
+ "<c1>\u2551\u255A\u255D\u255A\u2557</c1>",
4980
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
4981
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
4982
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
4983
+ ],
4984
+ C: [
4985
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
4986
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
4987
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>",
4988
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
4989
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
4990
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
4991
+ ],
4992
+ D: [
4993
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
4994
+ "<c1>\u255A\u2557\u2554\u2557\u2551</c1>",
4995
+ "<c2>\u2500</c2><c1>\u2551\u2551\u2551\u2551</c1>",
4996
+ "<c2>\u2500</c2><c1>\u2551\u2551\u2551\u2551</c1>",
4997
+ "<c1>\u2554\u255D\u255A\u255D\u2551</c1>",
4998
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
4999
+ ],
5000
+ E: ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2550\u255D</c1>", "<c1>\u2551\u255A\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2550\u255D</c1>", "<c1>\u2551\u255A\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5001
+ F: [
5002
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
5003
+ "<c1>\u2551\u2554\u2550\u2550\u255D</c1>",
5004
+ "<c1>\u2551\u255A\u2550\u2550\u2557</c1>",
5005
+ "<c1>\u2551\u2554\u2550\u2550\u255D</c1>",
5006
+ "<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>",
5007
+ "<c1>\u255A\u255D</c1><c2>\u2500\u2500\u2500</c2>"
5008
+ ],
5009
+ G: [
5010
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
5011
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
5012
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>",
5013
+ "<c1>\u2551\u2551\u2554\u2550\u2557</c1>",
5014
+ "<c1>\u2551\u255A\u2569\u2550\u2551</c1>",
5015
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
5016
+ ],
5017
+ H: [
5018
+ "<c1>\u2554\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
5019
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5020
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
5021
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
5022
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5023
+ "<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u255A\u255D</c1>"
5024
+ ],
5025
+ I: [
5026
+ "<c1>\u2554\u2550\u2550\u2557</c1>",
5027
+ "<c1>\u255A\u2563\u2560\u255D</c1>",
5028
+ "<c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5029
+ "<c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5030
+ "<c1>\u2554\u2563\u2560\u2557</c1>",
5031
+ "<c1>\u255A\u2550\u2550\u255D</c1>"
5032
+ ],
5033
+ J: [
5034
+ "<c2>\u2500\u2500</c2><c1>\u2554\u2557</c1>",
5035
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1>",
5036
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1>",
5037
+ "<c1>\u2554\u2557\u2551\u2551</c1>",
5038
+ "<c1>\u2551\u255A\u255D\u2551</c1>",
5039
+ "<c1>\u255A\u2550\u2550\u255D</c1>"
5040
+ ],
5041
+ K: [
5042
+ "<c1>\u2554\u2557\u2554\u2550\u2557</c1>",
5043
+ "<c1>\u2551\u2551\u2551\u2554\u255D</c1>",
5044
+ "<c1>\u2551\u255A\u255D\u255D</c1><c2>\u2500</c2>",
5045
+ "<c1>\u2551\u2554\u2557\u2551</c1><c2>\u2500</c2>",
5046
+ "<c1>\u2551\u2551\u2551\u255A\u2557</c1>",
5047
+ "<c1>\u255A\u255D\u255A\u2550\u255D</c1>"
5048
+ ],
5049
+ L: [
5050
+ "<c1>\u2554\u2557</c1><c2>\u2500\u2500\u2500</c2>",
5051
+ "<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>",
5052
+ "<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>",
5053
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
5054
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
5055
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
5056
+ ],
5057
+ M: [
5058
+ "<c1>\u2554\u2550\u2557\u2554\u2550\u2557</c1>",
5059
+ "<c1>\u2551\u2551\u255A\u255D\u2551\u2551</c1>",
5060
+ "<c1>\u2551\u2554\u2557\u2554\u2557\u2551</c1>",
5061
+ "<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>",
5062
+ "<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>",
5063
+ "<c1>\u255A\u255D\u255A\u255D\u255A\u255D</c1>"
5064
+ ],
5065
+ N: [
5066
+ "<c1>\u2554\u2550\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
5067
+ "<c1>\u2551\u2551\u255A\u2557\u2551\u2551</c1>",
5068
+ "<c1>\u2551\u2554\u2557\u255A\u255D\u2551</c1>",
5069
+ "<c1>\u2551\u2551\u255A\u2557\u2551\u2551</c1>",
5070
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551\u2551</c1>",
5071
+ "<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u255A\u2550\u255D</c1>"
5072
+ ],
5073
+ O: [
5074
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
5075
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
5076
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5077
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5078
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
5079
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
5080
+ ],
5081
+ P: [
5082
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
5083
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
5084
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
5085
+ "<c1>\u2551\u2554\u2550\u2550\u255D</c1>",
5086
+ "<c1>\u2551\u2551</c1><c2>\u2500\u2500\u2500</c2>",
5087
+ "<c1>\u255A\u255D</c1><c2>\u2500\u2500\u2500</c2>"
5088
+ ],
5089
+ Q: [
5090
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1><c2>\u2500</c2>",
5091
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1><c2>\u2500</c2>",
5092
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5093
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5094
+ "<c1>\u2551\u255A\u2550\u255D\u2560\u2557</c1>",
5095
+ "<c1>\u255A\u2550\u2550\u2550\u2550\u255D</c1>"
5096
+ ],
5097
+ R: ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u2551\u2554\u2557\u2554\u255D</c1>", "<c1>\u2551\u2551\u2551\u255A\u2557</c1>", "<c1>\u255A\u255D\u255A\u2550\u255D</c1>"],
5098
+ S: ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
3753
5099
  T: [
3754
- "<c1>\u256D\u2501\u2501\u2501\u2501\u256E</c1>",
3755
- "<c1>\u2503\u256D\u256E\u256D\u256E\u2503</c1>",
3756
- "<c1>\u2570\u256F\u2503\u2503\u2570\u256F</c1>",
3757
- "<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571\u2571</c2>",
3758
- "<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571\u2571</c2>",
3759
- "<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"
5100
+ "<c1>\u2554\u2550\u2550\u2550\u2550\u2557</c1>",
5101
+ "<c1>\u2551\u2554\u2557\u2554\u2557\u2551</c1>",
5102
+ "<c1>\u255A\u255D\u2551\u2551\u255A\u255D</c1>",
5103
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500\u2500</c2>",
5104
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500\u2500</c2>",
5105
+ "<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500\u2500</c2>"
3760
5106
  ],
3761
5107
  U: [
3762
- "<c1>\u256D\u256E</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>",
3763
- "<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>",
3764
- "<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>",
3765
- "<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>",
3766
- "<c1>\u2503\u2570\u2501\u256F\u2503</c1>",
3767
- "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"
5108
+ "<c1>\u2554\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
5109
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5110
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5111
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5112
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
5113
+ "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"
3768
5114
  ],
3769
5115
  V: [
3770
- "<c1>\u256D\u256E</c1><c2>\u2571\u2571</c2><c1>\u256D\u256E</c1>",
3771
- "<c1>\u2503\u2570\u256E\u256D\u256F\u2503</c1>",
3772
- "<c1>\u2570\u256E\u2503\u2503\u256D\u256F</c1>",
3773
- "<c2>\u2571</c2><c1>\u2503\u2570\u256F\u2503</c1><c2>\u2571</c2>",
3774
- "<c2>\u2571</c2><c1>\u2570\u256E\u256D\u256F</c1><c2>\u2571</c2>",
3775
- "<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"
5116
+ "<c1>\u2554\u2557</c1><c2>\u2500\u2500</c2><c1>\u2554\u2557</c1>",
5117
+ "<c1>\u2551\u255A\u2557\u2554\u255D\u2551</c1>",
5118
+ "<c1>\u255A\u2557\u2551\u2551\u2554\u255D</c1>",
5119
+ "<c2>\u2500</c2><c1>\u2551\u255A\u255D\u2551</c1><c2>\u2500</c2>",
5120
+ "<c2>\u2500</c2><c1>\u255A\u2557\u2554\u255D</c1><c2>\u2500</c2>",
5121
+ "<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500\u2500</c2>"
3776
5122
  ],
3777
5123
  W: [
3778
- "<c1>\u256D\u256E\u256D\u256E\u256D\u256E</c1>",
3779
- "<c1>\u2503\u2503\u2503\u2503\u2503\u2503</c1>",
3780
- "<c1>\u2503\u2503\u2503\u2503\u2503\u2503</c1>",
3781
- "<c1>\u2503\u2570\u256F\u2570\u256F\u2503</c1>",
3782
- "<c1>\u2570\u256E\u256D\u256E\u256D\u256F</c1>",
3783
- "<c2>\u2571</c2><c1>\u2570\u256F\u2570\u256F</c1><c2>\u2571</c2>"
5124
+ "<c1>\u2554\u2557\u2554\u2557\u2554\u2557</c1>",
5125
+ "<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>",
5126
+ "<c1>\u2551\u2551\u2551\u2551\u2551\u2551</c1>",
5127
+ "<c1>\u2551\u255A\u255D\u255A\u255D\u2551</c1>",
5128
+ "<c1>\u255A\u2557\u2554\u2557\u2554\u255D</c1>",
5129
+ "<c2>\u2500</c2><c1>\u255A\u255D\u255A\u255D</c1><c2>\u2500</c2>"
3784
5130
  ],
3785
5131
  X: [
3786
- "<c1>\u256D\u2501\u256E\u256D\u2501\u256E</c1>",
3787
- "<c1>\u2570\u256E\u2570\u256F\u256D\u256F</c1>",
3788
- "<c2>\u2571</c2><c1>\u2570\u256E\u256D\u256F</c1><c2>\u2571</c2>",
3789
- "<c2>\u2571</c2><c1>\u256D\u256F\u2570\u256E</c1><c2>\u2571</c2>",
3790
- "<c1>\u256D\u256F\u256D\u256E\u2570\u256E</c1>",
3791
- "<c1>\u2570\u2501\u256F\u2570\u2501\u256F</c1>"
5132
+ "<c1>\u2554\u2550\u2557\u2554\u2550\u2557</c1>",
5133
+ "<c1>\u255A\u2557\u255A\u255D\u2554\u255D</c1>",
5134
+ "<c2>\u2500</c2><c1>\u255A\u2557\u2554\u255D</c1><c2>\u2500</c2>",
5135
+ "<c2>\u2500</c2><c1>\u2554\u255D\u255A\u2557</c1><c2>\u2500</c2>",
5136
+ "<c1>\u2554\u255D\u2554\u2557\u255A\u2557</c1>",
5137
+ "<c1>\u255A\u2550\u255D\u255A\u2550\u255D</c1>"
3792
5138
  ],
3793
5139
  Y: [
3794
- "<c1>\u256D\u256E</c1><c2>\u2571\u2571</c2><c1>\u256D\u256E</c1>",
3795
- "<c1>\u2503\u2570\u256E\u256D\u256F\u2503</c1>",
3796
- "<c1>\u2570\u256E\u2570\u256F\u256D\u256F</c1>",
3797
- "<c2>\u2571</c2><c1>\u2570\u256E\u256D\u256F</c1><c2>\u2571</c2>",
3798
- "<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571\u2571</c2>",
3799
- "<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"
5140
+ "<c1>\u2554\u2557</c1><c2>\u2500\u2500</c2><c1>\u2554\u2557</c1>",
5141
+ "<c1>\u2551\u255A\u2557\u2554\u255D\u2551</c1>",
5142
+ "<c1>\u255A\u2557\u255A\u255D\u2554\u255D</c1>",
5143
+ "<c2>\u2500</c2><c1>\u255A\u2557\u2554\u255D</c1><c2>\u2500</c2>",
5144
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500\u2500</c2>",
5145
+ "<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500\u2500</c2>"
3800
5146
  ],
3801
5147
  Z: [
3802
- "<c1>\u256D\u2501\u2501\u2501\u2501\u256E</c1>",
3803
- "<c1>\u2570\u2501\u2501\u256E\u2501\u2503</c1>",
3804
- "<c2>\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>",
3805
- "<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>",
3806
- "<c1>\u256D\u256F\u2501\u2570\u2501\u256E</c1>",
3807
- "<c1>\u2570\u2501\u2501\u2501\u2501\u256F</c1>"
3808
- ],
3809
- "0": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2503\u2503\u2503\u2503</c1>", "<c1>\u2503\u2503\u2503\u2503\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
5148
+ "<c1>\u2554\u2550\u2550\u2550\u2550\u2557</c1>",
5149
+ "<c1>\u255A\u2550\u2550\u2557\u2550\u2551</c1>",
5150
+ "<c2>\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>",
5151
+ "<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>",
5152
+ "<c1>\u2554\u255D\u2550\u255A\u2550\u2557</c1>",
5153
+ "<c1>\u255A\u2550\u2550\u2550\u2550\u255D</c1>"
5154
+ ],
5155
+ "0": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u2551\u2551\u2551\u2551</c1>", "<c1>\u2551\u2551\u2551\u2551\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
3810
5156
  "1": [
3811
- "<c2>\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>",
3812
- "<c1>\u256D\u256F\u2503</c1><c2>\u2571</c2>",
3813
- "<c1>\u2570\u256E\u2503</c1><c2>\u2571</c2>",
3814
- "<c2>\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>",
3815
- "<c1>\u256D\u256F\u2570\u256E</c1>",
3816
- "<c1>\u2570\u2501\u2501\u256F</c1>"
3817
- ],
3818
- "2": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2570\u256F\u256D\u256F\u2503</c1>", "<c1>\u256D\u2501\u256F\u256D\u256F</c1>", "<c1>\u2503\u2570\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3819
- "3": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2570\u256F\u256D\u256F\u2503</c1>", "<c1>\u256D\u256E\u2570\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
5157
+ "<c2>\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>",
5158
+ "<c1>\u2554\u255D\u2551</c1><c2>\u2500</c2>",
5159
+ "<c1>\u255A\u2557\u2551</c1><c2>\u2500</c2>",
5160
+ "<c2>\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5161
+ "<c1>\u2554\u255D\u255A\u2557</c1>",
5162
+ "<c1>\u255A\u2550\u2550\u255D</c1>"
5163
+ ],
5164
+ "2": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u255A\u255D\u2554\u255D\u2551</c1>", "<c1>\u2554\u2550\u255D\u2554\u255D</c1>", "<c1>\u2551\u2551\u255A\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5165
+ "3": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u255A\u255D\u2554\u255D\u2551</c1>", "<c1>\u2554\u2557\u255A\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
3820
5166
  "4": [
3821
- "<c1>\u256D\u256E</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>",
3822
- "<c1>\u2503\u2503</c1><c2>\u2571</c2><c1>\u2503\u2503</c1>",
3823
- "<c1>\u2503\u2570\u2501\u256F\u2503</c1>",
3824
- "<c1>\u2570\u2501\u2501\u256E\u2503</c1>",
3825
- "<c2>\u2571\u2571\u2571</c2><c1>\u2503\u2503</c1>",
3826
- "<c2>\u2571\u2571\u2571</c2><c1>\u2570\u256F</c1>"
3827
- ],
3828
- "5": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u2501\u256F</c1>", "<c1>\u2503\u2570\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u256E\u2503</c1>", "<c1>\u256D\u2501\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3829
- "6": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u2501\u256F</c1>", "<c1>\u2503\u2570\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
5167
+ "<c1>\u2554\u2557</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
5168
+ "<c1>\u2551\u2551</c1><c2>\u2500</c2><c1>\u2551\u2551</c1>",
5169
+ "<c1>\u2551\u255A\u2550\u255D\u2551</c1>",
5170
+ "<c1>\u255A\u2550\u2550\u2557\u2551</c1>",
5171
+ "<c2>\u2500\u2500\u2500</c2><c1>\u2551\u2551</c1>",
5172
+ "<c2>\u2500\u2500\u2500</c2><c1>\u255A\u255D</c1>"
5173
+ ],
5174
+ "5": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2550\u255D</c1>", "<c1>\u2551\u255A\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2557\u2551</c1>", "<c1>\u2554\u2550\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5175
+ "6": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2550\u255D</c1>", "<c1>\u2551\u255A\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
3830
5176
  "7": [
3831
- "<c1>\u256D\u2501\u2501\u2501\u256E</c1>",
3832
- "<c1>\u2503\u256D\u2501\u256E\u2503</c1>",
3833
- "<c1>\u2570\u256F\u256D\u256F\u2503</c1>",
3834
- "<c2>\u2571\u2571</c2><c1>\u2503\u256D\u256F</c1>",
3835
- "<c2>\u2571\u2571</c2><c1>\u2503\u2503</c1><c2>\u2571</c2>",
3836
- "<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571</c2>"
3837
- ],
3838
- "8": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3839
- "9": ["<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2503\u256D\u2501\u256E\u2503</c1>", "<c1>\u2503\u2570\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u256E\u2503</c1>", "<c1>\u256D\u2501\u2501\u256F\u2503</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
3840
- "!": ["<c1>\u256D\u256E</c1>", "<c1>\u2503\u2503</c1>", "<c1>\u2503\u2503</c1>", "<c1>\u2570\u256F</c1>", "<c1>\u256D\u256E</c1>", "<c1>\u2570\u256F</c1>"],
5177
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
5178
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
5179
+ "<c1>\u255A\u255D\u2554\u255D\u2551</c1>",
5180
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2554\u255D</c1>",
5181
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5182
+ "<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500</c2>"
5183
+ ],
5184
+ "8": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5185
+ "9": ["<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2557\u2551</c1>", "<c1>\u2554\u2550\u2550\u255D\u2551</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>"],
5186
+ "!": ["<c1>\u2554\u2557</c1>", "<c1>\u2551\u2551</c1>", "<c1>\u2551\u2551</c1>", "<c1>\u255A\u255D</c1>", "<c1>\u2554\u2557</c1>", "<c1>\u255A\u255D</c1>"],
3841
5187
  "?": [
3842
- "<c1>\u256D\u2501\u2501\u2501\u256E</c1>",
3843
- "<c1>\u2503\u256D\u2501\u256E\u2503</c1>",
3844
- "<c1>\u2570\u256F\u256D\u256F\u2503</c1>",
3845
- "<c2>\u2571\u2571</c2><c1>\u2503\u256D\u256F</c1>",
3846
- "<c2>\u2571\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>",
3847
- "<c2>\u2571\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571</c2>"
3848
- ],
3849
- ".": ["<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c1>\u256D\u256E</c1>", "<c1>\u2570\u256F</c1>"],
5188
+ "<c1>\u2554\u2550\u2550\u2550\u2557</c1>",
5189
+ "<c1>\u2551\u2554\u2550\u2557\u2551</c1>",
5190
+ "<c1>\u255A\u255D\u2554\u255D\u2551</c1>",
5191
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2554\u255D</c1>",
5192
+ "<c2>\u2500\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>",
5193
+ "<c2>\u2500\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500</c2>"
5194
+ ],
5195
+ ".": ["<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>", "<c1>\u2554\u2557</c1>", "<c1>\u255A\u255D</c1>"],
3850
5196
  "+": [
3851
- "<c2>\u2571\u2571\u2571\u2571</c2>",
3852
- "<c2>\u2571\u2571\u2571\u2571</c2>",
3853
- "<c2>\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>",
3854
- "<c1>\u256D\u256F\u2570\u256E</c1>",
3855
- "<c1>\u2570\u256E\u256D\u256F</c1>",
3856
- "<c2>\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571</c2>"
3857
- ],
3858
- "-": ["<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c1>\u256D\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u256F</c1>", "<c2>\u2571\u2571\u2571\u2571</c2>"],
3859
- _: ["<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c1>\u256D\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u256F</c1>"],
3860
- "=": ["<c2>\u2571\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571\u2571</c2>", "<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>", "<c1>\u256D\u2501\u2501\u2501\u256E</c1>", "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"],
5197
+ "<c2>\u2500\u2500\u2500\u2500</c2>",
5198
+ "<c2>\u2500\u2500\u2500\u2500</c2>",
5199
+ "<c2>\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>",
5200
+ "<c1>\u2554\u255D\u255A\u2557</c1>",
5201
+ "<c1>\u255A\u2557\u2554\u255D</c1>",
5202
+ "<c2>\u2500</c2><c1>\u255A\u255D</c1><c2>\u2500</c2>"
5203
+ ],
5204
+ "-": ["<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c1>\u2554\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u255D</c1>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>"],
5205
+ _: ["<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c1>\u2554\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u255D</c1>"],
5206
+ "=": ["<c2>\u2500\u2500\u2500\u2500\u2500</c2>", "<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>", "<c1>\u2554\u2550\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2550\u255D</c1>", "<c2>\u2500\u2500\u2500\u2500\u2500</c2>"],
3861
5207
  "@": [
3862
- "<c1>\u256D\u2501\u2501\u2501\u2501\u256E</c1><c2>\u2571</c2>",
3863
- "<c1>\u2503\u256D\u2501\u2501\u256E\u2503</c1><c2>\u2571</c2>",
3864
- "<c1>\u2503\u2503\u256D\u2501\u2503\u2503</c1><c2>\u2571</c2>",
3865
- "<c1>\u2503\u2503\u2570\u256F\u2503\u2503</c1><c2>\u2571</c2>",
3866
- "<c1>\u2503\u2570\u2501\u2501\u256F\u2501\u256E</c1>",
3867
- "<c1>\u2570\u2501\u2501\u2501\u2501\u2501\u256F</c1>"
5208
+ "<c1>\u2554\u2550\u2550\u2550\u2550\u2557</c1><c2>\u2500</c2>",
5209
+ "<c1>\u2551\u2554\u2550\u2550\u2557\u2551</c1><c2>\u2500</c2>",
5210
+ "<c1>\u2551\u2551\u2554\u2550\u2551\u2551</c1><c2>\u2500</c2>",
5211
+ "<c1>\u2551\u2551\u255A\u255D\u2551\u2551</c1><c2>\u2500</c2>",
5212
+ "<c1>\u2551\u255A\u2550\u2550\u255D\u2560\u2557</c1>",
5213
+ "<c1>\u255A\u2550\u2550\u2550\u2550\u2550\u255D</c1>"
3868
5214
  ],
3869
5215
  "#": [
3870
- "<c2>\u2571</c2><c1>\u256D\u2501\u2501\u256E</c1><c2>\u2571</c2>",
3871
- "<c1>\u256D\u256F\u256D\u256E\u2570\u256E</c1>",
3872
- "<c1>\u2570\u256E\u2503\u2503\u256D\u256F</c1>",
3873
- "<c1>\u256D\u256F\u2503\u2503\u2570\u256E</c1>",
3874
- "<c1>\u2570\u256E\u2570\u256F\u256D\u256F</c1>",
3875
- "<c2>\u2571</c2><c1>\u2570\u2501\u2501\u256F</c1><c2>\u2571</c2>"
3876
- ],
3877
- $: [
3878
- "<c2>\u2571\u2571</c2><c1>\u256D\u256E</c1><c2>\u2571</c2>",
3879
- "<c1>\u256D\u2501\u256F\u2570\u256E</c1>",
3880
- "<c1>\u2503\u2570\u2501\u2501\u256E</c1>",
3881
- "<c1>\u2570\u2501\u2501\u256E\u2503</c1>",
3882
- "<c1>\u2570\u256E\u256D\u2501\u256F</c1>",
3883
- "<c2>\u2571</c2><c1>\u2570\u256F</c1><c2>\u2571\u2571</c2>"
3884
- ],
5216
+ "<c2>\u2500</c2><c1>\u2554\u2569\u2569\u2569\u2557</c1><c2>\u2500</c2>",
5217
+ "<c1>\u2554\u255D\u2554\u2550\u2557\u255A\u2557</c1>",
5218
+ "<c1>\u255A\u2557\u2560\u2550\u2563\u2554\u255D</c1>",
5219
+ "<c1>\u2554\u255D\u2560\u2550\u2563\u255A\u2557</c1>",
5220
+ "<c1>\u255A\u2557\u255A\u2550\u255D\u2554\u255D</c1>",
5221
+ "<c2>\u2500</c2><c1>\u255A\u2566\u2566\u2566\u255D</c1><c2>\u2500</c2>"
5222
+ ],
5223
+ $: ["<c1>\u2554\u255D\u2569\u255A\u2557</c1>", "<c1>\u2551\u2554\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u2550\u2557</c1>", "<c1>\u255A\u2550\u2550\u2557\u2551</c1>", "<c1>\u2551\u255A\u2550\u255D\u2551</c1>", "<c1>\u255A\u2557\u2566\u2554\u255D</c1>"],
3885
5224
  "%": [
3886
- "<c1>\u256D\u256E</c1><c2>\u2571\u2571</c2><c1>\u256D\u2501\u256E</c1>",
3887
- "<c1>\u2570\u256F</c1><c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>",
3888
- "<c2>\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>",
3889
- "<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571\u2571</c2>",
3890
- "<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2><c1>\u256D\u256E</c1>",
3891
- "<c1>\u2570\u2501\u256F</c1><c2>\u2571\u2571</c2><c1>\u2570\u256F</c1>"
5225
+ "<c1>\u2554\u2557</c1><c2>\u2500\u2500</c2><c1>\u2554\u2550\u2557</c1>",
5226
+ "<c1>\u255A\u255D</c1><c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>",
5227
+ "<c2>\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>",
5228
+ "<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500\u2500</c2>",
5229
+ "<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2><c1>\u2554\u2557</c1>",
5230
+ "<c1>\u255A\u2550\u255D</c1><c2>\u2500\u2500</c2><c1>\u255A\u255D</c1>"
3892
5231
  ],
3893
5232
  "&": [
3894
- "<c2>\u2571</c2><c1>\u256D\u2501\u2501\u256E</c1>",
3895
- "<c2>\u2571</c2><c1>\u2503\u256D\u2501\u256F</c1>",
3896
- "<c1>\u256D\u256F\u2570\u256E</c1><c2>\u2571</c2>",
3897
- "<c1>\u2503\u256D\u256E\u2503</c1><c2>\u2571</c2>",
3898
- "<c1>\u2503\u2570\u256F\u2503\u256E</c1>",
3899
- "<c1>\u2570\u2501\u2501\u2501\u256F</c1>"
5233
+ "<c2>\u2500\u2500</c2><c1>\u2554\u2557</c1><c2>\u2500</c2>",
5234
+ "<c2>\u2500\u2500</c2><c1>\u2551\u2551</c1><c2>\u2500</c2>",
5235
+ "<c1>\u2554\u2550\u255D\u255A\u2557</c1>",
5236
+ "<c1>\u2551\u2554\u2557\u2554\u255D</c1>",
5237
+ "<c1>\u2551\u255A\u255D\u2551</c1><c2>\u2500</c2>",
5238
+ "<c1>\u255A\u2550\u2550\u255D</c1><c2>\u2500</c2>"
3900
5239
  ],
3901
5240
  "(": [
3902
- "<c2>\u2571\u2571</c2><c1>\u256D\u2501\u256E</c1>",
3903
- "<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>",
3904
- "<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>",
3905
- "<c1>\u2570\u256E\u2570\u256E</c1><c2>\u2571</c2>",
3906
- "<c2>\u2571</c2><c1>\u2570\u256E\u2570\u256E</c1>",
3907
- "<c2>\u2571\u2571</c2><c1>\u2570\u2501\u256F</c1>"
5241
+ "<c2>\u2500\u2500</c2><c1>\u2554\u2550\u2557</c1>",
5242
+ "<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>",
5243
+ "<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>",
5244
+ "<c1>\u255A\u2557\u255A\u2557</c1><c2>\u2500</c2>",
5245
+ "<c2>\u2500</c2><c1>\u255A\u2557\u255A\u2557</c1>",
5246
+ "<c2>\u2500\u2500</c2><c1>\u255A\u2550\u255D</c1>"
3908
5247
  ],
3909
5248
  ")": [
3910
- "<c1>\u256D\u2501\u256E</c1><c2>\u2571\u2571</c2>",
3911
- "<c1>\u2570\u256E\u2570\u256E</c1><c2>\u2571</c2>",
3912
- "<c2>\u2571</c2><c1>\u2570\u256E\u2570\u256E</c1>",
3913
- "<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>",
3914
- "<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>",
3915
- "<c1>\u2570\u2501\u256F</c1><c2>\u2571\u2571</c2>"
5249
+ "<c1>\u2554\u2550\u2557</c1><c2>\u2500\u2500</c2>",
5250
+ "<c1>\u255A\u2557\u255A\u2557</c1><c2>\u2500</c2>",
5251
+ "<c2>\u2500</c2><c1>\u255A\u2557\u255A\u2557</c1>",
5252
+ "<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>",
5253
+ "<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>",
5254
+ "<c1>\u255A\u2550\u255D</c1><c2>\u2500\u2500</c2>"
3916
5255
  ],
3917
5256
  "/": [
3918
- "<c2>\u2571\u2571\u2571\u2571</c2><c1>\u256D\u2501\u256E</c1>",
3919
- "<c2>\u2571\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1>",
3920
- "<c2>\u2571\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571</c2>",
3921
- "<c2>\u2571</c2><c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571\u2571</c2>",
3922
- "<c1>\u256D\u256F\u256D\u256F</c1><c2>\u2571\u2571\u2571</c2>",
3923
- "<c1>\u2570\u2501\u256F</c1><c2>\u2571\u2571\u2571\u2571</c2>"
3924
- ],
3925
- ":": ["<c2>\u2571\u2571</c2>", "<c1>\u256D\u256E</c1>", "<c1>\u2570\u256F</c1>", "<c1>\u256D\u256E</c1>", "<c1>\u2570\u256F</c1>", "<c2>\u2571\u2571</c2>"],
3926
- ";": ["<c1>\u256D\u256E</c1>", "<c1>\u2503\u2503</c1>", "<c1>\u2570\u256F</c1>", "<c1>\u256D\u256E</c1>", "<c1>\u2570\u252B</c1>", "<c2>\u2571</c2><c1>\u256F</c1>"],
3927
- ",": ["<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c1>\u256D\u256E</c1>", "<c1>\u2570\u252B</c1>", "<c2>\u2571</c2><c1>\u256F</c1>"],
3928
- "'": ["<c1>\u256D\u256E</c1>", "<c1>\u2570\u256F</c1>", "<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>", "<c2>\u2571\u2571</c2>"],
3929
- '"': ["<c1>\u256D\u256E\u256D\u256E</c1>", "<c1>\u2570\u256F\u2570\u256F</c1>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571\u2571</c2>"],
3930
- " ": ["<c2>\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571</c2>", "<c2>\u2571\u2571\u2571</c2>"]
5257
+ "<c2>\u2500\u2500\u2500\u2500</c2><c1>\u2554\u2550\u2557</c1>",
5258
+ "<c2>\u2500\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1>",
5259
+ "<c2>\u2500\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500</c2>",
5260
+ "<c2>\u2500</c2><c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500\u2500</c2>",
5261
+ "<c1>\u2554\u255D\u2554\u255D</c1><c2>\u2500\u2500\u2500</c2>",
5262
+ "<c1>\u255A\u2550\u255D</c1><c2>\u2500\u2500\u2500\u2500</c2>"
5263
+ ],
5264
+ ":": ["<c2>\u2500\u2500</c2>", "<c1>\u2554\u2557</c1>", "<c1>\u255A\u255D</c1>", "<c1>\u2554\u2557</c1>", "<c1>\u255A\u255D</c1>", "<c2>\u2500\u2500</c2>"],
5265
+ ";": ["<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>", "<c1>\u2554\u2557</c1>", "<c1>\u255A\u2563</c1>", "<c2>\u2500</c2><c1>\u255D</c1>"],
5266
+ ",": ["<c1>\u2554\u2557</c1>", "<c1>\u2551\u2551</c1>", "<c1>\u255A\u255D</c1>", "<c1>\u2554\u2557</c1>", "<c1>\u255A\u2563</c1>", "<c2>\u2500</c2><c1>\u255D</c1>"],
5267
+ "'": ["<c1>\u2554\u2557</c1>", "<c1>\u2551\u2551</c1>", "<c1>\u255A\u255D</c1>", "<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>", "<c2>\u2500\u2500</c2>"],
5268
+ '"': ["<c1>\u2554\u2557\u2554\u2557</c1>", "<c1>\u2551\u2551\u2551\u2551</c1>", "<c1>\u255A\u255D\u255A\u255D</c1>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500\u2500</c2>"],
5269
+ " ": ["<c2>\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500</c2>", "<c2>\u2500\u2500\u2500</c2>"]
3931
5270
  }
3932
5271
  };
3933
5272
 
@@ -3936,7 +5275,10 @@ var fonts = {
3936
5275
  tiny: tiny_default,
3937
5276
  block: block_default,
3938
5277
  shade: shade_default,
3939
- slick: slick_default
5278
+ slick: slick_default,
5279
+ huge: huge_default,
5280
+ grid: grid_default,
5281
+ pallet: pallet_default
3940
5282
  };
3941
5283
  var parsedFonts = {};
3942
5284
  function parseColorTags(text) {
@@ -4074,8 +5416,8 @@ function renderFontToFrameBuffer(buffer, {
4074
5416
  text,
4075
5417
  x = 0,
4076
5418
  y = 0,
4077
- fg = [RGBA.fromInts(255, 255, 255, 255)],
4078
- bg = RGBA.fromInts(0, 0, 0, 255),
5419
+ color = [RGBA.fromInts(255, 255, 255, 255)],
5420
+ backgroundColor = RGBA.fromInts(0, 0, 0, 255),
4079
5421
  font = "tiny"
4080
5422
  }) {
4081
5423
  const width = buffer.width;
@@ -4085,7 +5427,7 @@ function renderFontToFrameBuffer(buffer, {
4085
5427
  console.warn(`Font '${font}' not found`);
4086
5428
  return { width: 0, height: 0 };
4087
5429
  }
4088
- const colors = Array.isArray(fg) ? fg : [fg];
5430
+ const colors = Array.isArray(color) ? color : [color];
4089
5431
  if (y < 0 || y + fontDef.lines > height) {
4090
5432
  return { width: 0, height: fontDef.lines };
4091
5433
  }
@@ -4131,7 +5473,7 @@ function renderFontToFrameBuffer(buffer, {
4131
5473
  if (renderX >= 0 && renderX < width) {
4132
5474
  const fontChar = segment.text[charIdx];
4133
5475
  if (fontChar !== " ") {
4134
- buffer.setCellWithAlphaBlending(renderX, renderY, fontChar, segmentColor, bg);
5476
+ buffer.setCellWithAlphaBlending(renderX, renderY, fontChar, parseColor(segmentColor), parseColor(backgroundColor));
4135
5477
  }
4136
5478
  }
4137
5479
  }
@@ -5109,7 +6451,7 @@ class Selection {
5109
6451
  return aY - bY;
5110
6452
  }
5111
6453
  return a.x - b.x;
5112
- }).map((renderable) => renderable.getSelectedText()).filter((text) => text);
6454
+ }).filter((renderable) => !renderable.isDestroyed).map((renderable) => renderable.getSelectedText()).filter((text) => text);
5113
6455
  return selectedTexts.join(`
5114
6456
  `);
5115
6457
  }
@@ -5302,10 +6644,10 @@ No environment variables registered.
5302
6644
  `;
5303
6645
  if (config.default !== undefined) {
5304
6646
  const defaultValue = typeof config.default === "string" ? `"${config.default}"` : String(config.default);
5305
- markdown += `**Default:** \`${defaultValue}\`
6647
+ markdown += `**Default:** \`${defaultValue}\`
5306
6648
  `;
5307
6649
  } else {
5308
- markdown += `**Default:** *Required*
6650
+ markdown += `**Default:** *Required*
5309
6651
  `;
5310
6652
  }
5311
6653
  markdown += `
@@ -7221,8 +8563,8 @@ class ExtmarksController {
7221
8563
  this.editBuffer.clearAllHighlights();
7222
8564
  for (const extmark of this.extmarks.values()) {
7223
8565
  if (extmark.styleId !== undefined) {
7224
- const startWithoutNewlines = this.offsetToCharOffset(extmark.start);
7225
- const endWithoutNewlines = this.offsetToCharOffset(extmark.end);
8566
+ const startWithoutNewlines = this.offsetExcludingNewlines(extmark.start);
8567
+ const endWithoutNewlines = this.offsetExcludingNewlines(extmark.end);
7226
8568
  this.editBuffer.addHighlightByCharRange({
7227
8569
  start: startWithoutNewlines,
7228
8570
  end: endWithoutNewlines,
@@ -7233,16 +8575,38 @@ class ExtmarksController {
7233
8575
  }
7234
8576
  }
7235
8577
  }
7236
- offsetToCharOffset(offset) {
8578
+ offsetExcludingNewlines(offset) {
7237
8579
  const text = this.editBuffer.getText();
7238
- let charOffset = 0;
7239
- for (let i = 0;i < offset && i < text.length; i++) {
7240
- if (text[i] !== `
8580
+ let displayWidthSoFar = 0;
8581
+ let newlineCount = 0;
8582
+ let i = 0;
8583
+ while (i < text.length && displayWidthSoFar < offset) {
8584
+ if (text[i] === `
8585
+ `) {
8586
+ displayWidthSoFar++;
8587
+ newlineCount++;
8588
+ i++;
8589
+ } else {
8590
+ let j = i;
8591
+ while (j < text.length && text[j] !== `
7241
8592
  `) {
7242
- charOffset++;
8593
+ j++;
8594
+ }
8595
+ const chunk = text.substring(i, j);
8596
+ const chunkWidth = Bun.stringWidth(chunk);
8597
+ if (displayWidthSoFar + chunkWidth < offset) {
8598
+ displayWidthSoFar += chunkWidth;
8599
+ i = j;
8600
+ } else {
8601
+ for (let k = i;k < j && displayWidthSoFar < offset; k++) {
8602
+ const charWidth = Bun.stringWidth(text[k]);
8603
+ displayWidthSoFar += charWidth;
8604
+ }
8605
+ break;
8606
+ }
7243
8607
  }
7244
8608
  }
7245
- return charOffset;
8609
+ return offset - newlineCount;
7246
8610
  }
7247
8611
  create(options) {
7248
8612
  if (this.destroyed) {
@@ -7726,6 +9090,7 @@ class OptimizedBuffer {
7726
9090
  bufferPtr;
7727
9091
  _width;
7728
9092
  _height;
9093
+ _widthMethod;
7729
9094
  respectAlpha = false;
7730
9095
  _rawBuffers = null;
7731
9096
  _destroyed = false;
@@ -7759,13 +9124,18 @@ class OptimizedBuffer {
7759
9124
  this.respectAlpha = options.respectAlpha || false;
7760
9125
  this._width = width;
7761
9126
  this._height = height;
9127
+ this._widthMethod = options.widthMethod || "unicode";
7762
9128
  this.bufferPtr = ptr;
7763
9129
  }
7764
9130
  static create(width, height, widthMethod, options = {}) {
7765
9131
  const lib = resolveRenderLib();
7766
9132
  const respectAlpha = options.respectAlpha || false;
7767
9133
  const id = options.id && options.id.trim() !== "" ? options.id : "unnamed buffer";
7768
- return lib.createOptimizedBuffer(width, height, widthMethod, respectAlpha, id);
9134
+ const buffer = lib.createOptimizedBuffer(width, height, widthMethod, respectAlpha, id);
9135
+ return buffer;
9136
+ }
9137
+ get widthMethod() {
9138
+ return this._widthMethod;
7769
9139
  }
7770
9140
  get width() {
7771
9141
  return this._width;
@@ -7888,6 +9258,18 @@ class OptimizedBuffer {
7888
9258
  this.guard();
7889
9259
  this.lib.bufferClearScissorRects(this.bufferPtr);
7890
9260
  }
9261
+ encodeUnicode(text) {
9262
+ this.guard();
9263
+ return this.lib.encodeUnicode(text, this._widthMethod);
9264
+ }
9265
+ freeUnicode(encoded) {
9266
+ this.guard();
9267
+ this.lib.freeUnicode(encoded);
9268
+ }
9269
+ drawChar(char, x, y, fg2, bg2, attributes = 0) {
9270
+ this.guard();
9271
+ this.lib.bufferDrawChar(this.bufferPtr, char, x, y, fg2, bg2, attributes);
9272
+ }
7891
9273
  }
7892
9274
 
7893
9275
  // ../../node_modules/bun-ffi-structs/index.js
@@ -8565,6 +9947,25 @@ var TerminalCapabilitiesStruct = defineStruct([
8565
9947
  ["term_version_len", "u64", { lengthOf: "term_version" }],
8566
9948
  ["term_from_xtversion", "bool_u8"]
8567
9949
  ]);
9950
+ var EncodedCharStruct = defineStruct([
9951
+ ["width", "u8"],
9952
+ ["char", "u32"]
9953
+ ]);
9954
+ var LineInfoStruct = defineStruct([
9955
+ ["starts", ["u32"]],
9956
+ ["startsLen", "u32", { lengthOf: "starts" }],
9957
+ ["widths", ["u32"]],
9958
+ ["widthsLen", "u32", { lengthOf: "widths" }],
9959
+ ["sources", ["u32"]],
9960
+ ["sourcesLen", "u32", { lengthOf: "sources" }],
9961
+ ["wraps", ["u32"]],
9962
+ ["wrapsLen", "u32", { lengthOf: "wraps" }],
9963
+ ["maxWidth", "u32"]
9964
+ ]);
9965
+ var MeasureResultStruct = defineStruct([
9966
+ ["lineCount", "u32"],
9967
+ ["maxWidth", "u32"]
9968
+ ]);
8568
9969
 
8569
9970
  // src/zig.ts
8570
9971
  var module = await import(`@opentui/core-${process.platform}-${process.arch}/index.ts`);
@@ -8587,6 +9988,18 @@ registerEnvVar({
8587
9988
  type: "boolean",
8588
9989
  default: false
8589
9990
  });
9991
+ registerEnvVar({
9992
+ name: "OPENTUI_FORCE_WCWIDTH",
9993
+ description: "Use wcwidth for character width calculations",
9994
+ type: "boolean",
9995
+ default: false
9996
+ });
9997
+ registerEnvVar({
9998
+ name: "OPENTUI_FORCE_UNICODE",
9999
+ description: "Force Mode 2026 Unicode support in terminal capabilities",
10000
+ type: "boolean",
10001
+ default: false
10002
+ });
8590
10003
  function getOpenTUILib(libPath) {
8591
10004
  const resolvedLibPath = libPath || targetLibPath;
8592
10005
  const rawSymbols = dlopen(resolvedLibPath, {
@@ -8822,6 +10235,14 @@ function getOpenTUILib(libPath) {
8822
10235
  args: ["ptr", "bool"],
8823
10236
  returns: "void"
8824
10237
  },
10238
+ suspendRenderer: {
10239
+ args: ["ptr"],
10240
+ returns: "void"
10241
+ },
10242
+ resumeRenderer: {
10243
+ args: ["ptr"],
10244
+ returns: "void"
10245
+ },
8825
10246
  createTextBuffer: {
8826
10247
  args: ["u8"],
8827
10248
  returns: "ptr"
@@ -8999,12 +10420,12 @@ function getOpenTUILib(libPath) {
8999
10420
  returns: "u32"
9000
10421
  },
9001
10422
  textBufferViewGetLineInfoDirect: {
9002
- args: ["ptr", "ptr", "ptr"],
9003
- returns: "u32"
10423
+ args: ["ptr", "ptr"],
10424
+ returns: "void"
9004
10425
  },
9005
10426
  textBufferViewGetLogicalLineInfoDirect: {
9006
- args: ["ptr", "ptr", "ptr"],
9007
- returns: "u32"
10427
+ args: ["ptr", "ptr"],
10428
+ returns: "void"
9008
10429
  },
9009
10430
  textBufferViewGetSelectedText: {
9010
10431
  args: ["ptr", "ptr", "usize"],
@@ -9022,6 +10443,10 @@ function getOpenTUILib(libPath) {
9022
10443
  args: ["ptr", "ptr"],
9023
10444
  returns: "void"
9024
10445
  },
10446
+ textBufferViewMeasureForDimensions: {
10447
+ args: ["ptr", "u32", "u32", "ptr"],
10448
+ returns: "bool"
10449
+ },
9025
10450
  bufferDrawTextBufferView: {
9026
10451
  args: ["ptr", "ptr", "i32", "i32"],
9027
10452
  returns: "void"
@@ -9067,12 +10492,12 @@ function getOpenTUILib(libPath) {
9067
10492
  returns: "ptr"
9068
10493
  },
9069
10494
  editorViewGetLineInfoDirect: {
9070
- args: ["ptr", "ptr", "ptr"],
9071
- returns: "u32"
10495
+ args: ["ptr", "ptr"],
10496
+ returns: "void"
9072
10497
  },
9073
10498
  editorViewGetLogicalLineInfoDirect: {
9074
- args: ["ptr", "ptr", "ptr"],
9075
- returns: "u32"
10499
+ args: ["ptr", "ptr"],
10500
+ returns: "void"
9076
10501
  },
9077
10502
  createEditBuffer: {
9078
10503
  args: ["u8"],
@@ -9333,6 +10758,18 @@ function getOpenTUILib(libPath) {
9333
10758
  processCapabilityResponse: {
9334
10759
  args: ["ptr", "ptr", "usize"],
9335
10760
  returns: "void"
10761
+ },
10762
+ encodeUnicode: {
10763
+ args: ["ptr", "usize", "ptr", "ptr", "u8"],
10764
+ returns: "bool"
10765
+ },
10766
+ freeUnicode: {
10767
+ args: ["ptr", "usize"],
10768
+ returns: "void"
10769
+ },
10770
+ bufferDrawChar: {
10771
+ args: ["ptr", "u32", "u32", "u32", "ptr", "ptr", "u8"],
10772
+ returns: "void"
9336
10773
  }
9337
10774
  });
9338
10775
  if (env.OTUI_DEBUG_FFI || env.OTUI_TRACE_FFI) {
@@ -9353,7 +10790,7 @@ function convertToDebugSymbols(symbols) {
9353
10790
  if (env.OTUI_DEBUG_FFI) {
9354
10791
  const now = new Date;
9355
10792
  const timestamp = now.toISOString().replace(/[:.]/g, "-").replace(/T/, "_").split("Z")[0];
9356
- const logFilePath = `ffi_debug_${timestamp}.log`;
10793
+ const logFilePath = `ffi_otui_debug_${timestamp}.log`;
9357
10794
  ffiLogWriter = Bun.file(logFilePath).writer();
9358
10795
  const writer = ffiLogWriter;
9359
10796
  const writeSync = (msg) => {
@@ -9600,7 +11037,7 @@ class FFIRenderLib {
9600
11037
  }
9601
11038
  const width = this.opentui.symbols.getBufferWidth(bufferPtr);
9602
11039
  const height = this.opentui.symbols.getBufferHeight(bufferPtr);
9603
- return new OptimizedBuffer(this, bufferPtr, width, height, { id: "next buffer" });
11040
+ return new OptimizedBuffer(this, bufferPtr, width, height, { id: "next buffer", widthMethod: "unicode" });
9604
11041
  }
9605
11042
  getCurrentBuffer(renderer) {
9606
11043
  const bufferPtr = this.opentui.symbols.getCurrentBuffer(renderer);
@@ -9609,7 +11046,7 @@ class FFIRenderLib {
9609
11046
  }
9610
11047
  const width = this.opentui.symbols.getBufferWidth(bufferPtr);
9611
11048
  const height = this.opentui.symbols.getBufferHeight(bufferPtr);
9612
- return new OptimizedBuffer(this, bufferPtr, width, height, { id: "current buffer" });
11049
+ return new OptimizedBuffer(this, bufferPtr, width, height, { id: "current buffer", widthMethod: "unicode" });
9613
11050
  }
9614
11051
  bufferGetCharPtr(buffer) {
9615
11052
  const ptr4 = this.opentui.symbols.bufferGetCharPtr(buffer);
@@ -9734,7 +11171,7 @@ class FFIRenderLib {
9734
11171
  if (!bufferPtr) {
9735
11172
  throw new Error(`Failed to create optimized buffer: ${width}x${height}`);
9736
11173
  }
9737
- return new OptimizedBuffer(this, bufferPtr, width, height, { respectAlpha, id });
11174
+ return new OptimizedBuffer(this, bufferPtr, width, height, { respectAlpha, id, widthMethod });
9738
11175
  }
9739
11176
  destroyOptimizedBuffer(bufferPtr) {
9740
11177
  this.opentui.symbols.destroyOptimizedBuffer(bufferPtr);
@@ -9794,6 +11231,12 @@ class FFIRenderLib {
9794
11231
  setupTerminal(renderer, useAlternateScreen) {
9795
11232
  this.opentui.symbols.setupTerminal(renderer, useAlternateScreen);
9796
11233
  }
11234
+ suspendRenderer(renderer) {
11235
+ this.opentui.symbols.suspendRenderer(renderer);
11236
+ }
11237
+ resumeRenderer(renderer) {
11238
+ this.opentui.symbols.resumeRenderer(renderer);
11239
+ }
9797
11240
  queryPixelResolution(renderer) {
9798
11241
  this.opentui.symbols.queryPixelResolution(renderer);
9799
11242
  }
@@ -9957,42 +11400,34 @@ class FFIRenderLib {
9957
11400
  textBufferViewSetViewportSize(view, width, height) {
9958
11401
  this.opentui.symbols.textBufferViewSetViewportSize(view, width, height);
9959
11402
  }
9960
- textBufferViewGetLineInfo(view) {
9961
- const lineCount = this.textBufferViewGetLineCount(view);
9962
- if (lineCount === 0) {
9963
- return { lineStarts: [], lineWidths: [], maxLineWidth: 0 };
9964
- }
9965
- const lineStarts = new Uint32Array(lineCount);
9966
- const lineWidths = new Uint32Array(lineCount);
9967
- const maxLineWidth = this.textBufferViewGetLineInfoDirect(view, ptr3(lineStarts), ptr3(lineWidths));
11403
+ unpackLineInfo(outBuffer) {
11404
+ const struct = LineInfoStruct.unpack(outBuffer);
9968
11405
  return {
9969
- maxLineWidth,
9970
- lineStarts: Array.from(lineStarts),
9971
- lineWidths: Array.from(lineWidths)
11406
+ maxLineWidth: struct.maxWidth,
11407
+ lineStarts: struct.starts,
11408
+ lineWidths: struct.widths,
11409
+ lineSources: struct.sources,
11410
+ lineWraps: struct.wraps
9972
11411
  };
9973
11412
  }
11413
+ textBufferViewGetLineInfo(view) {
11414
+ const outBuffer = new ArrayBuffer(LineInfoStruct.size);
11415
+ this.textBufferViewGetLineInfoDirect(view, ptr3(outBuffer));
11416
+ return this.unpackLineInfo(outBuffer);
11417
+ }
9974
11418
  textBufferViewGetLogicalLineInfo(view) {
9975
- const lineCount = this.textBufferViewGetLineCount(view);
9976
- if (lineCount === 0) {
9977
- return { lineStarts: [], lineWidths: [], maxLineWidth: 0 };
9978
- }
9979
- const lineStarts = new Uint32Array(lineCount);
9980
- const lineWidths = new Uint32Array(lineCount);
9981
- const maxLineWidth = this.textBufferViewGetLogicalLineInfoDirect(view, ptr3(lineStarts), ptr3(lineWidths));
9982
- return {
9983
- maxLineWidth,
9984
- lineStarts: Array.from(lineStarts),
9985
- lineWidths: Array.from(lineWidths)
9986
- };
11419
+ const outBuffer = new ArrayBuffer(LineInfoStruct.size);
11420
+ this.textBufferViewGetLogicalLineInfoDirect(view, ptr3(outBuffer));
11421
+ return this.unpackLineInfo(outBuffer);
9987
11422
  }
9988
11423
  textBufferViewGetLineCount(view) {
9989
11424
  return this.opentui.symbols.textBufferViewGetVirtualLineCount(view);
9990
11425
  }
9991
- textBufferViewGetLineInfoDirect(view, lineStartsPtr, lineWidthsPtr) {
9992
- return this.opentui.symbols.textBufferViewGetLineInfoDirect(view, lineStartsPtr, lineWidthsPtr);
11426
+ textBufferViewGetLineInfoDirect(view, outPtr) {
11427
+ this.opentui.symbols.textBufferViewGetLineInfoDirect(view, outPtr);
9993
11428
  }
9994
- textBufferViewGetLogicalLineInfoDirect(view, lineStartsPtr, lineWidthsPtr) {
9995
- return this.opentui.symbols.textBufferViewGetLogicalLineInfoDirect(view, lineStartsPtr, lineWidthsPtr);
11429
+ textBufferViewGetLogicalLineInfoDirect(view, outPtr) {
11430
+ this.opentui.symbols.textBufferViewGetLogicalLineInfoDirect(view, outPtr);
9996
11431
  }
9997
11432
  textBufferViewGetSelectedText(view, outPtr, maxLen) {
9998
11433
  const result = this.opentui.symbols.textBufferViewGetSelectedText(view, outPtr, maxLen);
@@ -10024,6 +11459,16 @@ class FFIRenderLib {
10024
11459
  textBufferViewSetTabIndicatorColor(view, color) {
10025
11460
  this.opentui.symbols.textBufferViewSetTabIndicatorColor(view, color.buffer);
10026
11461
  }
11462
+ textBufferViewMeasureForDimensions(view, width, height) {
11463
+ const resultBuffer = new ArrayBuffer(MeasureResultStruct.size);
11464
+ const resultPtr = ptr3(new Uint8Array(resultBuffer));
11465
+ const success = this.opentui.symbols.textBufferViewMeasureForDimensions(view, width, height, resultPtr);
11466
+ if (!success) {
11467
+ return null;
11468
+ }
11469
+ const result = MeasureResultStruct.unpack(resultBuffer);
11470
+ return result;
11471
+ }
10027
11472
  textBufferAddHighlightByCharRange(buffer, highlight) {
10028
11473
  const packedHighlight = HighlightStruct.pack(highlight);
10029
11474
  this.opentui.symbols.textBufferAddHighlightByCharRange(buffer, ptr3(packedHighlight));
@@ -10116,32 +11561,14 @@ class FFIRenderLib {
10116
11561
  return result;
10117
11562
  }
10118
11563
  editorViewGetLineInfo(view) {
10119
- const lineCount = this.editorViewGetVirtualLineCount(view);
10120
- if (lineCount === 0) {
10121
- return { lineStarts: [], lineWidths: [], maxLineWidth: 0 };
10122
- }
10123
- const lineStarts = new Uint32Array(lineCount);
10124
- const lineWidths = new Uint32Array(lineCount);
10125
- const maxLineWidth = this.opentui.symbols.editorViewGetLineInfoDirect(view, ptr3(lineStarts), ptr3(lineWidths));
10126
- return {
10127
- maxLineWidth,
10128
- lineStarts: Array.from(lineStarts),
10129
- lineWidths: Array.from(lineWidths)
10130
- };
11564
+ const outBuffer = new ArrayBuffer(LineInfoStruct.size);
11565
+ this.opentui.symbols.editorViewGetLineInfoDirect(view, ptr3(outBuffer));
11566
+ return this.unpackLineInfo(outBuffer);
10131
11567
  }
10132
11568
  editorViewGetLogicalLineInfo(view) {
10133
- const lineCount = this.editorViewGetVirtualLineCount(view);
10134
- if (lineCount === 0) {
10135
- return { lineStarts: [], lineWidths: [], maxLineWidth: 0 };
10136
- }
10137
- const lineStarts = new Uint32Array(lineCount);
10138
- const lineWidths = new Uint32Array(lineCount);
10139
- const maxLineWidth = this.opentui.symbols.editorViewGetLogicalLineInfoDirect(view, ptr3(lineStarts), ptr3(lineWidths));
10140
- return {
10141
- maxLineWidth,
10142
- lineStarts: Array.from(lineStarts),
10143
- lineWidths: Array.from(lineWidths)
10144
- };
11569
+ const outBuffer = new ArrayBuffer(LineInfoStruct.size);
11570
+ this.opentui.symbols.editorViewGetLogicalLineInfoDirect(view, ptr3(outBuffer));
11571
+ return this.unpackLineInfo(outBuffer);
10145
11572
  }
10146
11573
  createEditBuffer(widthMethod) {
10147
11574
  const widthMethodCode = widthMethod === "wcwidth" ? 0 : 1;
@@ -10422,6 +11849,33 @@ class FFIRenderLib {
10422
11849
  const responseBytes = this.encoder.encode(response);
10423
11850
  this.opentui.symbols.processCapabilityResponse(renderer, responseBytes, responseBytes.length);
10424
11851
  }
11852
+ encodeUnicode(text, widthMethod) {
11853
+ const textBytes = this.encoder.encode(text);
11854
+ const widthMethodCode = widthMethod === "wcwidth" ? 0 : 1;
11855
+ const outPtrBuffer = new ArrayBuffer(8);
11856
+ const outLenBuffer = new ArrayBuffer(8);
11857
+ const success = this.opentui.symbols.encodeUnicode(textBytes, textBytes.length, ptr3(outPtrBuffer), ptr3(outLenBuffer), widthMethodCode);
11858
+ if (!success) {
11859
+ return null;
11860
+ }
11861
+ const outPtrView = new BigUint64Array(outPtrBuffer);
11862
+ const outLenView = new BigUint64Array(outLenBuffer);
11863
+ const resultPtr = Number(outPtrView[0]);
11864
+ const resultLen = Number(outLenView[0]);
11865
+ if (resultLen === 0) {
11866
+ return { ptr: resultPtr, data: [] };
11867
+ }
11868
+ const byteLen = resultLen * EncodedCharStruct.size;
11869
+ const raw = toArrayBuffer4(resultPtr, 0, byteLen);
11870
+ const data = EncodedCharStruct.unpackList(raw, resultLen);
11871
+ return { ptr: resultPtr, data };
11872
+ }
11873
+ freeUnicode(encoded) {
11874
+ this.opentui.symbols.freeUnicode(encoded.ptr, encoded.data.length);
11875
+ }
11876
+ bufferDrawChar(buffer, char, x, y, fg2, bg2, attributes = 0) {
11877
+ this.opentui.symbols.bufferDrawChar(buffer, char, x, y, fg2.buffer, bg2.buffer, attributes);
11878
+ }
10425
11879
  createSyntaxStyle() {
10426
11880
  const stylePtr = this.opentui.symbols.createSyntaxStyle();
10427
11881
  if (!stylePtr) {
@@ -10584,6 +12038,10 @@ class TextBuffer {
10584
12038
  this.guard();
10585
12039
  this.lib.textBufferResetDefaults(this.bufferPtr);
10586
12040
  }
12041
+ getLineCount() {
12042
+ this.guard();
12043
+ return this.lib.textBufferGetLineCount(this.bufferPtr);
12044
+ }
10587
12045
  get length() {
10588
12046
  this.guard();
10589
12047
  return this._length;
@@ -12311,6 +13769,7 @@ class TerminalConsole extends EventEmitter8 {
12311
13769
  _displayLines = [];
12312
13770
  _allLogEntries = [];
12313
13771
  _needsFrameBufferUpdate = false;
13772
+ _entryListener;
12314
13773
  markNeedsRerender() {
12315
13774
  this._needsFrameBufferUpdate = true;
12316
13775
  this.renderer.requestRender();
@@ -12350,9 +13809,10 @@ class TerminalConsole extends EventEmitter8 {
12350
13809
  this._rgbaCursor = parseColor(this.options.cursorColor);
12351
13810
  this._updateConsoleDimensions();
12352
13811
  this._scrollToBottom(true);
12353
- terminalConsoleCache.on("entry", (logEntry) => {
13812
+ this._entryListener = (logEntry) => {
12354
13813
  this._handleNewLog(logEntry);
12355
- });
13814
+ };
13815
+ terminalConsoleCache.on("entry", this._entryListener);
12356
13816
  if (env.SHOW_CONSOLE) {
12357
13817
  this.show();
12358
13818
  }
@@ -12592,6 +14052,11 @@ class TerminalConsole extends EventEmitter8 {
12592
14052
  terminalConsoleCache.setCachingEnabled(true);
12593
14053
  }
12594
14054
  }
14055
+ destroy() {
14056
+ this.hide();
14057
+ this.deactivate();
14058
+ terminalConsoleCache.off("entry", this._entryListener);
14059
+ }
12595
14060
  getCachedLogs() {
12596
14061
  return terminalConsoleCache.cachedLogs.map((logEntry) => logEntry[0].toISOString() + " " + logEntry.slice(1).join(" ")).join(`
12597
14062
  `);
@@ -13011,6 +14476,7 @@ async function createCliRenderer(config = {}) {
13011
14476
  var CliRenderEvents;
13012
14477
  ((CliRenderEvents2) => {
13013
14478
  CliRenderEvents2["DEBUG_OVERLAY_TOGGLE"] = "debugOverlay:toggle";
14479
+ CliRenderEvents2["DESTROY"] = "destroy";
13014
14480
  })(CliRenderEvents ||= {});
13015
14481
  var RendererControlState;
13016
14482
  ((RendererControlState2) => {
@@ -13118,6 +14584,7 @@ class CliRenderer extends EventEmitter9 {
13118
14584
  _paletteDetector = null;
13119
14585
  _cachedPalette = null;
13120
14586
  _paletteDetectionPromise = null;
14587
+ _onDestroy;
13121
14588
  inputHandlers = [];
13122
14589
  prependedInputHandlers = [];
13123
14590
  handleError = ((error) => {
@@ -13219,6 +14686,7 @@ Captured output:
13219
14686
  this._console = new TerminalConsole(this, config.consoleOptions);
13220
14687
  this.useConsole = config.useConsole ?? true;
13221
14688
  this._openConsoleOnError = config.openConsoleOnError ?? true;
14689
+ this._onDestroy = config.onDestroy;
13222
14690
  global.requestAnimationFrame = (callback) => {
13223
14691
  const id = CliRenderer.animationFrameId++;
13224
14692
  this.animationRequest.set(id, callback);
@@ -13854,8 +15322,9 @@ Captured output:
13854
15322
  this.internalPause();
13855
15323
  this._suspendedMouseEnabled = this._useMouse;
13856
15324
  this.disableMouse();
13857
- this._keyHandler.suspend();
13858
15325
  this._stdinBuffer.clear();
15326
+ this.stdin.removeListener("data", this.stdinListener);
15327
+ this.lib.suspendRenderer(this.rendererPtr);
13859
15328
  if (this.stdin.setRawMode) {
13860
15329
  this.stdin.setRawMode(false);
13861
15330
  }
@@ -13866,13 +15335,20 @@ Captured output:
13866
15335
  this.stdin.setRawMode(true);
13867
15336
  }
13868
15337
  this.stdin.resume();
13869
- this._keyHandler.resume();
15338
+ setImmediate(() => {
15339
+ while (this.stdin.read() !== null) {}
15340
+ this.stdin.on("data", this.stdinListener);
15341
+ });
15342
+ this.lib.resumeRenderer(this.rendererPtr);
13870
15343
  if (this._suspendedMouseEnabled) {
13871
15344
  this.enableMouse();
13872
15345
  }
15346
+ this.currentRenderBuffer.clear(this.backgroundColor);
13873
15347
  this._controlState = this._previousControlState;
13874
15348
  if (this._previousControlState === "auto_started" /* AUTO_STARTED */ || this._previousControlState === "explicit_started" /* EXPLICIT_STARTED */) {
13875
15349
  this.internalStart();
15350
+ } else {
15351
+ this.requestRender();
13876
15352
  }
13877
15353
  }
13878
15354
  internalPause() {
@@ -13913,6 +15389,7 @@ Captured output:
13913
15389
  if (this._isDestroyed)
13914
15390
  return;
13915
15391
  this._isDestroyed = true;
15392
+ this.emit("destroy" /* DESTROY */);
13916
15393
  if (this.renderTimeout) {
13917
15394
  clearTimeout(this.renderTimeout);
13918
15395
  this.renderTimeout = null;
@@ -13926,7 +15403,7 @@ Captured output:
13926
15403
  console.error("Error destroying root renderable:", e instanceof Error ? e.stack : String(e));
13927
15404
  }
13928
15405
  this._stdinBuffer.destroy();
13929
- this._console.deactivate();
15406
+ this._console.destroy();
13930
15407
  this.disableStdoutInterception();
13931
15408
  if (this._splitHeight > 0) {
13932
15409
  this.flushStdoutCache(this._splitHeight, true);
@@ -13937,6 +15414,13 @@ Captured output:
13937
15414
  this.stdin.removeListener("data", this.stdinListener);
13938
15415
  this.lib.destroyRenderer(this.rendererPtr);
13939
15416
  rendererTracker.removeRenderer(this);
15417
+ if (this._onDestroy) {
15418
+ try {
15419
+ this._onDestroy();
15420
+ } catch (e) {
15421
+ console.error("Error in onDestroy callback:", e instanceof Error ? e.stack : String(e));
15422
+ }
15423
+ }
13940
15424
  }
13941
15425
  startRenderLoop() {
13942
15426
  if (!this._isRunning)
@@ -14139,7 +15623,7 @@ Captured output:
14139
15623
  if (this.currentSelection) {
14140
15624
  this.walkSelectableRenderables(currentContainer, this.currentSelection.bounds, selectedRenderables, touchedRenderables);
14141
15625
  for (const renderable of this.currentSelection.touchedRenderables) {
14142
- if (!touchedRenderables.includes(renderable)) {
15626
+ if (!touchedRenderables.includes(renderable) && !renderable.isDestroyed) {
14143
15627
  renderable.onSelectionChanged(null);
14144
15628
  }
14145
15629
  }
@@ -14198,7 +15682,7 @@ Captured output:
14198
15682
  }
14199
15683
  }
14200
15684
 
14201
- export { __toESM, __commonJS, __export, __require, Edge, Gutter, exports_src, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, nonAlphanumericKeys, parseKeypress, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, DebugOverlayCorner, createTextAttributes, visualizeRenderableTree, isStyledText, StyledText, stringToStyledText, black, red, green, yellow, blue, magenta, cyan, white, brightBlack, brightRed, brightGreen, brightYellow, brightBlue, brightMagenta, brightCyan, brightWhite, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bold, italic, underline, strikethrough, dim, reverse, blink, fg, bg, t, hastToStyledText, LinearScrollAccel, MacOSScrollAccel, StdinBuffer, parseAlign, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, envRegistry, registerEnvVar, clearEnvCache, generateEnvMarkdown, generateEnvColored, env, treeSitterToTextChunks, treeSitterToStyledText, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extToFiletype, pathToFiletype, main, getTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, TextBuffer, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, isValidPercentage, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, ANSI, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
15685
+ export { __toESM, __commonJS, __export, __require, Edge, Gutter, MeasureMode, exports_src, BorderChars, getBorderFromSides, getBorderSides, borderCharsToArray, BorderCharArrays, nonAlphanumericKeys, parseKeypress, KeyEvent, PasteEvent, KeyHandler, InternalKeyHandler, RGBA, hexToRgb, rgbToHex, hsvToRgb, parseColor, fonts, measureText, getCharacterPositions, coordinateToCharacterIndex, renderFontToFrameBuffer, TextAttributes, DebugOverlayCorner, createTextAttributes, visualizeRenderableTree, isStyledText, StyledText, stringToStyledText, black, red, green, yellow, blue, magenta, cyan, white, brightBlack, brightRed, brightGreen, brightYellow, brightBlue, brightMagenta, brightCyan, brightWhite, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bold, italic, underline, strikethrough, dim, reverse, blink, fg, bg, t, hastToStyledText, LinearScrollAccel, MacOSScrollAccel, StdinBuffer, parseAlign, parseBoxSizing, parseDimension, parseDirection, parseDisplay, parseEdge, parseFlexDirection, parseGutter, parseJustify, parseLogLevel, parseMeasureMode, parseOverflow, parsePositionType, parseUnit, parseWrap, MouseParser, Selection, convertGlobalToLocalSelection, ASCIIFontSelectionHelper, envRegistry, registerEnvVar, clearEnvCache, generateEnvMarkdown, generateEnvColored, env, treeSitterToTextChunks, treeSitterToStyledText, addDefaultParsers, TreeSitterClient, DataPathsManager, getDataPaths, extToFiletype, pathToFiletype, main, getTreeSitterClient, ExtmarksController, createExtmarksController, TerminalPalette, createTerminalPalette, TextBuffer, LogLevel2 as LogLevel, setRenderLibPath, resolveRenderLib, OptimizedBuffer, h, isVNode, maybeMakeRenderable, wrapWithDelegates, instantiate, delegate, isValidPercentage, LayoutEvents, RenderableEvents, isRenderable, BaseRenderable, Renderable, RootRenderable, ANSI, capture, ConsolePosition, TerminalConsole, getObjectsInViewport, MouseEvent, MouseButton, createCliRenderer, CliRenderEvents, RendererControlState, CliRenderer };
14202
15686
 
14203
- //# debugId=7BD9FAB5ED52E27064756E2164756E21
14204
- //# sourceMappingURL=index-kj9k00yt.js.map
15687
+ //# debugId=BFAFCEE33DA6D80F64756E2164756E21
15688
+ //# sourceMappingURL=index-rhx7c7kj.js.map