@pietrovich/wot-utils 0.2.0
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.
- package/.env.example +3 -0
- package/LICENSE +13 -0
- package/README.md +109 -0
- package/dist/assets/fonts/pogs/3px.json5 +102 -0
- package/dist/assets/fonts/pogs/4px.json5 +436 -0
- package/dist/assets/fonts/pogs/numbers-bold.json5 +106 -0
- package/dist/assets/fonts/pogs/numbers.json5 +106 -0
- package/dist/assets/pogs/README.md +3 -0
- package/dist/assets/pogs/sheild.png +0 -0
- package/dist/assets/pogs/short-names.json5 +1133 -0
- package/dist/assets/pogs/star.png +0 -0
- package/dist/assets/pogs/stripe.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/bg/at.bg.color.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/bg/ht.bg.color.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/bg/lt.bg.color.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/bg/mt.bg.color.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/bg/td.bg.color.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v1/at.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v1/at.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v1/generic.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v1/generic.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v1/ht.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v1/ht.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v1/lt.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v1/lt.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v1/mt.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v1/mt.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v1/td.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v1/td.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/at.clear.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/at.clear.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/at.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/at.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/ht.clear-prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/ht.clear.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/ht.clear.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/ht.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/ht.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/lt.clear.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/lt.clear.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/lt.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/lt.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/mt.clear.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/mt.clear.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/mt.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/mt.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/td.clear.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/td.clear.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/td.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/combined-v2/td.prem.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/stripes/generic.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/stripes/ht.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/stripes/lt.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/stripes/mt.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/stripes/spg.png +0 -0
- package/dist/assets/pogs-fixed/pre-rendered/stripes/td.png +0 -0
- package/dist/index.js +2958 -0
- package/package.json +62 -0
- package/scripts/bake-color-dmg-fsr-vr-rld.sh +81 -0
- package/scripts/bake-pogs-clear.sh +7 -0
- package/scripts/bake-pogs-color-dmg-fsr-vr-rld.sh +7 -0
- package/scripts/baker-lib.sh +165 -0
- package/scripts/extract-atlas-assets.ps1 +120 -0
- package/scripts/extract-atlas-assets.sh +116 -0
- package/scripts/replace-suffixed-with-base.sh +44 -0
package/.env.example
ADDED
package/LICENSE
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
|
2
|
+
Version 2, December 2004
|
|
3
|
+
|
|
4
|
+
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
|
|
5
|
+
|
|
6
|
+
Everyone is permitted to copy and distribute verbatim or modified
|
|
7
|
+
copies of this license document, and changing it is allowed as long
|
|
8
|
+
as the name is changed.
|
|
9
|
+
|
|
10
|
+
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
|
11
|
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
12
|
+
|
|
13
|
+
0. You just DO WHAT THE FUCK YOU WANT TO.
|
package/README.md
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# pie-wot
|
|
2
|
+
|
|
3
|
+
A CLI toolkit for World of Tanks modders. Fetches live vehicle data from the Wargaming API, manipulates DDS textures and texture atlases, and generates custom icon sets — all from the terminal, no build step required.
|
|
4
|
+
|
|
5
|
+
The long-term goal is to make it trivial to maintain and publish a custom icon set: when new vehicles are added to the game or tank characteristics change, re-running a handful of commands should be enough to produce an updated, publish-ready set. The [PogS icon set](https://github.com/pavelmaca/WoT-PogsIconSet) by @pavelmaca serves as the reference implementation and first supported style.
|
|
6
|
+
|
|
7
|
+
## Pre-baked ready to use sets
|
|
8
|
+
|
|
9
|
+
If you just want the icons without running the pipeline yourself, pre-baked sets are published periodically at [pietrovich/wot-pogs-like-icon-sets](https://github.com/pietrovich/wot-pogs-like-icon-sets) and kept in sync with game updates.
|
|
10
|
+
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g @pietrovich/wot-utils
|
|
15
|
+
cp .env.example .env # add your WG_APP_ID
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Get a free application ID at [developers.wargaming.net](https://developers.wargaming.net/).
|
|
19
|
+
|
|
20
|
+
> **Node.js ≥ 24** required.
|
|
21
|
+
|
|
22
|
+
## Uninstall
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm uninstall -g @pietrovich/wot-utils
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Commands
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
pie-wot vehicle list # list vehicles from the WG encyclopedia (table)
|
|
32
|
+
pie-wot vehicle export # save full vehicle data to JSON
|
|
33
|
+
pie-wot vehicle fetch-icons # download official vehicle icons
|
|
34
|
+
pie-wot vehicle stats # short-name character statistics
|
|
35
|
+
pie-wot vehicle best-config # best module configuration per vehicle
|
|
36
|
+
pie-wot vehicle chars # character distribution in short names
|
|
37
|
+
|
|
38
|
+
pie-wot atlas inspect <map> # list texture names in an atlas XML
|
|
39
|
+
pie-wot atlas pick <map> <img> # extract a single named texture
|
|
40
|
+
pie-wot atlas extract # extract all textures to a directory
|
|
41
|
+
pie-wot atlas pack # pack a directory of PNGs into a texture atlas
|
|
42
|
+
|
|
43
|
+
pie-wot dds decode <file> # decode a DDS texture to PNG
|
|
44
|
+
pie-wot dds encode <file> # encode a PNG to DXT5/BC3 DDS
|
|
45
|
+
|
|
46
|
+
pie-wot icon dump-background # generate per-type background images (PogS style)
|
|
47
|
+
pie-wot icon render <query> # render a vehicle icon: type background + short name label
|
|
48
|
+
|
|
49
|
+
pie-wot font render [font] [text] # render text as PNG using a pixel font
|
|
50
|
+
|
|
51
|
+
pie-wot cache purge # clear the local API response cache
|
|
52
|
+
|
|
53
|
+
pie-wot bake <script> # run a bundled build script (see below)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Vehicle commands accept `--app-id <id>` (overrides `WG_APP_ID`) and `--no-cache`.
|
|
57
|
+
|
|
58
|
+
### bake
|
|
59
|
+
|
|
60
|
+
Runs a bundled shell script that drives the full icon-bake pipeline. All arguments after the script name are forwarded to the script unchanged.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
pie-wot bake clear --src ./in/wot-2.3/ --out ./out/clear
|
|
64
|
+
pie-wot bake color --src ./in/wot-2.3/ --out ./out/color
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Available scripts:
|
|
68
|
+
|
|
69
|
+
| Name | Description |
|
|
70
|
+
|------|-------------|
|
|
71
|
+
| `clear` | PogS clear variant (no colour background) |
|
|
72
|
+
| `color` | PogS colour variant with DMG/FSR/VR/RLD labels |
|
|
73
|
+
|
|
74
|
+
## Development
|
|
75
|
+
|
|
76
|
+
### Running from source
|
|
77
|
+
|
|
78
|
+
No build step needed — `tsx` runs TypeScript directly:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
npm start -- <command>
|
|
82
|
+
# e.g.
|
|
83
|
+
npm start -- vehicle list
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### LOCAL_DEV
|
|
87
|
+
|
|
88
|
+
The bundled baker scripts (`scripts/`) detect whether the `pie-wot` global binary is available and use it by default. Set `LOCAL_DEV=true` in your `.env` (or environment) to force them to use `npm start` from the local clone instead:
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
LOCAL_DEV=true
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
This is useful when iterating on the CLI itself — changes to `src/` take effect immediately without a publish/reinstall cycle.
|
|
95
|
+
|
|
96
|
+
## How it works
|
|
97
|
+
|
|
98
|
+
API responses are cached locally (SHA-256 keyed, no TTL) so repeated runs don't hammer the Wargaming API. DDS encode/decode uses a trimmed BC1/BC3 codec derived from [photopea/UTEX.js](https://github.com/photopea/UTEX.js). Image compositing uses [sharp](https://sharp.pixelplumbing.com/).
|
|
99
|
+
|
|
100
|
+
## Credits
|
|
101
|
+
|
|
102
|
+
- Gradient data and assets for the PogS icon style ported from [WoT-PogsIconSet](https://github.com/pavelmaca/WoT-PogsIconSet) by [@pavelmaca](https://github.com/pavelmaca)
|
|
103
|
+
- DDS codec derived from [photopea/UTEX.js](https://github.com/photopea/UTEX.js) by the Photopea team
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
GL, HF
|
|
108
|
+
|
|
109
|
+
[](./LICENSE)
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0",
|
|
3
|
+
"height": 5,
|
|
4
|
+
"name": "pogs font3",
|
|
5
|
+
"glyphs": {
|
|
6
|
+
"0": [
|
|
7
|
+
"XXX",
|
|
8
|
+
"X X",
|
|
9
|
+
"X X",
|
|
10
|
+
"X X",
|
|
11
|
+
"XXX"
|
|
12
|
+
],
|
|
13
|
+
"1": [
|
|
14
|
+
"XX",
|
|
15
|
+
" X",
|
|
16
|
+
" X",
|
|
17
|
+
" X",
|
|
18
|
+
" X"
|
|
19
|
+
],
|
|
20
|
+
"2": [
|
|
21
|
+
"XXX",
|
|
22
|
+
" X",
|
|
23
|
+
"XXX",
|
|
24
|
+
"X",
|
|
25
|
+
"XXX"
|
|
26
|
+
],
|
|
27
|
+
"3": [
|
|
28
|
+
"XXX",
|
|
29
|
+
" X",
|
|
30
|
+
" XX",
|
|
31
|
+
" X",
|
|
32
|
+
"XXX"
|
|
33
|
+
],
|
|
34
|
+
"4": [
|
|
35
|
+
"X X",
|
|
36
|
+
"X X",
|
|
37
|
+
"XXX",
|
|
38
|
+
" X",
|
|
39
|
+
" X"
|
|
40
|
+
],
|
|
41
|
+
"5": [
|
|
42
|
+
"XXX",
|
|
43
|
+
"X",
|
|
44
|
+
"XXX",
|
|
45
|
+
" X",
|
|
46
|
+
"XXX"
|
|
47
|
+
],
|
|
48
|
+
"6": [
|
|
49
|
+
"XXX",
|
|
50
|
+
"X",
|
|
51
|
+
"XXX",
|
|
52
|
+
"X X",
|
|
53
|
+
"XXX"
|
|
54
|
+
],
|
|
55
|
+
"7": [
|
|
56
|
+
"XXX",
|
|
57
|
+
" X",
|
|
58
|
+
" X",
|
|
59
|
+
" X",
|
|
60
|
+
" X"
|
|
61
|
+
],
|
|
62
|
+
"8": [
|
|
63
|
+
"XXX",
|
|
64
|
+
"X X",
|
|
65
|
+
"XXX",
|
|
66
|
+
"X X",
|
|
67
|
+
"XXX"
|
|
68
|
+
],
|
|
69
|
+
"9": [
|
|
70
|
+
"XXX",
|
|
71
|
+
"X X",
|
|
72
|
+
"XXX",
|
|
73
|
+
" X",
|
|
74
|
+
"XXX"
|
|
75
|
+
],
|
|
76
|
+
"_": [],
|
|
77
|
+
"-": [
|
|
78
|
+
"",
|
|
79
|
+
"",
|
|
80
|
+
"XX"
|
|
81
|
+
],
|
|
82
|
+
".": [
|
|
83
|
+
"",
|
|
84
|
+
"",
|
|
85
|
+
"",
|
|
86
|
+
"",
|
|
87
|
+
"X"
|
|
88
|
+
],
|
|
89
|
+
" ": [],
|
|
90
|
+
" ": [],
|
|
91
|
+
"*": [
|
|
92
|
+
"",
|
|
93
|
+
"",
|
|
94
|
+
"X"
|
|
95
|
+
],
|
|
96
|
+
"·": [
|
|
97
|
+
"",
|
|
98
|
+
"",
|
|
99
|
+
"X"
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "1.0",
|
|
3
|
+
"height": 5,
|
|
4
|
+
"name": "pogs font4",
|
|
5
|
+
"glyphs": {
|
|
6
|
+
"0": [
|
|
7
|
+
"XXXX",
|
|
8
|
+
"X X",
|
|
9
|
+
"X X",
|
|
10
|
+
"X X",
|
|
11
|
+
"XXXX"
|
|
12
|
+
],
|
|
13
|
+
"1": [
|
|
14
|
+
"XX",
|
|
15
|
+
" X",
|
|
16
|
+
" X",
|
|
17
|
+
" X",
|
|
18
|
+
" X"
|
|
19
|
+
],
|
|
20
|
+
"2": [
|
|
21
|
+
"XXXX",
|
|
22
|
+
" X",
|
|
23
|
+
"XXXX",
|
|
24
|
+
"X",
|
|
25
|
+
"XXXX"
|
|
26
|
+
],
|
|
27
|
+
"3": [
|
|
28
|
+
"XXXX",
|
|
29
|
+
" X",
|
|
30
|
+
" XXX",
|
|
31
|
+
" X",
|
|
32
|
+
"XXXX"
|
|
33
|
+
],
|
|
34
|
+
"4": [
|
|
35
|
+
"X X",
|
|
36
|
+
"X X",
|
|
37
|
+
"XXXX",
|
|
38
|
+
" X",
|
|
39
|
+
" X"
|
|
40
|
+
],
|
|
41
|
+
"5": [
|
|
42
|
+
"XXXX",
|
|
43
|
+
"X",
|
|
44
|
+
"XXXX",
|
|
45
|
+
" X",
|
|
46
|
+
"XXXX"
|
|
47
|
+
],
|
|
48
|
+
"6": [
|
|
49
|
+
"XXX",
|
|
50
|
+
"X",
|
|
51
|
+
"XXXX",
|
|
52
|
+
"X X",
|
|
53
|
+
"XXXX"
|
|
54
|
+
],
|
|
55
|
+
"7": [
|
|
56
|
+
"XXXX",
|
|
57
|
+
" X",
|
|
58
|
+
" X",
|
|
59
|
+
" X",
|
|
60
|
+
" X"
|
|
61
|
+
],
|
|
62
|
+
"8": [
|
|
63
|
+
"XXXX",
|
|
64
|
+
"X X",
|
|
65
|
+
"XXXX",
|
|
66
|
+
"X X",
|
|
67
|
+
"XXXX"
|
|
68
|
+
],
|
|
69
|
+
"9": [
|
|
70
|
+
"XXXX",
|
|
71
|
+
"X X",
|
|
72
|
+
"XXXX",
|
|
73
|
+
" X",
|
|
74
|
+
" X"
|
|
75
|
+
],
|
|
76
|
+
"_": [],
|
|
77
|
+
"-": [
|
|
78
|
+
"",
|
|
79
|
+
"",
|
|
80
|
+
"XXX"
|
|
81
|
+
],
|
|
82
|
+
"–": [
|
|
83
|
+
"",
|
|
84
|
+
"",
|
|
85
|
+
"XXX"
|
|
86
|
+
],
|
|
87
|
+
".": [
|
|
88
|
+
"",
|
|
89
|
+
"",
|
|
90
|
+
"",
|
|
91
|
+
"",
|
|
92
|
+
"X"
|
|
93
|
+
],
|
|
94
|
+
" ": [" "],
|
|
95
|
+
" ": [" "],
|
|
96
|
+
"a": [
|
|
97
|
+
"XXXX",
|
|
98
|
+
"X X",
|
|
99
|
+
"XXXX",
|
|
100
|
+
"X X",
|
|
101
|
+
"X X"
|
|
102
|
+
],
|
|
103
|
+
"b": [
|
|
104
|
+
"XXXX",
|
|
105
|
+
"X X",
|
|
106
|
+
"XXXX",
|
|
107
|
+
"X X",
|
|
108
|
+
"XXXX"
|
|
109
|
+
],
|
|
110
|
+
"c": [
|
|
111
|
+
"XXXX",
|
|
112
|
+
"X",
|
|
113
|
+
"X",
|
|
114
|
+
"X",
|
|
115
|
+
"XXXX"
|
|
116
|
+
],
|
|
117
|
+
"d": [
|
|
118
|
+
"XXX",
|
|
119
|
+
"X X",
|
|
120
|
+
"X X",
|
|
121
|
+
"X X",
|
|
122
|
+
"XXX"
|
|
123
|
+
],
|
|
124
|
+
"e": [
|
|
125
|
+
"XXXX",
|
|
126
|
+
"X",
|
|
127
|
+
"XXX",
|
|
128
|
+
"X",
|
|
129
|
+
"XXXX"
|
|
130
|
+
],
|
|
131
|
+
"f": [
|
|
132
|
+
"XXXX",
|
|
133
|
+
"X",
|
|
134
|
+
"XXX",
|
|
135
|
+
"X",
|
|
136
|
+
"X"
|
|
137
|
+
],
|
|
138
|
+
"g": [
|
|
139
|
+
"XXXX",
|
|
140
|
+
"X",
|
|
141
|
+
"X XX",
|
|
142
|
+
"X X",
|
|
143
|
+
"XXXX"
|
|
144
|
+
],
|
|
145
|
+
"h": [
|
|
146
|
+
"X X",
|
|
147
|
+
"X X",
|
|
148
|
+
"XXXX",
|
|
149
|
+
"X X",
|
|
150
|
+
"X X"
|
|
151
|
+
],
|
|
152
|
+
"i": [
|
|
153
|
+
"X",
|
|
154
|
+
"X",
|
|
155
|
+
"X",
|
|
156
|
+
"X",
|
|
157
|
+
"X"
|
|
158
|
+
],
|
|
159
|
+
"j": [
|
|
160
|
+
" X",
|
|
161
|
+
" X",
|
|
162
|
+
" X",
|
|
163
|
+
"X X",
|
|
164
|
+
"XXXX"
|
|
165
|
+
],
|
|
166
|
+
"k": [
|
|
167
|
+
"X X",
|
|
168
|
+
"X X",
|
|
169
|
+
"XX",
|
|
170
|
+
"X X",
|
|
171
|
+
"X X"
|
|
172
|
+
],
|
|
173
|
+
"l": [
|
|
174
|
+
"X",
|
|
175
|
+
"X",
|
|
176
|
+
"X",
|
|
177
|
+
"X",
|
|
178
|
+
"XXXX"
|
|
179
|
+
],
|
|
180
|
+
"m": [
|
|
181
|
+
"XXXXX",
|
|
182
|
+
"X X X",
|
|
183
|
+
"X X X",
|
|
184
|
+
"X X X",
|
|
185
|
+
"X X X"
|
|
186
|
+
],
|
|
187
|
+
"n": [
|
|
188
|
+
"XXXX",
|
|
189
|
+
"X X",
|
|
190
|
+
"X X",
|
|
191
|
+
"X X",
|
|
192
|
+
"X X"
|
|
193
|
+
],
|
|
194
|
+
"o": [
|
|
195
|
+
"XXXX",
|
|
196
|
+
"X X",
|
|
197
|
+
"X X",
|
|
198
|
+
"X X",
|
|
199
|
+
"XXXX"
|
|
200
|
+
],
|
|
201
|
+
"p": [
|
|
202
|
+
"XXXX",
|
|
203
|
+
"X X",
|
|
204
|
+
"XXXX",
|
|
205
|
+
"X",
|
|
206
|
+
"X"
|
|
207
|
+
],
|
|
208
|
+
"q": [
|
|
209
|
+
"XXXXX",
|
|
210
|
+
"X X",
|
|
211
|
+
"X X",
|
|
212
|
+
"X X X",
|
|
213
|
+
"XXXXX",
|
|
214
|
+
" X"
|
|
215
|
+
],
|
|
216
|
+
"r": [
|
|
217
|
+
"XXXX",
|
|
218
|
+
"X X",
|
|
219
|
+
"XXXX",
|
|
220
|
+
"X X",
|
|
221
|
+
"X X"
|
|
222
|
+
],
|
|
223
|
+
"s": [
|
|
224
|
+
"XXXX",
|
|
225
|
+
"X",
|
|
226
|
+
"XXXX",
|
|
227
|
+
" X",
|
|
228
|
+
"XXXX"
|
|
229
|
+
],
|
|
230
|
+
"t": [
|
|
231
|
+
"XXXXX",
|
|
232
|
+
" X",
|
|
233
|
+
" X",
|
|
234
|
+
" X",
|
|
235
|
+
" X"
|
|
236
|
+
],
|
|
237
|
+
"u": [
|
|
238
|
+
"X X",
|
|
239
|
+
"X X",
|
|
240
|
+
"X X",
|
|
241
|
+
"X X",
|
|
242
|
+
"XXXX"
|
|
243
|
+
],
|
|
244
|
+
"v": [
|
|
245
|
+
"X X",
|
|
246
|
+
"X X",
|
|
247
|
+
"X X",
|
|
248
|
+
" X X",
|
|
249
|
+
" X"
|
|
250
|
+
],
|
|
251
|
+
"w": [
|
|
252
|
+
"X X X",
|
|
253
|
+
"X X X",
|
|
254
|
+
"X X X",
|
|
255
|
+
"X X X",
|
|
256
|
+
"XXXXX"
|
|
257
|
+
],
|
|
258
|
+
"x": [
|
|
259
|
+
"X X",
|
|
260
|
+
" X X",
|
|
261
|
+
" X",
|
|
262
|
+
" X X",
|
|
263
|
+
"X X"
|
|
264
|
+
],
|
|
265
|
+
"y": [
|
|
266
|
+
"X X",
|
|
267
|
+
" X X",
|
|
268
|
+
" X",
|
|
269
|
+
" X",
|
|
270
|
+
" X"
|
|
271
|
+
],
|
|
272
|
+
"z": [
|
|
273
|
+
"XXXXX",
|
|
274
|
+
" X",
|
|
275
|
+
" X",
|
|
276
|
+
" X",
|
|
277
|
+
"XXXXX"
|
|
278
|
+
],
|
|
279
|
+
"(": [
|
|
280
|
+
" X",
|
|
281
|
+
"X",
|
|
282
|
+
"X",
|
|
283
|
+
"X",
|
|
284
|
+
" X"
|
|
285
|
+
],
|
|
286
|
+
")": [
|
|
287
|
+
"X",
|
|
288
|
+
" X",
|
|
289
|
+
" X",
|
|
290
|
+
" X",
|
|
291
|
+
"X"
|
|
292
|
+
],
|
|
293
|
+
"ö": [
|
|
294
|
+
" X X",
|
|
295
|
+
"",
|
|
296
|
+
"XXXX",
|
|
297
|
+
"X X",
|
|
298
|
+
"XXXX"
|
|
299
|
+
],
|
|
300
|
+
"ä": [
|
|
301
|
+
"X XX",
|
|
302
|
+
" X",
|
|
303
|
+
"XXXX",
|
|
304
|
+
"X X",
|
|
305
|
+
"XXXX"
|
|
306
|
+
],
|
|
307
|
+
"т": [
|
|
308
|
+
"XXX",
|
|
309
|
+
" X",
|
|
310
|
+
" X",
|
|
311
|
+
" X",
|
|
312
|
+
" X"
|
|
313
|
+
],
|
|
314
|
+
"а": [
|
|
315
|
+
"XXXX",
|
|
316
|
+
"X X",
|
|
317
|
+
"XXXX",
|
|
318
|
+
"X X",
|
|
319
|
+
"X X"
|
|
320
|
+
],
|
|
321
|
+
"б": [
|
|
322
|
+
"XXX",
|
|
323
|
+
"X",
|
|
324
|
+
"XXXX",
|
|
325
|
+
"X X",
|
|
326
|
+
"XXXX"
|
|
327
|
+
],
|
|
328
|
+
"в": [
|
|
329
|
+
"XXX",
|
|
330
|
+
"X X",
|
|
331
|
+
"XXX",
|
|
332
|
+
"X X",
|
|
333
|
+
"XXX"
|
|
334
|
+
],
|
|
335
|
+
"д": [
|
|
336
|
+
" XX",
|
|
337
|
+
" X X",
|
|
338
|
+
" X X",
|
|
339
|
+
" X X",
|
|
340
|
+
"XXXXX"
|
|
341
|
+
],
|
|
342
|
+
"і": [
|
|
343
|
+
"X",
|
|
344
|
+
"",
|
|
345
|
+
"X",
|
|
346
|
+
"X",
|
|
347
|
+
"X"
|
|
348
|
+
],
|
|
349
|
+
"з": [
|
|
350
|
+
"XXXX",
|
|
351
|
+
" X",
|
|
352
|
+
" XX",
|
|
353
|
+
" X",
|
|
354
|
+
"XXXX"
|
|
355
|
+
],
|
|
356
|
+
"к": [
|
|
357
|
+
"X X",
|
|
358
|
+
"X X",
|
|
359
|
+
"XX",
|
|
360
|
+
"X X",
|
|
361
|
+
"X X"
|
|
362
|
+
],
|
|
363
|
+
"о": [
|
|
364
|
+
" X",
|
|
365
|
+
"X X",
|
|
366
|
+
"X X",
|
|
367
|
+
"X X",
|
|
368
|
+
" X"
|
|
369
|
+
],
|
|
370
|
+
"п": [
|
|
371
|
+
"XXX",
|
|
372
|
+
"X X",
|
|
373
|
+
"X X",
|
|
374
|
+
"X X",
|
|
375
|
+
"X X"
|
|
376
|
+
],
|
|
377
|
+
"р": [
|
|
378
|
+
"XXXX",
|
|
379
|
+
"X X",
|
|
380
|
+
"XXXX",
|
|
381
|
+
"X",
|
|
382
|
+
"X"
|
|
383
|
+
],
|
|
384
|
+
"/": [
|
|
385
|
+
" X",
|
|
386
|
+
" X",
|
|
387
|
+
" X",
|
|
388
|
+
" X",
|
|
389
|
+
"X"
|
|
390
|
+
],
|
|
391
|
+
"*": [
|
|
392
|
+
"",
|
|
393
|
+
"",
|
|
394
|
+
"X"
|
|
395
|
+
],
|
|
396
|
+
"×": [
|
|
397
|
+
"",
|
|
398
|
+
"X X",
|
|
399
|
+
" X",
|
|
400
|
+
"X X"
|
|
401
|
+
],
|
|
402
|
+
"·": [
|
|
403
|
+
"",
|
|
404
|
+
"",
|
|
405
|
+
"X"
|
|
406
|
+
],
|
|
407
|
+
"š": [
|
|
408
|
+
"XXXX",
|
|
409
|
+
"X",
|
|
410
|
+
"XXXX",
|
|
411
|
+
" X",
|
|
412
|
+
"XXXX"
|
|
413
|
+
],
|
|
414
|
+
"á": [
|
|
415
|
+
"XXXX",
|
|
416
|
+
"X X",
|
|
417
|
+
"XXXX",
|
|
418
|
+
"X X",
|
|
419
|
+
"X X"
|
|
420
|
+
],
|
|
421
|
+
"ô": [
|
|
422
|
+
" XX",
|
|
423
|
+
"",
|
|
424
|
+
"XXXX",
|
|
425
|
+
"X X",
|
|
426
|
+
"XXXX"
|
|
427
|
+
],
|
|
428
|
+
"ü": [
|
|
429
|
+
" XX",
|
|
430
|
+
"",
|
|
431
|
+
"X X",
|
|
432
|
+
"X X",
|
|
433
|
+
" XXX"
|
|
434
|
+
]
|
|
435
|
+
}
|
|
436
|
+
}
|