@idosgames/mcp 0.1.37 → 0.1.38
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/README.md +6 -0
- package/dist/cli.js +2204 -27
- package/package.json +4 -1
- package/registry/host.json +3 -3
- package/registry/index.json +310 -156
- package/registry/modules/ai.json +7 -7
- package/registry/modules/board-game.json +14 -14
- package/registry/modules/boosts.json +3 -3
- package/registry/modules/character.json +32 -15
- package/registry/modules/chat.json +3 -3
- package/registry/modules/collections.json +7 -7
- package/registry/modules/coop-events.json +7 -7
- package/registry/modules/craft.json +3 -3
- package/registry/modules/deals.json +7 -7
- package/registry/modules/events.json +8 -8
- package/registry/modules/friends.json +9 -9
- package/registry/modules/hero-run.json +498 -0
- package/registry/modules/idle-rpg.json +69 -17
- package/registry/modules/inventory.json +3 -3
- package/registry/modules/invite.json +7 -7
- package/registry/modules/leaderboard.json +10 -10
- package/registry/modules/lootboxes.json +7 -7
- package/registry/modules/mailbox.json +8 -8
- package/registry/modules/marketplace.json +8 -8
- package/registry/modules/mini-game.json +8 -8
- package/registry/modules/multiplayer.json +7 -7
- package/registry/modules/premium.json +7 -7
- package/registry/modules/profile.json +7 -7
- package/registry/modules/pvp.json +7 -7
- package/registry/modules/quests.json +8 -8
- package/registry/modules/rewards.json +8 -8
- package/registry/modules/season.json +7 -7
- package/registry/modules/store.json +7 -7
- package/registry/modules/tutorials.json +7 -7
- package/registry/modules/video-studio.json +228 -0
- package/registry/modules/voxelcraft.json +42 -125
- package/registry/modules/workshop.json +3 -3
- package/registry/skills/hero-run.json +6 -0
- package/registry/skills/idosgames-module-contract.json +2 -2
- package/registry/skills/idosgames-project-structure.json +1 -1
- package/registry/skills/idosgames-ui-kit.json +1 -1
- package/registry/skills/video-studio.json +6 -0
- package/registry/video.json +9800 -0
package/dist/cli.js
CHANGED
|
@@ -41,11 +41,2117 @@ var getSkill = (name) => readJson(`skills/${name}.json`);
|
|
|
41
41
|
var getHost = () => readJson("host.json");
|
|
42
42
|
function moduleExportName(id) {
|
|
43
43
|
const parts = id.split(/[-_]/).filter(Boolean);
|
|
44
|
-
return parts.map((
|
|
44
|
+
return parts.map((p5, i5) => i5 === 0 ? p5 : p5[0].toUpperCase() + p5.slice(1)).join("") + "Module";
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
//
|
|
48
|
-
var
|
|
47
|
+
// ../characters/dist/chunk-64D567CX.js
|
|
48
|
+
var e = ["neutral", "happy", "sad", "angry", "surprised", "scared", "tired", "hurt"];
|
|
49
|
+
function n(t5) {
|
|
50
|
+
return typeof t5 == "string" && e.includes(t5);
|
|
51
|
+
}
|
|
52
|
+
var s = ["idle", "talk", "walk", "run", "surprised", "point", "sit", "wave", "jump", "fall", "dance"];
|
|
53
|
+
var i = ["voxel-warm", "flat-cartoon", "chibi-2d", "low-poly-3d", "photo-sticker"];
|
|
54
|
+
|
|
55
|
+
// ../characters/dist/chunk-WKHHFTK2.js
|
|
56
|
+
var g = ["ru", "kk", "uk", "be", "ky", "uz", "tg"];
|
|
57
|
+
var d = "idos:language";
|
|
58
|
+
var p = "idos:language";
|
|
59
|
+
function k() {
|
|
60
|
+
try {
|
|
61
|
+
let e5 = globalThis.localStorage?.getItem(d);
|
|
62
|
+
if (e5 === "en" || e5 === "ru") return e5;
|
|
63
|
+
} catch {
|
|
64
|
+
}
|
|
65
|
+
if (typeof navigator > "u") return "en";
|
|
66
|
+
let t5 = (navigator.language || "").toLowerCase();
|
|
67
|
+
return g.some((e5) => t5.startsWith(e5)) ? "ru" : "en";
|
|
68
|
+
}
|
|
69
|
+
var a = k();
|
|
70
|
+
typeof window < "u" && window.addEventListener(p, (t5) => {
|
|
71
|
+
let e5 = t5.detail;
|
|
72
|
+
(e5 === "en" || e5 === "ru") && (a = e5);
|
|
73
|
+
});
|
|
74
|
+
function u(t5, e5) {
|
|
75
|
+
let n6 = typeof t5 == "string" ? t5 : t5[a] ?? t5.en;
|
|
76
|
+
if (e5) for (let [o6, i5] of Object.entries(e5)) n6 = n6.split(`{${o6}}`).join(String(i5));
|
|
77
|
+
return n6;
|
|
78
|
+
}
|
|
79
|
+
function h(t5) {
|
|
80
|
+
let e5 = t5.trim(), n6 = /```(?:json)?\s*([\s\S]*?)(?:```|$)/i.exec(e5);
|
|
81
|
+
n6 && n6[1] !== void 0 && (e5 = n6[1]);
|
|
82
|
+
let o6 = e5.indexOf("{");
|
|
83
|
+
if (o6 < 0) return { ok: false, error: u({ en: "the answer has no JSON object", ru: "\u0432 \u043E\u0442\u0432\u0435\u0442\u0435 \u043D\u0435\u0442 JSON-\u043E\u0431\u044A\u0435\u043A\u0442\u0430" }), truncated: false };
|
|
84
|
+
let i5 = 0, f = false, c = false, l = -1;
|
|
85
|
+
for (let s2 = o6; s2 < e5.length; s2++) {
|
|
86
|
+
let r7 = e5[s2];
|
|
87
|
+
if (f) {
|
|
88
|
+
c ? c = false : r7 === "\\" ? c = true : r7 === '"' && (f = false);
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
if (r7 === '"') f = true;
|
|
92
|
+
else if (r7 === "{" || r7 === "[") i5++;
|
|
93
|
+
else if ((r7 === "}" || r7 === "]") && (i5--, i5 === 0)) {
|
|
94
|
+
l = s2;
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (l < 0) return { ok: false, error: u({ en: "the JSON is cut off", ru: "JSON \u043E\u0431\u043E\u0440\u0432\u0430\u043D" }), truncated: true };
|
|
99
|
+
try {
|
|
100
|
+
return { ok: true, value: JSON.parse(e5.slice(o6, l + 1)) };
|
|
101
|
+
} catch {
|
|
102
|
+
return { ok: false, error: u({ en: "invalid JSON", ru: "\u043D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u044B\u0439 JSON" }), truncated: false };
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// ../characters/dist/index.js
|
|
107
|
+
var k2 = /* @__PURE__ */ new Set([..."a\u0430\u044F\xE4"]);
|
|
108
|
+
var E = /* @__PURE__ */ new Set([..."eiy\u044D\u0435\u0438\u044B\u0439\u0451\xE9\xE8\xEA"]);
|
|
109
|
+
var W = /* @__PURE__ */ new Set([..."ou\u043E\u0443\u044Ew\xF6\xFC"]);
|
|
110
|
+
var w = /* @__PURE__ */ new Set([..."mbp\u043C\u0431\u043F"]);
|
|
111
|
+
var O = /* @__PURE__ */ new Set([..."fv\u0444\u0432"]);
|
|
112
|
+
function x(t5) {
|
|
113
|
+
let e5 = t5.toLowerCase();
|
|
114
|
+
return k2.has(e5) ? "A" : E.has(e5) ? "E" : W.has(e5) ? "O" : w.has(e5) ? "MBP" : O.has(e5) ? "FV" : null;
|
|
115
|
+
}
|
|
116
|
+
var g2 = (t5) => new RegExp("\\p{L}|\\p{N}", "u").test(t5);
|
|
117
|
+
var A = (t5) => {
|
|
118
|
+
let e5 = x(t5);
|
|
119
|
+
return e5 === "A" || e5 === "E" || e5 === "O";
|
|
120
|
+
};
|
|
121
|
+
function m(t5) {
|
|
122
|
+
return g2(t5) ? A(t5) ? 1 : 0.6 : /[.!?…]/.test(t5) ? 3 : /[,;:—–-]/.test(t5) ? 1.6 : /\s/.test(t5) ? 0.35 : 0;
|
|
123
|
+
}
|
|
124
|
+
function j(t5, e5, r7) {
|
|
125
|
+
let o6 = Math.max(0, e5), f = t5.match(/\S+/g) ?? [];
|
|
126
|
+
if (f.length === 0 || o6 === 0) return { words: [], visemes: [{ t: 0, v: "rest" }] };
|
|
127
|
+
let c = r7 && r7.length === f.length ? r7.map((n6) => ({ ...n6 })) : K(t5, o6), s2 = [{ t: 0, v: "rest" }];
|
|
128
|
+
for (let n6 of c) {
|
|
129
|
+
let i5 = [...n6.text].filter(g2), p5 = i5.reduce((l, u5) => l + m(u5), 0) || 1, d5 = n6.start;
|
|
130
|
+
for (let l of i5) {
|
|
131
|
+
let u5 = x(l) ?? "E";
|
|
132
|
+
s2[s2.length - 1].v !== u5 && s2.push({ t: a2(d5), v: u5 }), d5 += (n6.end - n6.start) * m(l) / p5;
|
|
133
|
+
}
|
|
134
|
+
s2.push({ t: a2(n6.end), v: "rest" });
|
|
135
|
+
}
|
|
136
|
+
return { words: c, visemes: M(s2) };
|
|
137
|
+
}
|
|
138
|
+
function K(t5, e5) {
|
|
139
|
+
let r7 = [...t5], o6 = r7.reduce((n6, i5) => n6 + m(i5), 0) || 1, f = [], c = 0, s2 = null;
|
|
140
|
+
for (let n6 of r7) {
|
|
141
|
+
let i5 = e5 * m(n6) / o6;
|
|
142
|
+
/\s/.test(n6) ? (s2 && f.push({ text: s2.text, start: a2(s2.start), end: a2(c) }), s2 = null) : s2 ? s2.text += n6 : s2 = { text: n6, start: c }, c += i5;
|
|
143
|
+
}
|
|
144
|
+
return s2 && f.push({ text: s2.text, start: a2(s2.start), end: a2(c) }), f.map((n6) => {
|
|
145
|
+
let i5 = /[^\p{L}\p{N}]+$/u.exec(n6.text)?.[0].length ?? 0;
|
|
146
|
+
if (i5 === 0) return n6;
|
|
147
|
+
let p5 = [...n6.text], d5 = p5.reduce((u5, h7) => u5 + m(h7), 0) || 1, l = p5.slice(p5.length - i5).reduce((u5, h7) => u5 + m(h7), 0);
|
|
148
|
+
return { ...n6, end: a2(n6.end - (n6.end - n6.start) * l / d5) };
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
var a2 = (t5) => Math.round(t5 * 1e3) / 1e3;
|
|
152
|
+
function M(t5) {
|
|
153
|
+
let e5 = [];
|
|
154
|
+
for (let r7 of t5) {
|
|
155
|
+
let o6 = e5[e5.length - 1];
|
|
156
|
+
o6 && o6.t === r7.t ? e5[e5.length - 1] = r7 : (!o6 || o6.v !== r7.v) && e5.push(r7);
|
|
157
|
+
}
|
|
158
|
+
return e5;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// ../timeline/dist/chunk-SM2C3NYH.js
|
|
162
|
+
var H = { "karaoke-bold": { title: "\u041A\u0430\u0440\u0430\u043E\u043A\u0435", size: 0.052, font: "Rubik Variable, system-ui, sans-serif", weight: 800, color: "#ffffff", highlight: "#ffd60a", stroke: 0.16, strokeColor: "#000000", upper: true, pop: 1.12, maxWords: 3, maxChars: 18 }, clean: { title: "\u0427\u0438\u0441\u0442\u044B\u0435", size: 0.04, font: "Rubik Variable, system-ui, sans-serif", weight: 600, color: "#ffffff", highlight: "#ffffff", stroke: 0, strokeColor: "#000000", box: "rgba(0,0,0,0.55)", upper: false, maxWords: 7, maxChars: 34 }, pop: { title: "\u041F\u043E\u043F", size: 0.058, font: "Rubik Variable, system-ui, sans-serif", weight: 900, color: "#ffffff", highlight: "#4cc9f0", stroke: 0.18, strokeColor: "#1b1b3a", upper: true, pop: 1.25, maxWords: 2, maxChars: 14 }, typewriter: { title: "\u041F\u0435\u0447\u0430\u0442\u043D\u0430\u044F \u043C\u0430\u0448\u0438\u043D\u043A\u0430", size: 0.045, font: "ui-monospace, Menlo, monospace", weight: 700, color: "#ffffff", highlight: "#ffffff", stroke: 0.12, strokeColor: "#000000", upper: false, reveal: true, maxWords: 6, maxChars: 30 }, comic: { title: "\u041A\u043E\u043C\u0438\u043A\u0441", size: 0.05, font: "Rubik Variable, system-ui, sans-serif", weight: 800, color: "#1b1b1b", highlight: "#e63946", stroke: 0, strokeColor: "#000000", box: "#fff8e1", upper: true, pop: 1.08, maxWords: 4, maxChars: 22 } };
|
|
163
|
+
function oe(e5) {
|
|
164
|
+
return e5 === "none" || typeof e5 == "string" && e5 in H;
|
|
165
|
+
}
|
|
166
|
+
var $ = 0.4;
|
|
167
|
+
function ae(e5, t5, r7, o6) {
|
|
168
|
+
let n6 = [], a5 = [], i5 = 0, f = () => {
|
|
169
|
+
a5.length && (n6.push({ start: a5[0].start, end: a5[a5.length - 1].end + 0.12, words: a5, who: r7 }), a5 = [], i5 = 0);
|
|
170
|
+
};
|
|
171
|
+
for (let s2 of e5) {
|
|
172
|
+
let u5 = { text: s2.text, start: s2.start + t5, end: s2.end + t5 };
|
|
173
|
+
(a5.length >= o6.maxWords || a5.length > 0 && i5 + s2.text.length + 1 > o6.maxChars) && f(), a5.push(u5), i5 += s2.text.length + 1, /[.!?…]$/.test(s2.text) && f();
|
|
174
|
+
}
|
|
175
|
+
f();
|
|
176
|
+
for (let s2 = 0; s2 + 1 < n6.length; s2++) {
|
|
177
|
+
let u5 = n6[s2 + 1].start;
|
|
178
|
+
n6[s2].end = u5 - n6[s2].end < $ ? u5 : Math.min(n6[s2].end, u5);
|
|
179
|
+
}
|
|
180
|
+
return n6;
|
|
181
|
+
}
|
|
182
|
+
var v = { sparks: { title: "\u0418\u0441\u043A\u0440\u044B", count: 40, emit: "burst", life: [0.3, 0.7], speed: [2, 5], angle: Math.PI / 2, spread: Math.PI, gravity: -6, drag: 2, size: [0.03, 0.06], colors: ["#ffe27a", "#ffb03a", "#fff6c8"], shape: "dot" }, smoke: { title: "\u0414\u044B\u043C", count: 10, emit: "stream", life: [1.2, 2], speed: [0.2, 0.5], angle: Math.PI / 2, spread: 0.6, gravity: 0.4, drag: 0.5, size: [0.25, 0.5], colors: ["#9aa0a6", "#c5c9cc"], shape: "dot", alpha: 0.5, radius: 0.1 }, confetti: { title: "\u041A\u043E\u043D\u0444\u0435\u0442\u0442\u0438", count: 80, emit: "burst", life: [1.5, 2.5], speed: [2.5, 5], angle: Math.PI / 2, spread: 1.2, gravity: -3, drag: 1.2, size: [0.05, 0.09], colors: ["#ff5d73", "#ffd166", "#06d6a0", "#118ab2", "#b388eb"], shape: "square", spin: 8 }, trail: { title: "\u0421\u043B\u0435\u0434", count: 30, emit: "stream", life: [0.4, 0.8], speed: [0, 0.2], angle: 0, spread: Math.PI, gravity: 0, drag: 1, size: [0.06, 0.12], colors: ["#ffffff", "#ffe8a3"], shape: "dot", alpha: 0.7 }, hearts: { title: "\u0421\u0435\u0440\u0434\u0435\u0447\u043A\u0438", count: 6, emit: "stream", life: [1.2, 1.8], speed: [0.4, 0.8], angle: Math.PI / 2, spread: 0.7, gravity: 0.3, drag: 0.4, size: [0.12, 0.18], colors: ["#ff4d6d", "#ff8fa3"], shape: "heart", radius: 0.15 }, tears: { title: "\u0421\u043B\u0451\u0437\u044B", count: 8, emit: "stream", life: [0.5, 0.8], speed: [0.6, 1.2], angle: Math.PI / 2, spread: 2.4, gravity: -9.8, drag: 0, size: [0.04, 0.06], colors: ["#7cc6ff"], shape: "drop" }, sweat: { title: "\u041F\u043E\u0442", count: 4, emit: "burst", life: [0.6, 0.9], speed: [0.6, 1], angle: Math.PI * 0.6, spread: 0.5, gravity: -6, drag: 0, size: [0.05, 0.07], colors: ["#9ad8ff"], shape: "drop" }, stars: { title: "\u0417\u0432\u0451\u0437\u0434\u043E\u0447\u043A\u0438", count: 6, emit: "burst", life: [0.8, 1.2], speed: [0.5, 1], angle: Math.PI / 2, spread: Math.PI, gravity: 0, drag: 1.5, size: [0.1, 0.16], colors: ["#ffe066", "#fff3b0"], shape: "star", spin: 4 }, dust: { title: "\u041F\u044B\u043B\u044C", count: 20, emit: "burst", life: [0.6, 1.1], speed: [0.6, 1.6], angle: Math.PI / 2, spread: 2.6, gravity: 0.2, drag: 2.5, size: [0.08, 0.18], colors: ["#d9c9a8", "#c2b08c"], shape: "dot", alpha: 0.6 }, fire: { title: "\u041E\u0433\u043E\u043D\u044C", count: 40, emit: "stream", life: [0.4, 0.8], speed: [0.6, 1.4], angle: Math.PI / 2, spread: 0.4, gravity: 1.2, drag: 1, size: [0.08, 0.16], colors: ["#ff5a1f", "#ffb627", "#ffe66d"], shape: "dot", radius: 0.12 }, snow: { title: "\u0421\u043D\u0435\u0433", count: 30, emit: "stream", life: [3, 4], speed: [0.1, 0.3], angle: -Math.PI / 2, spread: 0.6, gravity: -0.3, drag: 0.2, size: [0.03, 0.06], colors: ["#ffffff"], shape: "dot", radius: 3 }, rain: { title: "\u0414\u043E\u0436\u0434\u044C", count: 80, emit: "stream", life: [0.6, 0.9], speed: [6, 8], angle: -Math.PI / 2 - 0.15, spread: 0.05, gravity: -4, drag: 0, size: [0.02, 0.03], colors: ["#a9c7e8"], shape: "drop", radius: 3, alpha: 0.7 }, bubbles: { title: "\u041F\u0443\u0437\u044B\u0440\u0438", count: 8, emit: "stream", life: [1.5, 2.5], speed: [0.3, 0.6], angle: Math.PI / 2, spread: 0.6, gravity: 0.2, drag: 0.3, size: [0.05, 0.12], colors: ["#bfe9ff"], shape: "dot", alpha: 0.6, radius: 0.2 }, anger: { title: "\u0417\u043B\u043E\u0441\u0442\u044C", count: 3, emit: "burst", life: [0.7, 0.9], speed: [0.3, 0.5], angle: Math.PI * 0.4, spread: 0.6, gravity: 0, drag: 2, size: [0.18, 0.22], colors: ["#e63946"], shape: "glyph", glyph: "\u{1F4A2}" }, question: { title: "\u0412\u043E\u043F\u0440\u043E\u0441", count: 1, emit: "burst", life: [1.2, 1.2], speed: [0.3, 0.3], angle: Math.PI / 2, spread: 0, gravity: 0, drag: 2, size: [0.3, 0.3], colors: ["#ffffff"], shape: "glyph", glyph: "?" }, exclaim: { title: "\u0412\u043E\u0441\u043A\u043B\u0438\u0446\u0430\u043D\u0438\u0435", count: 1, emit: "burst", life: [1, 1], speed: [0.4, 0.4], angle: Math.PI / 2, spread: 0, gravity: 0, drag: 2, size: [0.32, 0.32], colors: ["#ffd60a"], shape: "glyph", glyph: "!" }, zzz: { title: "\u0421\u043E\u043D", count: 3, emit: "stream", life: [1.4, 1.6], speed: [0.25, 0.35], angle: Math.PI * 0.4, spread: 0.2, gravity: 0, drag: 0, size: [0.16, 0.22], colors: ["#cfd8ff"], shape: "glyph", glyph: "z" }, notes: { title: "\u041D\u043E\u0442\u044B", count: 4, emit: "stream", life: [1.2, 1.6], speed: [0.4, 0.6], angle: Math.PI / 2, spread: 0.9, gravity: 0.1, drag: 0.4, size: [0.16, 0.2], colors: ["#ffffff", "#ffe066"], shape: "glyph", glyph: "\u266A" }, coins: { title: "\u041C\u043E\u043D\u0435\u0442\u044B", count: 20, emit: "burst", life: [0.9, 1.3], speed: [2, 4], angle: Math.PI / 2, spread: 1.3, gravity: -9.8, drag: 0.3, size: [0.08, 0.1], colors: ["#ffd23f", "#f4a259"], shape: "dot", spin: 10 }, magic: { title: "\u041C\u0430\u0433\u0438\u044F", count: 30, emit: "burst", life: [0.6, 1.2], speed: [0.5, 2], angle: Math.PI / 2, spread: Math.PI, gravity: 0.5, drag: 1.5, size: [0.04, 0.09], colors: ["#c77dff", "#e0aaff", "#ffffff"], shape: "star", spin: 6 } };
|
|
183
|
+
|
|
184
|
+
// ../characters/dist/voxel/index.js
|
|
185
|
+
var ct = { id: "blob", label: "\u041A\u0430\u043F\u043B\u044F", hint: "slimes, ghosts, spirits, living objects \u2014 one body with a face, moves by hopping", bones: [{ name: "body", role: "body", parent: null, pivot: [0, 0, 0] }], sockets: [{ name: "headTop", bone: "body", at: [0, 12, 0] }, { name: "face", bone: "body", at: [0, 7, -6] }, { name: "back", bone: "body", at: [0, 6, 6] }, { name: "waist", bone: "body", at: [0, 3, 0] }, { name: "shoulders", bone: "body", at: [0, 10, 0] }, { name: "handR", bone: "body", at: [6, 5, -2] }, { name: "handL", bone: "body", at: [-6, 5, -2] }], hitbox: { w: 0.8, h: 0.8 }, eye: 8, height: { min: 4, max: 40 }, faceBone: "body", defaultParts: [{ bone: "body", size: [12, 12, 12], pos: [0, 6, 0], color: "t" }] };
|
|
186
|
+
var ht = { id: "flyer", label: "\u041A\u0440\u044B\u043B\u0430\u0442\u044B\u0439", hint: "birds, bats, dragons, fairies, insects \u2014 creatures whose wings matter", bones: [{ name: "body", role: "body", parent: null, pivot: [0, 6, 0] }, { name: "head", role: "head", parent: "body", pivot: [0, 11, -3] }, { name: "wingL", role: "wingL", parent: "body", pivot: [-3, 10, 0] }, { name: "wingR", role: "wingR", parent: "body", pivot: [3, 10, 0] }, { name: "legL", role: "legL", parent: null, pivot: [-1.5, 4, 0] }, { name: "legR", role: "legR", parent: null, pivot: [1.5, 4, 0] }, { name: "tail", role: "tail", parent: "body", pivot: [0, 8, 4] }], sockets: [{ name: "headTop", bone: "head", at: [0, 16, -4] }, { name: "face", bone: "head", at: [0, 13, -7] }, { name: "back", bone: "body", at: [0, 11, 1] }, { name: "waist", bone: "body", at: [0, 6, 0] }, { name: "shoulders", bone: "body", at: [0, 10, -2] }, { name: "handR", bone: "legR", at: [1.5, 0, -1] }, { name: "handL", bone: "legL", at: [-1.5, 0, -1] }], hitbox: { w: 0.6, h: 0.9 }, eye: 14, height: { min: 6, max: 40 }, faceBone: "head", defaultParts: [{ bone: "body", size: [6, 6, 8], pos: [0, 8, 0], color: "t" }, { bone: "head", size: [5, 5, 5], pos: [0, 13, -4], color: "s" }, { bone: "wingL", size: [8, 1, 6], pos: [-7, 10, 0], color: "t" }, { bone: "wingR", size: [8, 1, 6], pos: [7, 10, 0], color: "t" }, { bone: "legL", size: [1, 4, 1], pos: [-1.5, 2, 0], color: "p" }, { bone: "legR", size: [1, 4, 1], pos: [1.5, 2, 0], color: "p" }, { bone: "tail", size: [4, 1, 4], pos: [0, 8, 6], color: "t" }] };
|
|
187
|
+
var pt = { id: "humanoid", label: "\u0427\u0435\u043B\u043E\u0432\u0435\u043A", hint: "people, humanoids, robots, elves, zombies \u2014 anything on two legs with two arms", bones: [{ name: "body", role: "body", parent: null, pivot: [0, 12, 0] }, { name: "head", role: "head", parent: "body", pivot: [0, 24, 0] }, { name: "armL", role: "armL", parent: "body", pivot: [-6, 22, 0] }, { name: "armR", role: "armR", parent: "body", pivot: [6, 22, 0] }, { name: "legL", role: "legL", parent: null, pivot: [-2, 12, 0] }, { name: "legR", role: "legR", parent: null, pivot: [2, 12, 0] }], sockets: [{ name: "handR", bone: "armR", at: [6, 11, -1] }, { name: "handL", bone: "armL", at: [-6, 11, -1] }, { name: "headTop", bone: "head", at: [0, 32, 0] }, { name: "face", bone: "head", at: [0, 28, -4] }, { name: "back", bone: "body", at: [0, 18, 2] }, { name: "waist", bone: "body", at: [0, 12, 0] }, { name: "shoulders", bone: "body", at: [0, 24, 0] }], hitbox: { w: 0.6, h: 1.8 }, eye: 27, height: { min: 16, max: 48 }, faceBone: "head", defaultParts: [{ bone: "head", size: [8, 8, 8], pos: [0, 28, 0], color: "s" }, { bone: "body", size: [8, 12, 4], pos: [0, 18, 0], color: "t" }, { bone: "armL", size: [4, 12, 4], pos: [-6, 18, 0], color: "s" }, { bone: "armR", size: [4, 12, 4], pos: [6, 18, 0], color: "s" }, { bone: "legL", size: [4, 12, 4], pos: [-2, 6, 0], color: "p" }, { bone: "legR", size: [4, 12, 4], pos: [2, 6, 0], color: "p" }] };
|
|
188
|
+
var mt = { id: "quadruped", label: "\u0427\u0435\u0442\u0432\u0435\u0440\u043E\u043D\u043E\u0433\u043E\u0435", hint: "dogs, cats, horses, wolves, bears, lizards \u2014 any animal on four legs", bones: [{ name: "body", role: "body", parent: null, pivot: [0, 12, 0] }, { name: "head", role: "head", parent: "body", pivot: [0, 14, -8] }, { name: "legFL", role: "legFL", parent: null, pivot: [-3, 8, -6] }, { name: "legFR", role: "legFR", parent: null, pivot: [3, 8, -6] }, { name: "legBL", role: "legBL", parent: null, pivot: [-3, 8, 6] }, { name: "legBR", role: "legBR", parent: null, pivot: [3, 8, 6] }, { name: "tail", role: "tail", parent: "body", pivot: [0, 14, 8] }], sockets: [{ name: "headTop", bone: "head", at: [0, 20, -12] }, { name: "face", bone: "head", at: [0, 16, -16] }, { name: "back", bone: "body", at: [0, 16, 0] }, { name: "waist", bone: "body", at: [0, 12, 4] }, { name: "shoulders", bone: "body", at: [0, 16, -6] }, { name: "handR", bone: "head", at: [2, 13, -16] }, { name: "handL", bone: "head", at: [-2, 13, -16] }], hitbox: { w: 0.9, h: 1 }, eye: 17, height: { min: 8, max: 40 }, faceBone: "head", defaultParts: [{ bone: "body", size: [8, 8, 16], pos: [0, 12, 0], color: "t" }, { bone: "head", size: [8, 8, 8], pos: [0, 16, -12], color: "s" }, { bone: "legFL", size: [3, 8, 3], pos: [-3, 4, -6], color: "p" }, { bone: "legFR", size: [3, 8, 3], pos: [3, 4, -6], color: "p" }, { bone: "legBL", size: [3, 8, 3], pos: [-3, 4, 6], color: "p" }, { bone: "legBR", size: [3, 8, 3], pos: [3, 4, 6], color: "p" }, { bone: "tail", size: [2, 2, 8], pos: [0, 14, 12], color: "t" }] };
|
|
189
|
+
var ke = ["tail", "wingL", "wingR", "ear", "hair", "cape", "antenna", "static"];
|
|
190
|
+
var be = ["humanoid", "quadruped", "flyer", "blob"];
|
|
191
|
+
var q = { humanoid: pt, quadruped: mt, flyer: ht, blob: ct };
|
|
192
|
+
var dt = 1;
|
|
193
|
+
var De = ["front", "back", "left", "right", "top", "bottom"];
|
|
194
|
+
var je = ["neutral", "blink", "happy", "sad", "angry", "surprised", "scared", "tired", "hurt", "talk"];
|
|
195
|
+
var Ge = ["normal", "bouncy", "heavy", "sneaky", "robotic"];
|
|
196
|
+
var Ve = ["calm", "fidgety", "proud"];
|
|
197
|
+
var gt = { parts: 64, bones: 16, palette: 32, textures: 48, texturePixels: 32768, textureSide: 32, partSide: 32, coord: 64 };
|
|
198
|
+
var pe = { noise: 0.5, outline: 0.4, shade: 0.25, density: 2 };
|
|
199
|
+
var j2 = (t5) => typeof t5 == "object" && t5 !== null && !Array.isArray(t5);
|
|
200
|
+
var ge = (t5) => Array.isArray(t5) ? t5 : [];
|
|
201
|
+
function W2(t5, e5, r7, o6) {
|
|
202
|
+
let s2 = typeof t5 == "number" ? t5 : typeof t5 == "string" ? Number(t5) : NaN;
|
|
203
|
+
return Number.isFinite(s2) ? Math.min(o6, Math.max(r7, s2)) : e5;
|
|
204
|
+
}
|
|
205
|
+
function Ne(t5, e5, r7) {
|
|
206
|
+
if (typeof t5 != "string") return r7;
|
|
207
|
+
let o6 = t5.trim();
|
|
208
|
+
if (e5.includes(o6)) return o6;
|
|
209
|
+
let s2 = o6.toLowerCase().replace(/[\s-]+/g, "_");
|
|
210
|
+
return e5.find((n6) => n6.toLowerCase() === s2) ?? r7;
|
|
211
|
+
}
|
|
212
|
+
function te(t5, e5, r7) {
|
|
213
|
+
return typeof t5 == "string" ? t5.trim().slice(0, r7) : e5;
|
|
214
|
+
}
|
|
215
|
+
function Re(t5, e5, r7 = null) {
|
|
216
|
+
if (!Array.isArray(t5) || t5.length < 3) return r7;
|
|
217
|
+
let o6 = t5.slice(0, 3).map((s2) => W2(s2, NaN, -e5, e5));
|
|
218
|
+
return o6.every(Number.isFinite) ? o6 : r7;
|
|
219
|
+
}
|
|
220
|
+
var ut = { black: "#1d1d21", white: "#f0f0f0", gray: "#808080", grey: "#808080", red: "#c0392b", green: "#3c9a3c", blue: "#2f5fd0", yellow: "#f2d33c", orange: "#e8862a", purple: "#8a4fc4", pink: "#f08cb4", brown: "#7a4f2a", cyan: "#2ab0c0", gold: "#d8b030", silver: "#c0c4c8", skin: "#c69c7c" };
|
|
221
|
+
function ft(t5) {
|
|
222
|
+
if (typeof t5 != "string") return null;
|
|
223
|
+
let e5 = t5.trim().toLowerCase();
|
|
224
|
+
if (ut[e5]) return ut[e5];
|
|
225
|
+
let r7 = /^#?([0-9a-f]{3}|[0-9a-f]{6})$/.exec(e5);
|
|
226
|
+
if (!r7) return null;
|
|
227
|
+
let o6 = r7[1];
|
|
228
|
+
return "#" + (o6.length === 3 ? o6.split("").map((s2) => s2 + s2).join("") : o6);
|
|
229
|
+
}
|
|
230
|
+
var ye = /* @__PURE__ */ new Set([".", " "]);
|
|
231
|
+
var bt = (t5) => /^[A-Za-z0-9_]{1,24}$/.test(t5);
|
|
232
|
+
var Bt = { human: "humanoid", biped: "humanoid", person: "humanoid", animal: "quadruped", four_legs: "quadruped", quadrupedal: "quadruped", bird: "flyer", winged: "flyer", dragon: "flyer", slime: "blob", ghost: "blob" };
|
|
233
|
+
function Dt(t5) {
|
|
234
|
+
if (typeof t5 != "string") return "humanoid";
|
|
235
|
+
let e5 = t5.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
236
|
+
return be.includes(e5) ? e5 : Bt[e5] ?? "humanoid";
|
|
237
|
+
}
|
|
238
|
+
function Z(t5) {
|
|
239
|
+
if (typeof t5 == "string") {
|
|
240
|
+
let m5 = h(t5);
|
|
241
|
+
if (!m5.ok) return { ok: false, error: m5.error, truncated: m5.truncated };
|
|
242
|
+
t5 = m5.value;
|
|
243
|
+
}
|
|
244
|
+
if (!j2(t5)) return { ok: false, error: u({ en: "the character recipe is not an object", ru: "\u0440\u0435\u0446\u0435\u043F\u0442 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u0436\u0430 \u2014 \u043D\u0435 \u043E\u0431\u044A\u0435\u043A\u0442" }) };
|
|
245
|
+
if (!("parts" in t5) && !("rig" in t5)) {
|
|
246
|
+
let m5 = t5.character ?? t5.spec ?? t5.characterSpec;
|
|
247
|
+
j2(m5) && (t5 = m5);
|
|
248
|
+
}
|
|
249
|
+
let e5 = t5, r7 = gt, o6 = [];
|
|
250
|
+
typeof e5.version == "number" && e5.version > dt && o6.push(u({ en: "recipe version {v} is newer than the game \u2014 read what could be read", ru: "\u0440\u0435\u0446\u0435\u043F\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 {v} \u2014 \u043D\u043E\u0432\u0435\u0435 \u0438\u0433\u0440\u044B, \u0440\u0430\u0437\u043E\u0431\u0440\u0430\u043D\u043E \u0447\u0442\u043E \u043F\u043E\u043D\u044F\u0442\u043D\u043E" }, { v: e5.version }));
|
|
251
|
+
let s2 = Dt(e5.rig), a5 = q[s2], n6 = {};
|
|
252
|
+
if (j2(e5.palette)) for (let [m5, k7] of Object.entries(e5.palette)) {
|
|
253
|
+
if (Object.keys(n6).length >= r7.palette) {
|
|
254
|
+
o6.push(u({ en: "the palette is longer than {n} \u2014 the rest was dropped", ru: "\u043F\u0430\u043B\u0438\u0442\u0440\u0430 \u0434\u043B\u0438\u043D\u043D\u0435\u0435 {n} \u2014 \u043B\u0438\u0448\u043D\u0435\u0435 \u043E\u0442\u0431\u0440\u043E\u0448\u0435\u043D\u043E" }, { n: r7.palette }));
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
|
+
let y5 = ft(k7);
|
|
258
|
+
if (m5.length !== 1 || ye.has(m5) || !y5) {
|
|
259
|
+
o6.push(u({ en: "palette colour \xAB{k}\xBB was not understood", ru: "\u0446\u0432\u0435\u0442 \u043F\u0430\u043B\u0438\u0442\u0440\u044B \xAB{k}\xBB \u043D\u0435 \u043F\u043E\u043D\u044F\u0442" }, { k: m5 }));
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
262
|
+
n6[m5] = y5;
|
|
263
|
+
}
|
|
264
|
+
let i5 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", l = (m5, k7) => {
|
|
265
|
+
if (typeof m5 != "string") return k7;
|
|
266
|
+
if (m5.length === 1 && n6[m5]) return m5;
|
|
267
|
+
let y5 = ft(m5);
|
|
268
|
+
if (!y5) return k7;
|
|
269
|
+
let M2 = Object.entries(n6).find(([, d5]) => d5 === y5);
|
|
270
|
+
if (M2) return M2[0];
|
|
271
|
+
if (Object.keys(n6).length >= r7.palette) return k7;
|
|
272
|
+
let p5 = [...i5].find((d5) => !n6[d5]);
|
|
273
|
+
return p5 ? (n6[p5] = y5, p5) : k7;
|
|
274
|
+
}, c$1 = {}, u5 = 0;
|
|
275
|
+
if (j2(e5.textures)) for (let [m5, k7] of Object.entries(e5.textures)) {
|
|
276
|
+
if (!bt(m5)) {
|
|
277
|
+
o6.push(u({ en: "texture name \xAB{id}\xBB does not fit", ru: "\u0438\u043C\u044F \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u044B \xAB{id}\xBB \u043D\u0435 \u043F\u043E\u0434\u0445\u043E\u0434\u0438\u0442" }, { id: m5.slice(0, 30) }));
|
|
278
|
+
continue;
|
|
279
|
+
}
|
|
280
|
+
if (Object.keys(c$1).length >= r7.textures) {
|
|
281
|
+
o6.push(u({ en: "more than {n} textures \u2014 the rest were dropped", ru: "\u0442\u0435\u043A\u0441\u0442\u0443\u0440 \u0431\u043E\u043B\u044C\u0448\u0435 {n} \u2014 \u043B\u0438\u0448\u043D\u0438\u0435 \u043E\u0442\u0431\u0440\u043E\u0448\u0435\u043D\u044B" }, { n: r7.textures }));
|
|
282
|
+
break;
|
|
283
|
+
}
|
|
284
|
+
let y5 = Vt(k7, n6, o6, m5);
|
|
285
|
+
if (y5) {
|
|
286
|
+
if (u5 + y5.w * y5.h > r7.texturePixels) {
|
|
287
|
+
o6.push(u({ en: "texture \xAB{id}\xBB did not fit the pixel limit", ru: "\u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0430 \xAB{id}\xBB \u043D\u0435 \u0432\u043B\u0435\u0437\u043B\u0430 \u0432 \u043B\u0438\u043C\u0438\u0442 \u043F\u0438\u043A\u0441\u0435\u043B\u0435\u0439" }, { id: m5 }));
|
|
288
|
+
continue;
|
|
289
|
+
}
|
|
290
|
+
u5 += y5.w * y5.h, c$1[m5] = y5;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
let b5 = new Set(a5.bones.map((m5) => m5.name)), g7 = [];
|
|
294
|
+
for (let m5 of ge(e5.bones)) {
|
|
295
|
+
if (!j2(m5)) continue;
|
|
296
|
+
let k7 = te(m5.name, "", 24);
|
|
297
|
+
if (!k7 || !bt(k7)) continue;
|
|
298
|
+
let y5 = Re(m5.pivot, r7.coord);
|
|
299
|
+
if (!y5 || g7.some((x6) => x6.name === k7)) continue;
|
|
300
|
+
if (g7.length >= r7.bones) {
|
|
301
|
+
o6.push(u({ en: "more than {n} bones \u2014 the rest were dropped", ru: "\u043A\u043E\u0441\u0442\u0435\u0439 \u0431\u043E\u043B\u044C\u0448\u0435 {n} \u2014 \u043B\u0438\u0448\u043D\u0438\u0435 \u043E\u0442\u0431\u0440\u043E\u0448\u0435\u043D\u044B" }, { n: r7.bones }));
|
|
302
|
+
break;
|
|
303
|
+
}
|
|
304
|
+
let M2 = b5.has(k7), p5 = te(m5.parent, "", 24), d5 = M2 ? a5.bones.find((x6) => x6.name === k7).parent ?? "" : b5.has(p5) || g7.some((x6) => x6.name === p5) ? p5 : a5.bones.find((x6) => x6.role === "body").name;
|
|
305
|
+
g7.push({ name: k7, parent: d5, pivot: y5, role: M2 ? "static" : Ne(m5.role, ke, "static") }), b5.add(k7);
|
|
306
|
+
}
|
|
307
|
+
let R7 = Object.keys(n6)[0] ?? "s", E5 = [];
|
|
308
|
+
for (let m5 of ge(e5.parts)) {
|
|
309
|
+
if (E5.length >= r7.parts) {
|
|
310
|
+
o6.push(u({ en: "more than {n} parts \u2014 the rest were dropped", ru: "\u0434\u0435\u0442\u0430\u043B\u0435\u0439 \u0431\u043E\u043B\u044C\u0448\u0435 {n} \u2014 \u043B\u0438\u0448\u043D\u0438\u0435 \u043E\u0442\u0431\u0440\u043E\u0448\u0435\u043D\u044B" }, { n: r7.parts }));
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
if (!j2(m5)) continue;
|
|
314
|
+
let k7 = Re(m5.size, r7.partSide), y5 = Re(m5.pos ?? m5.center ?? m5.at, r7.coord);
|
|
315
|
+
if (!k7 || !y5 || k7.some((f) => f <= 0)) continue;
|
|
316
|
+
let M2 = te(m5.bone, "", 24);
|
|
317
|
+
b5.has(M2) || (M2 && o6.push(u({ en: "bone \xAB{b}\xBB not found \u2014 the part is on the body", ru: "\u043A\u043E\u0441\u0442\u044C \xAB{b}\xBB \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u0430 \u2014 \u0434\u0435\u0442\u0430\u043B\u044C \u043D\u0430 \u0442\u0435\u043B\u0435" }, { b: M2 })), M2 = a5.bones.find((f) => f.role === "body").name);
|
|
318
|
+
let p5 = { bone: M2, size: k7, pos: y5, color: l(m5.color, R7) };
|
|
319
|
+
if (j2(m5.faces)) {
|
|
320
|
+
let f = {};
|
|
321
|
+
for (let L6 of De) {
|
|
322
|
+
let I7 = m5.faces[L6];
|
|
323
|
+
if (typeof I7 == "string") if (c$1[I7]) f[L6] = I7;
|
|
324
|
+
else {
|
|
325
|
+
let G5 = l(I7, "");
|
|
326
|
+
G5 && (f[L6] = G5);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
Object.keys(f).length && (p5.faces = f);
|
|
330
|
+
}
|
|
331
|
+
let d5 = Re(m5.rot ?? m5.rotation, 180);
|
|
332
|
+
d5 && d5.some((f) => f !== 0) && (p5.rot = d5), (m5.mirror === true || m5.mirror === "x") && (p5.mirror = true);
|
|
333
|
+
let x6 = te(m5.name, "", 24);
|
|
334
|
+
x6 && (p5.name = x6), E5.push(p5);
|
|
335
|
+
}
|
|
336
|
+
if (!E5.length) {
|
|
337
|
+
for (let [m5, k7] of Object.entries(jt)) n6[m5] || (n6[m5] = k7);
|
|
338
|
+
E5.push(...a5.defaultParts.map(Gt));
|
|
339
|
+
}
|
|
340
|
+
let F3 = null;
|
|
341
|
+
if (j2(e5.face)) {
|
|
342
|
+
let m5 = e5.face, k7 = b5.has(te(m5.bone, "", 24)) ? te(m5.bone, "", 24) : a5.faceBone, y5 = ge(m5.rect).map((p5) => Math.round(W2(p5, NaN, 0, r7.partSide))), M2 = {};
|
|
343
|
+
if (j2(m5.expressions)) for (let p5 of je) {
|
|
344
|
+
let d5 = m5.expressions[p5];
|
|
345
|
+
typeof d5 == "string" && c$1[d5] && (M2[p5] = d5);
|
|
346
|
+
}
|
|
347
|
+
if (!M2.neutral) {
|
|
348
|
+
let p5 = Object.values(M2)[0];
|
|
349
|
+
p5 && (M2.neutral = p5);
|
|
350
|
+
}
|
|
351
|
+
if (M2.neutral) {
|
|
352
|
+
let p5 = c$1[M2.neutral];
|
|
353
|
+
F3 = { bone: k7, rect: y5.length === 4 && y5.every(Number.isFinite) && y5[2] > 0 && y5[3] > 0 ? y5 : [0, 0, p5.w, p5.h], expressions: M2 };
|
|
354
|
+
} else Object.keys(m5).length && o6.push(u({ en: "the face has no pictures \u2014 no face is drawn", ru: "\u0443 \u043B\u0438\u0446\u0430 \u043D\u0435\u0442 \u043D\u0438 \u043E\u0434\u043D\u043E\u0439 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438 \u2014 \u043B\u0438\u0446\u043E \u043D\u0435 \u043D\u0430\u0440\u0438\u0441\u043E\u0432\u0430\u043D\u043E" }));
|
|
355
|
+
}
|
|
356
|
+
let K5 = j2(e5.style) ? e5.style : {}, T7 = j2(e5.voice) ? e5.voice : {}, A5 = j2(e5.finish) ? e5.finish : {};
|
|
357
|
+
return { ok: true, spec: { version: dt, name: te(e5.name, Ee(), 40) || Ee(), description: te(e5.description, "", 300), rig: s2, scale: W2(e5.scale, 1, 0.25, 3), palette: n6, textures: c$1, parts: E5, bones: g7, face: F3, style: { walk: Ne(K5.walk, Ge, "normal"), idle: Ne(K5.idle, Ve, "calm"), energy: W2(K5.energy, 0.5, 0, 1) }, voice: { pitch: W2(T7.pitch, 1, 0.5, 2) }, tags: ge(e5.tags).filter((m5) => typeof m5 == "string" && !!m5.trim()).slice(0, 8).map((m5) => m5.trim().slice(0, 24)), finish: { noise: W2(A5.noise, pe.noise, 0, 1), outline: W2(A5.outline, pe.outline, 0, 1), shade: W2(A5.shade, pe.shade, 0, 1), density: Math.round(W2(A5.density, pe.density, 1, 4)) } }, warnings: o6 };
|
|
358
|
+
}
|
|
359
|
+
var jt = { s: "#c69c7c", t: "#3a8fd6", p: "#2c3e6b" };
|
|
360
|
+
function Gt(t5) {
|
|
361
|
+
return JSON.parse(JSON.stringify(t5));
|
|
362
|
+
}
|
|
363
|
+
function Vt(t5, e5, r7, o6) {
|
|
364
|
+
let s2 = Array.isArray(t5) ? { rows: t5 } : j2(t5) ? t5 : null;
|
|
365
|
+
if (!s2) return null;
|
|
366
|
+
let a5 = gt.textureSide, n6 = ge(s2.rows ?? s2.pixels).filter((u5) => typeof u5 == "string");
|
|
367
|
+
if (!n6.length) return null;
|
|
368
|
+
let i5 = Math.round(W2(s2.h ?? s2.height, n6.length, 1, a5)), l = Math.round(W2(s2.w ?? s2.width, Math.max(...n6.map((u5) => u5.length)), 1, a5)), c$1 = false;
|
|
369
|
+
for (n6 = n6.slice(0, i5).map((u5) => {
|
|
370
|
+
let b5 = "";
|
|
371
|
+
for (let g7 = 0; g7 < l; g7++) {
|
|
372
|
+
let R7 = u5[g7] ?? ".";
|
|
373
|
+
ye.has(R7) || e5[R7] ? b5 += R7 === " " ? "." : R7 : (c$1 = true, b5 += ".");
|
|
374
|
+
}
|
|
375
|
+
return b5;
|
|
376
|
+
}); n6.length < i5; ) n6.push(".".repeat(l));
|
|
377
|
+
return c$1 && r7.push(u({ en: "texture \xAB{id}\xBB has symbols not in the palette \u2014 they became transparent", ru: "\u0432 \u0442\u0435\u043A\u0441\u0442\u0443\u0440\u0435 \xAB{id}\xBB \u0441\u0438\u043C\u0432\u043E\u043B\u044B \u043D\u0435 \u0438\u0437 \u043F\u0430\u043B\u0438\u0442\u0440\u044B \u2014 \u0441\u0442\u0430\u043B\u0438 \u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u044B\u043C\u0438" }, { id: o6 })), { w: l, h: i5, rows: n6 };
|
|
378
|
+
}
|
|
379
|
+
function Ee() {
|
|
380
|
+
return u({ en: "Character", ru: "\u041F\u0435\u0440\u0441\u043E\u043D\u0430\u0436" });
|
|
381
|
+
}
|
|
382
|
+
var We = Math.PI / 180;
|
|
383
|
+
var w2 = class t {
|
|
384
|
+
constructor(e5, r7, o6 = ".") {
|
|
385
|
+
this.w = e5;
|
|
386
|
+
this.h = r7;
|
|
387
|
+
this.g = Array.from({ length: r7 }, () => new Array(e5).fill(o6));
|
|
388
|
+
}
|
|
389
|
+
w;
|
|
390
|
+
h;
|
|
391
|
+
g;
|
|
392
|
+
px(e5, r7, o6) {
|
|
393
|
+
return e5 >= 0 && r7 >= 0 && e5 < this.w && r7 < this.h && (this.g[r7][e5] = o6), this;
|
|
394
|
+
}
|
|
395
|
+
rect(e5, r7, o6, s2, a5) {
|
|
396
|
+
for (let n6 = r7; n6 < r7 + s2; n6++) for (let i5 = e5; i5 < e5 + o6; i5++) this.px(i5, n6, a5);
|
|
397
|
+
return this;
|
|
398
|
+
}
|
|
399
|
+
row(e5, r7, o6, s2) {
|
|
400
|
+
return this.rect(r7, e5, o6 - r7 + 1, 1, s2);
|
|
401
|
+
}
|
|
402
|
+
col(e5, r7, o6, s2) {
|
|
403
|
+
return this.rect(e5, r7, 1, o6 - r7 + 1, s2);
|
|
404
|
+
}
|
|
405
|
+
where(e5, r7) {
|
|
406
|
+
for (let o6 = 0; o6 < this.h; o6++) for (let s2 = 0; s2 < this.w; s2++) e5(s2, o6) && this.px(s2, o6, r7);
|
|
407
|
+
return this;
|
|
408
|
+
}
|
|
409
|
+
flipped() {
|
|
410
|
+
let e5 = new t(this.w, this.h);
|
|
411
|
+
for (let r7 = 0; r7 < this.h; r7++) for (let o6 = 0; o6 < this.w; o6++) e5.px(this.w - 1 - o6, r7, this.g[r7][o6]);
|
|
412
|
+
return e5;
|
|
413
|
+
}
|
|
414
|
+
tex() {
|
|
415
|
+
return { w: this.w, h: this.h, rows: this.g.map((e5) => e5.join("")) };
|
|
416
|
+
}
|
|
417
|
+
};
|
|
418
|
+
var qt = { s: "#d9a982", S: "#bf8d68", h: "#6b4a2f", H: "#8a6644", k: "#3a2818", w: "#f4f4ef", b: "#3f8f9c", m: "#9a5544", o: "#4a2219", t: "#a7bea9", T: "#c4d6c4", D: "#84a08a", u: "#ece6d2", B: "#6a4e33", g: "#d8c48c", p: "#8c9ca6", P: "#6f808a", z: "#a07a55", Z: "#7c5c3f", l: "#e9e3cf" };
|
|
419
|
+
function J(t5, e5) {
|
|
420
|
+
let r7 = parseInt(t5.slice(1), 16);
|
|
421
|
+
return "#" + [r7 >> 16 & 255, r7 >> 8 & 255, r7 & 255].map((s2) => Math.max(0, Math.min(255, Math.round(s2 * e5)))).map((s2) => s2.toString(16).padStart(2, "0")).join("");
|
|
422
|
+
}
|
|
423
|
+
function Ye(t5, e5) {
|
|
424
|
+
let r7 = { ...t5 };
|
|
425
|
+
return e5.skin && (r7.s = e5.skin, r7.S = J(e5.skin, 0.86), r7.m = J(e5.skin, 0.66)), e5.hair && (r7.h = e5.hair, r7.H = J(e5.hair, 1.25), r7.k = J(e5.hair, 0.6)), e5.shirt && (r7.t = e5.shirt, r7.T = J(e5.shirt, 1.15), r7.D = J(e5.shirt, 0.8)), e5.pants && (r7.p = e5.pants, r7.P = J(e5.pants, 0.8)), e5.boots && (r7.z = e5.boots, r7.Z = J(e5.boots, 0.78)), e5.eyes && (r7.b = e5.eyes), r7;
|
|
426
|
+
}
|
|
427
|
+
var Zt = new w2(16, 16, "s").rect(0, 0, 16, 3, "h").row(3, 0, 4, "h").row(3, 10, 15, "h").row(4, 0, 1, "h").row(4, 13, 15, "h").col(0, 5, 8, "h").col(15, 5, 8, "h").row(1, 3, 6, "H").row(1, 9, 12, "H").row(15, 2, 13, "S");
|
|
428
|
+
var St = new w2(16, 16, "s").rect(0, 0, 16, 4, "h").rect(7, 4, 9, 7, "h").rect(10, 11, 6, 2, "h").rect(5, 7, 2, 3, "S").row(1, 2, 13, "H").where((t5, e5) => e5 > 4 && e5 < 11 && t5 > 8 && (t5 + e5) % 4 === 0, "k");
|
|
429
|
+
var Jt = St.flipped();
|
|
430
|
+
var Qt = new w2(16, 16, "h").where((t5, e5) => (t5 + 2 * e5) % 5 === 0, "H").where((t5, e5) => e5 > 8 && (t5 * 3 + e5) % 7 === 0, "k").rect(4, 14, 8, 2, "s");
|
|
431
|
+
var er = new w2(16, 16, "h").where((t5, e5) => (t5 + 2 * e5) % 5 === 0, "H").where((t5, e5) => (3 * t5 + e5) % 9 === 0, "k");
|
|
432
|
+
var tr = new w2(18, 4, "h").where((t5, e5) => (t5 * 7 + e5 * 3) % 5 === 0, "H").where((t5, e5) => e5 === 3 && t5 * 5 % 3 === 0, "k");
|
|
433
|
+
var rr = new w2(16, 24, "t").row(0, 6, 9, "s").row(1, 7, 8, "s").row(0, 3, 5, "T").row(0, 10, 12, "T").row(1, 4, 6, "T").row(1, 9, 11, "T").row(2, 5, 6, "T").row(2, 9, 10, "T").col(8, 2, 19, "D").px(7, 5, "u").px(7, 9, "u").px(7, 13, "u").px(7, 17, "u").row(6, 2, 5, "D").col(2, 7, 10, "D").col(5, 7, 10, "D").row(10, 2, 5, "D").px(4, 7, "u").row(6, 10, 13, "D").col(10, 7, 10, "D").col(13, 7, 10, "D").row(10, 10, 13, "D").px(11, 7, "u").row(19, 0, 15, "D").rect(0, 20, 16, 2, "B").rect(7, 20, 2, 2, "g").rect(0, 22, 16, 2, "p");
|
|
434
|
+
var or = new w2(16, 24, "t").row(5, 0, 15, "D").col(8, 6, 19, "D").row(19, 0, 15, "D").rect(0, 20, 16, 2, "B").rect(0, 22, 16, 2, "p");
|
|
435
|
+
var nr = new w2(8, 24, "t").col(4, 0, 19, "D").row(19, 0, 7, "D").rect(0, 20, 8, 2, "B").rect(0, 22, 8, 2, "p");
|
|
436
|
+
var sr = new w2(16, 2, "B").rect(7, 0, 2, 2, "g").px(3, 0, "k").px(12, 0, "k");
|
|
437
|
+
var ar = new w2(6, 24, "s").row(23, 0, 5, "S").col(2, 21, 23, "S");
|
|
438
|
+
var ir = new w2(8, 13, "t").col(0, 0, 9, "D").row(9, 0, 7, "D").rect(0, 10, 8, 3, "T").row(12, 0, 7, "D");
|
|
439
|
+
var lr = new w2(8, 24, "p").col(4, 1, 21, "P").row(0, 0, 7, "P");
|
|
440
|
+
var cr = new w2(8, 24, "p").col(3, 0, 21, "P").row(0, 0, 7, "P");
|
|
441
|
+
var hr = new w2(8, 24, "p").col(3, 0, 21, "P");
|
|
442
|
+
var pr = new w2(10, 9, "z").row(0, 0, 9, "Z").row(2, 3, 6, "l").row(4, 3, 6, "l").row(6, 3, 6, "l").col(2, 1, 6, "Z").col(7, 1, 6, "Z").rect(0, 7, 10, 2, "Z");
|
|
443
|
+
var mr = new w2(10, 9, "z").row(0, 0, 9, "Z").rect(0, 7, 10, 2, "Z").col(5, 1, 6, "Z");
|
|
444
|
+
function $2(t5) {
|
|
445
|
+
let e5 = new w2(16, 10, "."), r7 = (s2, a5, n6) => {
|
|
446
|
+
if (t5.brows === "flat") e5.row(1, s2, s2 + 2, "k");
|
|
447
|
+
else if (t5.brows === "high") e5.row(0, s2, s2 + 2, "k");
|
|
448
|
+
else {
|
|
449
|
+
let i5 = t5.brows === "down" ? 1 : 0, l = 1 - i5;
|
|
450
|
+
e5.px(a5, i5, "k").px(s2 + 1, t5.brows === "down" ? 0 : 1, "k"), e5.px(n6, l, "k");
|
|
451
|
+
}
|
|
452
|
+
};
|
|
453
|
+
r7(3, 5, 3), r7(10, 10, 12);
|
|
454
|
+
let o6 = (s2) => {
|
|
455
|
+
if (t5.eyes === 0) {
|
|
456
|
+
e5.row(3, s2, s2 + 2, "k");
|
|
457
|
+
return;
|
|
458
|
+
}
|
|
459
|
+
let a5 = t5.eyes === 3 || t5.eyes === 2 ? 2 : 3;
|
|
460
|
+
for (let n6 = a5; n6 < a5 + t5.eyes; n6++) e5.px(s2, n6, "w").px(s2 + 1, n6, "b").px(s2 + 2, n6, "w");
|
|
461
|
+
};
|
|
462
|
+
switch (o6(3), o6(10), t5.mouth) {
|
|
463
|
+
case "line":
|
|
464
|
+
e5.row(7, 6, 9, "m");
|
|
465
|
+
break;
|
|
466
|
+
case "smile":
|
|
467
|
+
e5.px(5, 6, "m").px(10, 6, "m").row(7, 6, 9, "m");
|
|
468
|
+
break;
|
|
469
|
+
case "frown":
|
|
470
|
+
e5.row(7, 6, 9, "m").px(5, 8, "m").px(10, 8, "m");
|
|
471
|
+
break;
|
|
472
|
+
case "open":
|
|
473
|
+
e5.rect(6, 7, 4, 2, "o");
|
|
474
|
+
break;
|
|
475
|
+
case "small":
|
|
476
|
+
e5.rect(7, 7, 2, 2, "o");
|
|
477
|
+
break;
|
|
478
|
+
case "wide":
|
|
479
|
+
e5.row(7, 5, 10, "m").rect(6, 8, 4, 1, "o");
|
|
480
|
+
break;
|
|
481
|
+
}
|
|
482
|
+
return e5;
|
|
483
|
+
}
|
|
484
|
+
var vt = { f_neutral: $2({ brows: "flat", eyes: 2, mouth: "line" }), f_blink: $2({ brows: "flat", eyes: 0, mouth: "line" }), f_happy: $2({ brows: "high", eyes: 2, mouth: "smile" }), f_sad: $2({ brows: "up", eyes: 2, mouth: "frown" }), f_angry: $2({ brows: "down", eyes: 1, mouth: "wide" }), f_surprised: $2({ brows: "high", eyes: 3, mouth: "small" }), f_scared: $2({ brows: "up", eyes: 3, mouth: "open" }), f_tired: $2({ brows: "flat", eyes: 1, mouth: "line" }), f_hurt: $2({ brows: "down", eyes: 0, mouth: "open" }), f_talk: $2({ brows: "flat", eyes: 2, mouth: "open" }) };
|
|
485
|
+
var dr = new w2(16, 24, "t").row(0, 5, 10, "s").row(1, 6, 9, "s").px(5, 1, "T").px(10, 1, "T").row(7, 0, 15, "D").row(10, 0, 15, "D").rect(0, 18, 16, 2, "T").rect(0, 20, 16, 4, "p").row(20, 0, 15, "P");
|
|
486
|
+
var ur = new w2(16, 24, "t").row(0, 5, 10, "T").row(7, 0, 15, "D").row(10, 0, 15, "D").rect(0, 18, 16, 2, "T").rect(0, 20, 16, 4, "p").row(20, 0, 15, "P");
|
|
487
|
+
var fr = new w2(8, 24, "t").row(7, 0, 7, "D").row(10, 0, 7, "D").rect(0, 18, 8, 2, "T").rect(0, 20, 8, 4, "p").row(20, 0, 7, "P");
|
|
488
|
+
var br = new w2(8, 9, "t").row(3, 0, 7, "D").rect(0, 7, 8, 2, "T");
|
|
489
|
+
var ve = (t5, e5) => t5.row(e5 - 1, 0, t5.w - 1, "D").where((r7, o6) => o6 >= e5 && o6 <= e5 + 3 && (r7 + o6) % 2 === 0, "T").row(e5 + 4, 0, t5.w - 1, "D");
|
|
490
|
+
var gr = ve(new w2(16, 24, "t"), 6).row(0, 6, 9, "s").row(0, 4, 5, "T").row(0, 10, 11, "T").row(1, 4, 11, "T").where((t5, e5) => e5 >= 18 && e5 <= 19 && t5 % 2 === 0, "D").where((t5, e5) => e5 >= 18 && e5 <= 19 && t5 % 2 === 1, "T").rect(0, 20, 16, 4, "p");
|
|
491
|
+
var yr = ve(new w2(16, 24, "t"), 6).row(0, 4, 11, "T").where((t5, e5) => e5 >= 18 && e5 <= 19, "D").rect(0, 20, 16, 4, "p");
|
|
492
|
+
var xr = ve(new w2(8, 24, "t"), 6).where((t5, e5) => e5 >= 18 && e5 <= 19, "D").rect(0, 20, 8, 4, "p");
|
|
493
|
+
var wr = ve(new w2(8, 22, "t"), 9).where((t5, e5) => e5 >= 19 && t5 % 2 === 0, "D");
|
|
494
|
+
var Ct = (t5) => new w2(8, 24, "s").rect(0, 0, 8, 12, "p").col(t5, 1, 10, "P").row(11, 0, 7, "P").row(12, 0, 7, "S").rect(0, 19, 8, 5, "l");
|
|
495
|
+
var kr = Ct(4);
|
|
496
|
+
var Rr = Ct(3);
|
|
497
|
+
var Er = new w2(9, 5, "z").row(1, 3, 5, "l").rect(0, 3, 9, 2, "l");
|
|
498
|
+
var Sr = new w2(10, 5, "z").row(1, 3, 6, "Z").rect(0, 3, 10, 2, "l");
|
|
499
|
+
var vr = new w2(17, 6, "a").rect(0, 4, 17, 2, "A");
|
|
500
|
+
var Cr = new w2(22, 22, "a").where((t5, e5) => (t5 * 3 + e5 * 5) % 11 === 0, "A");
|
|
501
|
+
var Tr = new w2(17, 20, "h").where((t5, e5) => (t5 * 5 + e5) % 4 === 0, "H").where((t5, e5) => e5 > 10 && (t5 * 3 + e5 * 2) % 7 === 0, "k");
|
|
502
|
+
var S2 = (t5) => t5.tex();
|
|
503
|
+
var ie = (t5, e5 = {}) => ({ front: t5, back: t5, left: t5, right: t5, ...e5 });
|
|
504
|
+
function qe(t5 = {}) {
|
|
505
|
+
let e5 = t5.top ?? "shirt", r7 = t5.bottom ?? "pants", o6 = t5.shoes ?? "boots", s2 = t5.hair ?? "short", a5 = Ye(qt, t5.colors ?? {});
|
|
506
|
+
a5 = { ...a5, a: t5.colors?.hat ?? "#d9c9a3" }, a5.A = J(a5.a, 0.72);
|
|
507
|
+
let n6 = { head_front: S2(Zt), head_left: S2(St), head_right: S2(Jt), head_back: S2(Qt), hair_top: S2(er), hair_band: S2(tr), arm_skin: S2(ar), ...Object.fromEntries(Object.entries(vt).map(([E5, F3]) => [E5, S2(F3)])) }, i5 = [{ name: "head", bone: "head", size: [8, 8, 8], pos: [0, 28, 0], color: "s", faces: { front: "head_front", left: "head_left", right: "head_right", back: "head_back", top: "hair_top" } }, { name: "nose", bone: "head", size: [1, 1.5, 0.8], pos: [0, 26.9, -4.4], color: "S", faces: { front: "s" } }];
|
|
508
|
+
if (s2 !== "none") {
|
|
509
|
+
if (t5.hat || i5.push({ name: "hair", bone: "head", size: s2 === "curly" ? [9, 2.2, 9] : [8.6, 1.6, 8.6], pos: [0, s2 === "curly" ? 32.5 : 32.2, 0.15], color: "h", faces: ie("hair_band", { top: "hair_top" }) }), s2 === "curly" && !t5.hat) for (let [E5, F3] of [[-2, -1.5], [2, 0.5], [-0.5, 2.5]]) i5.push({ name: "curl", bone: "head", size: [3.2, 1.4, 3.2], pos: [E5, 33.9, F3], color: "h", faces: ie("hair_band", { top: "hair_top" }) });
|
|
510
|
+
s2 === "long" ? (n6.hair_long = S2(Tr), i5.push({ name: "hairLong", bone: "head", size: [8.8, 10, 1], pos: [0, 27, 4.4], color: "h", faces: ie("hair_long", { top: "hair_top" }) }, { name: "hairSide", bone: "head", size: [0.8, 9, 6], pos: [-4.4, 27.5, 1], color: "h", faces: ie("hair_long", { top: "hair_top" }), mirror: true })) : i5.push({ name: "hairBack", bone: "head", size: [8.6, 5, 0.8], pos: [0, 29.6, 4.25], color: "h", faces: { back: "head_back", left: "hair_band", right: "hair_band" } });
|
|
511
|
+
}
|
|
512
|
+
t5.hat && (n6.hat_crown = S2(vr), n6.hat_brim = S2(Cr), i5.push({ name: "hatBrim", bone: "head", size: [11, 0.8, 11], pos: [0, 32.4, 0], color: "a", faces: { top: "hat_brim", bottom: "hat_brim" } }, { name: "hatCrown", bone: "head", size: [8.4, 3, 8.4], pos: [0, 34.3, 0], color: "a", faces: ie("hat_crown") }));
|
|
513
|
+
let l = { shirt: [rr, or, nr], tee: [dr, ur, fr], sweater: [gr, yr, xr] }, [c$1, u5, b5] = l[e5];
|
|
514
|
+
n6.top_front = S2(c$1), n6.top_back = S2(u5), n6.top_side = S2(b5), i5.push({ name: "torso", bone: "body", size: [8, 12, 4], pos: [0, 18, 0], color: "t", faces: { front: "top_front", back: "top_back", left: "top_side", right: "top_side", bottom: "p" } }), e5 === "shirt" && (n6.belt = S2(sr), i5.push({ name: "belt", bone: "body", size: [8.4, 1, 4.4], pos: [0, 13.5, 0], color: "B", faces: { front: "belt", back: "belt" } })), i5.push({ name: "arm", bone: "armL", size: [3, 12, 3], pos: [-5.5, 18, 0], color: "s", faces: ie("arm_skin", { top: "t", bottom: "S" }), mirror: true });
|
|
515
|
+
let g7 = e5 === "sweater" ? 11 : e5 === "tee" ? 4.5 : 6.5;
|
|
516
|
+
n6.sleeve = S2(e5 === "sweater" ? wr : e5 === "tee" ? br : ir), i5.push({ name: "sleeve", bone: "armL", size: [3.6, g7, 3.6], pos: [-5.5, 24 - g7 / 2, 0], color: "t", faces: ie("sleeve", { bottom: "D" }), mirror: true }), r7 === "shorts" ? (n6.leg_front = S2(kr), n6.leg_side = S2(Rr)) : (n6.leg_front = S2(lr), n6.leg_back = S2(cr), n6.leg_side = S2(hr)), i5.push({ name: "leg", bone: "legL", size: [4, 12, 4], pos: [-2, 6, 0], color: "p", faces: { front: "leg_front", back: r7 === "shorts" ? "leg_front" : "leg_back", left: "leg_side", right: "leg_side" }, mirror: true }), o6 === "boots" ? (n6.shoe_front = S2(pr), n6.shoe_side = S2(mr)) : (n6.shoe_front = S2(Er), n6.shoe_side = S2(Sr));
|
|
517
|
+
let R7 = o6 === "boots" ? 4.5 : 2.5;
|
|
518
|
+
return i5.push({ name: "shoe", bone: "legL", size: [4.6, R7, 5.2], pos: [-2, R7 / 2, -0.3], color: "z", faces: { front: "shoe_front", back: "shoe_side", left: "shoe_side", right: "shoe_side", bottom: "Z" }, mirror: true }), { version: 1, name: t5.name ?? u({ en: "Traveler", ru: "\u041F\u0443\u0442\u043D\u0438\u043A" }), description: t5.description ?? u({ en: "A traveler in a shirt with pockets, trousers and laced boots", ru: "\u041F\u0443\u0442\u043D\u0438\u043A \u0432 \u0440\u0443\u0431\u0430\u0448\u043A\u0435 \u0441 \u043A\u0430\u0440\u043C\u0430\u043D\u0430\u043C\u0438, \u0431\u0440\u044E\u043A\u0430\u0445 \u0438 \u0448\u043D\u0443\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0445 \u0431\u043E\u0442\u0438\u043D\u043A\u0430\u0445" }), rig: "humanoid", palette: a5, textures: n6, parts: i5, face: { bone: "head", rect: [0, 3, 8, 5], expressions: { neutral: "f_neutral", blink: "f_blink", happy: "f_happy", sad: "f_sad", angry: "f_angry", surprised: "f_surprised", scared: "f_scared", tired: "f_tired", hurt: "f_hurt", talk: "f_talk" } }, style: { walk: "normal", idle: "calm", energy: 0.5 }, finish: { noise: 0.5, outline: 0.4, shade: 0.25, density: 2 }, tags: t5.tags ?? ["player"] };
|
|
519
|
+
}
|
|
520
|
+
var Ze = qe();
|
|
521
|
+
var v2 = { rx: 0, ry: 1, rz: 2, px: 3, py: 4, pz: 5, sx: 6, sy: 7, sz: 8 };
|
|
522
|
+
var Jo = Object.keys(v2);
|
|
523
|
+
var xe = 1 / 16;
|
|
524
|
+
var _e = Math.PI;
|
|
525
|
+
var Oe = { wave: { label: "\u041F\u043E\u043C\u0430\u0445\u0430\u0442\u044C", duration: 2, emotion: "happy", tracks: { "armR.rz": [[0, 0], [0.25, 2.7], [0.5, 2.3], [0.75, 2.8], [1, 2.3], [1.25, 2.8], [1.5, 2.4], [2, 0]], "armR.rx": [[0, 0], [0.25, 0.2], [1.75, 0.2], [2, 0]], "head.rz": [[0, 0], [0.5, 0.1], [1.5, 0.1], [2, 0]] } }, cheer: { label: "\u0423\u0440\u0430!", duration: 1.6, emotion: "happy", tracks: { "armL.rz": [[0, 0], [0.25, -2.8], [1.35, -2.8], [1.6, 0]], "armR.rz": [[0, 0], [0.25, 2.8], [1.35, 2.8], [1.6, 0]], "root.py": [[0, 0], [0.3, 3], [0.55, 0], [0.8, 3], [1.05, 0]] } }, dance: { label: "\u0422\u0430\u043D\u0435\u0446", duration: 2, loop: true, emotion: "happy", tracks: { "root.ry": [[0, 0.3], [0.5, -0.3], [1, 0.3], [1.5, -0.3], [2, 0.3]], "armL.rz": [[0, -0.4], [0.5, -2.4], [1, -0.4], [1.5, -2.4], [2, -0.4]], "armR.rz": [[0, 2.4], [0.5, 0.4], [1, 2.4], [1.5, 0.4], [2, 2.4]], "legL.rx": [[0, 0], [0.5, 0.5], [1, 0], [2, 0]], "legR.rx": [[0, 0], [1, 0], [1.5, 0.5], [2, 0]], "root.py": [[0, 0], [0.25, 1.5], [0.5, 0], [0.75, 1.5], [1, 0], [1.25, 1.5], [1.5, 0], [1.75, 1.5], [2, 0]], "tail.ry": [[0, 0.6], [0.5, -0.6], [1, 0.6], [1.5, -0.6], [2, 0.6]] } }, point: { label: "\u0423\u043A\u0430\u0437\u0430\u0442\u044C", duration: 1.6, tracks: { "armR.rx": [[0, 0], [0.2, 1.55], [1.4, 1.55], [1.6, 0]] } }, laugh: { label: "\u0421\u043C\u0435\u0445", duration: 1.6, emotion: "happy", tracks: { "body.rx": [[0, 0], [0.2, 0.15], [0.4, 0.05], [0.6, 0.15], [0.8, 0.05], [1, 0.15], [1.2, 0.05], [1.6, 0]], "head.rx": [[0, 0], [0.2, 0.3], [1.4, 0.3], [1.6, 0]], "armL.rx": [[0, 0], [0.2, 0.5], [1.4, 0.5], [1.6, 0]], "armR.rx": [[0, 0], [0.2, 0.5], [1.4, 0.5], [1.6, 0]] } }, cry: { label: "\u041F\u043B\u0430\u043A\u0430\u0442\u044C", duration: 2.4, emotion: "sad", tracks: { "head.rx": [[0, 0], [0.3, -0.4], [2.1, -0.4], [2.4, 0]], "head.rz": [[0, 0], [0.6, 0.08], [0.9, -0.08], [1.2, 0.08], [1.5, -0.08], [2.4, 0]], "armR.rx": [[0, 0], [0.3, 2.3], [2.1, 2.3], [2.4, 0]], "armR.ry": [[0, 0], [0.3, -0.6], [2.1, -0.6], [2.4, 0]], "armL.rx": [[0, 0], [0.3, 2.3], [2.1, 2.3], [2.4, 0]], "armL.ry": [[0, 0], [0.3, 0.6], [2.1, 0.6], [2.4, 0]] } }, bow: { label: "\u041F\u043E\u043A\u043B\u043E\u043D", duration: 1.4, tracks: { "body.rx": [[0, 0], [0.4, -0.7], [1, -0.7], [1.4, 0]], "armR.rx": [[0, 0], [0.4, 0.5], [1, 0.5], [1.4, 0]] } }, shrug: { label: "\u041F\u043E\u0436\u0430\u0442\u044C \u043F\u043B\u0435\u0447\u0430\u043C\u0438", duration: 1.2, tracks: { "armL.rz": [[0, 0], [0.3, -0.5], [0.9, -0.5], [1.2, 0]], "armR.rz": [[0, 0], [0.3, 0.5], [0.9, 0.5], [1.2, 0]], "armL.rx": [[0, 0], [0.3, 0.6], [0.9, 0.6], [1.2, 0]], "armR.rx": [[0, 0], [0.3, 0.6], [0.9, 0.6], [1.2, 0]], "head.rz": [[0, 0], [0.3, 0.25], [0.9, 0.25], [1.2, 0]] } }, facepalm: { label: "\u0420\u0443\u043A\u0430-\u043B\u0438\u0446\u043E", duration: 1.6, emotion: "tired", tracks: { "armR.rx": [[0, 0], [0.3, 2.5], [1.3, 2.5], [1.6, 0]], "armR.rz": [[0, 0], [0.3, -0.4], [1.3, -0.4], [1.6, 0]], "head.rx": [[0, 0], [0.3, -0.35], [1.3, -0.35], [1.6, 0]] } }, sit: { label: "\u0421\u0435\u0441\u0442\u044C", duration: 1, loop: true, tracks: { "legL.rx": [[0, _e * 0.46], [1, _e * 0.46]], "legR.rx": [[0, _e * 0.46], [1, _e * 0.46]], "root.py": [[0, -10], [1, -10]] } } };
|
|
526
|
+
var Tn = Object.keys(Oe);
|
|
527
|
+
var fo = be.map((t5) => {
|
|
528
|
+
let e5 = q[t5], r7 = e5.bones.map((s2) => `${s2.name}@[${s2.pivot.join(",")}]`).join(" "), o6 = e5.defaultParts.map((s2) => `${s2.bone} ${s2.size.join("x")} at [${s2.pos.join(",")}]`).join("; ");
|
|
529
|
+
return `- "${t5}" \u2014 ${e5.hint}. Bones (name@pivot): ${r7}. Default body: ${o6}.`;
|
|
530
|
+
}).join(`
|
|
531
|
+
`);
|
|
532
|
+
var $n = `You design blocky voxel characters for a Minecraft-like game. Reply with ONE JSON object \u2014 a CharacterSpec \u2014 and nothing else: no markdown, no comments, no explanations.
|
|
533
|
+
|
|
534
|
+
The game builds and animates the character from your recipe. You give the SHAPE (boxes on a skeleton), the COLOURS (a palette) and small PIXEL-ART pictures for faces and clothes. Animations (walk, run, sneak, swim, fly, emotes, emotions) come from the skeleton \u2014 you never animate.
|
|
535
|
+
|
|
536
|
+
COORDINATES are in model PIXELS (16 px = 1 block): x to the character's RIGHT hand, y UP (y = 0 is the soles of the feet), z BACKWARDS \u2014 the character LOOKS TOWARD -z (its face is on the -z side). A normal person is 32 px tall.
|
|
537
|
+
|
|
538
|
+
SKELETONS ("rig"):
|
|
539
|
+
${fo}
|
|
540
|
+
|
|
541
|
+
CharacterSpec:
|
|
542
|
+
{
|
|
543
|
+
"version": 1,
|
|
544
|
+
"name": string (<= 40 chars, in the player's language),
|
|
545
|
+
"description": string (<= 200 chars),
|
|
546
|
+
"rig": ${be.map((t5) => `"${t5}"`).join(" | ")},
|
|
547
|
+
"scale": 0.25..3 (overall size; 1 = normal),
|
|
548
|
+
"palette": { "<one character>": "#rrggbb", ... } (<= 32 colours; "." and " " are transparent),
|
|
549
|
+
"textures": { "<id>": { "w": 1..32, "h": 1..32, "rows": [ "<w palette characters>", ... h rows, top row first ] } },
|
|
550
|
+
"parts": [ <= 64 boxes:
|
|
551
|
+
{ "bone": "<bone>", "size": [w, h, d] (px, <= 32), "pos": [x, y, z] (the box CENTRE in model px),
|
|
552
|
+
"color": "<palette char>" (faces without a texture),
|
|
553
|
+
"faces": { "front"|"back"|"left"|"right"|"top"|"bottom": "<texture id>" or "<palette char>" },
|
|
554
|
+
"rot": [x, y, z] (degrees, optional tilt around the box centre),
|
|
555
|
+
"mirror": true (also adds the mirrored copy on the paired bone: armL -> armR, legFL -> legFR),
|
|
556
|
+
"name": string } ],
|
|
557
|
+
"bones": [ <= 16 EXTRA bones for tails, ears, wings, capes, hair, antennas:
|
|
558
|
+
{ "name": string, "parent": "<bone>", "pivot": [x, y, z], "role": ${ke.map((t5) => `"${t5}"`).join(" | ")} } ]
|
|
559
|
+
(a role makes the bone move by itself: a tail sways, ears twitch, a cape flutters when running, wings flap in flight; "static" \u2014 no motion),
|
|
560
|
+
"face": { "bone": "head", "rect": [x, y, w, h] (where the face sits on the FRONT face of the head box, px from its top-left corner as seen by a viewer),
|
|
561
|
+
"expressions": { ${je.map((t5) => `"${t5}"`).join(", ")}: "<texture id of size w x h>" } } \u2014 eyes and mouth, drawn over the head; "neutral" is required, draw as many others as you can (at least blink, happy, sad, angry, surprised),
|
|
562
|
+
"style": { "walk": ${Ge.map((t5) => `"${t5}"`).join(" | ")}, "idle": ${Ve.map((t5) => `"${t5}"`).join(" | ")}, "energy": 0..1 },
|
|
563
|
+
"voice": { "pitch": 0.5..2 },
|
|
564
|
+
"tags": [ <= 8 short words ],
|
|
565
|
+
"finish": { "noise": 0..1, "outline": 0..1, "shade": 0..1, "density": 1..4 } (optional; defaults 0.5 / 0.4 / 0.25 / 2 \u2014 the game adds fabric noise, a dark outline on the edge of every box face and top-to-bottom shading by itself; set 0 for a clean flat look)
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
FACES OF A BOX as seen from OUTSIDE: "front" is on the -z side, left/right are the CHARACTER's left (-x) and right (+x). A texture is stretched over the whole face, its first row is the top. On the front face the viewer's LEFT is the character's RIGHT hand side. The top face is seen from above with the back edge as its first row.
|
|
569
|
+
|
|
570
|
+
HOW TO BUILD A GOOD, DETAILED CHARACTER (the game's style: blocky people with fine pixel-art clothes, like a voxel animation):
|
|
571
|
+
- Draw textures at 2 texels per model pixel: an 8x8 head face is a 16x16 texture, an 8x12 torso front is 16x24, a 3x12 arm side is 6x24, a 4x12 leg side is 8x24. Use 2\u20133 shades of every colour (base, lighter, darker) for seams, folds, collars, cuffs and highlights; use soft, natural colours unless the pictures say otherwise.
|
|
572
|
+
- LAYER BOXES for volume \u2014 this is what makes a character look rich:
|
|
573
|
+
hair: a slightly bigger cap over the head (e.g. [8.6, 1.6, 8.6] at y 32.2) plus a thin piece on the back of the head, curls or bangs as small boxes, long hair as thin boxes down the back and the sides;
|
|
574
|
+
a nose: a 1x1.5x0.8 box sticking out of the face; ears, beards, glasses, hats (a wide thin brim + a crown) \u2014 boxes on "head";
|
|
575
|
+
clothes: sleeves as a box slightly bigger than the arm covering its top part (short, rolled or full length, with a lighter cuff band at the bottom); a belt box around the waist; collars, hoods, scarves, vests, armour plates, pockets, backpacks;
|
|
576
|
+
shoes: a box slightly bigger than the bottom of the leg (boots ~4.5 px tall with laces drawn on the front, sneakers ~2.5 px with a white sole).
|
|
577
|
+
Overlay boxes are 0.2\u20130.6 px bigger than what they cover so they never flicker.
|
|
578
|
+
- Slim arms (3 px wide, at x = \xB15.5) look more natural for people; 4 px for strong ones.
|
|
579
|
+
- Start from the default body of the skeleton and change proportions to match the pictures: a big head for cute characters, long legs for elegant ones, a wide body for strong ones. Keep boxes on the right bones \u2014 a hat on "head", a backpack or a cape on "body", a sword hand on "armR".
|
|
580
|
+
- Use "mirror": true for every symmetric pair (arms, legs, sleeves, shoes, ears, wings) \u2014 describe the left one only.
|
|
581
|
+
- Clothes in the textures: a shirt front with a collar, a button placket and pockets; a striped t-shirt; a knitted sweater with a pattern band and a ribbed hem; trousers with a crease; shorts with skin below and socks; the belt with a buckle.
|
|
582
|
+
- The head front texture: hair on the top rows and the sides, skin elsewhere, a slightly darker chin row; the eyes, brows and mouth go into "face" (e.g. rect [0, 3, 8, 5] with 16x10 pictures): white eyes 3 texels wide with a coloured iris in the middle, brows above them, a 4-texel mouth \u2014 one picture per expression, the same size, transparent where the skin shows through.
|
|
583
|
+
- Add detail with extra boxes: hair fringe, a hood, armour plates, a crown, horns, a tail (an extra bone with role "tail").
|
|
584
|
+
- When the player sends pictures (possibly of ONE character from different angles: front, side, back) study EVERY picture: get the silhouette, proportions, colours, clothes and the face right. Pictures can be photos, drawings or 3D renders \u2014 turn them into a clean blocky version.`;
|
|
585
|
+
|
|
586
|
+
// ../characters/dist/chunk-OF4BH3JZ.js
|
|
587
|
+
var Tt = "#1f1a21";
|
|
588
|
+
var Qt2 = "currentColor";
|
|
589
|
+
function lt(s2 = {}) {
|
|
590
|
+
let t5 = s2.stroke ?? Tt, e5 = (s2.opacity !== void 0 ? ` opacity="${s2.opacity}"` : "") + (s2.holes ? ' fill-rule="evenodd"' : "");
|
|
591
|
+
return t5 === "none" ? ` stroke="none"${e5}` : ` stroke="${t5}" stroke-width="${s2.width ?? 3.6}"${e5}`;
|
|
592
|
+
}
|
|
593
|
+
var Rt = (s2, t5, e5) => `<path d="${s2}" fill="${t5}"${lt(e5)}/>`;
|
|
594
|
+
var Ft = (s2, t5, e5, n6, o6, r7) => `<ellipse cx="${s2}" cy="${t5}" rx="${e5}" ry="${n6}" fill="${o6}"${lt(r7)}/>`;
|
|
595
|
+
var te2 = (s2, t5, e5, n6, o6) => Ft(s2, t5, e5, e5, n6, o6);
|
|
596
|
+
var ee = (s2, t5, e5, n6, o6, r7, a5) => `<rect x="${s2}" y="${t5}" width="${e5}" height="${n6}" rx="${o6}" fill="${r7}"${lt(a5)}/>`;
|
|
597
|
+
var ne = (s2, t5 = Tt, e5 = 2.2) => `<path d="${s2}" fill="none" stroke="${t5}" stroke-width="${e5}"/>`;
|
|
598
|
+
var oe2 = (s2, t5, e5) => Rt(s2, t5, { stroke: "none", ...e5 !== void 0 ? { opacity: e5 } : {} });
|
|
599
|
+
var se = (s2, t5, ...e5) => `<clipPath id="${s2}"><path d="${t5}" clip-rule="evenodd"/></clipPath><g clip-path="url(#${s2})">${e5.join("")}</g>`;
|
|
600
|
+
var re = (s2, ...t5) => `<g transform="${s2}">${t5.join("")}</g>`;
|
|
601
|
+
function ie2(s2, t5) {
|
|
602
|
+
let e5 = parseInt(s2.replace("#", ""), 16), n6 = (i5) => Math.max(0, Math.min(255, Math.round(t5 < 0 ? i5 * (1 + t5) : i5 + (255 - i5) * t5))), o6 = n6(e5 >> 16 & 255), r7 = n6(e5 >> 8 & 255), a5 = n6(e5 & 255);
|
|
603
|
+
return `#${(o6 << 16 | r7 << 8 | a5).toString(16).padStart(6, "0")}`;
|
|
604
|
+
}
|
|
605
|
+
function O2(s2) {
|
|
606
|
+
let t5 = (s2 ?? "ffffffff").replace("#", "").padEnd(8, "f"), e5 = (n6) => parseInt(t5.slice(n6, n6 + 2), 16) / 255;
|
|
607
|
+
return { r: e5(0), g: e5(2), b: e5(4), a: e5(6) };
|
|
608
|
+
}
|
|
609
|
+
var L2 = Math.PI / 180;
|
|
610
|
+
var ct2 = 1e-5;
|
|
611
|
+
var ht2 = (s2) => s2 > 180 ? s2 - 360 : s2 <= -180 ? s2 + 360 : s2;
|
|
612
|
+
var I = class {
|
|
613
|
+
constructor(t5, e5) {
|
|
614
|
+
this.data = t5;
|
|
615
|
+
this.bones = t5.bones.map((n6) => e5.bones[n6.index]), this.target = e5.bones[t5.target.index], this.mix = t5.mix, this.bendDirection = t5.bendDirection;
|
|
616
|
+
}
|
|
617
|
+
data;
|
|
618
|
+
mix;
|
|
619
|
+
bendDirection;
|
|
620
|
+
bones;
|
|
621
|
+
target;
|
|
622
|
+
setupPose() {
|
|
623
|
+
this.mix = this.data.mix, this.bendDirection = this.data.bendDirection;
|
|
624
|
+
}
|
|
625
|
+
sort(t5) {
|
|
626
|
+
t5.sortBone(this.target);
|
|
627
|
+
let e5 = this.bones[0];
|
|
628
|
+
t5.sortBone(e5), t5.pushConstraint(this), e5.sorted = false, t5.sortReset(e5.children);
|
|
629
|
+
}
|
|
630
|
+
update(t5) {
|
|
631
|
+
if (this.mix === 0) return;
|
|
632
|
+
let e5 = this.target.applied;
|
|
633
|
+
this.bones.length === 1 ? Pt(t5, this.bones[0].applied, e5.worldX, e5.worldY, this.mix) : Nt(t5, this.bones[0].applied, this.bones[1].applied, e5.worldX, e5.worldY, this.bendDirection, this.mix);
|
|
634
|
+
}
|
|
635
|
+
};
|
|
636
|
+
function Pt(s2, t5, e5, n6, o6) {
|
|
637
|
+
let r7 = t5.bone.parent;
|
|
638
|
+
if (!r7) return;
|
|
639
|
+
t5.modifyLocal(s2);
|
|
640
|
+
let a5 = r7.applied, i5 = a5.a, p5 = a5.b, l = a5.c, c = a5.d, d5 = -t5.shearX - t5.rotation, h7 = i5 * c - p5 * l, u5 = e5 - a5.worldX, m5 = n6 - a5.worldY, f = (u5 * c - m5 * p5) / h7 - t5.x, b5 = (m5 * i5 - u5 * l) / h7 - t5.y;
|
|
641
|
+
d5 += Math.atan2(b5, f) / L2, t5.scaleX < 0 && (d5 += 180), t5.rotation += ht2(d5) * o6;
|
|
642
|
+
}
|
|
643
|
+
function Nt(s2, t5, e5, n6, o6, r7, a5) {
|
|
644
|
+
t5.modifyLocal(s2), e5.modifyLocal(s2);
|
|
645
|
+
let i5 = t5.x, p5 = t5.y, l = t5.scaleX, c = t5.scaleY, d5 = e5.scaleX, h7, u5, m5;
|
|
646
|
+
l < 0 ? (l = -l, h7 = 180, m5 = -1) : (h7 = 0, m5 = 1), c < 0 && (c = -c, m5 = -m5), d5 < 0 ? (d5 = -d5, u5 = 180) : u5 = 0;
|
|
647
|
+
let f = Math.abs(l - c) <= ct2, b5, y5;
|
|
648
|
+
f ? (b5 = t5.a * e5.x + t5.b * e5.y + t5.worldX, y5 = t5.c * e5.x + t5.d * e5.y + t5.worldY) : (e5.y = 0, b5 = t5.a * e5.x + t5.worldX, y5 = t5.c * e5.x + t5.worldY);
|
|
649
|
+
let x6 = t5.bone.parent;
|
|
650
|
+
if (!x6) return;
|
|
651
|
+
let g7 = x6.applied, w5 = g7.a, M2 = g7.b, st = g7.c, rt2 = g7.d, Y3 = w5 * rt2 - M2 * st, F3 = b5 - g7.worldX, N7 = y5 - g7.worldY;
|
|
652
|
+
Y3 = Math.abs(Y3) <= ct2 ? 0 : 1 / Y3;
|
|
653
|
+
let gt2 = (F3 * rt2 - N7 * M2) * Y3 - i5, xt2 = (N7 * w5 - F3 * st) * Y3 - p5, k7 = Math.sqrt(gt2 * gt2 + xt2 * xt2), P5 = e5.bone.data.length * d5;
|
|
654
|
+
if (k7 < ct2) {
|
|
655
|
+
Pt(s2, t5, n6, o6, a5), e5.rotation = 0;
|
|
656
|
+
return;
|
|
657
|
+
}
|
|
658
|
+
F3 = n6 - g7.worldX, N7 = o6 - g7.worldY;
|
|
659
|
+
let H7 = (F3 * rt2 - N7 * M2) * Y3 - i5, J5 = (N7 * w5 - F3 * st) * Y3 - p5, G5 = H7 * H7 + J5 * J5, D7 = 0, T7 = 0;
|
|
660
|
+
if (f) {
|
|
661
|
+
P5 *= l;
|
|
662
|
+
let v7 = (G5 - k7 * k7 - P5 * P5) / (2 * k7 * P5);
|
|
663
|
+
v7 < -1 ? (v7 = -1, T7 = Math.PI * r7) : v7 > 1 ? (v7 = 1, T7 = 0) : T7 = Math.acos(v7) * r7;
|
|
664
|
+
let $7 = k7 + P5 * v7, X5 = P5 * Math.sin(T7);
|
|
665
|
+
D7 = Math.atan2(J5 * $7 - H7 * X5, H7 * $7 + J5 * X5);
|
|
666
|
+
} else {
|
|
667
|
+
let v7 = l * P5, $7 = c * P5, X5 = v7 * v7, q5 = $7 * $7, it = Math.atan2(J5, H7), S7 = q5 * k7 * k7 + X5 * G5 - X5 * q5, V6 = -2 * q5 * k7, vt3 = q5 - X5, wt = V6 * V6 - 4 * vt3 * S7, St3 = false;
|
|
668
|
+
if (wt >= 0) {
|
|
669
|
+
let A5 = Math.sqrt(wt);
|
|
670
|
+
V6 < 0 && (A5 = -A5), A5 = -(V6 + A5) * 0.5;
|
|
671
|
+
let E5 = A5 / vt3, R7 = S7 / A5, B5 = Math.abs(E5) < Math.abs(R7) ? E5 : R7, W7 = G5 - B5 * B5;
|
|
672
|
+
if (W7 >= 0) {
|
|
673
|
+
let C5 = Math.sqrt(W7) * r7;
|
|
674
|
+
D7 = it - Math.atan2(C5, B5), T7 = Math.atan2(C5 / c, (B5 - k7) / l), St3 = true;
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
if (!St3) {
|
|
678
|
+
let A5 = Math.PI, E5 = k7 - v7, R7 = E5 * E5, B5 = 0, W7 = 0, C5 = k7 + v7, at2 = C5 * C5, Mt = 0;
|
|
679
|
+
if (S7 = -v7 * k7 / (X5 - q5), S7 >= -1 && S7 <= 1) {
|
|
680
|
+
S7 = Math.acos(S7);
|
|
681
|
+
let U2 = v7 * Math.cos(S7) + k7, _7 = $7 * Math.sin(S7), Z5 = U2 * U2 + _7 * _7;
|
|
682
|
+
Z5 < R7 && (A5 = S7, R7 = Z5, E5 = U2, B5 = _7), Z5 > at2 && (W7 = S7, at2 = Z5, C5 = U2, Mt = _7);
|
|
683
|
+
}
|
|
684
|
+
G5 <= (R7 + at2) * 0.5 ? (D7 = it - Math.atan2(B5 * r7, E5), T7 = A5 * r7) : (D7 = it - Math.atan2(Mt * r7, C5), T7 = W7 * r7);
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
let kt2 = Math.atan2(e5.y, e5.x) * m5;
|
|
688
|
+
D7 = ht2((D7 - kt2) / L2 + h7 - t5.rotation), T7 = ht2(((T7 + kt2) / L2 - e5.shearX) * m5 + u5 - e5.rotation), t5.rotation += D7 * a5, e5.rotation += T7 * a5;
|
|
689
|
+
}
|
|
690
|
+
var Q = class {
|
|
691
|
+
constructor(t5) {
|
|
692
|
+
this.channels = t5;
|
|
693
|
+
}
|
|
694
|
+
channels;
|
|
695
|
+
times = [];
|
|
696
|
+
values = [];
|
|
697
|
+
kinds = [];
|
|
698
|
+
samples = [];
|
|
699
|
+
get count() {
|
|
700
|
+
return this.times.length;
|
|
701
|
+
}
|
|
702
|
+
add(t5, e5) {
|
|
703
|
+
this.times.push(t5);
|
|
704
|
+
for (let n6 = 0; n6 < this.channels; n6++) this.values.push(e5[n6] ?? 0);
|
|
705
|
+
this.kinds.push(0);
|
|
706
|
+
for (let n6 = 0; n6 < this.channels; n6++) this.samples.push(null);
|
|
707
|
+
}
|
|
708
|
+
setCurve(t5, e5) {
|
|
709
|
+
if (e5 === "stepped") {
|
|
710
|
+
this.kinds[t5] = 1;
|
|
711
|
+
return;
|
|
712
|
+
}
|
|
713
|
+
if (!Array.isArray(e5) || t5 + 1 >= this.count) return;
|
|
714
|
+
this.kinds[t5] = 2;
|
|
715
|
+
let n6 = this.times[t5], o6 = this.times[t5 + 1];
|
|
716
|
+
for (let r7 = 0; r7 < this.channels; r7++) {
|
|
717
|
+
let a5 = r7 * 4;
|
|
718
|
+
if (e5.length < a5 + 4) continue;
|
|
719
|
+
let i5 = this.values[t5 * this.channels + r7], p5 = this.values[(t5 + 1) * this.channels + r7];
|
|
720
|
+
this.samples[t5 * this.channels + r7] = qt2(n6, i5, Number(e5[a5]), Number(e5[a5 + 1]), Number(e5[a5 + 2]), Number(e5[a5 + 3]), o6, p5);
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
keyAt(t5) {
|
|
724
|
+
let e5 = this.times;
|
|
725
|
+
if (!e5.length || t5 < e5[0]) return -1;
|
|
726
|
+
let n6 = 0, o6 = e5.length - 1;
|
|
727
|
+
for (; n6 < o6; ) {
|
|
728
|
+
let r7 = n6 + o6 + 1 >> 1;
|
|
729
|
+
e5[r7] <= t5 ? n6 = r7 : o6 = r7 - 1;
|
|
730
|
+
}
|
|
731
|
+
return n6;
|
|
732
|
+
}
|
|
733
|
+
value(t5, e5 = 0) {
|
|
734
|
+
let n6 = Math.max(0, this.keyAt(t5)), o6 = this.channels, r7 = this.values[n6 * o6 + e5];
|
|
735
|
+
if (n6 + 1 >= this.count) return r7;
|
|
736
|
+
let a5 = this.kinds[n6];
|
|
737
|
+
if (a5 === 1) return r7;
|
|
738
|
+
let i5 = this.times[n6], p5 = this.times[n6 + 1], l = this.values[(n6 + 1) * o6 + e5], c = this.samples[n6 * o6 + e5];
|
|
739
|
+
if (a5 !== 2 || !c) return r7 + (t5 - i5) / (p5 - i5) * (l - r7);
|
|
740
|
+
if (c[0] > t5) return r7 + (t5 - i5) / (c[0] - i5) * (c[1] - r7);
|
|
741
|
+
for (let u5 = 2; u5 < 18; u5 += 2) if (c[u5] >= t5) {
|
|
742
|
+
let m5 = c[u5 - 2], f = c[u5 - 1];
|
|
743
|
+
return f + (t5 - m5) / (c[u5] - m5) * (c[u5 + 1] - f);
|
|
744
|
+
}
|
|
745
|
+
let d5 = c[16], h7 = c[17];
|
|
746
|
+
return h7 + (t5 - d5) / (p5 - d5) * (l - h7);
|
|
747
|
+
}
|
|
748
|
+
};
|
|
749
|
+
function qt2(s2, t5, e5, n6, o6, r7, a5, i5) {
|
|
750
|
+
let p5 = new Float32Array(18);
|
|
751
|
+
for (let l = 1; l <= 9; l++) {
|
|
752
|
+
let c = l / 10, d5 = 1 - c, h7 = d5 * d5 * d5, u5 = 3 * d5 * d5 * c, m5 = 3 * d5 * c * c, f = c * c * c;
|
|
753
|
+
p5[(l - 1) * 2] = h7 * s2 + u5 * e5 + m5 * o6 + f * a5, p5[(l - 1) * 2 + 1] = h7 * t5 + u5 * n6 + m5 * r7 + f * i5;
|
|
754
|
+
}
|
|
755
|
+
return p5;
|
|
756
|
+
}
|
|
757
|
+
var It = (s2, t5) => s2.bone !== void 0 && t5.bones.has(s2.bone) || s2.slot !== void 0 && t5.slots.has(s2.slot);
|
|
758
|
+
var dt2 = class {
|
|
759
|
+
constructor(t5, e5, n6, o6) {
|
|
760
|
+
this.name = t5;
|
|
761
|
+
this.duration = e5;
|
|
762
|
+
this.timelines = n6;
|
|
763
|
+
this.events = o6;
|
|
764
|
+
}
|
|
765
|
+
name;
|
|
766
|
+
duration;
|
|
767
|
+
timelines;
|
|
768
|
+
events;
|
|
769
|
+
apply(t5, e5) {
|
|
770
|
+
for (let n6 of this.timelines) n6.apply(t5, e5);
|
|
771
|
+
}
|
|
772
|
+
applyOnly(t5, e5, n6) {
|
|
773
|
+
for (let o6 of this.timelines) It(o6, n6) && o6.apply(t5, e5);
|
|
774
|
+
}
|
|
775
|
+
touches(t5) {
|
|
776
|
+
return this.timelines.some((e5) => It(e5, t5));
|
|
777
|
+
}
|
|
778
|
+
};
|
|
779
|
+
var ut2 = class {
|
|
780
|
+
constructor(t5, e5, n6) {
|
|
781
|
+
this.bone = t5;
|
|
782
|
+
this.keys = e5;
|
|
783
|
+
this.props = n6;
|
|
784
|
+
}
|
|
785
|
+
bone;
|
|
786
|
+
keys;
|
|
787
|
+
props;
|
|
788
|
+
apply(t5, e5) {
|
|
789
|
+
if (this.keys.keyAt(e5) < 0) return;
|
|
790
|
+
let n6 = t5.bones[this.bone], o6 = n6.pose, r7 = n6.data;
|
|
791
|
+
this.props.forEach((a5, i5) => {
|
|
792
|
+
let p5 = this.keys.value(e5, i5);
|
|
793
|
+
switch (a5) {
|
|
794
|
+
case "rotate":
|
|
795
|
+
o6.rotation = r7.rotation + p5;
|
|
796
|
+
break;
|
|
797
|
+
case "x":
|
|
798
|
+
o6.x = r7.x + p5;
|
|
799
|
+
break;
|
|
800
|
+
case "y":
|
|
801
|
+
o6.y = r7.y + p5;
|
|
802
|
+
break;
|
|
803
|
+
case "scaleX":
|
|
804
|
+
o6.scaleX = r7.scaleX * p5;
|
|
805
|
+
break;
|
|
806
|
+
case "scaleY":
|
|
807
|
+
o6.scaleY = r7.scaleY * p5;
|
|
808
|
+
break;
|
|
809
|
+
}
|
|
810
|
+
});
|
|
811
|
+
}
|
|
812
|
+
};
|
|
813
|
+
var tt = class {
|
|
814
|
+
constructor(t5, e5, n6) {
|
|
815
|
+
this.slot = t5;
|
|
816
|
+
this.keys = e5;
|
|
817
|
+
this.channels = n6;
|
|
818
|
+
}
|
|
819
|
+
slot;
|
|
820
|
+
keys;
|
|
821
|
+
channels;
|
|
822
|
+
apply(t5, e5) {
|
|
823
|
+
if (this.keys.keyAt(e5) < 0) return;
|
|
824
|
+
let n6 = t5.slots[this.slot].color;
|
|
825
|
+
this.channels.forEach((o6, r7) => n6[o6] = this.keys.value(e5, r7));
|
|
826
|
+
}
|
|
827
|
+
};
|
|
828
|
+
var mt2 = class {
|
|
829
|
+
constructor(t5, e5, n6) {
|
|
830
|
+
this.slot = t5;
|
|
831
|
+
this.times = e5;
|
|
832
|
+
this.names = n6;
|
|
833
|
+
}
|
|
834
|
+
slot;
|
|
835
|
+
times;
|
|
836
|
+
names;
|
|
837
|
+
apply(t5, e5) {
|
|
838
|
+
if (e5 < this.times[0]) return;
|
|
839
|
+
let n6 = 0;
|
|
840
|
+
for (; n6 + 1 < this.times.length && this.times[n6 + 1] <= e5; ) n6++;
|
|
841
|
+
t5.slots[this.slot].attachmentKey = this.names[n6];
|
|
842
|
+
}
|
|
843
|
+
};
|
|
844
|
+
var ft2 = class {
|
|
845
|
+
constructor(t5, e5, n6) {
|
|
846
|
+
this.constraint = t5;
|
|
847
|
+
this.keys = e5;
|
|
848
|
+
this.bends = n6;
|
|
849
|
+
}
|
|
850
|
+
constraint;
|
|
851
|
+
keys;
|
|
852
|
+
bends;
|
|
853
|
+
apply(t5, e5) {
|
|
854
|
+
let n6 = this.keys.keyAt(e5);
|
|
855
|
+
if (n6 < 0) return;
|
|
856
|
+
let o6 = t5.constraints[this.constraint];
|
|
857
|
+
o6 instanceof I && (o6.mix = this.keys.value(e5, 0), o6.bendDirection = this.bends[n6]);
|
|
858
|
+
}
|
|
859
|
+
};
|
|
860
|
+
function z(s2, t5, e5) {
|
|
861
|
+
let n6 = new Q(t5);
|
|
862
|
+
for (let o6 of s2) n6.add(o6.time ?? 0, e5(o6));
|
|
863
|
+
return s2.forEach((o6, r7) => n6.setCurve(r7, o6.curve)), n6;
|
|
864
|
+
}
|
|
865
|
+
var Wt = { rotate: { props: ["rotate"], read: (s2) => [s2.value ?? 0] }, translate: { props: ["x", "y"], read: (s2) => [s2.x ?? 0, s2.y ?? 0] }, translatex: { props: ["x"], read: (s2) => [s2.value ?? 0] }, translatey: { props: ["y"], read: (s2) => [s2.value ?? 0] }, scale: { props: ["scaleX", "scaleY"], read: (s2) => [s2.x ?? 1, s2.y ?? 1] }, scalex: { props: ["scaleX"], read: (s2) => [s2.value ?? 1] }, scaley: { props: ["scaleY"], read: (s2) => [s2.value ?? 1] } };
|
|
866
|
+
function Yt(s2, t5, e5) {
|
|
867
|
+
let n6 = [], o6 = 0, r7 = (i5) => {
|
|
868
|
+
for (let p5 of i5) o6 = Math.max(o6, p5.time ?? 0);
|
|
869
|
+
};
|
|
870
|
+
for (let [i5, p5] of Object.entries(t5.bones ?? {})) {
|
|
871
|
+
let l = e5.bone(i5).index;
|
|
872
|
+
for (let [c, d5] of Object.entries(p5)) {
|
|
873
|
+
let h7 = Wt[c];
|
|
874
|
+
!h7 || !d5.length || (r7(d5), n6.push(new ut2(l, z(d5, h7.props.length, h7.read), h7.props)));
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
for (let [i5, p5] of Object.entries(t5.slots ?? {})) {
|
|
878
|
+
let l = e5.slot(i5).index;
|
|
879
|
+
for (let [c, d5] of Object.entries(p5)) if (d5.length) if (r7(d5), c === "attachment") n6.push(new mt2(l, d5.map((h7) => h7.time ?? 0), d5.map((h7) => h7.name ?? null)));
|
|
880
|
+
else if (c === "rgba" || c === "rgb") {
|
|
881
|
+
let h7 = c === "rgba" ? ["r", "g", "b", "a"] : ["r", "g", "b"], u5 = z(d5, h7.length, (m5) => {
|
|
882
|
+
let f = O2(m5.color);
|
|
883
|
+
return h7.map((b5) => f[b5]);
|
|
884
|
+
});
|
|
885
|
+
n6.push(new tt(l, u5, [...h7]));
|
|
886
|
+
} else c === "alpha" && n6.push(new tt(l, z(d5, 1, (h7) => [h7.value ?? 0]), ["a"]));
|
|
887
|
+
}
|
|
888
|
+
for (let [i5, p5] of Object.entries(t5.ik ?? {})) {
|
|
889
|
+
let l = e5.constraints.find((c) => c.type === "ik" && c.name === i5);
|
|
890
|
+
!l || !p5.length || (r7(p5), n6.push(new ft2(l.index, z(p5, 1, (c) => [c.mix ?? 1]), p5.map((c) => c.bendPositive === false ? -1 : 1))));
|
|
891
|
+
}
|
|
892
|
+
let a5 = (t5.events ?? []).map((i5) => ({ time: i5.time ?? 0, name: i5.name }));
|
|
893
|
+
for (let i5 of a5) o6 = Math.max(o6, i5.time);
|
|
894
|
+
return new dt2(s2, o6, n6, a5);
|
|
895
|
+
}
|
|
896
|
+
function ve2(s2) {
|
|
897
|
+
let t5 = [], e5 = /* @__PURE__ */ new Map();
|
|
898
|
+
for (let h7 of s2.bones) {
|
|
899
|
+
let u5 = h7.parent ? e5.get(h7.parent) ?? null : null, m5 = { index: t5.length, name: h7.name, parent: u5, children: [], length: h7.length ?? 0, x: h7.x ?? 0, y: h7.y ?? 0, rotation: h7.rotation ?? 0, scaleX: h7.scaleX ?? 1, scaleY: h7.scaleY ?? 1 };
|
|
900
|
+
u5?.children.push(m5), t5.push(m5), e5.set(m5.name, m5);
|
|
901
|
+
}
|
|
902
|
+
let n6 = (h7) => {
|
|
903
|
+
let u5 = e5.get(h7);
|
|
904
|
+
if (!u5) throw new Error(`no bone ${h7}`);
|
|
905
|
+
return u5;
|
|
906
|
+
}, o6 = [], r7 = /* @__PURE__ */ new Map();
|
|
907
|
+
for (let h7 of s2.slots) {
|
|
908
|
+
let u5 = { index: o6.length, name: h7.name, bone: n6(h7.bone), attachment: h7.attachment ?? null, color: O2(h7.color) };
|
|
909
|
+
o6.push(u5), r7.set(u5.name, u5);
|
|
910
|
+
}
|
|
911
|
+
let a5 = (h7) => {
|
|
912
|
+
let u5 = r7.get(h7);
|
|
913
|
+
if (!u5) throw new Error(`no slot ${h7}`);
|
|
914
|
+
return u5;
|
|
915
|
+
}, i5 = [];
|
|
916
|
+
for (let h7 of s2.constraints ?? []) if (h7.type === "ik") i5.push({ type: "ik", index: i5.length, name: h7.name, bones: h7.bones.map(n6), target: n6(h7.target), mix: h7.mix ?? 1, bendDirection: h7.bendPositive === false ? -1 : 1 });
|
|
917
|
+
else if (h7.type === "transform") {
|
|
918
|
+
let u5 = [], m5 = /* @__PURE__ */ new Set();
|
|
919
|
+
for (let [y5, x6] of Object.entries(h7.properties ?? {})) {
|
|
920
|
+
let g7 = [];
|
|
921
|
+
for (let [w5, M2] of Object.entries(x6.to ?? {})) m5.add(w5), g7.push({ prop: w5, offset: M2.offset ?? 0, max: M2.max ?? 1, scale: M2.scale ?? 1 });
|
|
922
|
+
g7.length && u5.push({ prop: y5, offset: x6.offset ?? 0, to: g7 });
|
|
923
|
+
}
|
|
924
|
+
let f = h7.mixX ?? 1, b5 = h7.mixScaleX ?? 1;
|
|
925
|
+
i5.push({ type: "transform", index: i5.length, name: h7.name, source: n6(h7.source), bones: h7.bones.map(n6), offsets: { rotate: h7.rotation ?? 0, x: h7.x ?? 0, y: h7.y ?? 0, scaleX: h7.scaleX ?? 0, scaleY: h7.scaleY ?? 0, shearY: h7.shearY ?? 0 }, mix: { rotate: m5.has("rotate") ? h7.mixRotate ?? 1 : 0, x: m5.has("x") ? f : 0, y: m5.has("y") ? h7.mixY ?? f : 0, scaleX: m5.has("scaleX") ? b5 : 0, scaleY: m5.has("scaleY") ? h7.mixScaleY ?? b5 : 0, shearY: m5.has("shearY") ? h7.mixShearY ?? 1 : 0 }, properties: u5 });
|
|
926
|
+
}
|
|
927
|
+
let p5 = /* @__PURE__ */ new Map(), l = [], c = [];
|
|
928
|
+
for (let h7 of s2.skins) {
|
|
929
|
+
let u5 = { name: h7.name, attachments: /* @__PURE__ */ new Map() };
|
|
930
|
+
for (let [m5, f] of Object.entries(h7.attachments ?? {})) {
|
|
931
|
+
let b5 = a5(m5).index, y5 = /* @__PURE__ */ new Map();
|
|
932
|
+
u5.attachments.set(b5, y5);
|
|
933
|
+
for (let [x6, g7] of Object.entries(f)) {
|
|
934
|
+
let w5 = g7.type ?? "region";
|
|
935
|
+
w5 === "linkedmesh" ? c.push({ skin: u5, slot: b5, key: x6, a: g7 }) : y5.set(x6, Kt(x6, g7, w5));
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
p5.set(u5.name, u5), l.push(u5.name);
|
|
939
|
+
}
|
|
940
|
+
for (let { skin: h7, slot: u5, key: m5, a: f } of c) {
|
|
941
|
+
let y5 = (p5.get(f.skin ?? "default") ?? h7).attachments.get(u5)?.get(f.source ?? f.parent);
|
|
942
|
+
if (!y5 || y5.type !== "mesh") throw new Error(`linked mesh ${h7.name}/${m5}: no source mesh`);
|
|
943
|
+
h7.attachments.get(u5).set(m5, { ...y5, key: m5, path: f.path ?? f.name ?? m5, width: f.width ?? y5.width, height: f.height ?? y5.height, color: O2(f.color) });
|
|
944
|
+
}
|
|
945
|
+
let d5 = { width: s2.skeleton?.width ?? 0, height: s2.skeleton?.height ?? 0, x: s2.skeleton?.x ?? 0, y: s2.skeleton?.y ?? 0, bones: t5, slots: o6, constraints: i5, skins: p5, skinOrder: l, animations: /* @__PURE__ */ new Map(), events: Object.keys(s2.events ?? {}), bone: n6, slot: a5 };
|
|
946
|
+
for (let [h7, u5] of Object.entries(s2.animations ?? {})) d5.animations.set(h7, Yt(h7, u5, d5));
|
|
947
|
+
return d5;
|
|
948
|
+
}
|
|
949
|
+
function Kt(s2, t5, e5) {
|
|
950
|
+
let n6 = t5.path ?? t5.name ?? s2;
|
|
951
|
+
if (e5 === "mesh") {
|
|
952
|
+
let o6 = Float32Array.from(t5.uvs), r7 = o6.length / 2, a5 = t5.vertices;
|
|
953
|
+
return { type: "mesh", key: s2, path: n6, uvs: o6, triangles: Uint16Array.from(t5.triangles), vertices: Float32Array.from(a5), weighted: a5.length > o6.length, vertexCount: r7, width: t5.width ?? 0, height: t5.height ?? 0, color: O2(t5.color) };
|
|
954
|
+
}
|
|
955
|
+
return { type: "region", key: s2, path: n6, x: t5.x ?? 0, y: t5.y ?? 0, rotation: t5.rotation ?? 0, scaleX: t5.scaleX ?? 1, scaleY: t5.scaleY ?? 1, width: t5.width ?? 0, height: t5.height ?? 0, color: O2(t5.color) };
|
|
956
|
+
}
|
|
957
|
+
var Dt2 = /* @__PURE__ */ new WeakMap();
|
|
958
|
+
function we(s2) {
|
|
959
|
+
let t5 = Dt2.get(s2);
|
|
960
|
+
if (t5) return t5;
|
|
961
|
+
t5 = /* @__PURE__ */ new Map();
|
|
962
|
+
for (let e5 of s2.skins.values()) for (let n6 of e5.attachments.values()) for (let o6 of n6.values()) t5.has(o6.path) || t5.set(o6.path, { w: o6.width, h: o6.height });
|
|
963
|
+
return Dt2.set(s2, t5), t5;
|
|
964
|
+
}
|
|
965
|
+
var j3 = Math.PI / 180;
|
|
966
|
+
var Et = Math.PI / 180;
|
|
967
|
+
var jt2 = new Float32Array([0, 1, 0, 0, 1, 0, 1, 1]);
|
|
968
|
+
var Gt2 = new Uint16Array([0, 1, 2, 2, 3, 0]);
|
|
969
|
+
|
|
970
|
+
// ../characters/dist/rig2d/index.js
|
|
971
|
+
var L1 = "#ffffff";
|
|
972
|
+
var N0 = { "skin/1_head": { svg: Rt("M 4 50 C 3 22 20 3 52 3 C 75 3 89 16 91 44 C 96 45 99 51 99 58 C 99 65 94 70 88 70 C 85 70 83 69 82 68 C 78 80 66 87 48 87 L 24 87 C 10 87 4 78 4 66 Z", L1) + ne("M 81 48 C 82 47 84 46 86 46 M 81 67 C 82 68 83 69 85 69 M 83 54 C 85 52 88 51 91 52", "#1f1a21", 3) }, "skin/1_torso": { svg: oe2("M 2 47 L 2 22 C 2 18 3 16 5 14 C 15 4 60 2 68 10 C 72 14 75 20 75 28 L 75 47 Z", L1) + se("torso", "M 2 47 L 2 22 C 2 18 3 16 5 14 C 15 4 60 2 68 10 C 72 14 75 20 75 28 L 75 47 Z", '<ellipse cx="37" cy="13" rx="31" ry="15" fill="#cfcfcf"/>') }, "skin/1_arm_near": { svg: Rt("M 11.5 2.5 C 17 2.5 20 5 20 11 L 19.5 61 C 19.5 67 16 70 11 70 C 6 70 3 67 3 61 L 3 11 C 3 5 6 2.5 11.5 2.5 Z", L1) }, "skin/1_arm_far": { svg: Rt("M 19 3.5 C 23.5 3.5 26 6.5 25.5 12 L 19.5 61 C 18.5 66.5 15 69 10 68.8 C 5.5 68.5 3.2 65 3.6 60 L 11 11 C 12 5 15 3 19 3 Z", L1) }, "skin/1_leg": { svg: Rt("M 5 2.5 L 24 2.5 L 24 47 C 24 51 21 53 16 53 L 8 53 C 3.5 53 2 50 3 47 C 4 44 6 43 6 40 Z", L1) } };
|
|
973
|
+
var X = (a5, e5, o6, r7 = 0, L6 = 0.45) => {
|
|
974
|
+
let C5 = [];
|
|
975
|
+
for (let i5 = 0; i5 < 10; i5++) {
|
|
976
|
+
let h7 = (i5 * 36 + r7 - 90) * Math.PI / 180, p5 = i5 % 2 ? o6 * L6 : o6;
|
|
977
|
+
C5.push(`${(a5 + Math.cos(h7) * p5).toFixed(1)} ${(e5 + Math.sin(h7) * p5).toFixed(1)}`);
|
|
978
|
+
}
|
|
979
|
+
return `M ${C5.join(" L ")} Z`;
|
|
980
|
+
};
|
|
981
|
+
var K2 = (a$1, e5 = Tt, o6 = 2.2, r7 = "5 4") => `<path d="${a$1}" fill="none" stroke="${e5}" stroke-width="${o6}" stroke-dasharray="${r7}"/>`;
|
|
982
|
+
var j0 = (a$1, e5, o6, r7 = Tt, L6 = 3.2) => `<path d="M ${a$1 + o6 * 0.55} ${e5 - o6 * 0.55} C ${a$1 + o6 * 0.3} ${e5 - o6 * 0.85} ${a$1 - o6 * 0.6} ${e5 - o6 * 0.8} ${a$1 - o6 * 0.6} ${e5 - o6 * 0.3} C ${a$1 - o6 * 0.6} ${e5 + o6 * 0.15} ${a$1 + o6 * 0.6} ${e5 - o6 * 0.05} ${a$1 + o6 * 0.6} ${e5 + o6 * 0.4} C ${a$1 + o6 * 0.6} ${e5 + o6 * 0.85} ${a$1 - o6 * 0.3} ${e5 + o6 * 0.9} ${a$1 - o6 * 0.6} ${e5 + o6 * 0.55} M ${a$1} ${e5 - o6} L ${a$1} ${e5 + o6}" fill="none" stroke="${r7}" stroke-width="${L6}"/>`;
|
|
983
|
+
var n2 = "M 4 29 C 3 18 6 8 13 5 C 20 3 25 8 29 16 C 31 21 33 26 32 29 C 24 32 12 32 4 29 Z";
|
|
984
|
+
var L22 = "M 3 24 C 6 14 12 5 20 3 C 26 2 30 6 31 12 L 31 30 C 26 32 18 33 9 31 C 4 30 2 27 3 24 Z";
|
|
985
|
+
var x2 = (a5, e5, o6, r7 = "") => Rt(e5, o6, { stroke: "none" }) + se(a5, e5, r7) + Rt(e5, "none");
|
|
986
|
+
var Z1 = (a$1, e5, o6, r7, L6 = "") => Rt(e5, o6, { stroke: "none" }) + se(a$1, e5, L6, ee(-1, r7, 40, 20, 0, ie2(o6, 0.12), { stroke: "none" }), ne(`M -1 ${r7} L 40 ${r7}`, Tt, 2.6)) + Rt(e5, "none");
|
|
987
|
+
var R2 = "M 14 3 C 22 2.5 27.5 6 27.5 14 L 25 50 L 23.5 58 C 23.2 60 22 61 20 61 L 6.5 61 C 4.5 61 3.5 60 3.5 58 L 3.5 13 C 3.5 6 7 3.2 14 3 Z";
|
|
988
|
+
var T2 = "M 11.5 3.5 C 16 2.5 26 2.5 29 5 C 30.5 7 30 12 29.5 17 L 26 36 L 23.8 58 C 23.6 60 22.5 60.5 21 60.5 L 5 60.5 C 3.5 60.5 2.8 59.5 2.8 58 L 2.8 36 L 6 20 C 7 12 8.5 6 11.5 3.5 Z";
|
|
989
|
+
var z2 = "M 13 3 C 20 2.5 25 6 25 13 L 23.5 52 C 23.3 54 22 55 20 55 L 6 55 C 4 55 3 54 3 52 L 3 12 C 3 6 6.5 3.2 13 3 Z";
|
|
990
|
+
var V = "M 12 3.5 C 17 2.5 26 2.5 28.5 5 C 30 7 29.5 12 29 17 L 27.8 36 L 25.5 54 C 25.2 55.6 24 56 22.5 55.9 L 5 53.8 C 3.4 53.6 2.6 52.6 2.6 51 L 2.6 34 L 7 17 C 8 10 9 6 12 3.5 Z";
|
|
991
|
+
var z1 = "#f0f0f0";
|
|
992
|
+
var V1 = "M 4 4 C 20 4 30 5.5 41 5.5 C 52 5.5 62 4 78 3.5 L 79 30 C 66 32.5 54 34 41 34 C 28 34 16 32.5 4 30 Z";
|
|
993
|
+
var k22 = (a5, e5, o6, r7, L6, C5) => {
|
|
994
|
+
let i5 = "";
|
|
995
|
+
for (let h7 = a5 + L6 / 2; h7 < o6; h7 += L6) i5 += `M ${h7} ${e5} L ${h7} ${r7} `;
|
|
996
|
+
for (let h7 = e5 + L6 / 2; h7 < r7; h7 += L6) i5 += `M ${a5} ${h7} L ${o6} ${h7} `;
|
|
997
|
+
return ne(i5, C5, L6 * 0.42);
|
|
998
|
+
};
|
|
999
|
+
var C1 = "#e2404f";
|
|
1000
|
+
var Y1 = "#b42a3a";
|
|
1001
|
+
var X1 = "M 4 62 L 4 32 C 5 18 12 8 24 3 C 20 12 20 20 24 26 C 30 32 40 33 48 32 C 56 30 60 24 60 18 L 60 2 C 70 6 80 12 82 20 C 84 30 84 50 83 62 C 60 65 26 65 4 62 Z";
|
|
1002
|
+
var J1 = "M 8 22 C 12 10 24 4 40 3 C 58 2 76 8 82 18 C 85 30 85 44 85 60 L 85 72 C 85 75 83 77 79 77 L 6 77 C 3 77 2 75 2 72 L 3 60 C 4 46 5 34 8 22 Z M 25 11 C 34 9 48 8 57 9 C 52 18 44 26 34 32 C 30 24 26 18 25 11 Z";
|
|
1003
|
+
var q1 = "M 10 30 C 8 12 22 4 46 3 C 70 3 84 10 83 26 C 86 40 88 56 87 70 C 87 76 84 80 80 81 L 80 83 C 80 84 78 85.5 75 85.5 L 14 85.5 C 10 85.5 8 84 9 81 C 5 79 2 75 3 68 C 3 52 6 40 10 30 Z M 23 14 C 34 11 50 11 61 14 C 54 22 44 28 36 32 C 30 26 26 20 23 14 Z";
|
|
1004
|
+
var e4 = "M 3 58 L 5 30 C 7 18 13 10 21 5 C 22 18 28 28 34 34 C 42 26 50 16 60 3 C 72 5 81 12 84 24 C 86 36 86 48 85 60 C 85 65 81 69 76 69 L 9 69 C 5 69 3 64 3 58 Z";
|
|
1005
|
+
var I2 = "M 4 34 L 4 14 C 4 6 9 3 15 3 C 21 3 25 6 25 14 L 25 34 Z";
|
|
1006
|
+
var N2 = "M 4 33 C 3 22 6 6 15 3 C 22 2 26 6 25.5 14 L 24 34 C 16 36 9 35 4 33 Z";
|
|
1007
|
+
var C6 = "M 4 33 C 3 20 8 6 18 3.5 C 26 2 31 8 31 16 L 30 33 C 22 35 12 35 4 33 Z";
|
|
1008
|
+
var f6 = "M 3 31 C 3 18 8 5 17 3 C 25 2 30 8 30 16 L 30 32 C 22 34 11 34 3 31 Z";
|
|
1009
|
+
var G0 = "M 14 3 C 22 2.5 27.5 6 27.5 14 L 27.5 53 C 27.5 55.5 26 56 24 56 L 6 56 C 4 56 3.3 55 3.3 53 L 3.3 13 C 3.3 6 7 3.2 14 3 Z";
|
|
1010
|
+
var W0 = "M 14 3.5 C 20 2.5 28 2.5 30.5 5 C 31 8 31 12 31 16 L 31 53 C 31 55.5 29.5 56 27.5 56 L 6 56 C 4.5 56 3.5 55 3.5 53 L 4 34 L 9 16 C 10 9 11 6 14 3.5 Z";
|
|
1011
|
+
var m2 = (a5, e5, o6, r7 = "", L6 = "") => Rt(e5, o6, { stroke: "none", holes: true }) + se(a5, e5, r7) + (L6 ? Rt(e5, "none", { holes: true }) + se(`${a5}_on`, e5, L6) : "") + Rt(e5, "none", { holes: true });
|
|
1012
|
+
var E2 = (a$1, e5, o6, r7, L6, C5 = "") => Rt(e5, o6, { stroke: "none" }) + se(a$1, e5, C5, ee(-1, r7, 40, 20, 0, L6, { stroke: "none" }), ne(`M -1 ${r7} L 40 ${r7}`, Tt, 2.6)) + Rt(e5, "none");
|
|
1013
|
+
var F0 = (a$1, e5, o6, r7, L6, C5) => m2(a$1, e5, o6, k22(0, 0, 90, 90, 10, r7) + ne("M 42 30 L 42 66", Tt, 2.4) + oe2("M 0 64 L 90 64 L 90 76 L 0 76 Z", L6) + ne("M 0 64 L 90 64", Tt, 2.6), Rt("M 22 4 C 26 14 32 22 40 28 L 34 34 C 26 28 20 18 22 4 Z", "#f4f4f8", { width: 2.6 }) + Rt("M 62 4 C 58 14 52 22 44 28 L 50 34 C 58 28 64 18 62 4 Z", "#f4f4f8", { width: 2.6 }) + ee(34, 63, 14, 13, 2, C5, { width: 2.6 }) + ee(6, 64, 8, 10, 1, C5, { width: 2.2 }));
|
|
1014
|
+
var K0 = "M 3 4 L 76 3 C 78 16 62 23 40 23 C 18 23 2 16 3 4 Z";
|
|
1015
|
+
var a4 = { short: "M 6 3 L 19 3 C 21 3 22 4 22 6 L 22 22 C 22 24 21 25 19 25 L 6 25 C 4 25 3 24 3 22 L 3 6 C 3 4 4 3 6 3 Z", long: "M 6 3 L 19 3 C 21 3 22 4 22 6 L 22 35 C 22 37 21 38 19 38 L 6 38 C 4 38 3 37 3 35 L 3 6 C 3 4 4 3 6 3 Z", long40: "M 6 3 L 19 3 C 21 3 22 4 22 6 L 22 34 C 22 36 21 37 19 37 L 6 37 C 4 37 3 36 3 34 L 3 6 C 3 4 4 3 6 3 Z", wide: "M 6 3 L 25 3 C 27 3 28 4 28 6 L 28 22 C 28 24 27 25 25 25 L 6 25 C 4 25 3 24 3 22 L 3 6 C 3 4 4 3 6 3 Z", flareR: "M 7 3.5 L 28 3.5 L 30.5 22.5 L 32.5 38.5 L 13.5 38.6 L 4 36 L 7 25 Z", flareL: "M 6.5 4 L 29 4 L 32.3 23 L 34.5 38.8 L 14.5 39.4 L 3.8 38.4 L 6.5 25.6 Z" };
|
|
1016
|
+
var c2 = { a: "M 89.4 20.5 L 89.4 28.7 L 75.7 34.7 L 60.5 37.4 L 46 37.4 L 30.7 37.4 L 15.5 35.5 L 2.6 32 L 2.6 20.3 L 7.3 2.7 L 25.8 3.7 L 45.6 4.5 L 65.2 3.5 L 82.6 2.7 Z", b: "M 89.4 21.8 L 89.4 28 L 75.8 35.2 L 61.1 37.4 L 46 37.4 L 32 37.4 L 16.4 35.2 L 2.6 31.6 L 2.6 22.2 L 8.3 2.6 L 23 2.6 L 46 2.6 L 69 2.6 L 82.6 2.6 Z", c: "M 89.4 22.3 L 89.4 28.8 L 75.8 36.1 L 61.1 38.4 L 46 38.4 L 32 38.4 L 16.4 36.2 L 2.6 32.5 L 2.6 22.8 L 8.3 2.6 L 23 2.6 L 46 2.6 L 69 2.6 L 82.6 2.6 Z", tall: "M 90.4 17.8 L 90.4 43.4 L 77.4 43.4 L 61.8 43.4 L 46.5 43.4 L 31.9 43.4 L 12.7 43.4 L 2.6 43.4 L 2.6 19.9 L 7.9 2.6 L 23.3 2.6 L 46.5 2.6 L 69.7 2.6 L 83.3 2.6 Z", tutu: "M 85.4 20.2 L 85.4 26.9 L 73.3 34.6 L 58.3 37.4 L 44 37.4 L 29.2 37.4 L 14.7 36.2 L 2.6 27.9 L 2.6 20.1 L 3.8 2.8 L 22 2.6 L 44 2.6 L 66 2.6 L 83.2 2.7 Z", pleat: "M 89.4 20 L 89.4 28 L 75.7 33.8 L 60.5 36.4 L 46 36.4 L 30.7 36.4 L 15.5 34.5 L 2.6 31.1 L 2.6 19.8 L 7.3 2.7 L 25.8 3.7 L 45.6 4.4 L 65.2 3.5 L 82.7 2.7 Z", layer: "M 93.4 15.7 L 93.4 28.2 L 79.1 33.4 L 63.2 33.4 L 48 33.4 L 32 33.4 L 16.3 33.4 L 2.6 31.1 L 2.6 15.5 L 8.9 2.7 L 29.1 4.5 L 48.3 4.3 L 68.1 3.8 L 84.7 2.7 Z", layer2: "M 93.4 16.5 L 93.4 29.9 L 79.1 35.4 L 63.2 35.4 L 48 35.4 L 32 35.4 L 16.3 35.4 L 2.6 32.9 L 2.6 16.3 L 9 2.8 L 29.1 4.6 L 48.3 4.4 L 68.1 3.9 L 84.6 2.7 Z" };
|
|
1017
|
+
var i2 = (a5, e5, o6, r7 = "") => Rt(e5, o6, { stroke: "none" }) + se(a5, e5, r7) + Rt(e5, "none");
|
|
1018
|
+
var S22 = (a5, e5, o6, r7, L6) => {
|
|
1019
|
+
let C5 = "";
|
|
1020
|
+
for (let i5 = o6 / 2, h7 = 0; i5 < e5; i5 += o6, h7++) for (let p5 = h7 % 2 ? o6 : o6 / 2; p5 < a5; p5 += o6) C5 += te2(p5, i5, r7, L6, { stroke: "none" });
|
|
1021
|
+
return C5;
|
|
1022
|
+
};
|
|
1023
|
+
var w1 = (a5, e5) => oe2(`M 0 ${e5 * 0.3} C ${a5 * 0.15} ${e5 * 0.1} ${a5 * 0.3} ${e5 * 0.5} ${a5 * 0.25} ${e5 * 0.8} L 0 ${e5} Z`, "#3e5428") + oe2(`M ${a5 * 0.45} 0 C ${a5 * 0.6} ${e5 * 0.2} ${a5 * 0.55} ${e5 * 0.6} ${a5 * 0.4} ${e5 * 0.55} C ${a5 * 0.3} ${e5 * 0.4} ${a5 * 0.35} ${e5 * 0.1} ${a5 * 0.45} 0 Z`, "#a8b860") + oe2(`M ${a5 * 0.7} ${e5 * 0.4} C ${a5 * 0.85} ${e5 * 0.3} ${a5} ${e5 * 0.5} ${a5} ${e5 * 0.8} L ${a5 * 0.7} ${e5} C ${a5 * 0.6} ${e5 * 0.8} ${a5 * 0.6} ${e5 * 0.5} ${a5 * 0.7} ${e5 * 0.4} Z`, "#2e4220");
|
|
1024
|
+
var j22 = (a5, e5) => e5.map(([o6, r7]) => Rt(`M ${o6} ${r7} L ${o6 + 4} ${r7 - 2} L ${o6 + 6} ${r7 + 2} L ${o6 + 3} ${r7 + 5} L ${o6 - 1} ${r7 + 3} Z`, a5, { stroke: "none" })).join("");
|
|
1025
|
+
var S3 = (a5, e5, o6, r7, L6 = "", C5 = "", i5 = o6) => {
|
|
1026
|
+
let h7 = {};
|
|
1027
|
+
e5 && (h7[`pants/${a5}`] = { svg: i2(`pants_${a5}`, K0, e5, C5) });
|
|
1028
|
+
let p5 = (M2, b5) => M2 === "flare" ? b5 === "r" ? a4.flareR : a4.flareL : a4[M2];
|
|
1029
|
+
return o6 && (h7[`pants/${a5}_near`] = { svg: i2(`pants_near_${a5}`, p5(o6, "r"), r7, L6) }), i5 && (h7[`pants/${a5}_far`] = { svg: i2(`pants_far_${a5}`, p5(i5, "l"), r7, L6) }), h7;
|
|
1030
|
+
};
|
|
1031
|
+
var P = { low: "M 9 2.3 L 25 2.3 C 27 2.5 27.7 4 27.7 6 L 27.7 12 C 27.7 15 26 16.7 22 16.7 L 7 16.7 C 4 16.7 2.8 15 2.8 12.5 C 2.8 9 4 5 6 3.5 C 7 2.6 8 2.3 9 2.3 Z", clog: "M 12.5 2.8 C 16 2.8 18.3 5 18.3 8.3 L 22 8.5 C 25 8.6 26.2 10 26.2 12 L 26.2 15 C 26 18 23 19.3 19 19.3 L 7 19.3 C 4 19.3 2.8 17 2.8 15 C 2.8 12.5 4 11 7.5 10.5 L 7.5 8 C 7.5 4.5 9.5 2.8 12.5 2.8 Z", loafer: "M 8.5 2.8 L 26.5 2.8 C 28.3 3 28.5 5 28.5 8 L 28.3 15 C 28 18.5 25 20.5 18 20.5 L 10 20.5 C 5 20.5 2.8 18 2.8 15 C 2.8 11 4.5 9 5.8 7 C 6 4.5 7 2.8 8.5 2.8 Z", sock: "M 8.8 3.8 L 26.3 3.8 L 26.5 9 C 27.5 11 28.3 13 28.3 15 C 28.3 18 26 19.2 22 19.2 L 9 19.2 C 5 19.2 2.8 17.5 2.8 15.5 C 2.8 13.5 4.5 12 6.5 11 L 7 8 C 7.2 5.5 7.8 3.8 8.8 3.8 Z", tall: "M 5.8 2.3 L 16 2.3 C 19 2.5 21 3.5 22.2 4.8 L 22.2 24 C 22.2 26 20 27.2 16 27.2 L 8 27.2 C 4.5 27.2 2.8 25 2.8 22 C 2.8 19 4 17 5.8 15.5 Z", moccasin: "M 5.5 2.8 C 7 3.5 8.5 5 10 5.5 L 18 5.3 C 21 4.5 23.5 4.5 25 5 C 26 6 26.3 8 26.2 11 C 26 14 22 15.3 16 15.3 L 10 15.3 C 6 15.3 2.8 12.5 2.8 9 L 2.8 5 C 2.8 3.5 4 2.5 5.5 2.8 Z", ankle: "M 11.8 2.8 L 27.5 2.8 C 29 2.8 29.2 4 29.2 5 L 29.2 19 C 29.2 21 27 21.2 25 21.2 L 4 21.2 C 3 21.2 2.8 20.5 2.8 19.5 C 2.8 18 4 16 6 14 L 11.8 9 Z", slide: "M 12 2.3 C 17 2.3 21 4 22 6.5 C 24 6 26 5.5 28 6 C 28.5 7.5 28.6 9 28.5 11 C 28.3 14.5 24 16.5 16 16.5 C 8 16.5 2.8 14 2.8 10.5 C 2.8 6 6 2.3 12 2.3 Z", flat: "M 9.8 2.8 L 27 2.8 C 28.5 2.8 28.2 4 28.2 6 L 28.2 13 C 28.2 16 26 16.6 22 16.6 L 8 16.6 C 4.5 16.6 2.8 14.5 2.8 11 C 2.8 7.5 5 5.8 8 5 Z", pointed: "M 5.5 2.8 C 7 3.5 7.5 5 8.5 6.5 C 9.5 5.5 10.5 4.8 12.5 4.8 L 30 4.8 C 31.5 4.8 31.5 6 31.5 7 L 31.5 13 C 31.5 15 29 15.5 26 15.6 L 9 15.6 C 5 15.5 2.8 13 2.8 9 L 2.8 5 C 2.8 3.5 4 2.5 5.5 2.8 Z", hiker: "M 12 2.8 C 15 2.3 17.5 2.5 19.2 4 L 19.5 7.5 C 22 8 25 8.5 27 9.5 C 28.5 10.5 28.3 12 28.3 14 L 28 20 C 28 22.5 26 22.2 24 22.2 L 6 22.2 C 3.5 22.2 2.8 21 2.8 19.5 C 2.8 18 4 16.5 6 15 L 10.8 11 L 10.8 4.5 C 10.8 3.5 11.3 3 12 2.8 Z", cat: "M 7.8 3 C 9.5 3.5 11 5 12 6 C 13 5 14.5 3.5 17 3 L 25 3 C 25.8 3.2 25.8 5 25.5 8 L 25.2 14 C 25 17.5 22 18.5 17 18.5 L 7 18.5 C 4 18.5 2.8 17 2.8 14.5 C 2.8 11.5 4 9 5.5 7.5 C 6 5 6.5 3 7.8 3 Z", frog: "M 7.3 6 C 7.3 3.5 9 2.3 10.8 2.3 C 13 2.3 14.5 3.5 14.8 5.2 C 16 4.2 18 3.5 19.5 3.5 C 21.5 3.5 22.5 5 22.5 6.5 C 23.5 8 24.2 10 24.2 13 C 24.2 17 22 19.2 16 19.2 L 9 19.2 C 5 19.2 2.8 17 2.8 14 C 2.8 11 4.5 8.5 7.3 6 Z", oxford: "M 6 2.8 L 25.5 2.8 C 27 2.8 27.3 4 27.3 6 L 27 10 C 26.5 13 22 13.8 16 13.8 L 10 13.8 C 5 13.8 2.8 12 2.8 8.5 L 2.8 6 C 2.8 4 4 2.8 6 2.8 Z", wellie: "M 6.8 3.5 C 9 2.5 13 2.3 16 2.5 C 19 2.8 22 3.5 23.3 5 L 24.2 16 L 23.5 21 C 23 24 20 24.8 14 24.8 L 8 24.8 C 4.5 24.8 2.8 22.5 2.8 19 C 2.8 16.5 4.5 15 6.8 13.5 Z", bootie: "M 7.5 2.8 L 24.5 2.8 C 25 3 25.2 4 25.2 6 L 25.5 18 C 25.5 21.5 22 22.8 15 22.8 L 9 22.8 C 5 22.8 2.8 21 2.8 18 C 2.8 15.5 4.5 13 6.8 11.5 L 6.8 4.5 C 6.8 3.5 7 2.8 7.5 2.8 Z", bunny: "M 5.8 4.5 C 6 3.8 7 3.5 8 4 L 11 6 L 15 3.5 C 16.5 2.8 18 2.8 18.5 4 L 19.3 9.5 C 21 10 24 10.5 26 11.5 C 26.5 13 26.3 15 26 17 C 25.5 19.5 22 20.5 16 20.5 L 9 20.5 C 5 20.5 3.5 18.5 3.5 16 L 4.5 8 Z", sandal: "M 7 2.8 C 9 2.8 10 4 10.5 4.8 L 17.5 4.8 C 18.5 5 18.7 6 18.5 7.5 L 24 7.5 C 25 7 26 7.3 27 8.5 C 27.6 9.5 27.5 11 27 12 C 26 14 22 14.5 16 14.5 L 8 14.5 C 4.5 14.5 2.8 13 2.8 11 L 3.8 5.5 C 4.3 3.5 5.5 2.8 7 2.8 Z", hightop: "M 7 4.8 L 11 4.8 C 11.5 3.5 12.5 2.8 14 2.8 C 15.5 2.8 16.5 3.5 17 4.8 L 22.5 4.8 C 24 4.8 24.2 6 24.2 8 L 24.2 15 C 24.2 18 21.5 19.2 16 19.2 L 9 19.2 C 5 19.2 2.8 17.5 2.8 14.5 C 2.8 12 4 10 6.8 8.5 L 6.8 6 C 6.8 5.2 6.9 4.8 7 4.8 Z", claw: "M 13.8 3.5 C 16 2.3 21 2.3 24 2.5 L 31.2 3.8 L 31.2 20 C 31.2 21.5 29 21.2 27 21.2 L 12 21 L 11 19.5 L 4 19.3 C 2.8 19.3 2.8 18.5 2.8 17.5 C 3 16 5 14.5 8 12.5 L 13.8 8 Z" };
|
|
1032
|
+
var G2 = (a5, e5, o6, r7 = "", L6 = "") => Rt(e5, o6, { stroke: "none" }) + se(a5, e5, r7) + Rt(e5, "none") + L6;
|
|
1033
|
+
var N = (a5, e5, o6, r7 = "", L6 = "") => ({ [`boots/${a5}_near`]: { svg: G2(`boots_${a5}_near`, e5, o6, r7, L6) }, [`boots/${a5}_far`]: { svg: G2(`boots_${a5}_far`, e5, o6, r7, L6) } });
|
|
1034
|
+
var t4 = (a5) => oe2("M 0 0 L 26 0 L 26 6.5 L 15 6.5 C 14 6.5 13.5 7.5 13.5 8.5 L 13.5 11 C 13.5 12.8 11 12.8 11 11 L 11 8 C 11 7 10 6.5 9 6.5 L 0 6.5 Z", a5) + ne("M 0 6.5 L 9 6.5 C 10 6.5 11 7 11 8 L 11 11 C 11 12.8 13.5 12.8 13.5 11 L 13.5 8.5 C 13.5 7.5 14 6.5 15 6.5 L 26 6.5", ie2(a5, -0.4), 1.6);
|
|
1035
|
+
var o4 = (a$1) => oe2("M 0 13 C 6 12 11 13 14 16 C 16 18 16 20 16 22 L 0 22 Z", a$1) + ne("M 0 13 C 6 12 11 13 14 16 C 16 18 16 20 16 22", Tt, 1.8) + oe2("M 10 4 L 18 4 L 18 7 L 10 7 Z", a$1);
|
|
1036
|
+
var y = (a$1, e5, o6, r7, L6, C5 = "") => {
|
|
1037
|
+
let h$1 = `M 7 ${3.5} L ${e5 - 7} ${3.5} C ${e5 - 4.5} ${3.5} ${e5 - 3.5} ${5.5} ${e5 - 3.5} ${8.5} L ${e5 - 3.5} ${o6 - 10} C ${e5 - 3.5} ${o6 - 5} ${e5 - 8} ${o6 - 3.5} ${e5 / 2} ${o6 - 3.5} C 8 ${o6 - 3.5} 3.5 ${o6 - 5} 3.5 ${o6 - 10} L 3.5 ${8.5} C 3.5 ${5.5} 4.5 ${3.5} 7 ${3.5} Z`;
|
|
1038
|
+
return Rt(h$1, r7, { stroke: "none" }) + se(a$1, h$1, C5, ...L6 ? [ee(0, 0, e5, 3.5 + L6.h, 0, L6.color, { stroke: "none" }), ne(`M 0 ${3.5 + L6.h} L ${e5} ${3.5 + L6.h}`, Tt, 2.6)] : []) + Rt(h$1, "none");
|
|
1039
|
+
};
|
|
1040
|
+
var w22 = (a$1, e5, o6, r7) => ee(3.5, 3.5, a$1 - 7, e5 - 7, 3, o6) + (r7 ? [a$1 * 0.38, a$1 * 0.62].map((L6) => te2(L6, e5 / 2, e5 * 0.2, r7, { width: 2 }) + te2(L6, e5 / 2, e5 * 0.07, Tt, { stroke: "none" })).join("") : "");
|
|
1041
|
+
var m1 = (a5, e5, o6, r7) => Rt(`M 4 7 L ${a5 - 8} 5 C ${a5 - 5} 5 ${a5 - 4} 7 ${a5 - 4} 10 L ${a5 - 4} ${e5 - 8} C ${a5 - 4} ${e5 - 5} ${a5 - 6} ${e5 - 4} ${a5 - 9} ${e5 - 4} L 4 ${e5 - 6} Z`, o6) + ee(a5 * 0.35, 3.5, a5 * 0.3, e5 - 7, 2, r7, { width: 2.8 }) + ee(a5 * 0.42, e5 * 0.3, a5 * 0.16, e5 * 0.4, 1, ie2(r7, -0.25), { width: 2 });
|
|
1042
|
+
var k3 = { top_7: "M 64 4 Q 60.2 3.1 60.1 3.2 Q 60.1 3.2 60.4 5.4 Q 60.8 7.5 60.2 10.2 Q 59.6 12.9 57.8 17 Q 56 21 53.5 23.5 Q 51.1 26 47.4 27.8 Q 43.8 29.7 37 29.7 Q 30.1 29.7 26.5 27.4 Q 22.9 25.1 22 20.8 Q 21.2 16.4 22.6 11.1 Q 24 5.8 23.9 5.6 Q 23.7 5.3 21.4 6.2 Q 19.1 7 15.6 11 Q 12.1 14.9 9.5 22 Q 6.9 29.1 5.3 39.8 Q 3.8 50.6 3.9 56.9 Q 3.9 63.2 6.3 64.3 Q 8.6 65.5 8.8 69.1 Q 8.9 72.6 9.9 73.7 Q 10.9 74.8 12.1 75 Q 13.4 75.2 15.1 74.6 Q 16.8 74.1 18.9 76 Q 21 77.9 22.3 78.5 Q 23.7 79 25.1 78.6 Q 26.5 78.2 28.7 76.5 Q 30.8 74.7 32.4 76.8 Q 34.1 79 35.7 79.5 Q 37.3 80 40.9 78.1 Q 44.5 76.2 46.3 77.1 Q 48.1 78.1 50.4 78.1 Q 52.7 78.1 54.8 76.2 Q 56.9 74.4 60.1 74.8 Q 63.2 75.2 64.6 74.6 Q 65.9 74 66.5 73.3 Q 67.1 72.7 67.2 70.1 Q 67.4 67.6 69.2 66.5 Q 71 65.4 76.5 64.4 Q 82 63.4 82.6 60.9 Q 83.2 58.3 83.2 50.8 Q 83.2 43.2 83.7 41.7 Q 84.2 40.3 83.7 32 Q 83.2 23.8 82.7 22.1 Q 82.2 20.4 78.5 14.6 Q 74.7 8.8 71.2 6.8 Q 67.7 4.8 64 4 Z", top_9: "M 64.4 4.5 Q 60.1 3.2 60 3.3 Q 59.9 3.4 59.7 4.7 Q 59.6 5.9 57.8 9.5 Q 56 13 52.5 17.9 Q 49.1 22.7 47.5 23.7 Q 45.9 24.7 38.5 24.7 Q 31.2 24.8 29.2 24 Q 27.2 23.3 25.8 19.4 Q 24.3 15.6 24.7 10.8 Q 25.2 6 25 5.7 Q 24.8 5.5 21.4 7.2 Q 18.1 9 15 12 Q 12 15.1 10.9 17.2 Q 9.8 19.3 8.4 24.6 Q 6.9 29.9 5.9 37.2 Q 4.8 44.5 4.8 48.6 Q 4.8 52.8 4.3 54.3 Q 3.8 55.8 3.8 63.9 Q 3.8 72.1 4.1 72.6 Q 4.4 73.2 5.3 73.7 Q 6.2 74.2 14.9 75.7 Q 23.6 77.2 34 77.7 Q 44.4 78.2 58.2 76.7 Q 72 75.1 76.3 74.1 Q 80.7 73.2 81.5 72.7 Q 82.2 72.3 82.7 68.9 Q 83.2 65.5 83.2 54.9 Q 83.2 44.2 83.7 42.7 Q 84.2 41.3 83.7 32.5 Q 83.2 23.8 82.7 22 Q 82.2 20.3 81.1 18.2 Q 80 16.1 75.9 12 Q 71.9 7.9 70.2 6.8 Q 68.6 5.8 64.4 4.5 Z", top_14: "M 64.8 4.5 Q 61 3.3 60.9 3.3 Q 60.9 3.4 60.8 7.6 Q 60.7 11.8 58.8 15.9 Q 57 20.1 53 23.6 Q 48.9 27.1 45.3 28.4 Q 41.7 29.7 35.9 29.7 Q 30.2 29.7 27.1 28 Q 24.1 26.3 22.6 22.5 Q 21.2 18.7 21.8 14.4 Q 22.4 10.1 23.6 7.8 Q 24.8 5.5 24.8 5.5 Q 24.8 5.6 19.3 8.9 Q 13.8 12.3 11.8 15.8 Q 9.8 19.3 7.9 27.6 Q 5.9 35.8 4.9 45.6 Q 3.8 55.4 4.1 64.5 Q 4.4 73.5 9.1 74.8 Q 13.9 76.1 23.9 76.7 Q 33.8 77.2 35.3 77.7 Q 36.8 78.2 48.5 77.7 Q 60.2 77.2 71.1 75.3 Q 81.9 73.4 82.6 69.9 Q 83.2 66.3 83.2 55.3 Q 83.2 44.2 83.7 42.7 Q 84.2 41.3 83.6 32.2 Q 83.1 23 81.7 19.8 Q 80.3 16.6 78 13.7 Q 75.8 10.8 72.2 8.3 Q 68.6 5.8 64.8 4.5 Z", top_33: "M 43.1 3.9 Q 33 3.9 29.5 5.5 Q 26.1 7 20.5 13 Q 14.9 19.1 12.4 23.2 Q 9.8 27.3 6.8 43.5 Q 3.8 59.7 3.4 64 Q 2.9 68.3 3.5 72.1 Q 4.1 75.9 5.2 76.5 Q 6.2 77.1 9.2 77.5 Q 12.3 77.9 15.7 76.6 Q 19.2 75.2 27.4 75.2 Q 35.6 75.2 39.3 75.8 Q 43 76.4 44.5 77.3 Q 46 78.2 52.4 78.2 Q 58.9 78.2 61.4 76.3 Q 64 74.4 71.5 73.8 Q 79.1 73.2 80.3 72.7 Q 81.5 72.2 82.4 69.7 Q 83.2 67.2 83.2 56.2 Q 83.2 45.3 83.7 41.4 Q 84.2 37.6 82.7 31.5 Q 81.2 25.3 79.7 22.8 Q 78.1 20.2 68.8 13 Q 59.5 5.7 56.4 4.8 Q 53.2 3.8 43.1 3.9 Z M 28.4 15.7 Q 32.3 14.3 38.9 14.3 Q 45.6 14.3 50.6 15.4 Q 55.7 16.6 56.4 18.3 Q 57 20 52.5 23.5 Q 48 27 40.6 31.1 Q 33.2 35.1 29.1 30.6 Q 25 26 24 23.8 Q 23.1 21.6 23.8 19.3 Q 24.6 17.1 28.4 15.7 Z", top_34: "M 43.1 3.9 Q 33 3.9 29.5 5.5 Q 26.1 7 20.5 13 Q 14.9 19.1 12.4 23.2 Q 9.8 27.3 6.8 43.5 Q 3.8 59.7 3.4 64 Q 2.9 68.3 3.5 72.1 Q 4.1 75.9 5.2 76.5 Q 6.2 77.1 9.2 77.5 Q 12.3 77.9 15.7 76.6 Q 19.2 75.2 27.4 75.2 Q 35.6 75.2 39.3 75.8 Q 43 76.4 44.5 77.3 Q 46 78.2 52.4 78.2 Q 58.9 78.2 61.4 76.3 Q 64 74.4 71.5 73.8 Q 79.1 73.2 80.3 72.7 Q 81.5 72.2 82.4 69.7 Q 83.2 67.2 83.2 56.2 Q 83.2 45.3 83.7 41.4 Q 84.2 37.6 82.7 31.5 Q 81.2 25.3 79.7 22.8 Q 78.1 20.2 68.8 13 Q 59.5 5.7 56.4 4.8 Q 53.2 3.8 43.1 3.9 Z M 28.4 15.7 Q 32.3 14.3 38.9 14.3 Q 45.6 14.3 50.6 15.4 Q 55.7 16.6 56.4 18.3 Q 57 20 52.5 23.5 Q 48 27 40.6 31.1 Q 33.2 35.1 29.1 30.6 Q 25 26 24 23.8 Q 23.1 21.6 23.8 19.3 Q 24.6 17.1 28.4 15.7 Z", top_2: "M 45.7 3.4 Q 34.9 2.9 33.9 3.4 Q 32.9 3.8 27.8 3.8 Q 22.7 3.8 18 4.8 Q 13.2 5.8 11.2 6.9 Q 9.2 7.9 7 10.7 Q 4.8 13.4 4.3 15.5 Q 3.9 17.5 5.3 23.5 Q 6.8 29.5 5.8 34.5 Q 4.8 39.6 5.8 47.6 Q 6.8 55.6 4.8 64.1 Q 2.8 72.5 3.3 74.5 Q 3.8 76.5 5.9 78.8 Q 8.1 81 10.2 82.1 Q 12.2 83.2 14.9 83.7 Q 17.7 84.2 24.2 84.2 Q 30.8 84.2 32.3 84.7 Q 33.8 85.2 47 84.7 Q 60.2 84.2 66.6 83.2 Q 72.9 82.1 76.7 80.7 Q 80.5 79.3 82.3 78 Q 84.1 76.8 85.6 73.5 Q 87.2 70.1 87.1 66 Q 87.1 62 85.6 58.3 Q 84.2 54.6 85.7 51.2 Q 87.1 47.9 87.7 44.2 Q 88.2 40.6 87.2 35.9 Q 86.2 31.2 84.2 27.5 Q 82.3 23.7 82.7 20.7 Q 83.1 17.7 82.6 15.5 Q 82.2 13.3 81.4 12.1 Q 80.6 10.9 79.1 9.8 Q 77.5 8.7 73.2 7.3 Q 68.9 5.9 62.7 4.8 Q 56.4 3.8 45.7 3.4 Z", top_3: "M 51.2 2.9 Q 41.8 2.9 31.4 3.9 Q 21.1 4.9 18.6 5.9 Q 16.1 7 13.5 10.1 Q 11 13.2 11.3 17.5 Q 11.6 21.8 10.2 25 Q 8.9 28.2 6.3 40.4 Q 3.8 52.7 3.9 58.8 Q 3.9 64.9 5.3 67.5 Q 6.6 70 7.2 73.4 Q 7.8 76.8 9.1 79 Q 10.3 81.1 12.3 82.2 Q 14.2 83.2 16.9 83.7 Q 19.7 84.2 23.7 84.2 Q 27.8 84.2 29.3 84.7 Q 30.8 85.2 44.5 85.2 Q 58.3 85.2 63.1 84.7 Q 68 84.1 70.7 83.2 Q 73.5 82.3 75.9 80.3 Q 78.4 78.3 82.3 69.2 Q 86.2 60.1 86.7 51.3 Q 87.2 42.6 86.7 39.4 Q 86.1 36.1 83.7 30.3 Q 81.2 24.5 82.1 20.5 Q 83 16.4 82.6 14.4 Q 82.2 12.4 80.5 10.2 Q 78.9 8 73.4 5.9 Q 67.9 3.9 64.2 3.3 Q 60.5 2.8 51.2 2.9 Z M 33.2 19.3 Q 40.4 17.3 43.5 17.3 Q 46.6 17.3 49.6 17.9 Q 52.7 18.6 53.4 20.3 Q 54.1 22 45.2 28.6 Q 36.3 35.1 31.6 30.5 Q 26.8 25.9 26.5 23.6 Q 26.1 21.3 33.2 19.3 Z", top_4: "M 42.6 2.9 Q 35.9 2.9 32.1 3.9 Q 28.4 4.8 26.8 5.8 Q 25.2 6.9 20.1 12.9 Q 15 19 12.4 23.1 Q 9.8 27.3 7.3 40.5 Q 4.8 53.6 3.9 66.7 Q 3 79.7 3.3 80 Q 3.6 80.3 6.8 81.2 Q 10 82.1 18.2 83.2 Q 26.5 84.2 43.4 84.2 Q 60.3 84.2 70.9 82.2 Q 81.4 80.2 82.3 79.1 Q 83.2 77.9 83.2 61.6 Q 83.2 45.3 83.7 41.4 Q 84.2 37.5 83.7 34.3 Q 83.1 31.1 81.7 27.3 Q 80.3 23.5 77.5 20.2 Q 74.8 16.8 66.7 10.8 Q 58.6 4.8 54 3.8 Q 49.3 2.8 42.6 2.9 Z M 28.4 15.7 Q 32.3 14.3 38.9 14.3 Q 45.6 14.3 50.6 15.4 Q 55.7 16.6 56.4 18.2 Q 57 19.9 54 22.4 Q 51 25 42.1 30 Q 33.1 35 29 30.5 Q 25 26 24 23.8 Q 23.1 21.6 23.8 19.3 Q 24.6 17.1 28.4 15.7 Z", top_6: "M 44.1 3.9 Q 34 3.9 30.5 5.5 Q 27.1 7 21 13.5 Q 15 20.1 12.9 23.7 Q 10.8 27.3 8.9 36 Q 6.9 44.8 6.3 51.8 Q 5.6 58.8 4.7 60.9 Q 3.8 62.9 3.8 66 Q 3.8 69.1 4.3 70.4 Q 4.9 71.6 7.9 72.8 Q 11 74.1 14.4 74.2 Q 17.8 74.3 21.9 76.2 Q 26 78.1 33.1 78.1 Q 40.2 78.2 42.7 77.2 Q 45.2 76.2 51.7 76.2 Q 58.2 76.2 65.6 75.2 Q 72.9 74.1 77.4 72.6 Q 81.8 71 83.5 68.5 Q 85.1 66.1 84.7 63.4 Q 84.2 60.6 84.7 49.1 Q 85.2 37.6 84.2 32.4 Q 83.2 27.3 81.1 23.7 Q 79.1 20.2 69.8 13 Q 60.5 5.7 57.4 4.8 Q 54.2 3.8 44.1 3.9 Z M 29.4 15.7 Q 33.3 14.3 39.9 14.3 Q 46.6 14.3 51.6 15.4 Q 56.7 16.6 57.4 18.3 Q 58 20 53.5 23.5 Q 49 27 41.6 31.1 Q 34.2 35.1 30.1 30.6 Q 26 26 25 23.8 Q 24.1 21.6 24.8 19.3 Q 25.6 17.1 29.4 15.7 Z", top_8: "M 41.6 2.9 Q 36.9 2.9 33.1 3.9 Q 29.3 4.8 26.7 6.4 Q 24.1 7.9 18.6 14 Q 13 20 11.4 23.2 Q 9.8 26.3 8.4 31.6 Q 6.9 36.9 5.8 43.8 Q 4.8 50.7 4.3 55.6 Q 3.8 60.4 4 66.5 Q 4.2 72.5 8 73.4 Q 11.7 74.2 17.3 74.3 Q 22.9 74.3 24.4 75.3 Q 26 76.2 42.1 76.2 Q 58.3 76.2 66.6 75.2 Q 74.9 74.1 78.9 73 Q 82.9 71.9 83.5 70.9 Q 84.2 70 84.2 53.3 Q 84.2 36.7 83.2 32.5 Q 82.2 28.3 80.6 25.2 Q 79 22.1 76.4 19.5 Q 73.8 16.9 65.2 10.9 Q 56.7 4.8 51.5 3.8 Q 46.3 2.8 41.6 2.9 Z M 30.7 14.9 Q 33.4 14.3 38.5 14.3 Q 43.6 14.3 48.9 15.4 Q 54.3 16.5 55.7 17.9 Q 57.2 19.4 47.5 30.4 Q 37.7 41.3 34.8 43.5 Q 32 45.6 27.7 36.8 Q 23.4 27.9 22.8 24.1 Q 22.1 20.3 22.7 19 Q 23.3 17.8 25.6 16.6 Q 28 15.4 30.7 14.9 Z", top_11: "M 64.1 3.5 Q 62.5 3.2 59.8 8.1 Q 57 13 54 16.4 Q 51.1 19.7 47.6 22.8 Q 44.1 25.9 39 29.1 Q 34 32.2 29.8 26.2 Q 25.5 20.2 24.4 17 Q 23.3 13.7 23.2 10.9 Q 23.1 8.2 22.6 7.3 Q 22.1 6.5 21.2 6.7 Q 20.4 6.8 16.9 9.3 Q 13.5 11.9 10.7 16.6 Q 7.8 21.3 5.8 32.9 Q 3.8 44.6 3.4 50.5 Q 3.1 56.4 3.4 58.5 Q 3.8 60.5 5.9 62.7 Q 7.9 64.8 16.3 66.5 Q 24.7 68.2 40 68.2 Q 55.2 68.2 66.1 66.7 Q 76.9 65.1 78.7 64.7 Q 80.5 64.2 81.2 63.7 Q 81.8 63.1 82.5 57.8 Q 83.2 52.5 83.2 39.1 Q 83.2 25.7 82.2 21.5 Q 81.2 17.4 79.2 14.3 Q 77.2 11.2 75.1 9.7 Q 73.1 8.1 69.4 5.9 Q 65.7 3.8 64.1 3.5 Z", top_12: "M 62.1 3.9 Q 61.3 3.9 57.1 7.5 Q 53 11 45.3 16 Q 37.6 20.9 35.2 19.9 Q 32.9 19 27.5 12.8 Q 22.2 6.6 18.5 8.9 Q 14.8 11.3 11.3 17.3 Q 7.8 23.3 6.4 29.1 Q 4.9 34.9 4.3 47.4 Q 3.8 59.9 3.4 60.9 Q 3 61.8 3.8 66.5 Q 4.6 71.1 13.3 74.1 Q 21.9 77.1 23.4 77.1 Q 24.9 77.1 28.2 75 Q 31.4 73 34.3 75 Q 37.2 77.1 42.3 77.1 Q 47.3 77.2 59.6 74.7 Q 71.9 72.1 76.5 70.4 Q 81.1 68.6 81.6 66.9 Q 82.2 65.2 82.2 59.2 Q 82.2 53.2 82.7 51.7 Q 83.2 50.2 83.2 40.9 Q 83.2 31.6 82.2 25.5 Q 81.2 19.4 76.5 14.2 Q 71.9 8.9 67.4 6.4 Q 62.9 3.9 62.1 3.9 Z", top_13: "M 51.5 3.9 Q 39.9 3.9 31.7 6.3 Q 23.5 8.7 18.6 13.2 Q 13.6 17.7 12.7 19.5 Q 11.8 21.3 8.9 32.6 Q 5.9 43.8 4.4 56.6 Q 2.8 69.4 3.5 72.2 Q 4.1 75 4.8 75.6 Q 5.5 76.2 9.9 77.2 Q 14.4 78.1 17.3 77.2 Q 20.2 76.2 24.1 76.3 Q 27.9 76.3 29.4 77.3 Q 31 78.2 33.5 78.1 Q 36 78.1 38.7 77.1 Q 41.5 76.1 46.2 77.6 Q 50.9 79.1 52.7 79.1 Q 54.4 79.2 62.2 78.2 Q 69.9 77.1 76.7 74.6 Q 83.4 72.2 84.3 66.3 Q 85.2 60.4 85.2 51 Q 85.2 41.6 84.2 35.4 Q 83.1 29.1 82.5 27.5 Q 81.9 25.9 79.7 23 Q 77.4 20.1 76.6 16 Q 75.8 11.8 74.3 9.9 Q 72.9 8 67.9 6 Q 63 3.9 51.5 3.9 Z", top_15: "M 51.2 2.9 Q 41.8 2.9 31.4 3.9 Q 21.1 4.9 18.6 5.9 Q 16.1 7 13.5 10.1 Q 11 13.2 11.3 17.5 Q 11.6 21.8 10.2 25 Q 8.9 28.2 6.3 40.4 Q 3.8 52.7 3.9 58.8 Q 3.9 64.9 5.3 67.5 Q 6.6 70 7.2 73.4 Q 7.8 76.8 9.1 79 Q 10.3 81.1 12.3 82.2 Q 14.2 83.2 16.9 83.7 Q 19.7 84.2 23.7 84.2 Q 27.8 84.2 29.3 84.7 Q 30.8 85.2 44.5 85.2 Q 58.3 85.2 63.1 84.7 Q 68 84.1 70.7 83.2 Q 73.5 82.3 75.9 80.3 Q 78.4 78.3 82.3 69.2 Q 86.2 60.1 86.7 51.3 Q 87.2 42.6 86.7 39.4 Q 86.1 36.1 83.7 30.3 Q 81.2 24.5 82.1 20.5 Q 83 16.4 82.6 14.4 Q 82.2 12.4 80.5 10.2 Q 78.9 8 73.4 5.9 Q 67.9 3.9 64.2 3.3 Q 60.5 2.8 51.2 2.9 Z M 33.2 19.3 Q 40.4 17.3 43.5 17.3 Q 46.6 17.3 49.6 17.9 Q 52.7 18.6 53.4 20.3 Q 54.1 22 45.2 28.6 Q 36.3 35.1 31.6 30.5 Q 26.8 25.9 26.5 23.6 Q 26.1 21.3 33.2 19.3 Z", top_16: "M 42.6 2.9 Q 36.9 2.9 33.5 3.4 Q 30.1 3.9 25.1 5.9 Q 20.1 8 15.4 13.8 Q 10.6 19.6 8.7 23.4 Q 6.8 27.3 5.9 30.6 Q 4.9 33.9 3.8 39.8 Q 2.8 45.7 2.9 57.6 Q 2.9 69.6 6 72.3 Q 9 75 13.5 77.5 Q 17.9 80 19.8 79.6 Q 21.6 79.2 24.8 76.8 Q 28 74.3 31.1 74.3 Q 34.2 74.2 38 77.5 Q 41.8 80.8 43 80.9 Q 44.1 81 55.7 76.7 Q 67.2 72.4 71.8 71.8 Q 76.4 71.2 77.8 69.4 Q 79.2 67.5 80.2 64.3 Q 81.1 61.1 81.6 57.7 Q 82.2 54.4 82.2 44.5 Q 82.2 34.6 81.7 31.4 Q 81.1 28.2 79.6 25.1 Q 78 22.1 73.9 18 Q 69.8 13.9 63.2 9.3 Q 56.6 4.8 52.5 3.8 Q 48.3 2.8 42.6 2.9 Z M 29 13.2 Q 33.2 11.3 37.5 11.3 Q 41.7 11.2 44.3 11.8 Q 47 12.4 50.7 14.3 Q 54.4 16.2 55.2 18 Q 56.1 19.8 52.5 22.9 Q 49 26 40.2 30.5 Q 31.3 35.1 27.2 31.1 Q 23 27.1 21.6 24.2 Q 20.1 21.3 22.5 18.2 Q 24.8 15 29 13.2 Z", top_17: "M 43.1 3.9 Q 33 3.9 29.5 5.5 Q 26.1 7 20.5 13 Q 14.9 19.1 12.4 23.2 Q 9.8 27.3 7.9 36.6 Q 5.9 45.8 4.7 58.8 Q 3.4 71.9 9.2 74.5 Q 15 77.1 19.6 77.1 Q 24.3 77.2 27.9 76.2 Q 31.6 75.1 36.8 77.1 Q 42.1 79.1 46.7 79.6 Q 51.4 80.2 59.6 78.2 Q 67.8 76.2 73.9 73.6 Q 79.9 71 81.5 69.3 Q 83.1 67.6 83.7 54.7 Q 84.2 41.7 83.7 36.3 Q 83.1 31 82.2 28.2 Q 81.2 25.4 79.7 22.8 Q 78.1 20.2 68.8 13 Q 59.5 5.7 56.4 4.8 Q 53.2 3.8 43.1 3.9 Z M 28.4 15.7 Q 32.3 14.3 38.9 14.3 Q 45.6 14.3 50.6 15.4 Q 55.7 16.6 56.4 18.3 Q 57 20 52.5 23.5 Q 48 27 40.6 31.1 Q 33.2 35.1 29.1 30.6 Q 25 26 24 23.8 Q 23.1 21.6 23.8 19.3 Q 24.6 17.1 28.4 15.7 Z", top_18: "M 66.6 4 Q 63.5 3.2 57.1 14.3 Q 50.8 25.4 48 26.7 Q 45.3 27.9 43.6 30.7 Q 41.9 33.6 38.7 30.7 Q 35.5 27.8 33.6 27.4 Q 31.7 27 28.4 29.1 Q 25.1 31.1 23.6 26.4 Q 22.2 21.7 22.8 15.5 Q 23.4 9.3 24.1 6.9 Q 24.9 4.5 24.9 4.3 Q 24.8 4.1 24.3 4.1 Q 23.9 4 21.3 5.3 Q 18.7 6.6 16.8 8.4 Q 14.9 10.1 11.9 15.7 Q 8.8 21.3 6.4 31.5 Q 3.9 41.8 4.4 49.2 Q 4.8 56.6 4.3 59.8 Q 3.9 63.1 4.5 64 Q 5.1 65 7.1 65.5 Q 9 66.1 16 66.7 Q 23 67.4 25.6 69.2 Q 28.2 71.1 30.7 71.1 Q 33.1 71.2 36.1 69.7 Q 39 68.2 55.2 67.7 Q 71.3 67.2 76.6 66.7 Q 81.8 66.1 82.6 65.7 Q 83.3 65.2 83.7 64 Q 84 62.7 82.4 58.9 Q 80.9 55.1 83.5 52.4 Q 86.1 49.6 86.1 44.7 Q 86.2 39.7 85.7 34.4 Q 85.1 29.1 83.7 23.2 Q 82.2 17.4 79 13.1 Q 75.7 8.8 72.7 6.8 Q 69.6 4.8 66.6 4 Z", top_20: "M 64.8 4.5 Q 61 3.3 60.9 3.3 Q 60.9 3.4 60.8 7.6 Q 60.7 11.8 58.8 15.9 Q 57 20 54.5 22.5 Q 52 25 46.9 27.3 Q 41.8 29.7 35.9 29.7 Q 30 29.7 27 27.4 Q 24 25.1 23.1 23 Q 22.2 20.9 22.2 16.5 Q 22.2 12.2 23.5 8.6 Q 24.8 5.1 24.9 5.2 Q 25 5.3 22.9 6.2 Q 20.9 7.1 17.4 9.6 Q 13.9 12.2 11.8 15.8 Q 9.8 19.3 7.9 26.6 Q 5.9 33.8 4.9 42.2 Q 3.8 50.6 4.1 57 Q 4.4 63.5 9.1 64.8 Q 13.9 66.1 23.9 66.7 Q 33.8 67.2 35.3 67.7 Q 36.8 68.2 48.5 67.7 Q 60.2 67.2 71.1 65.3 Q 82 63.4 82.6 60.9 Q 83.2 58.3 83.2 50.8 Q 83.2 43.2 83.7 41.7 Q 84.2 40.3 83.7 32 Q 83.2 23.8 82.7 22.1 Q 82.2 20.4 79 15.6 Q 75.7 10.8 72.1 8.3 Q 68.6 5.8 64.8 4.5 Z", top_21: "M 64.8 4.5 Q 61 3.3 60.9 3.3 Q 60.9 3.4 60.8 7.6 Q 60.7 11.8 58.8 15.9 Q 57 20 54.5 22.5 Q 52 25 46.9 27.3 Q 41.8 29.7 36 29.7 Q 30.2 29.7 27.1 28 Q 24.1 26.3 22.6 22.5 Q 21.2 18.7 21.8 14.4 Q 22.4 10.1 23.6 7.8 Q 24.8 5.5 24.8 5.4 Q 24.7 5.4 22.8 6.2 Q 20.9 7.1 17.4 9.6 Q 13.9 12.2 11.8 15.8 Q 9.8 19.3 7.9 26.6 Q 5.9 33.8 4.9 42.2 Q 3.8 50.6 4.1 57 Q 4.4 63.5 9.1 64.8 Q 13.9 66.1 23.9 66.7 Q 33.8 67.2 35.3 67.7 Q 36.8 68.2 48.5 67.7 Q 60.2 67.2 71.1 65.3 Q 82 63.4 82.6 60.9 Q 83.2 58.3 83.2 50.8 Q 83.2 43.2 83.7 41.7 Q 84.2 40.3 83.7 32 Q 83.2 23.8 82.7 22.1 Q 82.2 20.4 79 15.6 Q 75.7 10.8 72.1 8.3 Q 68.6 5.8 64.8 4.5 Z", top_22: "M 66.4 5.7 Q 60.9 3.4 60.9 3.4 Q 60.9 3.4 60.8 8.1 Q 60.7 12.8 58.8 16.4 Q 57 20.1 54 23 Q 51 26 47 27.8 Q 42.9 29.6 39.2 30.2 Q 35.5 30.8 32.2 30.2 Q 28.9 29.6 25.9 27.3 Q 22.9 25 22 21.3 Q 21.2 17.6 21.8 13.8 Q 22.4 10 23.6 7.8 Q 24.8 5.5 24.8 5.5 Q 24.8 5.5 21.4 7.2 Q 18.1 9 15.1 12 Q 12 15 9.9 20.1 Q 7.9 25.1 6.3 33.4 Q 4.8 41.7 4.3 46.1 Q 3.8 50.5 3.8 61.3 Q 3.8 72.1 4 72.6 Q 4.3 73 7.2 74.1 Q 10.1 75.1 15.8 76.2 Q 21.6 77.2 34.4 77.7 Q 47.2 78.2 48.7 77.7 Q 50.2 77.2 56.3 77.2 Q 62.4 77.2 65.6 76.7 Q 68.9 76.1 70.8 75.7 Q 72.7 75.2 76.9 73 Q 81 70.8 81.6 69 Q 82.2 67.2 82.7 55.2 Q 83.2 43.2 83.7 41.7 Q 84.2 40.3 83.6 31.7 Q 83.1 23.1 81.5 19.5 Q 80 16 76 12 Q 72 8 66.4 5.7 Z", top_23: "M 66.4 5.7 Q 60.9 3.4 60.9 3.4 Q 60.9 3.4 60.8 8.1 Q 60.7 12.8 58.8 16.4 Q 57 20.1 54 23 Q 51 26 47 27.8 Q 42.9 29.6 39.2 30.2 Q 35.5 30.8 32.2 30.2 Q 28.9 29.6 25.9 27.3 Q 22.9 25 22 21.3 Q 21.2 17.6 21.8 13.8 Q 22.4 10 23.6 7.8 Q 24.8 5.5 24.8 5.5 Q 24.8 5.5 21.4 7.2 Q 18.1 9 15.1 12 Q 12 15 9.9 20.1 Q 7.9 25.1 6.3 33.4 Q 4.8 41.7 4.3 46.1 Q 3.8 50.5 3.8 61.3 Q 3.8 72.1 4 72.6 Q 4.3 73 7.2 74.1 Q 10.1 75.1 15.8 76.2 Q 21.6 77.2 34.4 77.7 Q 47.2 78.2 48.7 77.7 Q 50.2 77.2 56.3 77.2 Q 62.4 77.2 65.6 76.7 Q 68.9 76.1 70.8 75.7 Q 72.7 75.2 76.9 73 Q 81 70.8 81.6 69 Q 82.2 67.2 82.7 55.2 Q 83.2 43.2 83.7 41.7 Q 84.2 40.3 83.6 31.7 Q 83.1 23.1 81.5 19.5 Q 80 16 76 12 Q 72 8 66.4 5.7 Z", top_24: "M 66.4 5.7 Q 60.9 3.4 60.9 3.4 Q 60.9 3.4 60.8 8.1 Q 60.7 12.8 58.8 16.4 Q 57 20.1 54 23 Q 51 26 47 27.8 Q 42.9 29.6 39.2 30.2 Q 35.5 30.8 32.2 30.2 Q 28.9 29.6 25.9 27.3 Q 22.9 25 22 21.3 Q 21.2 17.6 21.8 13.8 Q 22.4 10 23.6 7.8 Q 24.8 5.5 24.8 5.5 Q 24.8 5.5 21.4 7.2 Q 18.1 9 15.1 12 Q 12 15 9.9 20.1 Q 7.9 25.1 6.3 33.4 Q 4.8 41.7 4.3 46.1 Q 3.8 50.5 3.8 61.3 Q 3.8 72.1 4 72.6 Q 4.3 73 7.2 74.1 Q 10.1 75.1 15.8 76.2 Q 21.6 77.2 34.4 77.7 Q 47.2 78.2 48.7 77.7 Q 50.2 77.2 56.3 77.2 Q 62.4 77.2 65.6 76.7 Q 68.9 76.1 70.8 75.7 Q 72.7 75.2 76.9 73 Q 81 70.8 81.6 69 Q 82.2 67.2 82.7 55.2 Q 83.2 43.2 83.7 41.7 Q 84.2 40.3 83.6 31.7 Q 83.1 23.1 81.5 19.5 Q 80 16 76 12 Q 72 8 66.4 5.7 Z", top_27: "M 37.2 2.9 Q 29.9 2.9 22.5 3.9 Q 15.2 4.9 12.1 6.4 Q 9.1 8 7.5 9.5 Q 6 11.1 4.9 13.1 Q 3.9 15.1 3.9 19.5 Q 3.9 23.9 5.8 27.1 Q 7.8 30.3 6.3 39.9 Q 4.8 49.6 4.8 58.7 Q 4.8 67.7 4.3 69.6 Q 3.9 71.5 4.3 72.8 Q 4.7 74.2 5.5 74.7 Q 6.3 75.2 11 76.2 Q 15.7 77.2 22 77.2 Q 28.2 77.2 29.8 76.7 Q 31.4 76.2 34.1 77.2 Q 36.8 78.2 48.1 78.2 Q 59.3 78.2 65.1 77.2 Q 70.9 76.1 76.9 73.6 Q 82.9 71 83 70.9 Q 83.1 70.7 83.1 66 Q 83.2 61.2 83.7 59.7 Q 84.2 58.2 84.2 47.4 Q 84.2 36.7 83.7 33.9 Q 83.1 31.2 81.7 27.8 Q 80.2 24.5 80.7 22.9 Q 81.2 21.3 81 17.5 Q 80.7 13.8 78.5 11.7 Q 76.3 9.6 73.5 8.2 Q 70.7 6.8 67 5.9 Q 63.2 4.9 53.8 3.9 Q 44.5 2.8 37.2 2.9 Z", top_28: "M 24.6 4.3 Q 24.6 4.3 21.8 5.9 Q 19 7.6 17.4 7.9 Q 15.9 8.2 14.4 9.6 Q 13 11.1 10.4 16.1 Q 7.8 21.2 6.4 28 Q 4.9 34.8 4.9 40.3 Q 4.8 45.8 4.3 47.3 Q 3.8 48.8 3.8 56 Q 3.8 63.2 4.2 64.1 Q 4.5 65.1 5.8 65.6 Q 7 66.2 16.4 66.8 Q 25.8 67.3 30.3 69.3 Q 34.8 71.2 35.9 71.1 Q 37 71.1 40.6 69.7 Q 44.1 68.2 55.7 67.7 Q 67.2 67.2 75 66 Q 82.8 64.9 83 64.5 Q 83.1 64.2 82.7 60.3 Q 82.2 56.5 82.2 50.4 Q 82.2 44.2 82.7 42.7 Q 83.2 41.3 82.7 32.6 Q 82.2 23.9 80.8 20.2 Q 79.3 16.5 77.7 14.3 Q 76.1 12.2 73.3 9.4 Q 70.4 6.7 66.7 5.3 Q 63 3.9 62.2 3.9 Q 61.3 3.9 61 7.4 Q 60.6 10.8 58.3 15.9 Q 56 21 53.5 23.5 Q 51.1 26 48.3 27.4 Q 45.5 28.8 44.9 30.7 Q 44.4 32.7 42.8 33.3 Q 41.3 33.9 39.4 32.4 Q 37.6 30.8 33.2 30.2 Q 28.8 29.6 26.2 27 Q 23.6 24.4 22.9 22.6 Q 22.2 20.8 22.2 15.5 Q 22.2 10.1 23.4 7.2 Q 24.6 4.3 24.6 4.3 Z", top_30: "M 41.6 2.9 Q 36.9 2.9 33.1 3.9 Q 29.3 4.8 26.7 6.4 Q 24.1 7.9 18.6 14 Q 13 20 11.4 23.2 Q 9.8 26.3 8.4 31.6 Q 6.9 36.9 5.8 43.8 Q 4.8 50.7 4.3 55.6 Q 3.8 60.4 4 66.5 Q 4.2 72.5 8 73.4 Q 11.7 74.2 17.3 74.3 Q 22.9 74.3 24.4 75.3 Q 26 76.2 42.1 76.2 Q 58.3 76.2 66.6 75.2 Q 74.9 74.1 78.9 73 Q 82.9 71.9 83.5 70.9 Q 84.2 70 84.2 52.8 Q 84.2 35.7 83.7 32.9 Q 83.1 30.2 81.5 26.6 Q 80 23 77.9 20.4 Q 75.8 17.8 66.2 11.3 Q 56.7 4.8 51.5 3.8 Q 46.3 2.8 41.6 2.9 Z M 30.7 14.9 Q 33.4 14.3 38.5 14.3 Q 43.6 14.3 48.9 15.4 Q 54.3 16.5 55.7 17.9 Q 57.2 19.4 47.5 30.4 Q 37.7 41.3 34.8 43.5 Q 32 45.6 27.7 36.8 Q 23.4 27.9 22.8 24.1 Q 22.1 20.3 22.7 19 Q 23.3 17.8 25.6 16.6 Q 28 15.4 30.7 14.9 Z", top_31: "M 51.2 2.9 Q 41.8 2.9 31.4 3.9 Q 21.1 4.9 18.6 5.9 Q 16.1 7 13.5 10.1 Q 11 13.2 11.3 17.5 Q 11.6 21.8 10.2 25 Q 8.9 28.2 6.3 40.4 Q 3.8 52.7 3.9 58.8 Q 3.9 64.9 5.3 67.5 Q 6.6 70 7.2 73.4 Q 7.8 76.8 9.1 79 Q 10.3 81.1 12.3 82.2 Q 14.2 83.2 16.9 83.7 Q 19.7 84.2 23.7 84.2 Q 27.8 84.2 29.3 84.7 Q 30.8 85.2 44.5 85.2 Q 58.3 85.2 63.1 84.7 Q 68 84.1 70.7 83.2 Q 73.5 82.3 75.9 80.3 Q 78.4 78.3 82.3 69.2 Q 86.2 60.1 86.7 51.3 Q 87.2 42.6 86.7 39.4 Q 86.1 36.1 83.7 30.3 Q 81.2 24.5 82.1 20.5 Q 83 16.4 82.6 14.4 Q 82.2 12.4 80.5 10.2 Q 78.9 8 73.4 5.9 Q 67.9 3.9 64.2 3.3 Q 60.5 2.8 51.2 2.9 Z M 33.2 19.3 Q 40.4 17.3 43.5 17.3 Q 46.6 17.3 49.6 17.9 Q 52.7 18.6 53.4 20.3 Q 54.1 22 45.2 28.6 Q 36.3 35.1 31.6 30.5 Q 26.8 25.9 26.5 23.6 Q 26.1 21.3 33.2 19.3 Z", top_32: "M 51.5 3.9 Q 39.9 3.9 31.7 6.3 Q 23.5 8.7 18.6 13.2 Q 13.6 17.7 12.7 19.5 Q 11.8 21.3 8.9 32.6 Q 5.9 43.8 4.4 56.6 Q 2.8 69.4 3.5 72.2 Q 4.1 75 4.8 75.6 Q 5.5 76.2 9.9 77.2 Q 14.4 78.1 17.3 77.2 Q 20.2 76.2 24.1 76.3 Q 27.9 76.3 29.4 77.3 Q 31 78.2 33.5 78.1 Q 36 78.1 38.7 77.1 Q 41.5 76.1 46.2 77.6 Q 50.9 79.1 52.7 79.1 Q 54.4 79.2 62.2 78.2 Q 69.9 77.1 76.7 74.6 Q 83.4 72.2 84.3 66.3 Q 85.2 60.4 85.2 51 Q 85.2 41.6 84.2 35.4 Q 83.1 29.1 82.5 27.5 Q 81.9 25.9 79.7 23 Q 77.4 20.1 76.6 16 Q 75.8 11.8 74.3 9.9 Q 72.9 8 67.9 6 Q 63 3.9 51.5 3.9 Z", top_36: "M 64.8 4.5 Q 61 3.3 60.9 3.3 Q 60.9 3.4 60.8 7.6 Q 60.7 11.8 58.8 15.9 Q 57 20 54.5 22.5 Q 52 25 46.9 27.3 Q 41.8 29.7 35.9 29.7 Q 30 29.7 27 27.4 Q 24 25.1 23.1 23 Q 22.2 20.9 22.2 16.5 Q 22.2 12.2 23.5 8.6 Q 24.8 5.1 24.9 5.2 Q 25 5.3 22.9 6.2 Q 20.9 7.1 17.4 9.6 Q 13.9 12.2 11.8 15.8 Q 9.8 19.3 7.9 26.6 Q 5.9 33.8 4.9 42.2 Q 3.8 50.6 4.1 57 Q 4.4 63.5 9.1 64.8 Q 13.9 66.1 23.9 66.7 Q 33.8 67.2 35.3 67.7 Q 36.8 68.2 48.5 67.7 Q 60.2 67.2 71.1 65.3 Q 82 63.4 82.6 60.9 Q 83.2 58.3 83.2 50.8 Q 83.2 43.2 83.7 41.7 Q 84.2 40.3 83.7 32 Q 83.2 23.8 82.7 22.1 Q 82.2 20.4 79 15.6 Q 75.7 10.8 72.1 8.3 Q 68.6 5.8 64.8 4.5 Z", top_37: "M 66.4 5.7 Q 60.9 3.4 60.9 3.4 Q 60.9 3.4 60.8 8.1 Q 60.7 12.8 58.8 16.4 Q 57 20.1 54 23 Q 51 26 47 27.8 Q 42.9 29.6 39.2 30.2 Q 35.5 30.8 32.2 30.2 Q 28.9 29.6 25.9 27.3 Q 22.9 25 22 21.3 Q 21.2 17.6 21.8 13.8 Q 22.4 10 23.6 7.8 Q 24.8 5.5 24.8 5.5 Q 24.8 5.5 21.4 7.2 Q 18.1 9 15.1 12 Q 12 15 9.9 20.1 Q 7.9 25.1 6.3 33.4 Q 4.8 41.7 4.3 46.1 Q 3.8 50.5 3.8 61.3 Q 3.8 72.1 4 72.6 Q 4.3 73 7.2 74.1 Q 10.1 75.1 15.8 76.2 Q 21.6 77.2 34.4 77.7 Q 47.2 78.2 48.7 77.7 Q 50.2 77.2 56.3 77.2 Q 62.4 77.2 65.6 76.7 Q 68.9 76.1 70.8 75.7 Q 72.7 75.2 76.9 73 Q 81 70.8 81.6 69 Q 82.2 67.2 82.7 55.2 Q 83.2 43.2 83.7 41.7 Q 84.2 40.3 83.6 31.7 Q 83.1 23.1 81.5 19.5 Q 80 16 76 12 Q 72 8 66.4 5.7 Z", top_38: "M 37.2 2.9 Q 29.9 2.9 22.5 3.9 Q 15.2 4.9 12.1 6.4 Q 9.1 8 7.5 9.5 Q 6 11.1 4.9 13.1 Q 3.9 15.1 3.9 19.5 Q 3.9 23.9 5.8 27.1 Q 7.8 30.3 6.3 39.9 Q 4.8 49.6 4.8 58.7 Q 4.8 67.7 4.3 69.6 Q 3.9 71.5 4.3 72.8 Q 4.7 74.2 5.5 74.7 Q 6.3 75.2 11 76.2 Q 15.7 77.2 22 77.2 Q 28.2 77.2 29.8 76.7 Q 31.4 76.2 34.1 77.2 Q 36.8 78.2 48.1 78.2 Q 59.3 78.2 65.1 77.2 Q 70.9 76.1 76.9 73.6 Q 82.9 71 83 70.9 Q 83.1 70.7 83.1 66 Q 83.2 61.2 83.7 59.7 Q 84.2 58.2 84.2 47.4 Q 84.2 36.7 83.7 33.9 Q 83.1 31.2 81.7 27.8 Q 80.2 24.5 80.7 22.9 Q 81.2 21.3 81 17.5 Q 80.7 13.8 78.5 11.7 Q 76.3 9.6 73.5 8.2 Q 70.7 6.8 67 5.9 Q 63.2 4.9 53.8 3.9 Q 44.5 2.8 37.2 2.9 Z", top_39: "M 43.1 3.9 Q 33 3.9 29.5 5.5 Q 26.1 7 20.5 13 Q 14.9 19.1 12.4 23.2 Q 9.8 27.3 7.9 36.6 Q 5.9 45.8 4.7 58.8 Q 3.4 71.9 9.2 74.5 Q 15 77.1 19.6 77.1 Q 24.3 77.2 27.9 76.2 Q 31.6 75.1 36.8 77.1 Q 42.1 79.1 46.7 79.6 Q 51.4 80.2 59.6 78.2 Q 67.8 76.2 73.9 73.6 Q 79.9 71 81.5 69.3 Q 83.1 67.6 83.7 54.7 Q 84.2 41.7 83.7 36.3 Q 83.1 31 82.2 28.2 Q 81.2 25.4 79.7 22.8 Q 78.1 20.2 68.8 13 Q 59.5 5.7 56.4 4.8 Q 53.2 3.8 43.1 3.9 Z M 28.4 15.7 Q 32.3 14.3 38.9 14.3 Q 45.6 14.3 50.6 15.4 Q 55.7 16.6 56.4 18.3 Q 57 20 52.5 23.5 Q 48 27 40.6 31.1 Q 33.2 35.1 29.1 30.6 Q 25 26 24 23.8 Q 23.1 21.6 23.8 19.3 Q 24.6 17.1 28.4 15.7 Z", top_41: "M 50.2 2.9 Q 40.8 2.9 30.4 3.9 Q 20.1 4.9 17.6 6 Q 15 7 12.9 9.3 Q 10.7 11.6 10.2 12.7 Q 9.8 13.9 9.7 17.8 Q 9.7 21.7 7.8 26.4 Q 5.9 31.1 5.3 34.8 Q 4.8 38.5 5.8 46.6 Q 6.8 54.6 4.8 63.1 Q 2.8 71.5 3.3 73.5 Q 3.8 75.5 6.2 77.9 Q 8.6 80.3 13.2 81.8 Q 17.8 83.2 30.5 83.7 Q 43.2 84.2 44.7 83.7 Q 46.2 83.2 53.3 83.2 Q 60.3 83.2 68.5 81.7 Q 76.7 80.2 80.4 78 Q 84.1 75.7 85.6 72.4 Q 87.2 69.1 87.1 65 Q 87.1 61 85.6 57.3 Q 84.2 53.6 85.7 50.2 Q 87.1 46.9 87.7 43.2 Q 88.2 39.6 87.2 34.9 Q 86.2 30.3 83.7 26 Q 81.3 21.7 81.7 18.7 Q 82 15.7 81.6 14.1 Q 81.2 12.4 79.5 10.2 Q 77.9 8 72.4 5.9 Q 66.9 3.9 63.2 3.3 Q 59.5 2.8 50.2 2.9 Z M 32.2 19.3 Q 39.4 17.3 42.5 17.3 Q 45.6 17.3 48.6 17.9 Q 51.7 18.6 52.4 20.3 Q 53.1 22 44.2 28.6 Q 35.3 35.1 30.6 30.5 Q 25.8 25.9 25.5 23.6 Q 25.1 21.3 32.2 19.3 Z", top_42: "M 66.4 5.7 Q 60.9 3.4 60.9 3.4 Q 60.9 3.4 60.8 8.1 Q 60.7 12.8 58.8 16.4 Q 57 20.1 54 23 Q 51 26 47 27.8 Q 42.9 29.6 39.2 30.2 Q 35.5 30.8 32.2 30.2 Q 28.9 29.6 25.9 27.3 Q 22.9 25 22 21.3 Q 21.2 17.6 21.8 13.8 Q 22.4 10 23.6 7.8 Q 24.8 5.5 24.8 5.5 Q 24.8 5.5 21.4 7.2 Q 18.1 9 15.1 12 Q 12 15 9.9 20.1 Q 7.9 25.1 6.3 33.4 Q 4.8 41.7 4.3 46.1 Q 3.8 50.5 3.8 61.3 Q 3.8 72.1 4 72.6 Q 4.3 73 7.2 74.1 Q 10.1 75.1 15.8 76.2 Q 21.6 77.2 34.4 77.7 Q 47.2 78.2 48.7 77.7 Q 50.2 77.2 56.3 77.2 Q 62.4 77.2 65.6 76.7 Q 68.9 76.1 70.8 75.7 Q 72.7 75.2 76.9 73 Q 81 70.8 81.6 69 Q 82.2 67.2 82.7 55.2 Q 83.2 43.2 83.7 41.7 Q 84.2 40.3 83.6 31.7 Q 83.1 23.1 81.5 19.5 Q 80 16 76 12 Q 72 8 66.4 5.7 Z", top_43: "M 43.1 3.9 Q 33 3.9 29.5 5.5 Q 26.1 7 20.5 13 Q 14.9 19.1 12.4 23.2 Q 9.8 27.3 7.9 36.6 Q 5.9 45.8 4.6 59 Q 3.4 72.3 3.9 72.7 Q 4.4 73.1 18.9 74.7 Q 33.5 76.2 52.4 75.7 Q 71.3 75.2 76.1 74.7 Q 80.8 74.1 81.7 73.6 Q 82.6 73.2 82.9 72.6 Q 83.2 72.1 83.2 58.7 Q 83.2 45.3 83.7 41.4 Q 84.2 37.6 82.7 31.5 Q 81.2 25.3 79.7 22.8 Q 78.1 20.2 68.8 13 Q 59.5 5.7 56.4 4.8 Q 53.2 3.8 43.1 3.9 Z M 28.4 15.7 Q 32.3 14.3 38.9 14.3 Q 45.6 14.3 50.6 15.4 Q 55.7 16.6 56.4 18.3 Q 57 20 52.5 23.5 Q 48 27 40.6 31.1 Q 33.2 35.1 29.1 30.6 Q 25 26 24 23.8 Q 23.1 21.6 23.8 19.3 Q 24.6 17.1 28.4 15.7 Z", top_44: "M 64.1 3.5 Q 62.5 3.2 59.8 8.1 Q 57 13 54 16.4 Q 51.1 19.7 47.6 22.8 Q 44.1 25.9 39 29.1 Q 34 32.2 29.8 26.2 Q 25.5 20.2 24.4 17 Q 23.3 13.7 23.2 10.9 Q 23.1 8.2 22.6 7.3 Q 22.1 6.5 21.2 6.7 Q 20.4 6.8 16.9 9.3 Q 13.5 11.9 10.7 16.6 Q 7.8 21.3 5.8 32.9 Q 3.8 44.6 3.4 50.5 Q 3.1 56.4 3.4 58.5 Q 3.8 60.5 5.9 62.7 Q 7.9 64.8 16.3 66.5 Q 24.7 68.2 40 68.2 Q 55.2 68.2 66.1 66.7 Q 76.9 65.1 78.7 64.7 Q 80.5 64.2 81.2 63.7 Q 81.8 63.1 82.5 57.8 Q 83.2 52.5 83.2 39.1 Q 83.2 25.7 82.2 21.5 Q 81.2 17.4 79.2 14.3 Q 77.2 11.2 75.1 9.7 Q 73.1 8.1 69.4 5.9 Q 65.7 3.8 64.1 3.5 Z", top_45: "M 42.6 2.9 Q 35.9 2.9 32.1 3.9 Q 28.4 4.8 26.8 5.8 Q 25.2 6.9 20.1 12.9 Q 15 19 12.4 23.1 Q 9.8 27.3 7.3 40.5 Q 4.8 53.6 3.9 66.7 Q 3 79.7 3.3 80 Q 3.6 80.3 6.8 81.2 Q 10 82.1 18.2 83.2 Q 26.5 84.2 43.4 84.2 Q 60.3 84.2 70.9 82.2 Q 81.4 80.2 82.3 79.1 Q 83.2 77.9 83.2 61.6 Q 83.2 45.3 83.7 41.4 Q 84.2 37.5 83.7 34.3 Q 83.1 31.1 81.7 27.3 Q 80.3 23.5 77.5 20.2 Q 74.8 16.8 66.7 10.8 Q 58.6 4.8 54 3.8 Q 49.3 2.8 42.6 2.9 Z M 28.4 15.7 Q 32.3 14.3 38.9 14.3 Q 45.6 14.3 50.6 15.4 Q 55.7 16.6 56.4 18.3 Q 57 20 52.5 23.5 Q 48 27 40.6 31.1 Q 33.2 35.1 29.1 30.6 Q 25 26 24 23.8 Q 23.1 21.6 23.8 19.3 Q 24.6 17.1 28.4 15.7 Z", top_46: "M 64.8 4.5 Q 61 3.3 60.9 3.3 Q 60.9 3.4 60.8 7.6 Q 60.7 11.8 58.8 15.9 Q 57 20.1 53 23.6 Q 48.9 27.1 45.3 28.4 Q 41.7 29.7 35.9 29.7 Q 30.2 29.7 27.1 28 Q 24.1 26.3 22.6 22.5 Q 21.2 18.7 21.8 14.4 Q 22.4 10.1 23.6 7.8 Q 24.8 5.5 24.8 5.5 Q 24.8 5.6 19.3 8.9 Q 13.8 12.3 11.8 15.8 Q 9.8 19.3 7.4 28.6 Q 4.9 37.9 4.4 41.7 Q 3.8 45.5 3.8 54.3 Q 3.8 63.1 4 63.5 Q 4.3 64 9.1 65.6 Q 14 67.1 17.8 67.7 Q 21.6 68.2 34.4 68.7 Q 47.2 69.2 48.7 68.7 Q 50.2 68.2 56.3 68.2 Q 62.4 68.2 65.6 67.7 Q 68.9 67.1 70.8 66.7 Q 72.7 66.2 76.8 64 Q 80.9 61.8 82.1 56.6 Q 83.2 51.3 83.2 45.8 Q 83.2 40.2 83.7 38.8 Q 84.2 37.3 83.2 28.8 Q 82.1 20.3 78.9 15.5 Q 75.7 10.8 72.1 8.3 Q 68.6 5.8 64.8 4.5 Z", top_47: "M 44.1 3.9 Q 34 3.9 30.5 5.5 Q 27.1 7 21 13.5 Q 15 20.1 12.9 23.7 Q 10.8 27.3 8.9 36 Q 6.9 44.8 6.3 51.8 Q 5.6 58.8 4.7 60.9 Q 3.8 62.9 3.8 66 Q 3.8 69.1 4.3 70.4 Q 4.9 71.6 7.9 72.8 Q 11 74.1 14.4 74.2 Q 17.8 74.3 21.9 76.2 Q 26 78.1 33.1 78.1 Q 40.2 78.2 42.7 77.2 Q 45.2 76.2 51.7 76.2 Q 58.2 76.2 65.6 75.2 Q 72.9 74.1 77.4 72.6 Q 81.8 71 83.5 68.5 Q 85.1 66.1 84.7 63.4 Q 84.2 60.6 84.7 49.1 Q 85.2 37.6 84.2 32.4 Q 83.2 27.3 81.1 23.7 Q 79.1 20.2 69.8 13 Q 60.5 5.7 57.4 4.8 Q 54.2 3.8 44.1 3.9 Z M 29.4 15.7 Q 33.3 14.3 39.9 14.3 Q 46.6 14.3 51.6 15.4 Q 56.7 16.6 57.4 18.3 Q 58 20 53.5 23.5 Q 49 27 41.6 31.1 Q 34.2 35.1 30.1 30.6 Q 26 26 25 23.8 Q 24.1 21.6 24.8 19.3 Q 25.6 17.1 29.4 15.7 Z", top_48: "M 65.4 4.1 Q 63.2 3.4 60 7.8 Q 56.9 12.2 46.6 21.8 Q 36.4 31.3 28.9 24.3 Q 21.3 17.2 21.3 13.2 Q 21.2 9.2 21.6 7.9 Q 22.1 6.6 21.9 6.3 Q 21.7 6 21.8 6 Q 21.8 6 20.2 6.8 Q 18.6 7.7 15.7 9.9 Q 12.9 12.2 11.3 14.8 Q 9.8 17.4 8.8 20.2 Q 7.9 23 6.4 29.9 Q 4.9 36.9 4.3 46.9 Q 3.8 56.8 3.3 58.3 Q 2.8 59.8 2.9 61.3 Q 2.9 62.8 3.3 63.6 Q 3.8 64.3 11.2 65.7 Q 18.7 67.2 22.4 67.2 Q 26.2 67.2 27.9 66.6 Q 29.6 66.1 32.2 67.1 Q 34.8 68.2 44.6 68.2 Q 54.3 68.2 66.1 66.7 Q 77.9 65.1 79.9 64.4 Q 81.9 63.7 82.6 60 Q 83.2 56.3 83.1 39.7 Q 83.1 23.1 80.6 18.1 Q 78 13.1 75.5 10.5 Q 72.9 7.9 70.3 6.4 Q 67.6 4.8 65.4 4.1 Z", top_49: "M 62.1 3.9 Q 61.3 3.9 57.1 7.5 Q 53 11 45.3 16 Q 37.6 20.9 35.2 19.9 Q 32.9 19 27.5 12.8 Q 22.2 6.6 18.5 8.9 Q 14.8 11.3 11.3 17.3 Q 7.8 23.3 6.4 29.1 Q 4.9 34.9 4.3 47.4 Q 3.8 59.9 3.4 60.9 Q 3 61.8 3.8 66.5 Q 4.6 71.1 13.3 74.1 Q 21.9 77.1 23.4 77.1 Q 24.9 77.1 28.2 75 Q 31.4 73 34.3 75 Q 37.2 77.1 42.3 77.1 Q 47.3 77.2 59.6 74.7 Q 71.9 72.1 76.5 70.4 Q 81.1 68.6 81.6 66.9 Q 82.2 65.2 82.2 59.2 Q 82.2 53.2 82.7 51.7 Q 83.2 50.2 83.2 40.9 Q 83.2 31.6 82.2 25.5 Q 81.2 19.4 76.5 14.2 Q 71.9 8.9 67.4 6.4 Q 62.9 3.9 62.1 3.9 Z", top_50: "M 66.6 4 Q 63.5 3.2 57.1 14.3 Q 50.8 25.4 48 26.7 Q 45.3 27.9 43.6 30.7 Q 41.9 33.6 38.7 30.7 Q 35.5 27.8 33.6 27.4 Q 31.7 27 28.4 29.1 Q 25.1 31.1 23.6 26.4 Q 22.2 21.7 22.8 15.5 Q 23.4 9.3 24.1 6.9 Q 24.9 4.5 24.9 4.3 Q 24.8 4.1 24.3 4.1 Q 23.9 4 21.3 5.3 Q 18.7 6.6 16.8 8.4 Q 14.9 10.1 11.9 15.7 Q 8.8 21.3 6.4 31.5 Q 3.9 41.8 4.4 49.2 Q 4.8 56.6 4.3 59.8 Q 3.9 63.1 4.5 64 Q 5.1 65 7.1 65.5 Q 9 66.1 16 66.7 Q 23 67.4 25.6 69.2 Q 28.2 71.1 30.7 71.1 Q 33.1 71.2 36.1 69.7 Q 39 68.2 55.2 67.7 Q 71.3 67.2 76.6 66.7 Q 81.8 66.1 82.6 65.7 Q 83.3 65.2 83.7 64 Q 84 62.7 82.4 58.9 Q 80.9 55.1 83.5 52.4 Q 86.1 49.6 86.1 44.7 Q 86.2 39.7 85.7 34.4 Q 85.1 29.1 83.7 23.2 Q 82.2 17.4 79 13.1 Q 75.7 8.8 72.7 6.8 Q 69.6 4.8 66.6 4 Z", top_51: "M 64.1 3.5 Q 62.5 3.2 59.8 8.1 Q 57 13 54 16.4 Q 51.1 19.7 47.6 22.8 Q 44.1 25.9 39 29.1 Q 34 32.2 29.8 26.2 Q 25.5 20.2 24.4 17 Q 23.3 13.7 23.2 10.9 Q 23.1 8.2 22.6 7.3 Q 22.1 6.5 21.2 6.7 Q 20.4 6.8 16.9 9.3 Q 13.5 11.9 10.7 16.6 Q 7.8 21.3 5.8 32.9 Q 3.8 44.6 3.4 50.5 Q 3.1 56.4 3.4 58.5 Q 3.8 60.5 5.9 62.7 Q 7.9 64.8 16.3 66.5 Q 24.7 68.2 40 68.2 Q 55.2 68.2 66.1 66.7 Q 76.9 65.1 78.7 64.7 Q 80.5 64.2 81.2 63.7 Q 81.8 63.1 82.5 57.8 Q 83.2 52.5 83.2 39.1 Q 83.2 25.7 82.2 21.5 Q 81.2 17.4 79.2 14.3 Q 77.2 11.2 75.1 9.7 Q 73.1 8.1 69.4 5.9 Q 65.7 3.8 64.1 3.5 Z", top_52: "M 64.8 4.5 Q 61 3.3 60.9 3.3 Q 60.9 3.4 60.8 7.6 Q 60.7 11.8 58.8 15.9 Q 57 20.1 53 23.6 Q 48.9 27.1 45.3 28.4 Q 41.7 29.7 35.9 29.7 Q 30.2 29.7 27.1 28 Q 24.1 26.3 22.6 22.5 Q 21.2 18.7 21.8 14.4 Q 22.4 10.1 23.6 7.8 Q 24.8 5.5 24.8 5.5 Q 24.8 5.6 19.3 8.9 Q 13.8 12.3 11.8 15.8 Q 9.8 19.3 7.4 28.6 Q 4.9 37.9 4.4 41.7 Q 3.8 45.5 3.8 54.3 Q 3.8 63.1 4 63.5 Q 4.3 64 9.1 65.6 Q 14 67.1 17.8 67.7 Q 21.6 68.2 34.4 68.7 Q 47.2 69.2 48.7 68.7 Q 50.2 68.2 56.3 68.2 Q 62.4 68.2 65.6 67.7 Q 68.9 67.1 70.8 66.7 Q 72.7 66.2 76.8 64 Q 80.9 61.8 82.1 56.6 Q 83.2 51.3 83.2 45.8 Q 83.2 40.2 83.7 38.8 Q 84.2 37.3 83.2 28.8 Q 82.1 20.3 78.9 15.5 Q 75.7 10.8 72.1 8.3 Q 68.6 5.8 64.8 4.5 Z", top_53: "M 64.8 4.5 Q 61 3.3 60.9 3.3 Q 60.9 3.4 60.8 7.6 Q 60.7 11.8 58.8 15.9 Q 57 20.1 53 23.6 Q 48.9 27.1 45.3 28.4 Q 41.7 29.7 35.9 29.7 Q 30.2 29.7 27.1 28 Q 24.1 26.3 22.6 22.5 Q 21.2 18.7 21.8 14.4 Q 22.4 10.1 23.6 7.8 Q 24.8 5.5 24.8 5.5 Q 24.8 5.6 19.3 8.9 Q 13.8 12.3 11.8 15.8 Q 9.8 19.3 7.4 28.6 Q 4.9 37.9 4.4 41.7 Q 3.8 45.5 3.8 54.3 Q 3.8 63.1 4 63.5 Q 4.3 64 9.1 65.6 Q 14 67.1 17.8 67.7 Q 21.6 68.2 34.4 68.7 Q 47.2 69.2 48.7 68.7 Q 50.2 68.2 56.3 68.2 Q 62.4 68.2 65.6 67.7 Q 68.9 67.1 70.8 66.7 Q 72.7 66.2 76.8 64 Q 80.9 61.8 82.1 56.6 Q 83.2 51.3 83.2 45.8 Q 83.2 40.2 83.7 38.8 Q 84.2 37.3 83.2 28.8 Q 82.1 20.3 78.9 15.5 Q 75.7 10.8 72.1 8.3 Q 68.6 5.8 64.8 4.5 Z", top_54: "M 63.2 3.9 Q 61.4 3.9 61.3 4 Q 61.2 4.1 61.5 6.4 Q 61.8 8.6 61.2 11.3 Q 60.6 14 59 17.2 Q 57.4 20.4 55.2 22.7 Q 53.1 25 50.5 26.3 Q 47.8 27.7 37.9 27.7 Q 28 27.8 26 26.5 Q 24.1 25.2 23.2 23.5 Q 22.3 21.8 22.3 17.5 Q 22.2 13.2 23.9 9 Q 25.6 4.9 25.8 5.1 Q 25.9 5.2 22.5 6.6 Q 19 8 16 11 Q 13.1 14 10.5 21 Q 7.9 28 6.7 37.5 Q 5.6 47 4.2 49 Q 2.8 51 2.9 53.5 Q 2.9 56 3.9 58 Q 4.8 60.1 4.8 71.6 Q 4.8 83.1 5.1 83.6 Q 5.3 84.1 9.2 85.6 Q 13.1 87.1 16.4 87.7 Q 19.6 88.2 40.4 88.1 Q 61.1 88.1 64.2 87 Q 67.3 86 68.2 80.8 Q 69.1 75.6 74.9 74.4 Q 80.7 73.2 81.4 72.7 Q 82.2 72.3 82.8 64.7 Q 83.4 57.1 84.3 55.5 Q 85.2 54 85.1 51.6 Q 85.1 49.3 84.2 48.1 Q 83.3 46.9 83.7 40.8 Q 84.2 34.7 83.7 33.3 Q 83.2 31.8 83.1 27.4 Q 83.1 23 81.5 19.5 Q 80 16 75.5 11.5 Q 70.9 7 67.9 5.4 Q 64.9 3.9 63.2 3.9 Z", top_56: "M 42.6 2.9 Q 36.9 2.9 33.5 3.4 Q 30.1 3.9 25.1 5.9 Q 20.1 8 15.4 13.8 Q 10.6 19.6 8.7 23.4 Q 6.8 27.3 5.9 30.6 Q 4.9 33.9 3.8 39.8 Q 2.8 45.7 2.9 57.6 Q 2.9 69.6 6 72.3 Q 9 75 13.5 77.5 Q 17.9 80 19.8 79.6 Q 21.6 79.2 24.8 76.8 Q 28 74.3 31.1 74.3 Q 34.2 74.2 38 77.5 Q 41.8 80.8 43 80.9 Q 44.1 81 55.7 76.7 Q 67.2 72.4 71.8 71.8 Q 76.4 71.2 77.8 69.4 Q 79.2 67.5 80.2 64.3 Q 81.1 61.1 81.6 57.7 Q 82.2 54.4 82.2 44.5 Q 82.2 34.6 81.7 31.4 Q 81.1 28.2 79.6 25.1 Q 78 22.1 73.9 18 Q 69.8 13.9 63.2 9.3 Q 56.6 4.8 52.5 3.8 Q 48.3 2.8 42.6 2.9 Z M 29 13.2 Q 33.2 11.3 37.5 11.3 Q 41.7 11.2 44.3 11.8 Q 47 12.4 50.7 14.3 Q 54.4 16.2 55.2 18 Q 56.1 19.8 52.5 22.9 Q 49 26 40.2 30.5 Q 31.3 35.1 27.2 31.1 Q 23 27.1 21.6 24.2 Q 20.1 21.3 22.5 18.2 Q 24.8 15 29 13.2 Z", top_57: "M 41.6 2.9 Q 36.9 2.9 33.1 3.9 Q 29.3 4.8 26.7 6.4 Q 24.1 7.9 18.6 14 Q 13 20 11.4 23.2 Q 9.8 26.3 8.4 31.6 Q 6.9 36.9 5.8 43.8 Q 4.8 50.7 4.3 55.6 Q 3.8 60.4 4 66.5 Q 4.2 72.5 8 73.4 Q 11.7 74.2 17.3 74.3 Q 22.9 74.3 24.4 75.3 Q 26 76.2 42.1 76.2 Q 58.3 76.2 66.6 75.2 Q 74.9 74.1 78.9 73 Q 82.9 71.9 83.5 70.9 Q 84.2 70 84.2 52.8 Q 84.2 35.7 83.7 32.9 Q 83.1 30.2 81.5 26.6 Q 80 23 77.9 20.4 Q 75.8 17.8 66.2 11.3 Q 56.7 4.8 51.5 3.8 Q 46.3 2.8 41.6 2.9 Z M 30.7 14.9 Q 33.4 14.3 38.5 14.3 Q 43.6 14.3 48.9 15.4 Q 54.3 16.5 55.7 17.9 Q 57.2 19.4 47.5 30.4 Q 37.7 41.3 34.8 43.5 Q 32 45.6 27.7 36.8 Q 23.4 27.9 22.8 24.1 Q 22.1 20.3 22.7 19 Q 23.3 17.8 25.6 16.6 Q 28 15.4 30.7 14.9 Z", top_59: "M 51.2 2.9 Q 41.8 2.9 31.4 3.9 Q 21.1 4.9 18.6 5.9 Q 16.1 7 13.5 10.1 Q 11 13.2 11.3 17.5 Q 11.6 21.8 10.2 25 Q 8.9 28.2 6.3 40.4 Q 3.8 52.7 3.9 58.8 Q 3.9 64.9 5.3 67.5 Q 6.6 70 7.2 73.4 Q 7.8 76.8 9.1 79 Q 10.3 81.1 12.3 82.2 Q 14.2 83.2 16.9 83.7 Q 19.7 84.2 23.7 84.2 Q 27.8 84.2 29.3 84.7 Q 30.8 85.2 44.5 85.2 Q 58.3 85.2 63.1 84.7 Q 68 84.1 70.7 83.2 Q 73.5 82.3 75.9 80.3 Q 78.4 78.3 82.3 69.2 Q 86.2 60.1 86.7 51.3 Q 87.2 42.6 86.7 39.4 Q 86.1 36.1 83.7 30.3 Q 81.2 24.5 82.1 20.5 Q 83 16.4 82.6 14.4 Q 82.2 12.4 80.5 10.2 Q 78.9 8 73.4 5.9 Q 67.9 3.9 64.2 3.3 Q 60.5 2.8 51.2 2.9 Z M 33.2 19.3 Q 40.4 17.3 43.5 17.3 Q 46.6 17.3 49.6 17.9 Q 52.7 18.6 53.4 20.3 Q 54.1 22 45.2 28.6 Q 36.3 35.1 31.6 30.5 Q 26.8 25.9 26.5 23.6 Q 26.1 21.3 33.2 19.3 Z", top_60: "M 41.6 2.9 Q 36.9 2.9 33.1 3.9 Q 29.3 4.8 26.7 6.4 Q 24.1 7.9 18.6 14 Q 13 20 11.4 23.2 Q 9.8 26.3 8.4 31.6 Q 6.9 36.9 5.8 43.8 Q 4.8 50.7 4.3 55.6 Q 3.8 60.4 4 66.5 Q 4.2 72.5 8 73.4 Q 11.7 74.2 17.3 74.3 Q 22.9 74.3 24.4 75.3 Q 26 76.2 42.1 76.2 Q 58.3 76.2 66.6 75.2 Q 74.9 74.1 78.9 73 Q 82.9 71.9 83.5 70.9 Q 84.2 70 84.2 53.3 Q 84.2 36.7 83.2 32.5 Q 82.2 28.3 80.6 25.2 Q 79 22.1 76.4 19.5 Q 73.8 16.9 65.2 10.9 Q 56.7 4.8 51.5 3.8 Q 46.3 2.8 41.6 2.9 Z M 30.7 14.9 Q 33.4 14.3 38.5 14.3 Q 43.6 14.3 48.9 15.4 Q 54.3 16.5 55.7 17.9 Q 57.2 19.4 47.5 30.4 Q 37.7 41.3 34.8 43.5 Q 32 45.6 27.7 36.8 Q 23.4 27.9 22.8 24.1 Q 22.1 20.3 22.7 19 Q 23.3 17.8 25.6 16.6 Q 28 15.4 30.7 14.9 Z" };
|
|
1043
|
+
var U0 = { "top/1": { svg: Rt(X1, "#ebe7ef", { stroke: "none" }) + se("top_1", X1, ne("M 18 4 C 14 16 16 26 24 31 C 32 37 46 37 54 34 C 62 30 66 22 66 6", "#d5d0da", 4), ne("M 2 57 C 26 59 60 59 86 57", "#d5d0da", 3)) + Rt(X1, "none") }, "top/5": { svg: Rt(J1, C1, { stroke: "none", holes: true }) + se("top_5", J1, k22(0, 0, 90, 80, 11, Y1)) + Rt(J1, "none", { holes: true }) + Rt("M 22 6 C 34 2 54 2 68 8 C 62 10 58 10 57 9 L 25 12 Z", "#ec5f6c", { width: 2.6 }) + Rt("M 25 10 C 19 18 16 28 15 36 L 34 33 C 28 26 24 18 25 10 Z", C1, { width: 2.8 }) + Rt("M 57 8 C 62 12 68 16 70 20 C 66 28 62 34 58 40 L 34 33 C 44 26 52 18 57 8 Z", C1, { width: 2.8 }) + ne("M 31 34 L 30 58", Tt, 2.8) + Rt("M 2 59 L 85 59 L 85 72 C 85 75 83 77 79 77 L 6 77 C 3 77 2 75 2 72 Z", "#a95b2c") + ee(4, 58, 13, 17, 3, "#94501f", { width: 2.8 }) + ee(45, 58, 15, 17, 3, "#94501f", { width: 2.8 }) + te2(7.5, 67, 2.2, "#6a3818", { width: 1.4 }) + te2(52.5, 67, 2.2, "#6a3818", { width: 1.4 }) }, "top/5_sleeve_near": { svg: x2("sleeve_near_5", n2, C1, k22(0, 0, 36, 36, 11, Y1)) }, "top/5_sleeve_far": { svg: x2("sleeve_far_5", L22, C1, k22(0, 0, 36, 36, 11, Y1)) }, "top/19": { svg: Rt("M 66 10 C 76 12 82 18 83 26 L 84 72 L 70 77 Z", "#2b3f57") + Rt("M 12 30 L 13 14 C 16 8 22 4 26 3 C 24 12 22 22 22 30 Z", "#8a5a32") + Rt("M 57 30 C 58 20 60 10 61 3 C 66 4 70 6 72 9 L 68 30 Z", "#8a5a32") + Rt("M 7 30 L 70 30 L 70 86 C 70 88 68 89 66 89 L 10 89 C 8 89 6 88 6 86 Z", "#8a5a32") + ne("M 48 32 L 52 33 M 23 37 L 26 35 M 51 45 L 54 47 M 62 44 L 64 47 M 10 64 L 11 68 M 28 72 L 31 73 M 16 77 L 17 80 M 36 80 L 38 82 M 56 70 L 58 73", "#5e3a1c", 2.4) + Rt("M 2 48 L 86 48 L 86 58 L 2 58 Z", "#4a3428") + ee(20, 47, 22, 17, 3, "#b8b8b8", { width: 3 }) + ee(25, 52, 12, 7, 1, "#4a3428", { width: 2.4 }) }, "top/19_sleeve_near": { svg: x2("sleeve_near_19", n2, "#2b3f57") }, "top/19_sleeve_far": { svg: x2("sleeve_far_19", L22, "#2b3f57") }, "top/25": { svg: Rt("M 21 5 C 30 12 34 20 34 34 C 42 26 50 16 60 3 L 34 36 Z", "#2e4433", { stroke: "none" }) + Rt(e4, "#79a04a", { stroke: "none" }) + se("top_25", e4, oe2("M 21 5 C 26 16 30 26 34 34 C 40 28 50 18 60 3 L 64 3 C 54 20 44 32 34 42 C 28 32 22 20 18 8 Z", "#2e4433"), oe2("M 66 8 C 76 10 82 16 84 24 L 72 22 C 70 16 68 12 66 8 Z", "#6e6a2a"), oe2("M 40 36 C 52 32 70 30 86 34 L 86 40 C 70 38 52 40 40 44 Z M 4 40 C 10 38 16 40 20 44 L 4 48 Z", "#90b65e"), oe2("M 52 52 C 64 50 76 50 86 52 L 86 58 C 76 56 64 56 52 58 Z", "#56753a")) + Rt(e4, "none") + ne("M 21 7 C 24 20 30 30 34 36 C 42 28 52 18 60 5 M 34 36 L 34 69", Tt, 3) + [[5, 31, 15, 16], [2, 49, 10, 18], [13, 49, 16, 18], [36, 51, 16, 18], [54, 51, 16, 18], [55, 32, 15, 15]].map(([a5, e5, o6, r7]) => ee(a5, e5, o6, r7, 3, "#6d9442", { width: 3 }) + te2(a5 + o6 / 2, e5 + r7 / 2, 2.6, "#3f5a29", { width: 1.6 })).join("") }, "top/25_sleeve_near": { svg: Z1("sleeve_near_25", z2, "#6f9040", 48) }, "top/25_sleeve_far": { svg: Z1("sleeve_far_25", V, "#6f9040", 99, ne("M 0 46 L 30 50", ie2("#6f9040", -0.35), 2.6)) }, "top/40": { svg: Rt(q1, "#4f5166", { stroke: "none", holes: true }) + se("top_40", q1, ne("M 0 38 L 35 53 M 0 50 L 35 62 M 35 50 L 90 31 M 35 61 L 90 43", z1, 6), oe2("M 0 74 L 90 74 L 90 90 L 0 90 Z", "#5a5d73"), ne("M 0 74 L 90 74", Tt, 2.8)) + Rt(q1, "none", { holes: true }) + Rt("M 10 30 C 8 12 22 4 46 3 C 70 3 84 10 83 22 C 70 30 50 34 35 34 C 26 34 16 32 10 30 Z M 23 14 C 34 11 50 11 61 14 C 54 22 44 28 36 32 C 30 26 26 20 23 14 Z", "#2b2c38", { holes: true }) + ne("M 35 34 L 34 85.5", Tt, 2.8) }, "top/40_sleeve_near": { svg: Z1("sleeve_near_40", R2, "#4f5166", 54, ne("M 0 23 L 31 12 M 0 32 L 31 21", z1, 4)) }, "top/40_sleeve_far": { svg: Z1("sleeve_far_40", T2, "#4f5166", 53, ne("M 0 12 L 32 20 M 0 21 L 32 29", z1, 4)) }, "pants/26": { svg: Rt(V1, "#6b86ad") + ne("M 31 6 L 31 12 M 31 18 L 31 26 M 70 6 L 70 12 M 70 18 L 70 26", "#4a5f80", 2.4) + ne("M 35 6 L 35 16 C 35 18 33 19 31 19", "#4a5f80", 2.4) }, "pants/42": { svg: Rt(V1, "#b99a6c") + ne("M 31 6 L 31 12 M 31 18 L 31 26 M 70 6 L 70 12 M 70 18 L 70 26", "#8c7350", 2.4) + ne("M 35 6 L 35 16 C 35 18 33 19 31 19", "#8c7350", 2.4) }, "gloves/1_near": { svg: y("glove_near_1", 28, 25, "#2b2b2b", void 0, ee(9, 9, 11, 5, 2, "#e8e8e8", { width: 1.8 })) }, "gloves/1_far": { svg: y("glove_far_1", 27, 25, "#2b2b2b", void 0, ee(9, 9, 11, 5, 2, "#e8e8e8", { width: 1.8 })) }, "gloves/10_near": { svg: y("glove_near_10", 34, 35, "#e25a3a", { h: 9, color: "#f6a23a" }) }, "gloves/10_far": { svg: y("glove_far_10", 32, 35, "#e25a3a", { h: 9, color: "#f6a23a" }) }, "top/2": { svg: m2("top_2", k3.top_2, "#3c3f4c", ne("M 6 30 C 30 36 60 36 86 28 M 6 60 C 30 58 60 58 86 58", Tt, 3) + ne("M 6 62 L 14 70 M 58 60 L 74 72", Tt, 2.6) + Rt("M 26 36 L 30 36 L 30 86 L 26 86 Z", "#c8c8c8", { width: 2.4 }), ne("M 18 13 C 30 20 50 20 64 15", Tt, 3)) }, "top/2_sleeve_near": { svg: x2("sleeve_near_2", n2, "#e6e6e0") }, "top/2_sleeve_far": { svg: x2("sleeve_far_2", L22, "#e6e6e0") }, "top/3": { svg: m2("top_3", k3.top_3, "#ffe090", oe2("M 14 6 C 30 2 56 2 70 8 L 64 14 C 50 8 32 8 22 14 Z", "#e0b860") + oe2("M 0 70 L 90 70 L 90 90 L 0 90 Z", "#ffe8a8") + ne("M 6 70 L 84 70", Tt, 2.8) + ne("M 24 72 L 24 84 M 38 72 L 38 84 M 52 72 L 52 84 M 66 72 L 66 84", "#d8b060", 2.4), ne("M 24 38 L 20 48 M 48 38 L 52 48", Tt, 4) + ne("M 21 45 L 19.5 49 M 51 45 L 52.5 49", "#ffffff", 2.2)) }, "top/3_sleeve_near": { svg: E2("sleeve_near_3", R2, "#ffe090", 54, "#ffe8a8") }, "top/3_sleeve_far": { svg: E2("sleeve_far_3", T2, "#ffe090", 53, "#ffe8a8") }, "top/4": { svg: m2("top_4", k3.top_4, "#90f0ff", oe2("M 0 50 L 90 50 L 90 58 L 0 58 Z", "#4090d0") + ne("M 0 47 L 90 47 M 0 62 L 90 62", "#ffffff", 2.4), Rt("M 16 8 C 22 4 30 4 34 6 L 42 30 L 36 46 C 34 50 30 50 28 46 L 28 30 C 22 24 16 18 16 8 Z", "#f4f4fc") + Rt("M 68 8 C 62 4 54 4 50 6 L 42 30 L 48 40 C 54 34 62 26 68 8 Z", "#f4f4fc")) }, "top/4_sleeve_near": { svg: x2("sleeve_near_4", n2, "#90f0ff") }, "top/4_sleeve_far": { svg: x2("sleeve_far_4", L22, "#90f0ff") }, "top/6": { svg: m2("top_6", k3.top_6, "#fdf0d8", oe2("M 0 0 L 26 0 C 24 20 22 40 24 62 L 0 62 Z M 60 0 L 90 0 L 90 62 L 62 62 C 64 40 64 20 60 0 Z", "#3a6a98") + K2("M 6 46 L 22 46 M 66 46 L 84 46", "#2a5078", 2.4, "4 3") + ne("M 26 4 C 24 20 22 40 24 62 M 60 4 C 64 20 64 40 62 62", Tt, 2.8) + oe2("M 0 62 L 90 62 L 90 82 L 0 82 Z", "#5a3a30") + ne("M 0 62 L 90 62", Tt, 2.8), ee(28, 62, 18, 14, 2, "#e8c878", { width: 2.8 }) + ee(33, 66, 8, 6, 1, "#5a3a30", { width: 2 })) }, "top/6_sleeve_near": { svg: x2("sleeve_near_6", I2, "#fde6d0", oe2("M 0 25 L 30 25 L 30 29 L 0 29 Z", "#c8a888")) }, "top/6_sleeve_far": { svg: x2("sleeve_far_6", N2, "#fde6d0", oe2("M 0 25 L 30 27 L 30 31 L 0 29 Z", "#c8a888")) }, "top/7": { svg: m2("top_7", k3.top_7, "#f6f4f6", Rt("M 10 40 L 74 40 L 72 62 L 12 62 Z", "#f0a8d0") + ne("M 18 4 L 18 40 M 66 4 L 66 40", "#f0a8d0", 7) + oe2("M 0 56 L 90 56 L 90 64 L 0 64 Z", "#c8a0f0"), [16, 28, 40, 52, 64].map((a5) => te2(a5, 68, 6, "#c8a0f0", { width: 2.6 })).join("") + [[36, 46], [42, 46], [36, 52], [42, 52]].map(([a5, e5]) => te2(a5, e5, 3.6, "#ffffff", { stroke: "none" })).join("") + te2(39, 49, 2.6, "#f8b030", { stroke: "none" })) }, "top/7_sleeve_near": { svg: x2("sleeve_near_7", I2, "#f8f6f8", oe2("M 0 27 L 30 27 L 30 36 L 0 36 Z", "#f4c8dc")) }, "top/7_sleeve_far": { svg: x2("sleeve_far_7", N2, "#f8f6f8", oe2("M 0 27 L 30 29 L 30 38 L 0 36 Z", "#f4c8dc")) }, "top/8": { svg: m2("top_8", k3.top_8, "#4a4a68", ne("M 16 20 L 16 80 M 34 40 L 34 80 M 50 40 L 50 80 M 66 20 L 66 80", "#4a6ad0", 2.6), Rt("M 22 4 L 42 30 L 30 48 L 18 22 Z", "#5a5a7a", { width: 2.6 }) + Rt("M 62 4 L 42 30 L 46 42 L 66 18 Z", "#5a5a7a", { width: 2.6 }) + te2(32, 66, 3, "#e8c040", { width: 2 }) + te2(48, 66, 3, "#e8c040", { width: 2 })) }, "top/9": { svg: m2("top_9", k3.top_9, "#6a90e0", oe2("M 24 3 C 26 14 34 26 42 34 C 50 26 58 14 60 3 Z", "#262626") + ne("M 24 6 C 27 16 34 26 42 34 C 50 26 57 16 60 6", "#f4f6fc", 3)) }, "top/9_sleeve_near": { svg: Rt(z2, "#262626") }, "top/9_sleeve_far": { svg: E2("sleeve_far_9", V, "#262626", 99, "#262626", oe2("M 0 0 L 34 0 L 34 20 L 0 16 Z", "#6a90e0") + ne("M 0 12 L 34 16", "#f4f6fc", 3)) }, "top/9_cap_near": { svg: x2("sleeve_near_9_", n2, "#6a90e0", ne("M 2 24 L 34 22", "#f4f6fc", 3)) }, "top/9_cap_far": { svg: x2("sleeve_far_9_", L22, "#6a90e0", ne("M 2 22 L 32 26", "#f4f6fc", 3)) }, "top/10": { svg: Rt("M 3 8 C 10 6 18 10 24 16 L 28 24 L 32 16 C 38 10 46 6 53 4 L 53 52 C 40 54 18 54 3 52 Z", "#ece0d4") + ne("M 28 24 L 28 52 M 3 8 L 18 20 L 26 26 M 53 4 L 38 18 L 30 26", Tt, 2.6) }, "top/10_coat": { svg: m2("top_10_", "M 4 100 L 4 30 C 4 12 14 4 30 4 L 60 4 C 76 4 84 12 84 28 L 84 100 L 50 100 L 50 52 C 48 36 42 26 35 22 C 28 26 22 36 18.5 52 L 18.5 100 Z", "#b07850", ne("M 10 30 L 10 96 M 78 30 L 78 96", "#8a5a38", 2.4) + ne("M 4 88 L 18 88 M 50 88 L 84 88", "#8a5a38", 3)) }, "top/10_sleeve_near": { svg: E2("sleeve_near_10", z2, "#b07850", 46, "#b07850", ne("M 0 49 L 30 49", "#8a5a38", 3)) }, "top/10_sleeve_far": { svg: E2("sleeve_far_10", V, "#b07850", 46, "#b07850", ne("M 0 49 L 32 52", "#8a5a38", 3)) }, "top/11": { svg: m2("top_11", k3.top_11, "#f07028", ne("M 0 62 L 90 62", "#c05018", 2.4) + oe2("M 18 0 L 26 22 C 30 30 34 34 39 37 C 46 32 54 24 60 14 L 68 0 Z", "#f4eef4") + ne("M 18 6 L 26 22 C 30 30 34 34 39 37 C 46 32 54 24 60 14 L 66 4", "#c05018", 3.2) + ne("M 31 27 C 36 26 42 26 47 25 M 39 26 L 39 34", "#9a9a9a", 2)) }, "top/11_sleeve_near": { svg: x2("sleeve_near_11", n2, "#f4eef4") }, "top/11_sleeve_far": { svg: x2("sleeve_far_11", L22, "#f4eef4") }, "top/12": { svg: m2("top_12", k3.top_12, "#2e2e32", oe2("M 24 0 L 42 40 L 60 0 Z", "#f4f4f8") + Rt("M 39 14 L 45 14 L 47 36 L 42 42 L 37 36 Z", "#1a1a40", { width: 2 }), Rt("M 22 4 L 40 40 L 30 52 L 16 22 Z", "#3a3a40", { width: 2.6 }) + Rt("M 62 4 L 44 40 L 50 48 L 68 18 Z", "#3a3a40", { width: 2.6 })) }, "top/12_sleeve_near": { svg: E2("sleeve_near_12", z2, "#2e2e32", 48, "#f4f4f8") }, "top/12_sleeve_far": { svg: E2("sleeve_far_12", V, "#2e2e32", 48, "#f4f4f8") }, "top/13": { svg: m2("top_13", k3.top_13, "#8a4a38", ne("M 4 56 L 12 50 L 20 56 L 28 50 M 56 50 L 64 56 L 72 50 L 80 56 L 88 50", "#5a2a20", 3) + oe2("M 36 30 L 52 30 L 52 82 L 36 82 Z", "#9a8070") + ne("M 36 30 L 36 82 M 52 30 L 52 82", Tt, 2.6) + [44, 56].map((a5) => te2(44, a5, 3, "#5a4a40", { width: 2 })).join(""), Rt("M 8 18 C 20 8 40 4 60 6 C 72 8 80 14 82 22 C 70 30 50 34 30 32 C 20 30 12 26 8 18 Z", "#1aa0c8") + oe2("M 26 12 C 40 8 56 8 66 12 C 56 18 40 18 26 12 Z", "#108aaa") + te2(44, 72, 5, "#d8a040", { width: 2.6 })) }, "top/13_sleeve_near": { svg: Rt(z2, "#7a2a28") }, "top/13_sleeve_far": { svg: Rt(V, "#7a2a28") }, "top/14": { svg: m2("top_14", k3.top_14, "#d82838", ne("M 20 5 C 22 16 30 24 42 24 C 54 24 62 16 64 5", "#f4f4f4", 3), `<text x="42" y="58" font-family="Arial Black, Arial, sans-serif" font-weight="900" font-size="22" text-anchor="middle" fill="#ffffff" stroke="${Tt}" stroke-width="2.6" paint-order="stroke">23</text>`) }, "top/15": { svg: m2("top_15", k3.top_15, "#8aa0b0", oe2("M 0 0 L 90 0 L 90 36 C 70 40 50 42 40 40 C 30 40 14 36 0 30 Z", "#1a6a6a") + ne("M 2 48 L 40 62 L 88 42 M 2 56 L 40 70 L 88 50", "#f4f4f4", 4) + oe2("M 0 72 L 90 72 L 90 90 L 0 90 Z", "#a0b4c4") + ne("M 6 72 L 84 72 M 40 40 L 40 86", Tt, 2.8)) }, "top/15_sleeve_near": { svg: E2("sleeve_near_15", R2, "#8aa0b0", 54, "#a0b4c4", oe2("M 0 0 L 31 0 L 31 14 L 0 18 Z", "#1a6a6a") + ne("M 0 26 L 31 20", "#f4f4f4", 3.6)) }, "top/15_sleeve_far": { svg: E2("sleeve_far_15", T2, "#8aa0b0", 53, "#a0b4c4", oe2("M 0 0 L 32 0 L 32 18 L 0 14 Z", "#1a6a6a") + ne("M 0 20 L 32 26", "#f4f4f4", 3.6)) }, "top/16": { svg: m2("top_16", k3.top_16, "#7060d0", oe2("M 0 76 L 90 76 L 90 86 L 0 86 Z", "#a0f0d0") + ne("M 0 76 L 90 76", Tt, 2.6), Rt("M 20 4 C 24 14 32 22 38 26 L 42 30 L 30 36 C 24 30 18 18 20 4 Z", "#a0f0d0", { width: 2.6 }) + Rt("M 64 4 C 60 14 52 22 46 26 L 42 30 L 54 36 C 60 30 66 18 64 4 Z", "#a0f0d0", { width: 2.6 }) + Rt("M 38 28 L 46 28 L 44 40 L 40 40 Z", "#5040a0", { width: 2.2 })) }, "top/16_sleeve_near": { svg: E2("sleeve_near_16", G0, "#7060d0", 46, "#a0f0d0") }, "top/16_sleeve_far": { svg: E2("sleeve_far_16", W0, "#7060d0", 46, "#a0f0d0") }, "top/17": { svg: m2("top_17", k3.top_17, "#e4f6fc", [[18, 44], [66, 30], [50, 66], [14, 70]].map(([a5, e5]) => Rt(`M ${a5 - 7} ${e5} C ${a5 - 7} ${e5 - 6} ${a5 - 1} ${e5 - 7} ${a5 + 1} ${e5 - 4} C ${a5 + 5} ${e5 - 8} ${a5 + 10} ${e5 - 4} ${a5 + 8} ${e5} C ${a5 + 10} ${e5 + 4} ${a5 + 6} ${e5 + 7} ${a5 + 2} ${e5 + 5} C ${a5 - 2} ${e5 + 8} ${a5 - 8} ${e5 + 5} ${a5 - 7} ${e5} Z`, "none", { stroke: "#8ad0f0", width: 2.4 })).join("") + ne("M 42 30 L 42 80", Tt, 2.4), Rt("M 22 4 C 26 14 32 22 40 28 L 34 34 C 26 28 20 18 22 4 Z", "#e4f6fc", { width: 2.6 }) + Rt("M 62 4 C 58 14 52 22 44 28 L 50 34 C 58 28 64 18 62 4 Z", "#e4f6fc", { width: 2.6 })) }, "top/17_sleeve_near": { svg: x2("sleeve_near_17", C6, "#e4f6fc", ne("M 10 20 C 10 16 16 15 17 18 C 21 15 24 19 22 22 C 24 26 18 28 16 26 C 12 28 8 24 10 20 Z", "#8ad0f0", 2.2)) }, "top/17_sleeve_far": { svg: x2("sleeve_far_17", f6, "#e4f6fc", ne("M 10 18 C 10 14 16 13 17 16 C 21 13 24 17 22 20 C 24 24 18 26 16 24 C 12 26 8 22 10 18 Z", "#8ad0f0", 2.2)) }, "top/18": { svg: m2("top_18", k3.top_18, "#262628", oe2("M 0 0 L 22 0 C 20 20 20 40 22 58 L 0 58 Z M 66 0 L 90 0 L 90 58 L 66 58 C 68 40 68 20 66 0 Z", "#e05028") + ne("M 22 2 C 20 20 20 40 22 58 M 66 2 C 68 20 68 40 66 58", Tt, 2.8) + ee(8, 30, 8, 8, 2, "#3050d0", { width: 2 }) + Rt("M 70 26 L 80 24 L 82 32 L 72 34 Z", "#40c040", { width: 2 }) + oe2("M 0 58 L 90 58 L 90 74 L 0 74 Z", "#262628") + ne("M 4 58 L 86 58", Tt, 2.8), ne("M 4 63 L 86 63", "#e05028", 2.6) + Rt("M 38 58 C 38 54 50 54 50 58 C 50 62 48 64 46 64 L 42 64 C 40 64 38 62 38 58 Z", "#e8e8e8", { width: 2.4 })) }, "top/18_sleeve_near": { svg: x2("sleeve_near_18", n2, "#262628") }, "top/18_sleeve_far": { svg: x2("sleeve_far_18", L22, "#262628") }, "top/20": { svg: m2("top_20", k3.top_20, "#e8e2ea", oe2("M 0 0 L 90 0 L 90 26 C 70 30 56 30 42 26 C 28 30 14 30 0 26 Z", "#e05038") + ne("M 0 26 C 14 30 28 30 42 26 C 56 30 70 30 90 26", Tt, 2.6)) }, "top/20_sleeve_near": { svg: Rt(z2, "#e05038") }, "top/20_sleeve_far": { svg: Rt(V, "#e05038") }, "top/21": { svg: m2("top_21", k3.top_21, "#f6f4f8", ne("M 10 0 L 10 72 M 22 0 L 22 72 M 34 0 L 34 72 M 50 0 L 50 72 M 62 0 L 62 72 M 74 0 L 74 72", "#c8e8d8", 3) + ne("M 16 0 L 16 72 M 56 0 L 56 72 M 68 0 L 68 72", "#f8d8b8", 3), Rt("M 46 40 L 60 40 L 53 46 Z", "#b890e0", { width: 2.2 })) }, "top/21_sleeve_near": { svg: E2("sleeve_near_21", z2, "#f6f4f8", 99, "#f6f4f8", ne("M 9 0 L 9 60 M 15 0 L 15 60 M 21 0 L 21 60", "#e0c8e8", 2.6)) }, "top/21_sleeve_far": { svg: E2("sleeve_far_21", V, "#f6f4f8", 99, "#f6f4f8", ne("M 14 0 L 10 60 M 20 0 L 16 60 M 26 0 L 22 60", "#e0c8e8", 2.6)) }, "top/22": { svg: m2("top_22", k3.top_22, "#a0f0c8", ne("M 22 5 C 22 16 32 24 42 24 C 52 24 62 16 62 5", "#30b060", 3.4), ["#ff5a8a", "#ffb020", "#40c0f0", "#a060e0", "#30c070"].map((a5, e5) => `<text x="${18 + e5 * 12}" y="${54 + (e5 % 2 ? -2 : 2)}" font-family="Arial Black, Arial, sans-serif" font-weight="900" font-size="15" fill="${a5}" stroke="#ffffff" stroke-width="1.6" paint-order="stroke">${"HAPPY"[e5]}</text>`).join("")) }, "top/22_sleeve_near": { svg: Rt(z2, "#50e080") }, "top/22_sleeve_far": { svg: Rt(V, "#50e080") }, "top/23": { svg: m2("top_23", k3.top_23, "#f8f0e8", ne("M 0 52 L 90 52 M 0 64 L 90 64", "#262626", 5), ne("M 22 5 C 22 16 32 24 42 24 C 52 24 62 16 62 5", "#3a3a3a", 3.4)) }, "top/23_sleeve_near": { svg: E2("sleeve_near_23", z2, "#f8f0e8", 99, "#f8f0e8", ne("M 0 30 L 30 30 M 0 40 L 30 40", "#262626", 4.4)) }, "top/23_sleeve_far": { svg: E2("sleeve_far_23", V, "#f8f0e8", 99, "#f8f0e8", ne("M 0 30 L 32 32 M 0 40 L 32 42", "#262626", 4.4)) }, "top/24": { svg: m2("top_24", k3.top_24, "#ffe880", "", Rt("M 18 42 C 14 36 18 30 24 32 C 28 26 42 26 46 32 C 52 30 56 36 52 42 C 54 52 46 60 35 60 C 24 60 16 52 18 42 Z", "#f0a040", { width: 2.6 }) + te2(29, 44, 1.8, Tt, { stroke: "none" }) + te2(41, 44, 1.8, Tt, { stroke: "none" }) + Ft(35, 51, 6, 4, "#f8d090", { width: 2 }) + ne("M 32 52 C 34 54 36 54 38 52", Tt, 1.8)) }, "top/24_sleeve_near": { svg: Rt(z2, "#f09010") }, "top/24_sleeve_far": { svg: Rt(V, "#f09010") }, "top/26": { svg: m2("top_26", "M 6 90 L 4 30 C 6 18 12 10 20 8 C 30 4 60 4 72 8 C 82 12 88 20 88 32 L 86 90 L 50 90 L 46 80 L 42 90 Z", "#b06018", ne("M 46 40 L 46 80 M 14 40 L 14 86 M 78 40 L 78 86", "#7a4010", 2.6) + oe2("M 0 68 L 92 66 L 92 76 L 0 78 Z", "#7a4010") + ne("M 0 68 L 92 66 M 0 78 L 92 76", Tt, 2.6), Rt("M 12 18 C 20 6 40 2 60 4 C 76 6 86 14 84 26 C 76 36 56 40 40 38 C 24 36 12 30 12 18 Z", "#e0c8a8") + Rt("M 26 16 C 34 10 50 10 60 14 C 54 22 44 26 36 26 C 30 24 26 20 26 16 Z", "#c0a080", { width: 2.4 })) }, "top/27": { svg: m2("top_27", k3.top_27, "#c070d8", oe2("M 0 40 L 90 30 L 90 52 L 0 62 Z", "#40d8c8") + ne("M 0 52 L 90 42", "#f4f4f4", 3), Rt("M 8 20 C 10 6 30 2 48 2 C 66 2 80 6 82 18 C 82 28 66 32 46 32 C 26 32 8 30 8 20 Z", "#c070d8") + Rt("M 22 14 C 30 8 56 8 66 14 C 58 20 30 20 22 14 Z", "#9a40b8", { width: 2.4 })) }, "top/27_sleeve_near": { svg: E2("sleeve_near_27", z2, "#40d8c8", 30, "#4080e0", ne("M 0 30 L 30 30", "#f4f4f4", 3)) }, "top/27_sleeve_far": { svg: E2("sleeve_far_27", V, "#40d8c8", 30, "#4080e0", ne("M 0 30 L 32 32", "#f4f4f4", 3)) }, "top/28": { svg: m2("top_28", k3.top_28, "#ffffd0", ne("M 18 0 L 18 60 M 68 0 L 68 60", "#a06030", 4) + oe2("M 0 58 L 90 58 L 90 68 L 0 68 Z", "#7a4020") + ne("M 0 58 L 90 58 M 0 68 L 90 68", Tt, 2.6), Ft(42, 63, 7, 5.5, "#f8c838", { width: 2.6 }) + te2(18, 63, 2.6, "#f8c838", { width: 2 }) + te2(68, 63, 2.6, "#f8c838", { width: 2 })) }, "top/29": { svg: Rt("M 3 8 C 10 6 18 10 24 16 L 30 22 L 36 16 C 42 10 50 6 60 4 L 60 58 C 44 60 20 60 3 58 Z", "#d8f0f4") + Rt("M 22 10 L 38 10 L 32 22 L 36 42 L 30 50 L 24 42 L 28 22 Z", "#7050b0", { width: 2.6 }) + oe2("M 3 48 L 60 48 L 60 58 L 3 58 Z", "#262626") + ee(26, 47, 10, 9, 1, "#c8c8c8", { width: 2 }) }, "top/29_coat": { svg: m2("top_29_", "M 4 100 L 4 30 C 4 12 14 4 30 4 L 60 4 C 76 4 84 12 84 28 L 84 100 L 50 100 L 50 52 C 48 36 42 26 35 22 C 28 26 22 36 18.5 52 L 18.5 100 Z", "#6a6a6e", ne("M 4 90 L 18 90 M 50 90 L 84 90", "#9a9aa0", 3) + Rt("M 56 64 L 72 66 L 72 72 L 56 70 Z", "#5a5a5e", { width: 2.4 }), Rt("M 8 10 C 20 4 50 4 70 8 C 78 10 82 16 82 24 L 64 30 C 56 20 46 16 35 18 C 26 20 18 26 12 32 Z", "#5a5a5e")) }, "top/29_sleeve_near": { svg: E2("sleeve_near_29", z2, "#6a6a6e", 46, "#9a9aa0") }, "top/29_sleeve_far": { svg: E2("sleeve_far_29", V, "#6a6a6e", 46, "#9a9aa0") }, "top/30": { svg: m2("top_30", k3.top_30, "#1e2e88", ne("M 42 30 L 42 80", Tt, 2.6) + Rt("M 54 46 L 66 46 L 66 50 L 54 50 Z", "#4090f0", { stroke: "none" }) + te2(20, 62, 2.6, "#f4f4f4", { width: 2 }), Rt("M 22 4 L 40 28 L 26 40 L 16 18 Z", "#f4f4f8", { width: 2.6 }) + Rt("M 62 4 L 44 28 L 50 36 L 66 18 Z", "#f4f4f8", { width: 2.6 })) }, "top/30_sleeve_near": { svg: E2("sleeve_near_30", z2, "#1e2e88", 99, "#1e2e88", Ft(16, 18, 3, 5, "#4090f0", { width: 2 }) + ne("M 0 46 L 30 46", "#c8d0f0", 2.6)) }, "top/30_sleeve_far": { svg: E2("sleeve_far_30", V, "#1e2e88", 99, "#1e2e88", Ft(20, 18, 3, 5, "#4090f0", { width: 2 }) + ne("M 0 46 L 32 48", "#c8d0f0", 2.6)) }, "top/31": { svg: m2("top_31", k3.top_31, "#c0c8c8", oe2("M 14 6 C 30 2 56 2 70 8 L 64 14 C 50 8 32 8 22 14 Z", "#98a4a4") + oe2("M 0 72 L 90 72 L 90 90 L 0 90 Z", "#a8b2b2") + ne("M 6 72 L 84 72", Tt, 2.8) + Rt("M 18 52 L 64 52 L 70 70 L 12 70 Z", "none", { width: 2.6 }), ne("M 24 38 L 20 48 M 48 38 L 52 48", Tt, 4) + ne("M 21 45 L 19.5 49 M 51 45 L 52.5 49", "#ffffff", 2.2)) }, "top/31_sleeve_near": { svg: E2("sleeve_near_31", R2, "#c0c8c8", 54, "#a8b2b2") }, "top/31_sleeve_far": { svg: E2("sleeve_far_31", T2, "#c0c8c8", 53, "#a8b2b2") }, "top/32": { svg: m2("top_32", k3.top_32, "#305a8a", oe2("M 30 30 L 54 30 L 54 82 L 30 82 Z", "#f4ead8") + ne("M 30 30 L 30 82 M 54 30 L 54 82", Tt, 2.6) + te2(42, 46, 2.6, "#5a4a3a", { width: 2 }) + te2(42, 58, 2.6, "#5a4a3a", { width: 2 }) + oe2("M 0 66 L 90 66 L 90 76 L 0 76 Z", "#5a3a28") + ne("M 4 40 L 10 44 L 14 40 L 20 44 M 64 40 L 70 44 L 74 40 L 80 44", "#1e3e60", 2.6), Rt("M 8 18 C 20 6 40 2 60 4 C 74 6 82 12 82 20 C 70 30 52 36 40 40 C 28 34 14 28 8 18 Z", "#d82838") + te2(42, 70, 6, "#a0a0a0", { width: 2.6 })) }, "top/32_sleeve_near": { svg: Rt(z2, "#f8f0e4") }, "top/32_sleeve_far": { svg: Rt(V, "#f8f0e4") }, "top/33": { svg: F0("top_33", k3.top_33, "#4a70e0", "#a8c0f8", "#262628", "#3a3a3a") }, "top/34": { svg: F0("top_34", k3.top_34, "#a060c0", "#80d0f0", "#9a6a40", "#7a4a28") }, "top/33_sleeve_near": { svg: x2("sleeve_near_33", n2, "#4a70e0", k22(0, 0, 40, 40, 9, "#ffffff")) }, "top/33_sleeve_far": { svg: x2("sleeve_far_33", L22, "#4a70e0", k22(0, 0, 40, 40, 9, "#ffffff")) }, "top/34_sleeve_near": { svg: x2("sleeve_near_34", n2, "#a060c0", k22(0, 0, 40, 40, 9, "#80d0f0")) }, "top/34_sleeve_far": { svg: x2("sleeve_far_34", L22, "#a060c0", k22(0, 0, 40, 40, 9, "#80d0f0")) }, "top/35": { svg: m2("top_35", "M 4 76 L 4 30 C 5 18 10 8 18 3 C 20 14 28 22 42 22 C 56 22 64 14 66 3 C 74 8 80 18 82 30 C 84 50 84 66 83 76 C 60 79 26 79 4 76 Z", "#1e1e20", ne("M 20 5 C 22 16 30 24 42 24 C 54 24 62 16 64 5", "#20a080", 3.4) + ne("M 20 9 C 23 19 31 27 42 27 C 53 27 61 19 64 9", "#f4f4f4", 2), `<text x="42" y="58" font-family="Arial Black, Arial, sans-serif" font-weight="900" font-size="22" text-anchor="middle" fill="#ffffff" stroke="${Tt}" stroke-width="2.6" paint-order="stroke">30</text>`) }, "top/36": { svg: m2("top_36", k3.top_36, "#a8a8d0", oe2("M 0 0 L 90 0 L 90 22 C 70 26 56 26 42 22 C 28 26 14 26 0 22 Z", "#108060") + ne("M 0 22 C 14 26 28 26 42 22 C 56 26 70 26 90 22", Tt, 2.6)) }, "top/36_sleeve_near": { svg: Rt(z2, "#108060") }, "top/36_sleeve_far": { svg: Rt(V, "#108060") }, "top/37": { svg: m2("top_37", k3.top_37, "#f8f0e4", "", Rt("M 34 64 C 26 58 18 52 18 44 C 18 38 24 36 28 38 C 30 38 32 40 34 42 C 36 40 38 38 40 38 C 46 36 50 40 50 44 C 50 52 42 58 34 64 Z", "#f06060", { width: 2.8 })) }, "top/37_sleeve_near": { svg: x2("sleeve_near_37", I2, "#f8f0e4", oe2("M 0 26 L 30 26 L 30 30 L 0 30 Z", "#e8dccc")) }, "top/37_sleeve_far": { svg: x2("sleeve_far_37", N2, "#f8f0e4", oe2("M 0 26 L 30 28 L 30 32 L 0 30 Z", "#e8dccc")) }, "top/38": { svg: m2("top_38", k3.top_38, "#e8e8f0", ne("M 0 54 L 90 50", "#2090e0", 3.4) + ne("M 6 30 C 30 36 60 36 84 28 M 40 34 L 40 82", Tt, 2.8), ne("M 18 13 C 30 20 50 20 64 15", Tt, 3)) }, "top/38_sleeve_near": { svg: E2("sleeve_near_38", z2, "#e8e8f0", 99, "#e8e8f0", ne("M 0 20 L 30 20", "#2090e0", 3.2)) }, "top/38_sleeve_far": { svg: E2("sleeve_far_38", V, "#e8e8f0", 99, "#e8e8f0", ne("M 0 20 L 32 22", "#2090e0", 3.2)) }, "top/39": { svg: m2("top_39", k3.top_39, "#f8c0e0", [[18, 44], [60, 52], [30, 70], [72, 26]].map(([a5, e5]) => Rt(`M ${a5} ${e5 - 6} C ${a5 + 3} ${e5 - 9} ${a5 + 8} ${e5 - 6} ${a5 + 6} ${e5 - 2} C ${a5 + 10} ${e5} ${a5 + 8} ${e5 + 6} ${a5 + 4} ${e5 + 4} C ${a5 + 2} ${e5 + 9} ${a5 - 4} ${e5 + 8} ${a5 - 4} ${e5 + 4} C ${a5 - 9} ${e5 + 4} ${a5 - 9} ${e5 - 2} ${a5 - 5} ${e5 - 2} C ${a5 - 7} ${e5 - 6} ${a5 - 3} ${e5 - 9} ${a5} ${e5 - 6} Z`, "none", { stroke: "#e080b8", width: 2.2 })).join("") + ne("M 42 30 L 42 82", Tt, 2.4), Rt("M 22 4 C 26 14 32 22 40 28 L 34 34 C 26 28 20 18 22 4 Z", "#f8c0e0", { width: 2.6 }) + Rt("M 62 4 C 58 14 52 22 44 28 L 50 34 C 58 28 64 18 62 4 Z", "#f8c0e0", { width: 2.6 })) }, "top/39_sleeve_near": { svg: x2("sleeve_near_39", n2, "#f8c0e0", ne("M 12 14 C 16 10 22 12 22 16 C 26 16 26 22 22 22", "#e080b8", 2.2)) }, "top/39_sleeve_far": { svg: x2("sleeve_far_39", L22, "#f8c0e0", ne("M 12 12 C 16 8 22 10 22 14 C 26 14 26 20 22 20", "#e080b8", 2.2)) }, "top/41": { svg: m2("top_41", k3.top_41, "#b0a0e8", oe2("M 0 0 L 92 0 L 92 30 C 70 36 50 38 40 34 C 28 36 14 32 0 26 Z", "#f0b0d0") + ne("M 40 36 L 40 84", "#8a7ad0", 3) + ne("M 10 60 L 20 66 M 64 58 L 76 64", Tt, 2.6)) }, "top/41_sleeve_near": { svg: E2("sleeve_near_41", R2, "#f0b0d0", 54, "#d07098") }, "top/41_sleeve_far": { svg: E2("sleeve_far_41", T2, "#f0b0d0", 53, "#d07098") }, "top/42": { svg: m2("top_42", k3.top_42, "#f8f0e8", ne("M 0 50 L 90 50", "#4a80f0", 4.4) + ne("M 0 60 L 90 60", "#e04858", 4.4), ne("M 22 5 C 22 16 32 24 42 24 C 52 24 62 16 62 5", "#c8c8c8", 3.4)) }, "top/42_sleeve_near": { svg: E2("sleeve_near_42", z2, "#f8f0e8", 99, "#f8f0e8", ne("M 0 34 L 30 34", "#4a80f0", 4) + ne("M 0 44 L 30 44", "#e04858", 4)) }, "top/42_sleeve_far": { svg: E2("sleeve_far_42", V, "#f8f0e8", 99, "#f8f0e8", ne("M 0 34 L 32 36", "#4a80f0", 4) + ne("M 0 44 L 32 46", "#e04858", 4)) }, "top/43": { svg: m2("top_43", k3.top_43, "#f4f8fc", ne("M 12 0 L 12 80 M 24 0 L 24 80 M 60 0 L 60 80 M 72 0 L 72 80", "#80c0f0", 3) + ne("M 42 30 L 42 80", Tt, 2.4), Rt("M 22 4 C 26 14 32 22 40 28 L 34 34 C 26 28 20 18 22 4 Z", "#f4f8fc", { width: 2.6 }) + Rt("M 62 4 C 58 14 52 22 44 28 L 50 34 C 58 28 64 18 62 4 Z", "#f4f8fc", { width: 2.6 })) }, "top/43_sleeve_near": { svg: x2("sleeve_near_43", I2, "#f4f8fc", ne("M 15 4 L 15 34", "#80c0f0", 3)) }, "top/43_sleeve_far": { svg: x2("sleeve_far_43", N2, "#f4f8fc", ne("M 17 4 L 14 36", "#80c0f0", 3)) }, "top/44": { svg: m2("top_44", k3.top_44, "#b0b4bc", ne("M 0 64 L 90 64", "#8a8e96", 2.4) + oe2("M 18 0 L 26 22 C 30 30 34 34 39 37 C 46 32 54 24 60 14 L 68 0 Z", "#f4f6ee") + ne("M 18 6 L 26 22 C 30 30 34 34 39 37 C 46 32 54 24 60 14 L 66 4", "#8a8e96", 3.2)) }, "top/44_sleeve_near": { svg: E2("sleeve_near_44", R2, "#f4f6ee", 56, "#f4f6ee") }, "top/44_sleeve_far": { svg: E2("sleeve_far_44", T2, "#f4f6ee", 55, "#f4f6ee") }, "top/45": { svg: m2("top_45", k3.top_45, "#2e5a4a", oe2("M 0 44 L 90 44 L 90 60 L 0 60 Z", "#3a3a78") + ne("M 0 40 L 90 40 M 0 64 L 90 64", "#e8e890", 2.6), Rt("M 18 8 C 30 4 50 4 64 8 L 56 14 C 50 10 32 10 28 14 Z", "#f0f0c8", { width: 2.6 }) + Rt("M 28 14 L 42 30 L 36 44 C 34 48 30 48 28 44 Z", "#f0f0c8", { width: 2.6 })) }, "top/45_sleeve_near": { svg: E2("sleeve_near_45", z2, "#2e4a40", 99, "#2e4a40", oe2("M 0 26 L 30 26 L 30 38 L 0 38 Z", "#3a3a78") + ne("M 0 32 L 30 32", "#e8e890", 2.4)) }, "top/45_sleeve_far": { svg: E2("sleeve_far_45", V, "#2e4a40", 99, "#2e4a40", oe2("M 0 26 L 32 28 L 32 40 L 0 38 Z", "#3a3a78") + ne("M 0 32 L 32 34", "#e8e890", 2.4)) }, "top/46_sleeve_near": { svg: Rt(z2, "#2e6a60") }, "top/46_sleeve_far": { svg: Rt(V, "#2e6a60") }, "top/46_cap_near": { svg: x2("sleeve_near_46_", n2, "#f0b040") }, "top/46_cap_far": { svg: x2("sleeve_far_46_", L22, "#f0b040") }, "top/47_sleeve_near": { svg: x2("sleeve_near_47", I2, "#f0f0f8", oe2("M 0 26 L 30 26 L 30 36 L 0 36 Z", "#c8c8d8")) }, "top/47_sleeve_far": { svg: x2("sleeve_far_47", N2, "#f0f0f8", oe2("M 0 26 L 30 28 L 30 38 L 0 36 Z", "#c8c8d8")) }, "top/48_sleeve_near": { svg: E2("sleeve_near_48", z2, "#6a90c0", 99, "#6a90c0", K2("M 9 4 L 9 52 M 20 4 L 20 52", "#4a70a0", 2, "4 3")) }, "top/48_sleeve_far": { svg: E2("sleeve_far_48", V, "#6a90c0", 99, "#6a90c0", K2("M 14 4 L 9 52 M 25 4 L 20 52", "#4a70a0", 2, "4 3")) }, "top/49_sleeve_near": { svg: E2("sleeve_near_49", z2, "#f0ead8", 46, "#ffffff", ne("M 0 50 L 30 50", Tt, 2.6)) }, "top/49_sleeve_far": { svg: E2("sleeve_far_49", V, "#f0ead8", 46, "#ffffff", ne("M 0 50 L 32 52", Tt, 2.6)) }, "top/50_sleeve_near": { svg: x2("sleeve_near_50", "M 4 29 C 3 18 6 8 13 5 C 20 3 25 8 29 16 C 31 21 33 26 32 29 L 26 27 L 24 32 L 18 28 L 14 32 L 10 28 Z", "#f8f070") }, "top/50_sleeve_far": { svg: x2("sleeve_far_50", "M 3 24 C 6 14 12 5 20 3 C 26 2 30 6 31 12 L 31 30 L 26 28 L 22 33 L 18 29 L 13 32 L 9 28 Z", "#f8f070") }, "top/51_sleeve_near": { svg: E2("sleeve_near_51", R2, "#a0e0d0", 54, "#80c8b8") }, "top/51_sleeve_far": { svg: E2("sleeve_far_51", T2, "#a0e0d0", 53, "#80c8b8") }, "top/52_sleeve_near": { svg: x2("sleeve_near_52", I2, "#f4f4f8", oe2("M 0 26 L 30 26 L 30 36 L 0 36 Z", "#d8d8e0")) }, "top/52_sleeve_far": { svg: x2("sleeve_far_52", N2, "#f4f4f8", oe2("M 0 26 L 30 28 L 30 38 L 0 36 Z", "#d8d8e0")) }, "top/53_sleeve_near": { svg: x2("sleeve_near_53", I2, "#f8d0e0", oe2("M 0 27 L 30 27 L 30 36 L 0 36 Z", "#ffffff")) }, "top/53_sleeve_far": { svg: x2("sleeve_far_53", N2, "#f8d0e0", oe2("M 0 27 L 30 29 L 30 38 L 0 36 Z", "#ffffff")) }, "top/54_sleeve_near": { svg: x2("sleeve_near_54", n2, "#f4ece4") }, "top/54_sleeve_far": { svg: x2("sleeve_far_54", L22, "#f4ece4") }, "top/56_sleeve_near": { svg: E2("sleeve_near_56", G0, "#a02060", 46, "#f8f0e0") }, "top/56_sleeve_far": { svg: E2("sleeve_far_56", W0, "#a02060", 46, "#f8f0e0") }, "top/57_sleeve_near": { svg: E2("sleeve_near_57", z2, "#c8986a", 99, "#c8986a", Ft(20, 22, 3.4, 5, "#3a3a4a", { width: 2 })) }, "top/57_sleeve_far": { svg: E2("sleeve_far_57", V, "#c8986a", 99, "#c8986a", Ft(22, 22, 3.4, 5, "#3a3a4a", { width: 2 })) }, "top/59_sleeve_near": { svg: Rt(R2, "#3a3a8a") }, "top/59_sleeve_far": { svg: Rt(T2, "#3a3a8a") }, "top/46": { svg: m2("top_46", k3.top_46, "#f0b848", "", ne("M 22 5 C 22 16 32 24 42 24 C 52 24 62 16 62 5", "#c88a20", 3)) }, "top/47": { svg: m2("top_47", k3.top_47, "#2a2a2c", oe2("M 30 0 L 54 0 L 54 82 L 30 82 Z", "#f4f4f8") + ne("M 30 30 L 30 66 M 54 30 L 54 66", Tt, 2.6) + K2("M 10 40 L 26 40 M 58 40 L 80 40 M 10 52 L 26 52 M 58 52 L 80 52", "#6a6a6e", 2.2, "3 3") + oe2("M 0 64 L 90 64 L 90 78 L 0 78 Z", "#1a1a1c") + ne("M 0 64 L 90 64", Tt, 2.6), Rt("M 22 4 C 26 14 32 22 40 28 L 30 36 C 22 28 18 18 22 4 Z", "#f4f4f8", { width: 2.6 }) + Rt("M 62 4 C 58 14 52 22 44 28 L 54 36 C 62 28 66 18 62 4 Z", "#f4f4f8", { width: 2.6 }) + ee(32, 63, 18, 14, 2, "#e8c060", { width: 2.6 }) + ee(37, 67, 8, 6, 1, "#1a1a1c", { width: 2 })) }, "top/48": { svg: m2("top_48", k3.top_48, "#6a90c0", K2("M 12 30 L 12 66 M 74 30 L 74 66", "#4a70a0", 2.2, "4 3") + ne("M 42 30 L 42 70", Tt, 2.4), Rt("M 24 4 L 42 30 L 36 34 L 20 12 Z", "#f4f4f8", { width: 2.4 }) + Rt("M 60 4 L 42 30 L 48 34 L 64 12 Z", "#f4f4f8", { width: 2.4 }) + te2(48, 46, 2.6, "#3a6090", { width: 2 })) }, "top/49": { svg: m2("top_49", k3.top_49, "#f0ead8", oe2("M 24 0 L 42 40 L 60 0 Z", "#ffffff") + Rt("M 39 14 L 45 14 L 47 34 L 42 40 L 37 34 Z", "#f8d040", { width: 2 }), Rt("M 22 4 L 40 40 L 30 52 L 16 22 Z", "#e4dcc4", { width: 2.6 }) + Rt("M 62 4 L 44 40 L 50 48 L 68 18 Z", "#e4dcc4", { width: 2.6 }) + ne("M 60 30 L 66 32", "#f8d040", 3)) }, "top/50": { svg: m2("top_50", k3.top_50, "#f8f070", oe2("M 0 0 L 22 0 C 20 20 20 40 22 58 L 0 58 Z M 66 0 L 90 0 L 90 58 L 66 58 C 68 40 68 20 66 0 Z", "#8a8020") + ne("M 22 2 C 20 20 20 40 22 58 M 66 2 C 68 20 68 40 66 58", Tt, 2.8) + ee(6, 30, 9, 10, 2, "#c050d0", { width: 2 }) + ee(70, 26, 10, 8, 2, "#40c0a0", { width: 2 }) + te2(74, 44, 4, "#f07030", { width: 2 }) + oe2("M 0 58 L 90 58 L 90 74 L 0 74 Z", "#c08a10") + ne("M 4 58 L 86 58", Tt, 2.8), Rt("M 24 4 L 30 14 L 36 6 L 42 16 L 48 6 L 54 14 L 60 4 Z", "#8a8020", { width: 2.4 }) + Rt("M 38 58 C 38 54 50 54 50 58 C 50 62 48 64 46 64 L 42 64 C 40 64 38 62 38 58 Z", "#e8e8e8", { width: 2.4 })) }, "top/51": { svg: m2("top_51", k3.top_51, "#a0e0d0", ne("M 0 64 L 90 64", "#70b8a8", 2.4) + oe2("M 18 0 L 26 22 C 30 30 34 34 39 37 C 46 32 54 24 60 14 L 68 0 Z", "#f4f6ee") + ne("M 18 6 L 26 22 C 30 30 34 34 39 37 C 46 32 54 24 60 14 L 66 4", "#60a898", 3.2)) }, "top/52": { svg: m2("top_52", k3.top_52, "#f4f4f8", Rt("M 6 30 L 82 30 L 84 72 L 4 72 Z", "#3a3e48", { width: 2.6 }) + ne("M 22 4 L 18 30 M 64 4 L 68 30", "#3a3e48", 6) + ne("M 22 30 C 32 34 52 34 64 30", "#c8c8d0", 3)) }, "top/53": { svg: m2("top_53", k3.top_53, "#f8d0e0", "", ne("M 34 50 L 34 36 L 42 40", Tt, 4) + ne("M 34 50 L 34 36 L 42 40", "#e04070", 2) + te2(30, 50, 4, "#e04070", { width: 2.4 })) }, "top/54": { svg: m2("top_54", k3.top_54, "#f8f0e8", Rt("M 8 30 L 80 30 L 82 92 L 6 92 Z", "#4a6a90", { width: 2.6 }) + ne("M 18 4 L 16 30 M 66 4 L 70 30", "#4a6a90", 6) + oe2("M 0 50 L 92 50 L 92 58 L 0 58 Z", "#262626") + K2("M 12 66 L 76 66 M 44 58 L 44 92", "#2e4a6a", 2.2, "3 3"), ee(36, 47, 16, 12, 2, "#a0a0a0", { width: 2.4 })) }, "top/55": { svg: m2("top_55", "M 4 76 L 4 30 C 5 18 10 8 18 3 C 20 14 28 22 42 22 C 56 22 64 14 66 3 C 74 8 80 18 82 30 C 84 50 84 66 83 76 C 60 79 26 79 4 76 Z", "#2840b8", ne("M 20 5 C 22 16 30 24 42 24 C 54 24 62 16 64 5", "#e03040", 3.4) + ne("M 20 9 C 23 19 31 27 42 27 C 53 27 61 19 64 9", "#f4f4f4", 2), '<text x="42" y="60" font-family="Arial Black, Arial, sans-serif" font-weight="900" font-size="22" text-anchor="middle" fill="#e03040" stroke="#ffffff" stroke-width="2.6" paint-order="stroke">7</text>') }, "top/56": { svg: m2("top_56", k3.top_56, "#a02060", oe2("M 0 76 L 90 76 L 90 86 L 0 86 Z", "#f8f0e0") + ne("M 0 76 L 90 76", Tt, 2.6), Rt("M 20 4 C 24 14 32 22 38 26 L 42 30 L 30 36 C 24 30 18 18 20 4 Z", "#f8f0e0", { width: 2.6 }) + Rt("M 64 4 C 60 14 52 22 46 26 L 42 30 L 54 36 C 60 30 66 18 64 4 Z", "#f8f0e0", { width: 2.6 }) + Rt("M 36 32 L 48 32 L 42 40 Z", "#d04080", { width: 2.2 })) }, "top/57": { svg: m2("top_57", k3.top_57, "#c8986a", ne("M 42 30 L 42 80", Tt, 2.4) + Rt("M 56 46 L 68 46 L 68 50 L 56 50 Z", "#a87848", { width: 2 }) + te2(36, 60, 2.6, "#7a5838", { width: 2 }), Rt("M 22 4 L 40 30 L 30 44 L 16 20 Z", "#d8ac80", { width: 2.6 }) + Rt("M 62 4 L 44 30 L 50 40 L 66 18 Z", "#d8ac80", { width: 2.6 })) }, "top/58": { svg: m2("top_58", "M 6 90 L 4 30 C 6 18 12 10 20 8 C 30 4 60 4 72 8 C 82 12 88 20 88 32 L 86 90 L 50 90 L 46 80 L 42 90 Z", "#2a5a58", ne("M 46 40 L 46 80", "#1a3a38", 2.6) + oe2("M 0 66 L 92 64 L 92 74 L 0 76 Z", "#8a5a30") + ne("M 0 66 L 92 64 M 0 76 L 92 74", Tt, 2.6), Rt("M 12 18 C 20 6 40 2 60 4 C 76 6 86 14 84 26 C 76 36 56 40 40 38 C 24 36 12 30 12 18 Z", "#70e0c0") + Rt("M 26 16 C 34 10 50 10 60 14 C 54 22 44 26 36 26 C 30 24 26 20 26 16 Z", "#40b898", { width: 2.4 })) }, "top/59": { svg: m2("top_59", k3.top_59, "#3a3a8a", oe2("M 14 6 C 30 2 56 2 70 8 L 64 14 C 50 8 32 8 22 14 Z", "#2a2a6a") + oe2("M 0 72 L 90 72 L 90 90 L 0 90 Z", "#4a4a9a") + ne("M 6 72 L 84 72", Tt, 2.8) + ne("M 24 74 L 24 84 M 38 74 L 38 84 M 52 74 L 52 84 M 66 74 L 66 84", "#2a2a6a", 2.4) + Rt("M 18 52 L 64 52 L 70 70 L 12 70 Z", "none", { width: 2.6 }), ne("M 24 38 L 20 48 M 48 38 L 52 48", Tt, 4) + ne("M 21 45 L 19.5 49 M 51 45 L 52.5 49", "#c8c8e0", 2.2)) }, "top/60": { svg: m2("top_60", k3.top_60, "#c02040", ne("M 16 20 L 16 80 M 34 40 L 34 80 M 50 40 L 50 80 M 66 20 L 66 80", "#e05070", 2.4), Rt("M 22 4 L 42 30 L 30 48 L 18 22 Z", "#d83050", { width: 2.6 }) + Rt("M 62 4 L 42 30 L 46 42 L 66 18 Z", "#d83050", { width: 2.6 }) + te2(32, 66, 3, "#e8c040", { width: 2 }) + te2(48, 66, 3, "#e8c040", { width: 2 })) }, "pants/6": { svg: i2("pants_6", c2.a, "#d0c0d8", ne("M 0 30 C 30 36 60 36 92 28", "#b8a4c4", 2.4)) }, "pants/7": { svg: i2("pants_7", c2.a, "#e83860", k22(0, 0, 92, 40, 12, "#f878a8") + ne("M 6 0 L 6 40 M 30 0 L 30 40 M 54 0 L 54 40 M 78 0 L 78 40", "#f8a040", 2.4)) }, "pants/8": { svg: i2("pants_8", c2.tall, "#f0b0d8", oe2("M 0 34 C 10 30 20 38 30 34 C 40 30 50 38 60 34 C 70 30 80 38 93 34 L 93 46 L 0 46 Z", "#f8d0e8") + [[18, 14], [44, 22], [70, 12], [30, 28], [62, 28]].map(([a5, e5], o6) => Rt(`M ${a5} ${e5 + 4} C ${a5 - 5} ${e5 + 1} ${a5 - 5} ${e5 - 4} ${a5 - 2} ${e5 - 4} C ${a5 - 1} ${e5 - 4} ${a5} ${e5 - 3} ${a5} ${e5 - 2} C ${a5} ${e5 - 3} ${a5 + 1} ${e5 - 4} ${a5 + 2} ${e5 - 4} C ${a5 + 5} ${e5 - 4} ${a5 + 5} ${e5 + 1} ${a5} ${e5 + 4} Z`, o6 % 2 ? "#ffffff" : "#f04080", { stroke: "none" })).join("")) }, "pants/9": { svg: i2("pants_9", c2.c, "#3a3a3a", Rt("M 24 4 L 66 4 C 66 20 64 30 60 34 C 54 38 36 38 30 34 C 26 30 24 20 24 4 Z", "#ffffff", { width: 2.4 }) + [30, 38, 46, 54, 62].map((a5) => te2(a5, 36, 3.6, "#ffffff", { width: 2 })).join("") + ne("M 0 6 L 92 6", "#ffffff", 4)) }, "pants/10": { svg: i2("pants_10", c2.b, "#70a0d0", ne("M 2 30 C 10 24 16 32 24 26 C 32 20 38 30 46 24 C 54 18 62 30 70 24 C 78 18 84 28 90 24", "#4a78b0", 2.6)) }, "pants/11": { svg: i2("pants_11", c2.tutu, "#e0f4f8", ne("M 16 6 C 14 16 14 26 18 34 M 32 6 C 30 16 30 26 32 36 M 50 6 C 50 16 50 26 50 36 M 68 6 C 70 16 70 26 68 34", "#a8d8e8", 2.6)) }, "pants/17": { svg: i2("pants_17", c2.pleat, "#262628", ne("M 18 6 L 14 34 M 32 6 L 30 36 M 46 6 L 46 36 M 60 6 L 62 36 M 74 6 L 78 34", "#4a4a4e", 2.4)) }, "pants/36": { svg: i2("pants_36", c2.pleat, "#3a3a90", ne("M 18 6 L 14 34 M 32 6 L 30 36 M 46 6 L 46 36 M 60 6 L 62 36 M 74 6 L 78 34", "#5a5ab8", 2.4)) }, "pants/18": { svg: i2("pants_18", c2.layer, "#f8e0e0", oe2("M 0 18 C 10 14 20 22 30 18 C 40 14 50 22 60 18 C 70 14 80 22 96 18 L 96 40 L 0 40 Z", "#c8a898") + ne("M 0 18 C 10 14 20 22 30 18 C 40 14 50 22 60 18 C 70 14 80 22 96 18", Tt, 2.6)) }, "pants/47": { svg: i2("pants_47", c2.layer, "#f4f8f8", oe2("M 0 18 C 10 14 20 22 30 18 C 40 14 50 22 60 18 C 70 14 80 22 96 18 L 96 40 L 0 40 Z", "#b8e8c0") + ne("M 0 18 C 10 14 20 22 30 18 C 40 14 50 22 60 18 C 70 14 80 22 96 18", Tt, 2.6)) }, "pants/48": { svg: i2("pants_48", c2.layer2, "#3a3e48", oe2("M 0 20 C 10 16 20 24 30 20 C 40 16 50 24 60 20 C 70 16 80 24 96 20 L 96 40 L 0 40 Z", "#4a5a58") + ne("M 0 20 C 10 16 20 24 30 20 C 40 16 50 24 60 20 C 70 16 80 24 96 20", Tt, 2.6)) }, "pants/44": { svg: i2("pants_44", c2.tutu, "#f8f0f4", oe2("M 0 16 C 14 22 30 22 44 16 C 58 22 74 22 88 16 L 88 40 L 0 40 Z", "#f8b8d0") + ne("M 16 18 C 14 24 14 30 18 34 M 32 20 C 30 26 30 32 32 36 M 50 20 C 50 26 50 32 50 36 M 68 18 C 70 24 70 30 68 34", "#e080a8", 2.4)) }, "pants/43": { svg: Rt(V1, "#3a3e48") + ne("M 31 6 L 31 12 M 31 18 L 31 26 M 70 6 L 70 12 M 70 18 L 70 26", "#262830", 2.4) + ne("M 35 6 L 35 16 C 35 18 33 19 31 19", "#262830", 2.4) }, "pants/49": { svg: Rt(K0, "#5a6ae0") }, ...S3(1, "#2a2a2a", "short", "#2a2a2a"), ...S3(2, "#3a7aa0", "short", "#3a7aa0"), ...S3(3, "#4b4aa3", "long", "#4b4aa3", ne("M 5 13 C 9 10 16 11 20 13 C 16 16 9 16 5 13", Tt, 2)), ...S3(4, "#f0c880", "wide", "#f0c880", "", ne("M 6 10 C 30 14 50 14 74 10", "#d0a860", 2.4)), ...S3(5, "#5050e0", "flare", "#5050e0", S22(40, 44, 9, 2.6, "#f8c030"), S22(80, 26, 10, 3, "#f8c030")), ...S3(12, "#e060d0", null, "", "", '<text x="20" y="18" font-family="Arial Black, Arial, sans-serif" font-weight="900" font-size="13" fill="#4a1048">PINK</text>'), ...S3(13, "#20a070", "long", "#20a070", ne("M 9 3 L 9 38 M 15 3 L 15 38", "#f4f4f4", 2.6), ne("M 58 3 C 60 10 60 16 58 20 M 64 3 C 66 10 66 16 64 20", "#f4f4f4", 2.6)), ...S3(14, "#c02060", "flare", "#c02060", oe2("M 0 32 L 40 32 L 40 44 L 0 44 Z", "#f06080") + S22(40, 44, 7, 1.6, "#f8b0c8")), ...S3(15, "#8a8a8a", "long", "#8a8a8a", j22("#7a5a40", [[8, 26], [14, 32]])), ...S3(16, "#7a3a30", "short", "#7a3a30", j22("#5a2a20", [[6, 12], [14, 18]]), j22("#5a2a20", [[20, 8], [50, 10], [64, 6]]), "long40"), ...S3(19, "#6a8a40", "long", "#6a8a40", w1(25, 41), w1(79, 26)), ...S3(20, "#6a2a9a", "short", "#6a2a9a", ne("M 9 3 L 9 25 M 16 3 L 16 25", "#d040c0", 3), ne("M 10 4 L 12 18 M 24 4 L 25 21 M 38 4 L 38 23 M 52 4 L 51 22 M 66 4 L 64 18", "#d040c0", 3)), ...S3(21, "#262626", "long", "#262626"), ...S3(22, "#5a6ae0", "long", "#f4f4f8", oe2("M 12 0 L 18 0 L 18 41 L 12 41 Z", "#5a6ae0")), ...S3(23, "#3a3a48", "long", "#3a3a48", oe2("M 0 24 L 25 24 L 25 30 L 0 30 Z", "#a0a0a8")), ...S3(24, "#e0f4fc", "long", "#e0f4fc"), ...S3(25, "#2a3a28", "long", "#2a3a28", ne("M 6 20 C 10 16 16 17 19 20 C 16 23 10 23 6 20", Tt, 2)), ...S3(27, "#f06030", "long", "#f06030", S22(25, 41, 12, 3.6, "#f890c0"), S22(79, 26, 14, 4, "#f890c0")), ...S3(28, "#7a58b8", "short", "#7a58b8", j22("#5a3a90", [[6, 10], [14, 16]]), j22("#5a3a90", [[18, 8], [46, 12], [62, 6]])), ...S3(29, "#7a5030", "short", "#7a5030", j22("#5a3018", [[6, 10], [14, 16]]), j22("#5a3018", [[18, 8], [46, 12], [62, 6]]), "long40"), ...S3(30, "#70a8d0", "long", "#70a8d0", ne("M 6 20 C 10 16 16 17 19 20 C 16 23 10 23 6 20", Tt, 2)), ...S3(31, "#c8a870", "long", "#c8a870"), ...S3(32, "#5a5e70", "wide", "#5a5e70"), ...S3(33, "#f4f0e0", "wide", "#f4f0e0"), ...S3(34, "#40b090", "wide", "#40b090", "", ne("M 6 10 C 30 14 50 14 74 10", "#2a8a70", 2.4)), ...S3(35, "#a0aaa0", "wide", "#a0aaa0", "", ne("M 6 10 C 30 14 50 14 74 10", "#7a847a", 2.4)), ...S3(37, "#3a3a40", "long", "#262628", ne("M 10 3 L 10 38 M 15 3 L 15 38", "#f4f4f4", 2.6), ne("M 52 4 L 50 20 M 58 4 L 56 22", "#f4f4f4", 2.6)), ...S3(38, "#262626", "short", "#262626", ne("M 6 6 L 19 22 M 19 6 L 6 22", "#5a5a5e", 2.4)), ...S3(39, "#d040a0", "short", "#d040a0", ne("M 8 3 L 8 25 M 16 3 L 16 25", "#30a080", 3.4), ne("M 10 4 L 12 18 M 24 4 L 25 21 M 38 4 L 38 23 M 52 4 L 51 22 M 66 4 L 64 18", "#30a080", 3.4)), ...S3(40, "#d02838", "long", "#d02838", S22(25, 41, 9, 1.8, "#7a1018")), ...S3(41, "#70a8d0", "long", "#70a8d0", oe2("M 0 32 L 25 32 L 25 41 L 0 41 Z", "#e0f0f8") + ne("M 0 32 L 25 32", Tt, 2.4)), ...S3(45, "#a05a28", "flare", "#a05a28"), ...S3(46, "#f0b040", "flare", "#f0b040", S22(40, 44, 10, 3.4, "#7a4a20"), S22(80, 26, 12, 3.6, "#7a4a20")), ...S3(17, "", "long", "#c0d0c8"), ...S3(47, "", "long", "#80e060"), ...S3(50, "#6a8a40", "wide", "#6a8a40", w1(31, 28), w1(79, 26)), ...N(1, P.low, "#c0302b", oe2("M 7 6 C 12 4.5 18 4.5 22 6 C 18 7.5 12 7.5 7 6 Z", "#f08a80")), ...N(21, P.low, "#4a4a4e", oe2("M 7 6 C 12 4.5 18 4.5 22 6 C 18 7.5 12 7.5 7 6 Z", "#8a8a90")), ...N(2, P.clog, "#a0a8b0", oe2("M 0 16 L 30 16 L 30 23 L 0 23 Z", "#7a828a"), ne("M 18 9 C 18 12 16.5 14 13.5 15", Tt, 2)), ...N(29, P.clog, "#8a8a70", oe2("M 0 16 L 30 16 L 30 23 L 0 23 Z", "#5a5a48"), ne("M 18 9 C 18 12 16.5 14 13.5 15", Tt, 2)), ...N(3, P.loafer, "#7a9440", ne("M 8 8 C 14 5 22 7 27 14", Tt, 2.4)), ...N(4, P.sock, "#f4f4f4", oe2("M 0 13 L 32 13 L 32 22 L 0 22 Z", "#3a3a3e") + ne("M 0 13 L 32 13", Tt, 2) + ne("M 9 12 L 22 6", "#3a3a3e", 3)), ...N(5, P.tall, "#7048c8", t4("#e8b030")), ...N(27, P.tall, "#5a3a28", t4("#c88a30")), ...N(28, P.tall, "#20c0b0", t4("#f4f4f8")), ...N(6, P.moccasin, "#8a5a30", oe2("M 0 12 L 30 12 L 30 18 L 0 18 Z", "#6a4020")), ...N(7, P.ankle, "#c8b890", ne("M 8 21 C 8 17 11 14 15 13 M 13 21 C 13 18 16 16 19 16", "#a89870", 2.4)), ...N(8, P.slide, "#4060d0", oe2("M 0 12 L 32 12 L 32 20 L 0 20 Z", "#3048a8"), Ft(11.5, 8.3, 3.2, 1.5, Tt, { stroke: "none" })), ...N(30, P.slide, "#f07030", oe2("M 0 12 L 32 12 L 32 20 L 0 20 Z", "#c85820"), Ft(11.5, 8.3, 3.2, 1.5, Tt, { stroke: "none" })), ...N(9, P.flat, "#1a6a90", ne("M 8 8 C 14 6.5 20 6.5 26 8", "#104a68", 2.4)), ...N(10, P.pointed, "#d93a3a", oe2("M 0 11 L 35 11 L 35 19 L 0 19 Z", "#a82424")), ...N(11, P.hiker, "#f8b030", oe2("M 0 15 C 10 15 20 18 32 20 L 32 26 L 0 26 Z", "#f07818") + ne("M 6 19 L 13 13.5 M 10 22 L 17 16", "#e06010", 2.4)), ...N(12, P.cat, "#c8d8e0"), ...N(13, P.frog, "#30c070", ne("M 6 13.5 C 10 15 15 15 20 13.5", Tt, 1.8), te2(10.8, 6, 2.6, "#ffffff", { width: 1.6 }) + te2(19.5, 6.8, 2.3, "#ffffff", { width: 1.6 }) + te2(10.8, 6, 1.1, Tt, { stroke: "none" }) + te2(19.5, 6.8, 1, Tt, { stroke: "none" })), ...N(14, P.oxford, "#8a5040", ne("M 9 6.5 L 18 6.5 M 13.5 6.5 L 13.5 11", Tt, 2.4)), ...N(15, P.wellie, "#5a8a20", ne("M 13 8.5 L 18 8.5 M 13 12.5 L 18 12.5", "#2e5a10", 2.4)), ...N(24, P.wellie, "#f4f0e8", ne("M 13 8.5 L 18 8.5 M 13 12.5 L 18 12.5", "#a8a090", 2.4)), ...N(25, P.wellie, "#c03080", oe2("M 0 0 L 28 0 L 28 8 C 22 10 14 8 8 9.5 L 0 10 Z", "#50c050") + ne("M 4 9.8 C 10 8.5 18 10 26 8", Tt, 2)), ...N(16, P.bootie, "#10904a", oe2("M 0 0 L 30 0 L 30 13 L 0 13 Z", "#30c070") + ne("M 0 13 L 30 13", Tt, 2) + ne("M 11 4 L 11 11 M 15 4 L 15 11 M 19 4 L 19 11 M 23 4 L 23 11", "#0a6a34", 2.2)), ...N(17, P.bunny, "#b8d8e8", te2(11, 14, 1.4, Tt, { stroke: "none" }) + te2(15.5, 14, 1.4, Tt, { stroke: "none" })), ...N(26, P.bunny, "#f4f4f8", te2(11, 14, 1.6, "#f070c0", { stroke: "none" }) + te2(15.5, 14, 1.6, "#f070c0", { stroke: "none" })), ...N(18, P.sandal, "#f070e0", oe2("M 0 9.5 L 31 9.5 L 31 18 L 0 18 Z", "#c040b8") + ne("M 0 9.5 L 31 9.5", Tt, 2)), ...N(19, P.hightop, "#3a3a9a", o4("#f4f4f8")), ...N(22, P.hightop, "#5a80e0", o4("#c8d8f8")), ...N(23, P.hightop, "#7a1830", o4("#f0e0c8")), ...N(20, P.claw, "#f8a820", ne("M 8 19 L 12 15 M 13 20 L 16 16 M 18 20.5 L 20 17", "#e07010", 2.4)), "gloves/2_near": { svg: y("glove_near_2", 34, 35, "#a040c0", { h: 8, color: "#f4f4f8" }) }, "gloves/2_far": { svg: y("glove_far_2", 32, 35, "#3080d0", { h: 8, color: "#f4f4f8" }) }, "gloves/3_near": { svg: y("glove_near_3", 28, 25, "#e0e0e0", void 0, ne("M 0 9 L 30 7 M 0 14 L 30 12 M 0 19 L 30 17", "#a0a0a0", 2)) }, "gloves/3_far": { svg: y("glove_far_3", 27, 25, "#e0e0e0", void 0, ne("M 0 9 L 30 7 M 0 14 L 30 12 M 0 19 L 30 17", "#a0a0a0", 2)) }, "gloves/4_near": { svg: y("glove_near_4", 31, 34, "#c05a40", void 0, oe2("M 0 25 L 40 25 L 40 40 L 0 40 Z", "#a0a0a0") + ne("M 0 25 L 40 25", Tt, 2.4)) }, "gloves/4_far": { svg: y("glove_far_4", 32, 33, "#c05a40", void 0, oe2("M 0 24 L 40 24 L 40 40 L 0 40 Z", "#a0a0a0") + ne("M 0 24 L 40 24", Tt, 2.4)) }, "gloves/5_near": { svg: y("glove_near_5", 36, 36, "#f0b030", void 0, ne("M 6 14 L 12 10 L 18 16 L 24 10 L 30 14 M 6 22 L 12 18 L 18 24 L 24 18 L 30 22", "#e06020", 2.6)) }, "gloves/5_far": { svg: y("glove_far_5", 35, 36, "#f0b030", void 0, ne("M 6 14 L 12 10 L 18 16 L 24 10 L 30 14 M 6 22 L 12 18 L 18 24 L 24 18 L 30 22", "#e06020", 2.6)) }, "gloves/6_near": { svg: y("glove_near_6", 31, 32, "#8080c0", { h: 9, color: "#5a5aa0" }) }, "gloves/6_far": { svg: y("glove_far_6", 32, 33, "#8080c0", { h: 9, color: "#5a5aa0" }) }, "gloves/7_near": { svg: y("glove_near_7", 35, 34, "#f4f4f8", { h: 7, color: "#f070c0" }, ne("M 4 16 L 32 14 M 4 23 L 32 21", "#e040a0", 3.6)) }, "gloves/7_far": { svg: y("glove_far_7", 34, 34, "#f4f4f8", { h: 7, color: "#f070c0" }, ne("M 4 16 L 32 14 M 4 23 L 32 21", "#e040a0", 3.6)) }, "gloves/8_near": { svg: w22(30, 14, "#8a90b0") }, "gloves/8_far": { svg: w22(28, 14, "#8a90b0") }, "gloves/9_near": { svg: w22(38, 18, "#c8a888", "#8a6a48") }, "gloves/9_far": { svg: w22(38, 18, "#c8a888", "#8a6a48") }, "gloves/11_near": { svg: y("glove_near_11", 30, 23, "#4a4a4e", void 0, oe2("M 15 12 L 40 12 L 40 40 L 15 40 Z", "#3a3a3e")) }, "gloves/11_far": { svg: y("glove_far_11", 28, 23, "#4a4a4e", void 0, oe2("M 14 12 L 40 12 L 40 40 L 14 40 Z", "#3a3a3e")) }, "gloves/12_near": { svg: y("glove_near_12", 33, 35, "#3050e0", { h: 8, color: "#f4f4f8" }) }, "gloves/12_far": { svg: y("glove_far_12", 33, 36, "#3050e0", { h: 8, color: "#f4f4f8" }) }, "gloves/13_near": { svg: y("glove_near_13", 36, 36, "#2aa088", { h: 9, color: "#1a7060" }, ne("M 8 24 C 12 22 16 22 18 24 M 8 29 C 12 27 16 27 18 29", "#1a7060", 2.4)) }, "gloves/13_far": { svg: y("glove_far_13", 32, 37, "#2aa088", { h: 9, color: "#1a7060" }, ne("M 8 24 C 12 22 16 22 18 24 M 8 29 C 12 27 16 27 18 29", "#1a7060", 2.4)) }, "gloves/14_near": { svg: m1(32, 27, "#3070e0", "#f8c020") }, "gloves/14_far": { svg: m1(29, 24, "#3070e0", "#f8c020") }, "gloves/15_near": { svg: y("glove_near_15", 36, 40, "#e03040", { h: 9, color: "#f4f4f8" }, Ft(18, 24, 3, 5, "#f8e060", { stroke: "none" })) }, "gloves/15_far": { svg: y("glove_far_15", 35, 40, "#e03040", { h: 9, color: "#f4f4f8" }, Ft(18, 24, 3, 5, "#f8e060", { stroke: "none" })) }, "gloves/16_near": { svg: y("glove_near_16", 31, 36, "#7a7a70", { h: 9, color: "#5a5a52" }) }, "gloves/16_far": { svg: y("glove_far_16", 30, 37, "#7a7a70", { h: 9, color: "#5a5a52" }) }, "gloves/17_near": { svg: y("glove_near_17", 31, 36, "#6a3a28", { h: 9, color: "#4a2818" }) }, "gloves/17_far": { svg: y("glove_far_17", 30, 37, "#6a3a28", { h: 9, color: "#4a2818" }) }, "gloves/18_near": { svg: y("glove_near_18", 32, 31, "#d8d090", { h: 8, color: "#b8bcc0" }) }, "gloves/18_far": { svg: y("glove_far_18", 30, 30, "#d8d090", { h: 8, color: "#b8bcc0" }) }, "gloves/19_near": { svg: y("glove_near_19", 32, 34, "#2a7aa0", { h: 8, color: "#1a5a78" }, ne("M 8 25 L 10 31 M 14 25 L 15 31 M 20 25 L 21 31", "#1a5a78", 2.4)) }, "gloves/19_far": { svg: y("glove_far_19", 29, 34, "#2a7aa0", { h: 8, color: "#1a5a78" }, ne("M 8 25 L 10 31 M 14 25 L 15 31 M 20 25 L 21 31", "#1a5a78", 2.4)) }, "gloves/20_near": { svg: y("glove_near_20", 34, 38, "#90c040", { h: 10, color: "#2a7a40" }) }, "gloves/20_far": { svg: y("glove_far_20", 31, 38, "#90c040", { h: 10, color: "#2a7a40" }) }, "gloves/21_near": { svg: y("glove_near_21", 28, 25, "#a0b860", void 0, oe2("M 0 8 L 30 8 L 30 13 L 0 13 Z", "#c0d080")) }, "gloves/21_far": { svg: y("glove_far_21", 27, 25, "#a0b860", void 0, oe2("M 0 8 L 30 8 L 30 13 L 0 13 Z", "#c0d080")) }, "gloves/22_near": { svg: y("glove_near_22", 28, 25, "#e07080", void 0, oe2("M 0 8 L 30 8 L 30 13 L 0 13 Z", "#f0a0b0")) }, "gloves/22_far": { svg: y("glove_far_22", 27, 25, "#e07080", void 0, oe2("M 0 8 L 30 8 L 30 13 L 0 13 Z", "#f0a0b0")) }, "gloves/23_near": { svg: y("glove_near_23", 36, 40, "#3a3aa0", { h: 9, color: "#f4f4f8" }, Ft(18, 24, 3, 5, "#f8e060", { stroke: "none" })) }, "gloves/23_far": { svg: y("glove_far_23", 35, 40, "#3a3aa0", { h: 9, color: "#f4f4f8" }, Ft(18, 24, 3, 5, "#f8e060", { stroke: "none" })) }, "gloves/24_near": { svg: y("glove_near_24", 36, 40, "#a8a8a8", void 0, Ft(18, 18, 4, 6, "#8050a0", { stroke: "none" })) }, "gloves/24_far": { svg: y("glove_far_24", 35, 40, "#a8a8a8", void 0, Ft(18, 18, 4, 6, "#8050a0", { stroke: "none" })) }, "gloves/25_near": { svg: y("glove_near_25", 36, 36, "#8080e0", { h: 9, color: "#5a5ab8" }, ne("M 8 24 C 12 22 16 22 18 24", "#5a5ab8", 2.4)) }, "gloves/25_far": { svg: y("glove_far_25", 32, 37, "#8080e0", { h: 9, color: "#5a5ab8" }, ne("M 8 24 C 12 22 16 22 18 24", "#5a5ab8", 2.4)) }, "gloves/26_near": { svg: w22(30, 14, "#8a8a40") }, "gloves/26_far": { svg: w22(28, 14, "#8a8a40") }, "gloves/27_near": { svg: w22(38, 18, "#3a3a40", "#6a6a70") }, "gloves/27_far": { svg: w22(38, 18, "#3a3a40", "#6a6a70") }, "gloves/28_near": { svg: w22(38, 18, "#f0a030", "#e04020") }, "gloves/28_far": { svg: w22(38, 18, "#f0a030", "#e04020") }, "gloves/29_near": { svg: y("glove_near_29", 31, 34, "#3a3a70", { h: 9, color: "#6a50b0" }) }, "gloves/29_far": { svg: y("glove_far_29", 32, 33, "#3a3a70", { h: 9, color: "#6a50b0" }) }, "gloves/30_near": { svg: m1(32, 27, "#3a3a80", "#8a90b0") }, "gloves/30_far": { svg: m1(29, 24, "#3a3a80", "#8a90b0") } };
|
|
1044
|
+
var u2 = "#ffffff";
|
|
1045
|
+
var z0 = "#c4c4c4";
|
|
1046
|
+
var V0 = { "beard/1": { svg: Rt("M 5 24 C 3 16 6 6 21 3.5 C 34 3 40 12 40 22 C 40 25 37 26 34 25 C 32 22 33 14 21 10 C 12 11 10 18 10 23 C 9 25.5 6 25.5 5 24 Z", u2) }, "beard/2": { svg: Rt("M 5 18 C 4 8 12 2.5 21 2.5 C 31 2.5 38 8 38 18 L 38 27 C 36 29 32 29 30 28 C 29 33 25 36 21 36 C 17 36 14 33 13 29 C 10 30 6 30 4 28 Z M 12 15 C 12 12 16 10.5 20 10.5 C 24 10.5 28 12 28 15 C 28 18 24 19.5 20 19.5 C 16 19.5 12 18 12 15 Z", u2, { holes: true }) }, "beard/3": { svg: Rt("M 5 4 L 84 3.5 C 87.5 3.5 88 6 86.5 8 C 85 10 81 10.5 80.5 12 C 81 14 82.5 16 81.5 18 C 79 20 70 19 64 19.5 C 62 22 58 24 52 23 C 49 22 47 21.5 45 22.5 C 42 25.5 36 26.5 31 25 C 28 22 25 21 20 21 C 15 21 11.5 20 11 17 C 11 15 12 14 11 13 C 6 12 2.5 10 3 7 C 3.2 5.5 4 4.5 5 4 Z M 30 10 C 30 6 46 6 46 10 C 46 14 30 14 30 10 Z", u2, { holes: true }) }, "beard/4": { svg: Rt("M 3.5 9 L 11 8.5 C 18 6 24 3.5 33 3.5 C 39 3.5 42 7 46 8.5 C 52 10 57 10 59.5 11.5 L 61 14.5 C 68 13 76 11 81.5 10 C 82.5 15 82.5 20 80.5 24 C 78.5 28 76 31 72 32.5 C 66 34 60 32 58 33 C 57 37 54 40 48 41.5 C 42 43 37 42 34 38.5 C 31 40 25 41 20 40 C 16 38 14 34 13.5 30 C 9 29 6 27 4.5 24 C 3 19 3 13 3.5 9 Z", u2) + ne("M 5 10 C 9 13 12 17 16 17.5 C 22 18 28 16 33 13 C 36 16 38 19 42 20 C 48 21 54 20 59 17.5 L 60 13", Tt, 3) }, "beard/5": { svg: Rt("M 3 15 C 8 13 12 13 15 14 C 16 7 22 2.5 31 2.5 C 40 2.5 46 6 48 13 C 56 13 64 13 70 15 C 72 22 66 32 58 37 C 48 42 26 42 16 38 C 8 34 3 25 3 15 Z", u2) + ne("M 15 14 L 15 22 C 20 19 25 16 30 10 C 35 17 40 21 47 23 L 48 14", Tt, 3) + ne("M 12 28 L 10 31 M 28 34 L 28 38 M 46 34 L 46 38 M 59 29 L 61 31", Tt, 2.4) }, "beard/6": { svg: Rt("M 4 26 C 3 16 6 6 13 3 C 22 0.5 32 4 34 12 C 35 18 35 24 34 27 C 28 32 22 36 16 39 C 10 34 6 30 4 26 Z M 10 15 C 10 8 14 6 19 6 C 24 6 28 9 28 16 C 28 22 24 26 21 25 L 18 20 L 16 25 C 12 25 10 20 10 15 Z", u2, { holes: true }) }, "beard/7": { svg: Rt("M 3 7 C 10 6 18 5 24 4 C 26 2 28 2 29 4 C 36 4 44 5 51 6 C 52 9 48 12 44 13 C 40 13 36 15 32 15 C 30 18 26 18 23 15 C 20 16 16 16 13 14 C 8 13 4 11 3 7 Z", u2) }, "beard/8": { svg: Rt("M 3 3 C 12 6 22 10 30 10 C 32 9 33 7 34 6 C 33 12 30 16 25 16 C 18 15 8 9 3 3 Z", u2, { width: 3 }) + Rt("M 42 7 C 44 5 46 5 47 7 C 55 8 66 6 77 3 C 72 9 62 14 50 15 C 44 15 42 11 42 7 Z", u2, { width: 3 }) + ne("M 9 7 C 16 10 22 12 28 12 M 52 12 C 60 11 66 9 72 6", z0, 1.6) }, "beard/9": { svg: Rt("M 4 8 C 5 5 9 2.5 14 2.5 C 19 2.5 23 5 25.5 7 L 25 16 C 20 18 15 20 11 22 C 10 18 10 14 9 12 C 7 11 5 10 4 8 Z", u2) }, "beard/10": { svg: Rt("M 4 8 C 4 3.5 10 2.5 13 6 C 16 8 20 9 23 9 C 26 4 30 2.5 34 2.5 C 40 2.5 43 5 46 8 C 50 9 56 10 60 11 C 64 6 70 4.5 76 5 C 82 6 85 10 84 14 C 83 17 81 19 80 21 C 76 26 74 28 72 31 C 70 35 66 38 60 38 C 56 40.5 50 41.5 44 40 C 40 41.5 34 41.5 30 40 C 24 40 18 39 14 36 C 8 35 4 32 4 28 C 3 24 3 18 3 14 C 3 11 4 9 4 8 Z", u2) + ne("M 11 15 L 14 18 M 25 18 L 27 20 M 46 18 L 48 17 L 49 19 M 69 16 L 73 15 M 71 16 L 71 22 M 17 26 L 17 28 M 33 29 L 35 27 L 38 29 M 61 25 L 63 29", z0, 2.4) } };
|
|
1047
|
+
var P2 = "#ffffff";
|
|
1048
|
+
var Y0 = { "brows/1": { svg: ne("M 2.5 3 C 8 2.5 14 4 17.5 7.5", Tt, 4.2) + ne("M 32.5 8.5 C 34 4.5 42 3.5 48.5 4.5", Tt, 4.2) }, "brows/2": { svg: Rt("M 3 10.5 C 6 7 16 3.5 22 3 C 25 3 24.5 7 22 8.5 C 16 11 7.5 13 4 12.5 C 2.5 12 2.5 11 3 10.5 Z", P2, { width: 3 }) + Rt("M 38.5 4.5 C 42 2.5 51 7 59.5 11 C 62.5 12.5 61.5 15 58 15 C 50 14.5 41 10.5 38.5 6.5 Z", P2, { width: 3 }) }, "brows/3": { svg: ee(3.5, 4.5, 21, 8, 2.5, P2, { width: 3.2 }) + ee(37, 3.5, 21, 9, 2.5, P2, { width: 3.2 }) }, "brows/4": { svg: ne("M 3.5 3 L 25 14.5", Tt, 4.6) + ne("M 35 15.5 L 62 5", Tt, 4.6) }, "brows/5": { svg: Rt("M 2.5 4 C 9 3.5 15 5 19 7 L 20.5 2.5 C 25 6 28 12 29.5 19 C 24 15 17 12 10 11.5 L 4.5 12.5 L 8 8 Z", P2, { width: 2.8 }) + Rt("M 69 4 C 62 3.5 55 4 48 6 L 46 2.5 C 40 6 36.5 12 35 19.5 C 42 15 52 13 61 12.5 L 66.5 12.5 L 62 9 Z", P2, { width: 2.8 }) }, "brows/6": { svg: Rt("M 1.5 5 C 1.5 2.5 3.5 1.5 6 1.5 C 8.5 1.5 10 3 10 5 C 10 7 8.5 8.5 6 8.5 C 3.5 8.5 1.5 7.5 1.5 5 Z", Tt, { stroke: "none" }) + Rt("M 32 5.5 C 32 3 34.5 1.5 37.5 1.5 C 40.5 1.5 42.5 3 42.5 5 C 42.5 7.5 40 9 37 9 C 34 9 32 8 32 5.5 Z", Tt, { stroke: "none" }) }, "brows/7": { svg: Rt("M 2 3 C 3 1 7 0.8 9 2.5 C 12 6 18 10 25 12.5 C 27.5 13.5 27.5 16 25 16.5 C 18 17 9 13 4 9 C 2 7 1.5 5 2 3 Z M 60 3 C 59.5 1 56.5 0.8 54.5 2.5 C 50 6 42 9.5 34 11.5 C 31.5 12.5 31 15.5 34 16.5 C 42 17 52 13.5 57 10 C 59.5 8 60.5 5 60 3 Z", Tt, { stroke: "none" }) }, "brows/8": { svg: Rt("M 3 6 C 8 8 16 9 21.5 8 C 20 13 16 16 10 15 C 6 14 4 11 3 6 Z", P2, { width: 2.8 }) + Rt("M 34 12.5 C 35 6 40 3 46 3 C 51 3 54 7 55 11 C 48 10 40 11 34 12.5 Z", P2, { width: 2.8 }) }, "brows/9": { svg: ne("M 2.5 7.5 C 6 3 12 2 18 4 M 31 5 C 38 2 46 4 50 9.5", Tt, 4.6) }, "brows/10": { svg: [4.5, 12.5].flatMap((a$1) => [4.5, 11.5, 18.5].map((e5) => te2(a$1, e5, 3.3, Tt, { stroke: "none" }))).join("") } };
|
|
1049
|
+
var s4 = "#fffaf4";
|
|
1050
|
+
var J0 = "#160f1a";
|
|
1051
|
+
var q0 = (a5, e5, o6, r7) => `M ${a5 - o6} ${e5} A ${o6} ${r7} 0 1 0 ${a5 + o6} ${e5} A ${o6} ${r7} 0 1 0 ${a5 - o6} ${e5} Z`;
|
|
1052
|
+
var n4 = (a5, e$1, o6, r7, L6, C5 = 0.5) => {
|
|
1053
|
+
let i5 = r7 * 1.12;
|
|
1054
|
+
return Ft(e$1, o6, r7, i5, L6, { width: 1.3 }) + se(a5, q0(e$1, o6, r7, i5), Ft(e$1, o6 - i5 * 0.62, r7 * 1.1, i5 * 0.68, "#000000", { stroke: "none", opacity: 0.38 }), Ft(e$1, o6 + i5 * 0.72, r7 * 0.8, i5 * 0.4, "#ffffff", { stroke: "none", opacity: 0.3 })) + (C5 > 0 ? Ft(e$1, o6 - i5 * 0.12, r7 * C5, i5 * (C5 + 0.12), J0, { stroke: "none" }) : "") + te2(e$1 + r7 * 0.4, o6 - i5 * 0.42, r7 * 0.3, "#ffffff", { stroke: "none" }) + te2(e$1 - r7 * 0.38, o6 + i5 * 0.42, r7 * 0.14, "#ffffff", { stroke: "none" });
|
|
1055
|
+
};
|
|
1056
|
+
function r4(a$1, e$1) {
|
|
1057
|
+
let { cx: o6, cy: r7, w: L6, h: C5, dir: i$1 } = e$1, h$1 = (f2) => +(o6 + i$1 * f2).toFixed(2), p5 = e$1.open ?? 1, M2 = e$1.tilt ?? 0, b$1 = e$1.lid ?? 2.8, $7 = e$1.wing ?? 3.2, G5 = (f2) => r7 - C5 * 0.66 * (2 * f2 - 1), I7 = G5(p5), B5 = +(r7 + C5 * 0.06 + M2 * 0.4).toFixed(2), F3 = (e$1.look ?? -(e$1.r ?? C5 * 0.4) * 0.25) + o6, U2 = r7 + C5 * 0.62, A5 = h$1(-L6 / 2), j$1 = +(r7 + C5 * 0.06 + M2 * 0.5).toFixed(2), s2 = h$1(L6 / 2), p22 = +(r7 - C5 * 0.08 - M2 * 0.3).toFixed(2), M22 = (f2) => `C ${h$1(-L6 * 0.28)} ${(f2 + M2).toFixed(2)} ${h$1(L6 * 0.22)} ${(f2 - M2 * 0.3).toFixed(2)} ${s2} ${p22}`, m22 = M22(I7), v1 = `C ${h$1(L6 * 0.3)} ${U2.toFixed(2)} ${h$1(-L6 * 0.25)} ${U2.toFixed(2)} ${A5} ${j$1} Z`, U22 = `M ${A5} ${j$1} ${m22} ${v1}`, x0 = `M ${A5} ${j$1} ${M22(G5(1))} ${v1}`, E0 = h$1(L6 / 2 + $7), R0 = +(p22 - $7 * 0.55).toFixed(2), T0 = (f2) => [[E0, R0], [h$1(L6 * 0.22), I7 - M2 * 0.3 - b$1 * f2 * 1.5], [h$1(-L6 * 0.28), I7 + M2 - b$1 * f2 * 0.8], [h$1(-L6 / 2 - 0.4), j$1 - b$1 * f2 * 0.35]], S0 = (f2) => {
|
|
1058
|
+
let [, Z22, o1, r1] = T0(f2);
|
|
1059
|
+
return `M ${A5} ${j$1} ${m22} L ${E0} ${R0} C ${Z22[0]} ${Z22[1].toFixed(2)} ${o1[0]} ${o1[1].toFixed(2)} ${r1[0]} ${r1[1].toFixed(2)} Z`;
|
|
1060
|
+
}, P0 = e$1.r ?? C5 * 0.4, Y3 = e$1.glow ? oe2(U22, Qt2) + Ft(o6 + i$1 * L6 * 0.12, r7 - C5 * 0.05, L6 * 0.12, C5 * 0.1, "#ffffff", { stroke: "none", opacity: 0.85 }) : (P0 > 0 ? n4(`${a$1}_i`, F3, B5, P0, e$1.colour ?? Qt2, e$1.pupil) : "") + (e$1.tears ? oe2(`M ${o6 - L6} ${r7 + C5 * 0.22} C ${o6 - L6 / 3} ${r7 + C5 * 0.12} ${o6 + L6 / 3} ${r7 + C5 * 0.3} ${o6 + L6} ${r7 + C5 * 0.2} L ${o6 + L6} ${r7 + C5} L ${o6 - L6} ${r7 + C5} Z`, "#bfeaff", 0.85) + ne(`M ${h$1(-L6 * 0.25)} ${r7 + C5 * 0.3} L ${h$1(L6 * 0.05)} ${r7 + C5 * 0.28}`, "#ffffff", 1.2) : ""), D0 = "", [X32, J32, q32, e6] = T0(1);
|
|
1061
|
+
for (let f2 = 0; f2 < (e$1.lashes ?? 0); f2++) {
|
|
1062
|
+
let Z22 = 0.12 + 0.13 * f2, o1 = (b1) => (1 - Z22) ** 3 * X32[b1] + 3 * (1 - Z22) ** 2 * Z22 * J32[b1] + 3 * (1 - Z22) * Z22 * Z22 * q32[b1] + Z22 ** 3 * e6[b1], r1 = o1(0) - i$1 * 0.3, B0 = o1(1) + 0.6;
|
|
1063
|
+
D0 += ne(`M ${r1.toFixed(2)} ${B0.toFixed(2)} L ${(r1 + i$1 * 1.8).toFixed(2)} ${(B0 - 2.4).toFixed(2)}`, Tt, 1.3);
|
|
1064
|
+
}
|
|
1065
|
+
let I1 = U2 - C5 * 0.15 + 1.8;
|
|
1066
|
+
return (e$1.shade ? oe2(S0(2.4), e$1.shade) : "") + (e$1.fold && p5 < 1 ? Rt(x0, "#000000", { stroke: "none", opacity: 0.22 }) + Rt(x0, "none", { width: 1.3 }) : "") + Rt(U22, s4, { stroke: "none" }) + se(a$1, U22, Y3, e$1.glow ? "" : oe2(`M ${o6 - L6} ${r7 - C5} L ${o6 + L6} ${r7 - C5} L ${o6 + L6} ${I7 + C5 * 0.28} L ${o6 - L6} ${I7 + C5 * 0.28} Z`, "#000000", 0.12)) + Rt(U22, "none", { width: 1.3 }) + oe2(S0(1), Tt) + D0 + (e$1.under === false ? "" : ne(`M ${h$1(-L6 * 0.2)} ${I1.toFixed(2)} Q ${h$1(L6 * 0.05)} ${(I1 + 0.9).toFixed(2)} ${h$1(L6 * 0.3)} ${(I1 - 0.6).toFixed(2)}`, Tt, 1.6));
|
|
1067
|
+
}
|
|
1068
|
+
var d2 = (a5, e5) => r4("el", { ...a5, dir: -1 }) + r4("er", { ...e5, dir: 1 });
|
|
1069
|
+
var z22 = (a5, e$1, o6, r7) => Ft(a5, e$1, o6, r7, J0, { stroke: "none" }) + Ft(a5 + o6 * 0.3, e$1 - r7 * 0.38, o6 * 0.42, r7 * 0.26, "#ffffff", { stroke: "none" }) + te2(a5 - o6 * 0.35, e$1 + r7 * 0.4, Math.min(o6, r7) * 0.16, "#ffffff", { stroke: "none" });
|
|
1070
|
+
var X0 = (a$1, e5, o6, r7, L6, C5) => te2(e5, o6, r7, s4, { stroke: "none" }) + se(a$1, q0(e5, o6, r7, r7), n4(`${a$1}_i`, e5 + C5, o6 + 0.5, L6, Qt2, 0.45)) + te2(e5, o6, r7, "none", { width: 2.8 }) + ne(`M ${e5 - r7 * 0.8} ${o6 - r7 * 0.75} C ${e5 - r7 * 0.3} ${o6 - r7 * 1.12} ${e5 + r7 * 0.5} ${o6 - r7 * 1.1} ${e5 + r7 * 0.9} ${o6 - r7 * 0.6}`, Tt, 3.4);
|
|
1071
|
+
var e8 = { "eyes/1": { paint: "#3a73e0", svg: d2({ cx: 11, cy: 10.6, w: 16, h: 11, r: 4.4, wing: 2.4 }, { cx: 44, cy: 10.6, w: 20, h: 12, r: 4.9 }) }, "eyes/2": { paint: "#6a4126", svg: d2({ cx: 12.5, cy: 11.6, w: 18, h: 14, r: 6, look: -1.4, wing: 2.6, pupil: 0.58 }, { cx: 46, cy: 11.6, w: 22, h: 15, r: 6.6, look: -1.6, pupil: 0.58 }) }, "eyes/3": { paint: "#4f8a3c", svg: [{ cx: 14.5, cy: 16, w: 22, h: 18, dir: -1 }, { cx: 49, cy: 16, w: 24, h: 19, dir: 1 }].map((a5, e5) => r4(`s${e5}`, { ...a5, r: 6.6, open: 0.48, fold: true, lid: 2.8, wing: e5 ? 3 : 2.4 })).join("") }, "eyes/4": { paint: "#9a6324", svg: X0("rl", 15, 16, 11.2, 4.6, -2.2) + X0("rr", 48, 16, 11.8, 4.8, -2.4) }, "eyes/5": { paint: "#c8402c", svg: d2({ cx: 13, cy: 13.5, w: 19, h: 12, r: 4.4, tilt: 3.6, open: 0.85, lid: 3.2, wing: 2.6 }, { cx: 48, cy: 13.5, w: 22, h: 13, r: 4.8, tilt: 3.8, open: 0.85, lid: 3.4 }) }, "eyes/6": { paint: "#4f7a3a", svg: Rt("M 5 6 C 10 2.5 18 2.5 23 6 M 38 6 C 43 2.5 52 2.5 57 6", "none", { stroke: "#000000", width: 2.2, opacity: 0.35 }) + d2({ cx: 15, cy: 15.5, w: 21, h: 10, r: 4, open: 0.62, wing: 2.6 }, { cx: 46.5, cy: 15.5, w: 23, h: 10.5, r: 4.2, open: 0.62 }) }, "eyes/7": { paint: "#7a3ad0", svg: d2({ cx: 14, cy: 16, w: 20, h: 14, r: 5.8, lid: 3, wing: 3.4, lashes: 3, shade: "#b48ae6" }, { cx: 51, cy: 16, w: 24, h: 15, r: 6.4, lid: 3, wing: 4, lashes: 3, shade: "#b48ae6" }) }, "eyes/8": { svg: z22(6.5, 11, 4.4, 8.8) + z22(37.5, 11, 4.6, 9.2) }, "eyes/9": { svg: z22(8, 10, 3.6, 6.4) + z22(40, 10, 3.6, 6.6) }, "eyes/10": { paint: "#22c79e", svg: d2({ cx: 11, cy: 12.5, w: 17, h: 11, r: 4.4, tilt: 2.4, open: 0.78, lid: 3, wing: 2.6 }, { cx: 43, cy: 12.5, w: 21, h: 12, r: 4.8, tilt: 2.6, open: 0.78, lid: 3.2, wing: 3.6 }) }, "eyes/11": { paint: "#6b4426", svg: d2({ cx: 12, cy: 11.5, w: 18, h: 13, r: 5.4, look: -2.2, open: 0.56, lid: 3.2, wing: 2.6 }, { cx: 45, cy: 11.5, w: 22, h: 14, r: 5.9, look: -2.6, open: 0.56, lid: 3.4 }) }, "eyes/12": { paint: "#d060e0", svg: d2({ cx: 12.5, cy: 14, w: 19, h: 15, r: 6.6, lid: 2.8, wing: 3, lashes: 3 }, { cx: 45, cy: 14, w: 24, h: 17, r: 7.4, lid: 3, wing: 4, lashes: 3 }) + Rt("M 14 9.5 L 14.7 11.2 L 16.4 11.9 L 14.7 12.6 L 14 14.3 L 13.3 12.6 L 11.6 11.9 L 13.3 11.2 Z", "#ffffff", { stroke: "none" }) + Rt("M 46 8.5 L 46.8 10.5 L 48.8 11.3 L 46.8 12.1 L 46 14.1 L 45.2 12.1 L 43.2 11.3 L 45.2 10.5 Z", "#ffffff", { stroke: "none" }) }, "eyes/13": { paint: "#3a8fd8", svg: d2({ cx: 14.5, cy: 10.5, w: 21, h: 12, r: 5.2, tears: true, wing: 2.6 }, { cx: 42.5, cy: 10.5, w: 23, h: 13, r: 5.6, tears: true }) }, "eyes/14": { paint: "#36c8f0", svg: d2({ cx: 12.5, cy: 11.8, w: 18, h: 13, r: 5.6, wing: 2.6 }, { cx: 45, cy: 11.8, w: 22, h: 14, r: 6.1, colour: "#f0c419" }) }, "eyes/15": { paint: "#e04040", svg: [["M 3 4 L 22 10.5 L 22 17 L 9 19 Z", 11.5, 12.5], ["M 32 10.5 L 60 4.5 L 55 18 L 37 19 Z", 43, 13]].map(([a5, e5, o6], r7) => Rt(a5, s4, { stroke: "none" }) + se(`t${r7}`, a5, n4(`t${r7}_i`, e5, o6, 4.6, Qt2, 0.4)) + Rt(a5, "none", { width: 3 })).join("") + ne("M 2.5 3.5 L 22.5 10.5 M 32 10.5 L 60.5 4", Tt, 3.4) }, "eyes/16": { svg: z22(11.5, 13, 8.6, 10.2) + z22(45.5, 13.5, 10.4, 11.4) }, "eyes/17": { svg: ne("M 4 3.5 C 12 1.5 19 6 19 13 C 19 19 14 21 9 20 C 4 19 2 15 3 11 C 4 7 9 6 12 9 C 14 11 12 14 9 13 M 52 9 C 48 3 42 2 38 3 C 33 5 31 10 33 15 C 35 20 42 21 46 18 C 49 15 48 10 44 9 C 41 8 39 11 41 13", Tt, 3.4) }, "eyes/18": { svg: ne("M 2.5 1.8 C 7 4.6 13 4.6 18.5 2", Tt, 3) + ne("M 34 2 C 41 5 48 5 54.5 1.8", Tt, 3.2) }, "eyes/19": { paint: "#ff6a86", svg: oe2("M 4 2.5 C 8 1.5 12 2 14 5 L 15 9 C 10 7 6 5.5 4 2.5 Z M 37 6 C 43 2 50 2 54 3.5 L 41 8.5 Z", "#202020", 0.25) + d2({ cx: 10.5, cy: 13, w: 15, h: 11, glow: true, tilt: 3, open: 0.85, lid: 2.6, wing: 2.4 }, { cx: 44.5, cy: 12.5, w: 21.5, h: 12, glow: true, tilt: 3.2, open: 0.85, lid: 2.8, wing: 2.8 }) }, "eyes/20": { paint: "#7a4a22", svg: d2({ cx: 11.5, cy: 13.5, w: 18, h: 17, r: 7.2, look: -1, wing: 2.6, pupil: 0.42 }, { cx: 44.5, cy: 13.5, w: 23, h: 18, r: 8.2, look: -1.2, pupil: 0.42 }) } };
|
|
1072
|
+
var a8 = (a5, e5, o6, r7, L6 = 3.6) => Rt(e5, o6, { stroke: "none", holes: true }) + se(a5, e5, r7) + Rt(e5, "none", { width: L6, holes: true });
|
|
1073
|
+
var J2 = (a5, e5, o6, r7, L6, C5 = 3.6) => Rt(e5, o6, { stroke: "none", opacity: r7 }) + se(a5, e5, L6) + Rt(e5, "none", { width: C5 });
|
|
1074
|
+
var t8 = 0.3;
|
|
1075
|
+
var C2 = 0.5;
|
|
1076
|
+
var _2 = 0.62;
|
|
1077
|
+
var Y = (a5, e5, o6, r7 = o6) => `M ${a5 - o6} ${e5} A ${o6} ${r7} 0 1 0 ${a5 + o6} ${e5} A ${o6} ${r7} 0 1 0 ${a5 - o6} ${e5} Z`;
|
|
1078
|
+
var o8 = "M 5 14 C 5 7 9 4 16 4 L 64 4 C 70 4 73 8 73 16 C 73 24 70 30 62 31 C 50 32 40 26 30 25 C 22 25 16 31 10 30 C 6 28 5 22 5 14 Z";
|
|
1079
|
+
var L4 = ["M 7 10 C 17 11 28 18 30 27 C 30 33 25 35 20 33 C 12 29 7 21 7 10 Z", "M 77 10 C 67 11 56 18 54 27 C 54 33 59 35 64 33 C 72 29 77 21 77 10 Z"];
|
|
1080
|
+
var C4 = ["M 8 10 C 8 8 10 7 12 7 L 30 7 C 33 7 34 9 33 12 L 30 23 C 29 25 27 26 24 26 L 12 26 C 9 26 8 24 8 22 Z", "M 44 9 C 44 7 46 7 48 7 L 70 7 C 72 7 73 9 73 11 L 72 22 C 72 25 70 26 67 26 L 52 26 C 49 26 47 24 46 21 Z"];
|
|
1081
|
+
var r8 = "M 10 9 L 60 9 L 58 22 C 56 26 52 27 48 27 L 22 27 C 16 27 12 24 11 20 Z";
|
|
1082
|
+
var s8 = { "glasses/1": { svg: te2(48, 29, 16, Tt, { stroke: "none" }) + ne("M 41 22 L 55 36 M 55 22 L 41 36", "#d4c6c6", 6) }, "glasses/2": { svg: ["M 3.5 7.5 C 6 3.5 14 2.5 22 3.5 C 27 4 29 6.5 29 10 C 29 17 27 23.5 20 25.5 C 12 27 5.5 24.5 4 18 C 3.5 14 3.5 10 3.5 7.5 Z", "M 37.5 8.5 C 42 4 54 3 62 4 C 66.5 4.5 68 7 67.5 11 C 67 18 64 24.5 56 26 C 47 27 40.5 24.5 38.5 18 C 37.5 14 37 11 37.5 8.5 Z"].map((a5, e5) => J2(`glasses_2_${e5}`, a5, "#70e0ff", 0.25, oe2(e5 ? "M 50 0 L 80 0 L 80 30 L 58 30 Z" : "M 13 0 L 40 0 L 40 30 L 20 30 Z", "#e0f0ff", 0.6), 4)).join("") + ne("M 29 7.5 C 31.5 6.5 34.5 6.5 37.5 7.5", Tt, 4) }, "glasses/3": { svg: a8("glasses_3", "M 4 18 C 4 6 12 3 24 3 L 70 3 C 82 3 87 8 87 18 C 87 28 82 34 72 34 C 60 34 50 28 45 25 C 40 28 30 34 18 34 C 8 34 4 28 4 18 Z M 11 16 C 11 11 14 9 20 9 L 66 9 C 72 9 76 11 76 16 C 76 22 72 26 66 26 C 58 26 52 22 45 19 C 38 22 30 26 22 26 C 15 26 11 22 11 16 Z", "#f2d630", oe2("M 79 0 L 90 0 L 90 40 L 79 40 Z", "#e07030")) + J2("glasses_3_lens", "M 11 16 C 11 11 14 9 20 9 L 66 9 C 72 9 76 11 76 16 C 76 22 72 26 66 26 C 58 26 52 22 45 19 C 38 22 30 26 22 26 C 15 26 11 22 11 16 Z", "#a0d0ff", 0.4, oe2("M 16 9 L 22 9 L 28 26 L 22 26 Z M 46 9 L 56 9 L 64 26 L 54 26 Z", "#f0f0ff", 0.6), 3) }, "glasses/4": { svg: ne("M 8 13 C 9 24 18 35 30 36 C 40 36 44 29 43 22 M 48 22 C 47 30 52 37 62 37 C 74 37 84 27 86 13", Tt, 3.6) + Rt("M 3 4.5 C 3.5 2 6 2 10 2.5 C 22 4.5 36 8 45.5 13 C 54 9 70 4.5 86 2 C 91 1.5 93.5 3 93 6 C 92 9 89 11 86 12 C 74 14 60 18 48 23 C 36 18 20 14 8.5 12 C 5.5 11 3.5 8 3 4.5 Z", Tt, { width: 1.5 }) }, "glasses/5": { svg: [[20.5, 8], [59.3, -8]].map(([a5, e5]) => Rt(X(a5, 23.5, 19.6, e5, 0.5) + " " + X(a5, 24, 13, e5, 0.5), "#f088d8", { width: 3.6, holes: true }) + Rt(X(a5, 24, 13, e5, 0.5), "#e000ff", { stroke: "none", opacity: C2 }) + Rt(X(a5, 24, 13, e5, 0.5), "none", { width: 3 })).join("") }, "glasses/6": { svg: Rt("M 2 15 C 2 6 8 2 16 2 L 78 2 C 86 2 89 6 89 14 C 89 24 86 37 76 38 L 30 37 C 24 33 18 33 12 35 C 6 34 2 26 2 15 Z " + o8, "#c9c9c9", { holes: true }) + J2("glasses_6", o8, "#3e3e40", _2, oe2("M 52 4 L 60 4 L 48 31 L 40 31 Z", "#8a8a90", 0.5), 3) + Ft(81, 15, 3, 5, "none", { width: 2.6 }) }, "glasses/7": { svg: J2("glasses_7", "M 4 4 L 32 3 C 35 3 36 6 37 9 L 43 9 C 44 6 45 3 48 3 L 76 4 C 78 10 77 20 74 27 C 72 32 64 33 56 32 C 50 31 46 23 44 18 L 36 18 C 34 23 30 31 24 32 C 16 33 8 32 6 27 C 3 20 2 10 4 4 Z", "#a050ff", C2, "") + ne("M 9 10 L 27 10 M 9 16 L 27 16 M 11 23 L 26 23 M 50 10 L 70 10 M 50 16 L 70 16 M 54 23 L 68 23", "#1a1a1a", 3.6) }, "glasses/8": { svg: te2(12.5, 13.5, 8.5, "#d8f0ff", { stroke: "none", opacity: t8 }) + te2(45.5, 13.5, 10, "#d8f0ff", { stroke: "none", opacity: t8 }) + te2(12.5, 13.5, 8.5, "none", { width: 3.2 }) + te2(45.5, 13.5, 10, "none", { width: 3.2 }) + ne("M 21 11 C 25.5 8.5 31 8.5 35.5 11", Tt, 3) }, "glasses/9": { svg: Rt("M 3 4 C 14 4 26 10 32 22 C 34 26 36 28 42 28 C 48 28 50 26 52 22 C 58 10 70 4 81 4 C 82 18 76 34 66 40 C 58 44 48 41 42 38 C 36 41 26 44 18 40 C 8 34 2 18 3 4 Z " + L4.join(" "), "#50e040", { holes: true }) + J2("glasses_9_l", L4[0], "#6a1a1a", _2, "", 3) + J2("glasses_9_r", L4[1], "#6a1a1a", _2, "", 3) }, "glasses/10": { svg: Rt("M 4 28 C 2 16 8 11 18 11 L 64 11 C 74 11 79 16 78 28 C 77 40 70 46 60 46 L 20 46 C 10 46 4 40 4 28 Z " + Y(21, 30, 12) + " " + Y(55, 30, 12), "#d07838", { holes: true }) + Rt("M 28 8 C 28 3 32 2 37 2 C 43 2 46 3 46 8 C 46 14 42 18 38 20 C 32 18 28 14 28 8 Z", "#d04838") + [21, 55].map((a5) => Rt(Y(a5, 30, 12) + " " + Y(a5, 30, 9), "#5a3218", { holes: true }) + te2(a5, 30, 9, "#ffe848", { stroke: "none", opacity: C2 }) + te2(a5, 30, 9, "none", { width: 2.4 })).join("") + Rt("M 30 45 L 38 37 L 46 45 C 44 48 32 48 30 45 Z", "#fff07a", { width: 3 }) + Rt("M 32 49 C 36 48 40 48 44 49 C 42 53 34 53 32 49 Z", "#ffb868", { width: 3 }) }, "glasses/11": { svg: ["M 4 4 C 4 13 10 18 18 18 C 26 18 32 13 33 4 Z", "M 40 4 C 41 13 47 18 55 18 C 63 18 68 13 68 4 Z"].map((a5, e5) => J2(`glasses_11_${e5}`, a5, "#d070e0", C2, oe2(e5 ? "M 55 0 L 61 0 L 61 20 L 55 20 Z" : "M 18 0 L 24 0 L 24 20 L 18 20 Z", "#ffffff", 0.6))).join("") + ne("M 2 3 L 70 3", Tt, 4) }, "glasses/12": { svg: Rt("M 3 6 C 3 3 6 2 9 2 L 75 2 C 79 2 81 4 81 8 L 80 28 C 80 32 76 33 72 32 L 52 30 C 46 29 44 26 41 23 C 37 26 34 30 28 31 L 8 33 C 4 33 2 30 2 26 Z " + C4.join(" "), "#ffffff", { width: 3.4, holes: true }) + J2("glasses_12_l", C4[0], "#3060c0", C2, oe2("M 18 6 L 23 6 L 21 27 L 16 27 Z", "#60b0f8", 0.6), 3) + J2("glasses_12_r", C4[1], "#d04838", C2, oe2("M 56 6 L 62 6 L 64 27 L 58 27 Z", "#ff7060", 0.6), 3) }, "glasses/13": { svg: Rt("M 1 1 L 80 1 L 80 10 L 75 10 L 75 17 L 70 17 L 70 23 L 47 23 L 47 17 L 41 17 L 41 11 L 40 11 L 40 17 L 35 17 L 35 23 L 12 23 L 12 17 L 6 17 L 6 10 L 1 10 Z", Tt, { stroke: "none", opacity: _2 }) + [[57, 9], [67, 9], [52, 14], [62, 14]].map(([a5, e5]) => ee(a5, e5, 5, 5, 0, "#ffffff", { stroke: "none" })).join("") }, "glasses/14": { svg: Rt("M 3 17 C 3 8 10 3 20 3 L 52 3 C 62 3 69 8 69 17 C 69 27 62 34 53 34 C 44 34 38 28 37 20 L 35 20 C 34 28 28 34 19 34 C 10 34 3 27 3 17 Z " + Y(19, 19, 11) + " " + Y(53, 19, 11), "#f07028", { holes: true }) + [19, 53].map((a$1) => te2(a$1, 19, 11, Tt, { stroke: "none", opacity: _2 }) + te2(a$1, 19, 11, "none", { width: 3 })).join("") }, "glasses/15": { svg: Rt("M 4 20 C 4 8 12 4 24 4 L 60 4 C 72 4 79 9 79 20 C 79 30 74 38 64 38 C 54 38 48 30 41 24 C 34 30 28 38 18 38 C 8 38 4 30 4 20 Z M 9 20 C 9 13 13 10 22 10 L 61 10 C 69 10 73 13 73 20 C 73 27 70 32 63 32 C 55 32 48 24 41 20 C 34 24 28 32 20 32 C 13 32 9 27 9 20 Z", "#f4f4f4", { holes: true }) + J2("glasses_15", "M 9 20 C 9 13 13 10 22 10 L 61 10 C 69 10 73 13 73 20 C 73 27 70 32 63 32 C 55 32 48 24 41 20 C 34 24 28 32 20 32 C 13 32 9 27 9 20 Z", "#ffd000", 0.5, oe2("M 54 8 C 58 16 60 26 58 34 L 80 34 L 80 8 Z", "#fff050", 0.85), 3) }, "glasses/16": { svg: Rt("M 3 6 C 3 3.5 5 2.8 8 2.8 L 29 2.8 C 33 2.8 36 5 38 8 L 40 8 C 42 5 45 2.8 49 2.8 L 78 2.8 C 81 2.8 82.3 4 82.3 7 L 82.3 24 C 82 30 78 35.2 70 35.2 L 50 35.2 C 45 35.2 42 33 40.5 30 L 38.5 30 C 37 33 34 35.2 30 35.2 L 16 35.2 C 8 35.2 3 31 2.8 24 Z M 11 8.7 L 28 8.7 C 31 10.5 34.3 14 34.3 17 L 34.3 22 C 34.3 27 30 31.3 26 31.3 L 19 31.3 C 13 31.3 8.7 26 8.7 21 L 8.7 12 C 8.7 10 9.5 8.7 11 8.7 Z M 52 8.7 L 73 8.7 C 74.5 8.7 75.3 10 75.3 12 L 75.3 21 C 75.3 26 71 31.3 64 31.3 L 54 31.3 C 49 31.3 42.7 26 42.7 21 L 42.7 17 C 42.7 14 46 10.5 52 8.7 Z", "#10c060", { holes: true }) }, "glasses/17": { svg: Rt("M 4 30 C 4 22 6 18 8 16 C 8 10 10 5 14 4 C 20 4 24 8 27 12 C 36 10 52 10 62 11 C 65 6 69 3 74 3 C 80 4 82 10 82 16 C 85 20 86 26 86 32 C 86 44 80 52 68 53 C 56 54 46 48 40 45 C 34 48 24 54 16 54 C 8 54 4 44 4 30 Z M 12 32 C 12 24 18 20 30 19 C 44 18 60 18 70 21 C 76 23 78 28 77 33 C 76 40 72 44 64 44 C 56 44 50 38 42 38 C 34 38 28 44 20 44 C 14 44 12 38 12 32 Z", "#60e0ff", { holes: true }) }, "glasses/18": { svg: ee(32, 16.5, 9, 6, 1, "#ffd800", { width: 3 }) + [17, 56].map((a5) => J2(`glasses_18_${a5}`, Y(a5, 19.5, 15), "#ffd800", C2, oe2(`M ${a5 + 9} 0 L ${a5 + 20} 0 L ${a5 + 20} 40 L ${a5 + 9} 40 Z`, "#ff9a00", C2)) + j0(a5, 19.5, 8)).join("") }, "glasses/19": { svg: J2("glasses_19", "M 3 6 C 3 3 5 2 8 2 L 81 2 C 85 2 86 4 86 7 L 86 28 C 86 32 84 34 80 34 L 56 34 C 52 34 50 31 48 28 C 46 25 44 24 41 24 C 38 24 36 25 34 28 C 32 31 30 34 26 34 L 8 34 C 5 34 3 32 3 29 Z", "#8a0a48", C2, oe2("M 0 0 L 14 0 L 4 40 L 0 40 Z M 66 0 L 90 0 L 90 40 L 76 40 Z", "#b01880", C2) + ne("M 0 8 L 25 8 L 31 13 L 90 13 M 0 20 L 70 20 L 76 25 L 90 25 M 0 28 L 15 28", "#e050c8", 2.4)) }, "glasses/20": { svg: J2("glasses_20", "M 4 12 C 4 6 8 4 14 6 C 22 10 30 18 38 22 L 50 22 C 58 18 68 10 78 4 C 84 2 87 6 87 12 C 86 26 82 38 74 46 C 66 52 54 50 48 44 L 44 40 L 40 44 C 32 52 20 52 14 46 C 6 38 4 24 4 12 Z", "#3a3a3c", _2, oe2("M 36 20 L 52 20 L 52 46 L 36 46 Z", "#2a2a2c", 0.4) + ne("M 12 10 C 18 24 20 36 18 46 M 72 8 C 68 22 66 36 68 48", "#6a6a70", 3)) }, "glasses/21": { svg: J2("glasses_21", "M 5 12 L 73 12 C 73 22 72 30 66 34 C 60 37 46 36 40 30 L 38 28 C 34 32 28 36 18 36 C 10 36 6 30 5 22 Z", "#8a6638", _2, oe2("M 8 14 L 20 14 L 20 20 L 8 20 Z M 30 18 L 42 18 L 42 24 L 30 24 Z M 50 14 L 62 14 L 62 20 L 50 20 Z M 14 24 L 24 24 L 24 30 L 14 30 Z M 56 24 L 66 24 L 66 30 L 56 30 Z", "#a88050", 0.5)) + Rt("M 2 5 C 4 3 6 3 7 6 L 72 6 C 73 3 75 3 77 5 C 76 9 74 12 72 12 L 7 12 C 5 12 3 9 2 5 Z", "#d0a820") }, "glasses/22": { svg: ee(30, 10, 7, 6, 1, "#c02070", { width: 3 }) + [0, 34].map((a5) => Rt(`M ${17 + a5} 28 C ${10 + a5} 24 ${3 + a5} 18 ${3 + a5} 11 C ${3 + a5} 6 ${7 + a5} 3 ${11 + a5} 3 C ${14 + a5} 3 ${16 + a5} 5 ${17 + a5} 7 C ${18 + a5} 5 ${21 + a5} 3 ${24 + a5} 3 C ${29 + a5} 3 ${32 + a5} 7 ${32 + a5} 12 C ${32 + a5} 19 ${25 + a5} 24 ${17 + a5} 28 Z`, "#f03a8a", { opacity: C2, stroke: "none" }) + Rt(`M ${17 + a5} 28 C ${10 + a5} 24 ${3 + a5} 18 ${3 + a5} 11 C ${3 + a5} 6 ${7 + a5} 3 ${11 + a5} 3 C ${14 + a5} 3 ${16 + a5} 5 ${17 + a5} 7 C ${18 + a5} 5 ${21 + a5} 3 ${24 + a5} 3 C ${29 + a5} 3 ${32 + a5} 7 ${32 + a5} 12 C ${32 + a5} 19 ${25 + a5} 24 ${17 + a5} 28 Z`, "none") + Ft(11 + a5, 10, 3, 2, "#ffffff", { stroke: "none", opacity: 0.8 })).join("") }, "glasses/23": { svg: Rt("M 3 14 C 3 6 10 3 20 4 C 28 4 34 7 38 9 L 44 9 C 48 7 54 4 62 4 C 72 3 79 6 79 14 C 79 26 72 34 60 34 C 50 34 44 28 42 22 L 40 22 C 38 28 32 34 22 34 C 10 34 3 26 3 14 Z " + Y(21, 19, 12, 10) + " " + Y(61, 19, 12, 10), "#ffffff", { holes: true }) + K2("M 6 14 C 6 8 12 6 20 6.5 C 28 7 34 9 41 12 C 48 9 54 7 62 6.5 C 70 6 76 8 76 14 C 76 24 70 31 60 31 C 52 31 46 26 41 18 C 36 26 30 31 22 31 C 12 31 6 24 6 14", "#e03838", 4.5, "6 5") + [21, 61].map((a5) => Ft(a5, 19, 12, 10, "#101010", { stroke: "none", opacity: _2 }) + oe2(`M ${a5 - 9} 14 C ${a5 - 5} 11 ${a5} 10 ${a5 + 4} 10.5 C ${a5} 13 ${a5 - 4} 16 ${a5 - 7} 20 Z`, "#909090", 0.5) + Ft(a5, 19, 12, 10, "none", { width: 3 })).join("") }, "glasses/24": { svg: J2("glasses_24", "M 3 6 C 3 3 5 3 8 3 L 70 3 C 73 3 74 5 73 8 L 66 26 C 64 30 60 31 56 31 L 48 31 C 44 31 41 27 37 22 C 33 27 28 31 22 31 L 18 31 C 14 31 10 29 8 26 Z", "#262628", _2, oe2("M 12 3 L 20 3 L 24 31 L 16 31 Z M 38 3 L 46 3 L 50 31 L 42 31 Z", "#6a6a6e", 0.4)) }, "glasses/25": { svg: [16, 55].map((a5) => Rt(Y(a5, 17, 13, 12) + " " + Y(a5, 17, 9.5, 7.5), "#a05a30", { holes: true }) + Ft(a5, 17, 9.5, 7.5, "#2e3430", { stroke: "none", opacity: _2 }) + Ft(a5, 17, 9.5, 7.5, "none", { width: 2.6 })).join("") + Rt("M 28 26 C 27 18 29 10 34 9 C 39 9 42 14 42 22 C 42 28 38 31 33 31 C 30 31 28 29 28 26 Z", "#ff8890") + Rt("M 21 22 C 23 21 25 22 26 25 C 24 27 22 27 21 25 Z", "#ff8890", { width: 2.4 }) }, "glasses/26": { svg: J2("glasses_26", "M 4 16 C 4 7 10 3 18 3 C 25 3 30 7 33 11 L 37 11 C 40 7 45 3 52 3 C 60 3 66 8 66 16 C 66 25 60 30 52 30 C 45 30 40 26 37 22 L 33 22 C 30 26 25 30 18 30 C 10 30 4 25 4 16 Z", "#8a7a56", _2, oe2("M 10 7 C 14 5 20 5 24 7 L 22 9 C 18 8 14 8 11 9 Z M 46 7 C 50 5 56 5 60 7 L 58 9 C 54 8 50 8 47 9 Z", "#f0e0b0", 0.8)) }, "glasses/27": { svg: a8("glasses_27", "M 4 30 C 4 14 18 3 37 3 C 56 3 70 14 70 30 C 70 46 62 56 50 59 C 42 61 32 61 24 59 C 12 56 4 46 4 30 Z " + Y(17, 30, 9) + " " + Y(49, 30, 10), "#e6dccc", oe2("M 0 50 C 20 54 50 54 74 50 L 74 64 L 0 64 Z M 10 36 L 14 36 L 14 54 L 10 54 Z M 56 36 L 60 36 L 60 54 L 56 54 Z", "#cfc0a8")) + te2(17, 30, 9, "#200f0c", { stroke: "none", opacity: _2 }) + te2(49, 30, 10, "#200f0c", { stroke: "none", opacity: _2 }) + ne("M 24 44 L 24 53 M 32 44 L 32 53 M 40 44 L 40 53", "#3a2828", 4.5) }, "glasses/28": { svg: Rt("M 30 50 L 72 46 C 70 56 56 66 38 70 Z", "#4a4858") + Rt("M 6 30 C 6 12 22 3 42 3 C 64 3 82 12 82 30 C 82 44 76 50 66 52 L 30 58 C 20 60 10 54 6 44 Z " + Y(21, 30, 11.5, 14.5) + " " + Y(55, 31, 14.5, 14), "#5a5a5c", { holes: true }) + Rt(Y(21, 30, 11.5, 14.5) + " " + Y(21, 30, 8.5, 11.5), "#6a6a6e", { width: 3, holes: true }) + Rt(Y(55, 31, 14.5, 14) + " " + Y(55, 31, 11.5, 11), "#6a6a6e", { width: 3, holes: true }) + J2("glasses_28_l", Y(21, 30, 8.5, 11.5), "#1e1e20", _2, oe2("M 22 18 L 28 18 L 24 42 L 18 42 Z", "#8a8a90", 0.5), 2.6) + J2("glasses_28_r", Y(55, 31, 11.5, 11), "#1e1e20", _2, oe2("M 57 20 L 64 20 L 59 42 L 52 42 Z", "#8a8a90", 0.5), 2.6) + Ft(20, 57, 17, 16, "#8a92a0") + Ft(19, 58, 11, 10.5, "#3e4a54", { width: 3 }) }, "glasses/29": { svg: J2("glasses_29", "M 3 20 C 3 10 10 3 20 3 L 52 3 C 62 3 69 10 69 20 C 69 30 62 38 50 38 C 42 38 38 30 35 24 C 32 30 28 38 20 38 C 10 38 3 30 3 20 Z", "#e8e030", C2, oe2("M 0 0 L 18 0 L 12 40 L 0 40 Z", "#e04a3a", C2) + oe2("M 18 0 L 36 0 L 30 40 L 12 40 Z", "#f09030", C2) + oe2("M 58 0 L 72 0 L 72 40 L 48 40 Z", "#60e040", C2)) }, "glasses/30": { svg: Rt("M 4 10 C 4 5 8 3 14 3 L 58 3 C 64 3 67 6 67 11 L 64 26 C 62 30 58 32 54 32 L 18 32 C 12 32 8 28 6 24 Z " + r8, "#4e6a6e", { holes: true }) + J2("glasses_30", r8, "#9ade30", C2, oe2("M 22 9 L 30 9 L 26 27 L 18 27 Z M 44 9 L 54 9 L 50 20 L 40 20 Z", "#6aa820", C2), 3) + Rt("M 22 28 C 26 20 30 17 36 17 C 42 17 46 20 50 28 L 50 40 C 50 46 46 49 40 49 L 30 49 C 22 49 18 44 18 36 Z", "#5a7878") + ne("M 26 34 L 26 45 M 35 28 L 35 45 M 44 34 L 44 45", "#304848", 4) } };
|
|
1083
|
+
var i6 = "#2a1418";
|
|
1084
|
+
var f1 = "#b8707e";
|
|
1085
|
+
var D2 = "#fbf6ef";
|
|
1086
|
+
var i1 = (a5, e5, o6, r7 = 2.4) => Rt(e5, i6, { stroke: "none" }) + se(a5, e5, o6) + Rt(e5, "none", { width: r7 });
|
|
1087
|
+
var n8 = { "mouth/1": { svg: oe2("M 1.6 3.6 C 5 2.2 10 2 13.6 3 C 13.9 3.2 13.8 3.7 13.4 3.8 C 10 5 5 5.2 1.6 3.6 Z", Tt) }, "mouth/2": { svg: i1("m2", "M 3.5 8.5 C 9 10 17 9 24.5 4.5 C 24 10 19.5 15.5 13 15.5 C 8 15.5 4.8 12.5 3.5 8.5 Z", oe2("M 0 0 L 27 0 L 27 6.5 C 19 11.5 11 12 0 9.8 Z", D2) + Ft(15, 17, 7, 3.4, f1, { stroke: "none" })) + ne("M 23.5 3 C 24.8 3.6 25.6 4.6 25.8 6", Tt, 1.8) }, "mouth/3": { svg: ne("M 2.5 4.5 C 3 8.5 8 9.5 10 6.5 L 11.5 3 L 13 6.5 C 15 9.5 20 8.5 20.5 4", Tt, 3.2) }, "mouth/4": { svg: i1("m4", "M 2 2 C 8 3.3 16 3.3 22 2 C 22.5 6.5 19.5 9.5 12 9.5 C 4.5 9.5 1.5 6.5 2 2 Z", oe2("M 0 0 L 24 0 L 24 4.4 C 16 5.4 8 5.4 0 4.4 Z", D2) + oe2("M 4.8 4.4 L 6.1 6.9 L 7.3 4.6 Z M 16.7 4.6 L 17.9 6.9 L 19.2 4.4 Z", D2) + Ft(12, 10.4, 7.6, 3, f1, { stroke: "none" }) + oe2("M 0 9.4 C 8 8.4 16 8.4 24 9.4 L 24 12 L 0 12 Z", D2), 2.2) }, "mouth/5": { svg: i1("m5", "M 2.5 3.5 C 11 5 22 5 30.5 3.5 C 31 9.5 25 14 16.5 14 C 8 14 2 9.5 2.5 3.5 Z", oe2("M 0 0 L 33 0 L 33 6.2 C 22 7.4 11 7.4 0 6.2 Z", D2) + Ft(16.5, 15, 9.5, 4.6, f1, { stroke: "none" }) + ne("M 16.5 11 L 16.5 14", "#8a4a58", 1.2)) }, "mouth/6": { svg: ne("M 3 8 C 8 7 12 7 17 8", Tt, 2.6) + ne("M 5.5 3 L 6 13 M 10 2.5 L 10 13.5 M 14.5 3 L 14 13", Tt, 2.2) }, "mouth/7": { svg: i1("m7", "M 10 2.5 C 15 2.5 17.5 6.5 17.5 10.5 C 17.5 14.5 14.5 17 10 17 C 5.5 17 2.5 14.5 2.5 10.5 C 2.5 6.5 5 2.5 10 2.5 Z", oe2("M 0 0 L 20 0 L 20 5.6 C 14 6.6 6 6.6 0 5.6 Z", D2) + Ft(10, 17, 6, 4.5, f1, { stroke: "none" })) }, "mouth/8": { svg: Rt("M 3 2.5 C 9 3.6 14 3.6 20 2.5 C 21.5 5 21.5 8.5 20 10.5 C 14 11.5 9 11.5 3 10.5 C 1.5 8.5 1.5 5 3 2.5 Z", D2, { width: 2.2 }) + ne("M 2.6 6.6 C 9 7.2 14 7.2 20.4 6.6 M 7.5 3.4 L 7.5 10.8 M 11.5 3.6 L 11.5 11 M 15.5 3.4 L 15.5 10.8", Tt, 1.3) }, "mouth/9": { svg: Rt("M 8.5 7 C 7.5 12.5 9 16.5 13 16.5 C 17 16.5 18.5 12.5 17.5 7 Z", f1, { width: 2.2 }) + ne("M 13 8 L 13 12.5", "#8a4a58", 1.3) + ne("M 2.5 6.5 C 9 8.5 16 8.5 21.5 5", Tt, 2.8) }, "mouth/10": { svg: i1("m10", "M 2.5 12.5 C 4 6 8 3 11.5 3 C 15 3 19 6 20.5 12.5 C 15 11 8 11 2.5 12.5 Z", Ft(11.5, 3, 6, 3.4, "#4a2830", { stroke: "none" }) + oe2("M 0 15 L 0 10.2 C 8 8.8 15 8.8 23 10.2 L 23 15 Z", D2)) } };
|
|
1088
|
+
var _6 = "#2a1418";
|
|
1089
|
+
var L8 = "#b8707e";
|
|
1090
|
+
var _1 = "#fbf6ef";
|
|
1091
|
+
var k1 = (a5, e5, o6, r7 = 2.4) => Rt(e5, _6, { stroke: "none" }) + se(a5, e5, o6) + Rt(e5, "none", { width: r7 });
|
|
1092
|
+
var C8 = { "mouth_talk/A": { svg: k1("tA", "M 3 3.5 C 9 5 15 5 21 3.5 C 21.8 11 18 17 12 17 C 6 17 2.2 11 3 3.5 Z", oe2("M 0 0 L 24 0 L 24 6 C 16 7.2 8 7.2 0 6 Z", _1) + Ft(12, 17.5, 7, 4.2, L8, { stroke: "none" })) }, "mouth_talk/E": { svg: k1("tE", "M 2.5 3 C 9 4.6 17 4.6 23.5 3 C 23 8 19 10.5 13 10.5 C 7 10.5 3 8 2.5 3 Z", oe2("M 0 0 L 26 0 L 26 5 C 17 6 9 6 0 5 Z", _1) + oe2("M 0 12 L 0 8.6 C 9 7.6 17 7.6 26 8.6 L 26 12 Z", _1)) }, "mouth_talk/O": { svg: k1("tO", "M 7.5 2.5 C 11 2.5 13 5.5 13 8.5 C 13 11.5 11 14 7.5 14 C 4 14 2 11.5 2 8.5 C 2 5.5 4 2.5 7.5 2.5 Z", Ft(7.5, 14, 4, 3.2, L8, { stroke: "none" }), 2.2) }, "mouth_talk/MBP": { svg: ne("M 2.5 4.2 C 7 2.6 13 2.6 17.5 4.2", Tt, 3.6) }, "mouth_talk/FV": { svg: Rt("M 3 2.5 C 8 3.4 14 3.4 19 2.5 C 19 5.5 17 7 11 7 C 5 7 3 5.5 3 2.5 Z", _1, { width: 2.2 }) + ne("M 2.5 8.5 C 8 9.8 14 9.8 19.5 8.5", Tt, 2.6) }, "mouth_emo/sad": { svg: ne("M 2.5 8 C 6 3.2 14 3.2 17.5 8", Tt, 3) }, "mouth_emo/scared": { svg: k1("eS", "M 2.5 6 C 5 3 7 3 9 5 C 11 3 13 3 15 5 C 17 3 19 3 21.5 6 C 20 10.5 16 12 12 12 C 8 12 4 10.5 2.5 6 Z", oe2("M 0 0 L 24 0 L 24 7 C 16 6 8 6 0 7 Z", _1), 2.2) }, "mouth_emo/tired": { svg: ne("M 2.5 3.5 C 6 4.4 10 4.6 13.5 4.2", Tt, 2.6) }, "brows_emo/sad": { svg: ne("M 3 10 C 8 9 14 6 18.5 2.5", Tt, 4.2) + ne("M 32.5 2.5 C 37 6 43 9 48.5 10", Tt, 4.2) }, "brows_emo/up": { svg: ne("M 2.5 7.5 C 6 1.8 13 1.4 18.5 4.5", Tt, 4.2) + ne("M 32.5 4.5 C 38 1.4 45 1.8 48.5 7.5", Tt, 4.2) } };
|
|
1093
|
+
var f8 = (a5, e5) => {
|
|
1094
|
+
let o6 = "M 3 25.5 L 25 16 L 103 17 L 103 35 L 25 35.5 Z";
|
|
1095
|
+
return Rt(o6, e5.low, { stroke: "none" }) + se(a5, o6, oe2("M 0 0 L 110 0 L 110 25 L 0 25 Z", e5.top), oe2("M 78 14 C 82 20 84 22 104 22 L 104 30 C 84 30 82 32 78 38 L 110 38 L 110 14 Z", e5.ridge, 0.55), ne("M 8 25.5 L 103 25.5", e5.ridge, 2.4)) + Rt(o6, "none") + Rt("M 117 19 L 143 19 L 143 31 L 117 31 Z", e5.grip) + ne("M 121 20 L 125 30 M 128 20 L 132 30 M 135 20 L 139 30", e5.wrap, 2.4) + te2(146.5, 25, 6.5, e5.guard) + Rt("M 106 17 C 101 19 99 22 99 25 C 99 28 101 31 106 33 Z", e5.guard, { width: 3 }) + Rt("M 105 4 C 113 8 118 16 117 25 C 118 34 113 42 105 48 C 107 40 108 32 108 25 C 108 18 107 11 105 4 Z", e5.guard);
|
|
1096
|
+
};
|
|
1097
|
+
var i8 = (a$1, e5) => {
|
|
1098
|
+
let o6 = "M 3 23 L 14 15 L 127 15 L 127 31 L 14 31 Z", r7 = [35, 66, 97].map((C5) => `M ${C5} 7.5 L ${C5 + 14} 7.5 L ${C5 + 19} 16`).join(" "), L6 = [20, 52, 83].map((C5) => `M ${C5} 39 L ${C5 + 14} 39 L ${C5 + 19} 30`).join(" ");
|
|
1099
|
+
return ne(r7, Tt, 11.5) + ne(L6, Tt, 11.5) + ne(r7, e5.top, 6) + ne(L6, e5.low, 6) + Rt(o6, e5.low, { stroke: "none" }) + se(a$1, o6, oe2("M 0 0 L 130 0 L 130 23 L 0 23 Z", e5.top)) + Rt(o6, "none") + ne("M 12 23 L 126 23", Tt, 2.2) + Rt("M 137 20 L 164 20 L 164 27 L 137 27 Z", e5.grip, { width: 3 }) + Rt("M 165 18 C 170 18 171 29 165 29 Z", e5.guard, { width: 2.8 }) + Rt("M 127 11 L 133 11 C 137 16 137 30 133 34 L 127 34 Z", e5.guard);
|
|
1100
|
+
};
|
|
1101
|
+
var f4 = "M 7 3 L 58 3 C 70 4 80 14 92 36 C 94 39 94 42 92 45 C 80 66 70 76 58 77 L 7 78 C 4 78 3 76 3 72 L 3 8 C 3 5 4 3 7 3 Z";
|
|
1102
|
+
var i4 = "M 4 22 C 4 8 10 3 22 3 L 62 3 C 72 3 76 6 78 12 C 82 16 82 24 82 34 C 82 38 80 41 76 42 L 75 62 C 75 70 70 73 62 73 L 16 73 C 8 73 4 68 4 60 Z";
|
|
1103
|
+
var _4 = "M 4 60 L 4 28 C 4 12 14 3 30 2 C 46 2 58 10 61 26 L 62 62 C 62 70 56 72 50 72 L 12 72 C 6 72 4 68 4 60 Z";
|
|
1104
|
+
var _8 = (a5, e5, o6) => Rt("M 20 17 L 57 17 C 57 26 62 34 70 40 C 60 50 48 56 36 56 C 24 56 12 50 3 41 C 12 34 18 26 20 17 Z", a5) + Rt("M 12 35 C 20 41 28 43 36 43 C 46 43 54 40 61 35 C 63 37 66 39 70 40 C 60 50 48 56 36 56 C 24 56 12 50 3 41 C 6 38 9 36 12 35 Z", e5) + ne("M 13 34 C 20 39 28 41 36 41 C 46 41 54 38 60 33", ie2(a5, -0.35), 2.6) + ee(17, 3, 93, 15, 3, o6);
|
|
1105
|
+
var l8 = (a5, e5, o6) => ee(2.8, 38.5, 105.5, 15, 6, o6) + Rt("M 40 3.5 C 22 14 11 30 11 46 C 11 62 22 78 40 88.5 C 31 78 26.5 62 26.5 46 C 26.5 30 31 16 42.5 4 Z", a5) + Rt("M 32 16 C 24 26 20 36 20 46 C 20 56 24 66 32 76 C 28 66 26 56 26 46 C 26 36 28 26 32 16 Z", e5, { stroke: "none" });
|
|
1106
|
+
var p8 = (a5, e5, o6) => Rt("M 66 22 L 92 22 L 92 36 L 66 36 Z", e5) + Rt("M 90 20 L 104 6 L 118 6 C 120 6 121 8 121 10 L 121 48 C 121 50 120 51 118 51 L 106 51 L 90 36 Z M 106 18 L 112 16 L 112 40 Z", o6, { holes: true }) + Rt("M 4 28 L 20 3 L 58 3 C 61 3 62 5 62 8 L 62 49 C 62 52 60 54 57 54 L 20 54 Z", a5, { stroke: "none" }) + se(`spade_${a5.slice(1)}`, "M 4 28 L 20 3 L 58 3 C 61 3 62 5 62 8 L 62 49 C 62 52 60 54 57 54 L 20 54 Z", oe2("M 0 34 L 66 30 L 66 60 L 0 60 Z", ie2(a5, -0.2))) + Rt("M 4 28 L 20 3 L 58 3 C 61 3 62 5 62 8 L 62 49 C 62 52 60 54 57 54 L 20 54 Z", "none") + Rt("M 36 29 C 40 22 56 20 66 22 L 66 36 C 56 38 40 36 36 29 Z", a5);
|
|
1107
|
+
var h8 = (a5, e5, o6) => {
|
|
1108
|
+
let r7 = "M 4 22 C 4 10 10 4 22 4 L 84 4 L 84 40 L 22 40 C 10 40 4 34 4 22 Z";
|
|
1109
|
+
return Rt("M 84 14 L 128 14 C 131 14 132 16 132 21 C 132 26 131 28 128 28 L 84 28 Z", "#c06838") + ne("M 90 18 L 110 20 M 100 24 L 124 24", "#8a4020", 1.8) + Rt(r7, e5, { stroke: "none" }) + se(a5, r7, o6) + Rt(r7, "none");
|
|
1110
|
+
};
|
|
1111
|
+
var M8 = (a5, e5, o6) => [[20, 18, -1], [38, 18, -1], [62, 20, -1], [72, 21, -1], [28, 44, 1], [52, 42, 1], [76, 40, 1]].map(([L6, C5, i5]) => Rt(`M ${L6 - 4} ${C5} L ${L6} ${C5 + i5 * 14} L ${L6 + 4} ${C5} Z`, e5, { width: 2.4 })).join("") + Rt("M 4 6 L 12 22 L 4 34 Z", e5, { width: 2.4 }) + Rt("M 6 30 C 6 22 12 18 22 18 L 92 22 C 108 24 118 26 130 26 C 134 20 140 20 140 30 C 140 40 134 42 130 34 C 118 36 108 38 92 40 L 22 44 C 12 44 6 38 6 30 Z", a5) + (o6 ? Rt("M 94 23 L 124 26 L 124 35 L 94 38 Z", o6, { width: 2.4 }) + ne("M 100 24 L 108 37 M 108 25 L 116 36", ie2(o6, -0.3), 1.8) : "") + [[30, 26], [46, 32], [64, 28], [80, 34]].map(([L6, C5]) => Rt(`M ${L6} ${C5 - 4} L ${L6 + 3} ${C5 + 3} L ${L6 - 3} ${C5 + 3} Z`, e5, { width: 1.8 })).join("");
|
|
1112
|
+
var l4 = (a$1, e5, o6, r7) => {
|
|
1113
|
+
let L6 = "M 6 24 C 6 14 22 8 40 8 C 50 4 64 4 72 8 L 82 6 C 90 8 96 10 100 14 C 110 14 116 18 118 22 L 132 10 C 136 10 138 14 136 18 L 130 24 L 136 32 C 138 36 134 38 130 36 L 118 26 C 112 32 100 36 88 36 C 70 40 40 40 26 38 C 14 36 6 32 6 24 Z";
|
|
1114
|
+
return Rt(L6, e5, { stroke: "none" }) + se(a$1, L6, oe2("M 0 26 C 40 30 80 30 140 24 L 140 44 L 0 44 Z", o6), oe2("M 0 0 L 30 0 C 34 14 34 28 30 44 L 0 44 Z", r7), ne("M 30 8 C 34 18 34 30 30 40", Tt, 2.6)) + Rt(L6, "none") + te2(20, 18, 4, "#ffffff", { width: 2.2 }) + te2(20, 18, 1.6, Tt, { stroke: "none" }) + ne("M 8 26 L 14 26", Tt, 2.2);
|
|
1115
|
+
};
|
|
1116
|
+
var Q8 = (a5, e5, o6 = "") => ee(18, 18, 66, 14, 3, e5) + o6 + Rt("M 6 30 C 4 20 6 10 12 4 C 18 6 20 12 18 18 L 18 40 C 20 44 20 52 16 54 L 8 54 C 4 52 4 44 8 40 C 6 36 6 34 6 30 Z", a5) + ne("M 10 10 C 12 14 12 18 12 22", ie2(a5, -0.35), 2.2);
|
|
1117
|
+
var q2 = (a5, e5, o6, r7 = o6) => `M ${a5 - o6} ${e5} A ${o6} ${r7} 0 1 0 ${a5 + o6} ${e5} A ${o6} ${r7} 0 1 0 ${a5 - o6} ${e5} Z`;
|
|
1118
|
+
var l1 = (a5, e5, o6, r7 = 0) => "M " + [0, 1, 2, 3, 4].map((L6) => {
|
|
1119
|
+
let C5 = (r7 - 90 + L6 * 72) * Math.PI / 180;
|
|
1120
|
+
return `${(a5 + o6 * Math.cos(C5)).toFixed(1)} ${(e5 + o6 * Math.sin(C5)).toFixed(1)}`;
|
|
1121
|
+
}).join(" L ") + " Z";
|
|
1122
|
+
var p4 = "M 6 8 C 6 5 9 4 14 4 L 98 3.5 C 102 3.5 105 6 105 10 L 105 62 C 105 70 102 76 96 78 L 16 80 C 10 82 6 84 4 80 L 3.5 14 C 3.5 11 4 9 6 8 Z";
|
|
1123
|
+
var l6 = "M 22 3.5 L 57 3.5 C 70 5 82 16 89 35 C 82 52 70 63 52 66.5 L 24 67 C 22 56 14 44 3 35 C 14 26 21 14 22 3.5 Z";
|
|
1124
|
+
var h4 = "M 3.5 3 L 88 3 C 91 3 92.5 5 92.5 8 C 93.5 28 93.5 44 91.5 62 C 91.5 65.5 89.5 67 86 67 L 3.5 67.5 C 9 48 9 22 3.5 3 Z";
|
|
1125
|
+
var M4 = "M 5.5 3.5 L 55 3.5 C 68 4.5 76 18 82.5 40 C 76.5 60 68 72 52 76 L 6 78.5 C 4.5 78.5 3.5 77.5 3.5 76 L 3.5 6 C 3.5 4.5 4.5 3.5 5.5 3.5 Z";
|
|
1126
|
+
var Q4 = "M 14 12 C 20 10 24 4 34 3.5 L 70 3.5 C 74 3.5 76 6 76 10 L 76 14 C 72 16 72 20 76 22 L 76 26 C 76 30 74 32.5 70 32.5 L 34 32.5 C 24 32 20 26 14 24 Z";
|
|
1127
|
+
var c4 = "M 22 4 C 26 2.8 33 2.8 40 3.2 C 48 4.5 56 8.5 60 13 C 61.8 15.5 61.5 19 58.5 21.5 C 54 24.5 46 26.5 38 26.5 L 26 26.5 C 22 25.5 19.5 21 19.5 15 C 19.5 9 20 5 22 4 Z";
|
|
1128
|
+
var d4 = "M 7.5 13 C 7.5 6.5 12.5 2.8 19.5 2.8 C 26.5 2.8 31.5 7.5 31.5 13.5 C 31.5 14.5 31.3 15.3 31 15.5 C 37 15.5 42 14 46 12 C 49 10.5 51.5 11.5 51.5 15 L 51.5 21 C 51 32 44 40.5 30 40.5 L 24 40.5 C 18 40.5 13.5 37 13 31 L 8 30.5 C 4.5 30 2.8 27.5 2.8 24.5 C 2.8 21.5 4.5 19.5 7.5 18.5 Z";
|
|
1129
|
+
var g4 = "M 4 14 L 14 4 L 30 3.5 L 40 8 L 43.5 22 L 40 34 L 28 39.5 L 12 39 L 3.5 28 Z";
|
|
1130
|
+
var v4 = "M 21 9 C 12 4 3 10 3 22 C 3 32 10 38.5 19 38.5 C 21 38 23 38 25 38.5 C 34 38.5 40.5 31 40.5 21 C 40.5 10 32 5 23 9 Z";
|
|
1131
|
+
var b4 = "M 4 13 C 4 9 6 7.5 10 7 C 14 6.5 16 5 20 3.8 C 26 2.8 33 3 38 5 C 45 8 50 14 51.5 22 C 52.5 28 52 34 50.5 37.5 C 49.5 39.5 46 40 43.5 38.5 C 41 33 37 27 31 22.5 C 26 18.5 20 16.5 14 16 C 10 15.5 7 16 5 15.5 C 4 15 4 14 4 13 Z";
|
|
1132
|
+
var u4 = "M 22.5 21 C 22.5 19.5 24.5 18.8 30 18.8 L 46 18.8 C 49 18.8 50.5 20 50.5 22 L 50.5 40 C 50.5 43 48 44.3 44 44.3 L 28 44.3 C 24.5 44.3 22.5 42.5 22.5 40 Z";
|
|
1133
|
+
var Z4 = "M 3.5 10 C 3.5 5 8 2.5 16 2.5 C 24 2.5 30 5 30 10 L 30 40 C 30 46 26 48 22 50 L 10 50 C 6 48 3.5 46 3.5 40 Z";
|
|
1134
|
+
var p6 = "M 12 3.5 L 44 3.5 C 50 3.5 53.5 10 53.5 21.5 C 53.5 33 50 39.5 44 39.5 L 12 39.5 C 6 39.5 3.5 33 3.5 21.5 C 3.5 10 6 3.5 12 3.5 Z";
|
|
1135
|
+
var w4 = "M 8 18.5 C 30 14 60 8 84 3.5 C 90 2.5 91.5 8 91.5 14 C 91.5 20 90 24.5 86 25.5 L 12 46 C 6 47 3.5 42 3.5 33 C 3.5 25 4 19.5 8 18.5 Z";
|
|
1136
|
+
var m4 = "M 49 16.5 C 56 16.5 64 18 70 20.5 C 73.5 22 74.5 25 74.5 30 C 74.5 36 73 42 71 45.5 C 69 48.5 66 49.5 62 49.5 L 49 49.5 Z";
|
|
1137
|
+
var k4 = "M 5 14 C 4 8 8 4 16 4 C 28 3 42 4 52 10 C 58 14 61.5 20 61 26 C 61 30 58 32 54 32 L 44 31 C 40 30 38 27 40 23 C 41 20 44 18 46 17 C 40 14 32 13 24 14 C 26 18 26 22 22 25 C 18 28 10 28 7 25 C 5 22 5 18 5 14 Z";
|
|
1138
|
+
var h6 = "M 8 56 C 5.5 55 3.8 53 3.8 50 L 4.5 11 C 4.5 6 8 2.8 14 2.8 C 22 2.8 30 5 36 9 C 40 12 42.5 17 42.5 23 C 42.5 26 41 28 38 31 L 14 54.5 C 12 56 10 56.5 8 56 Z";
|
|
1139
|
+
var $4 = "M 4 24 C 4 10 16 3.5 28 3.5 C 42 3.5 50.5 12 50.5 22 C 50.5 34 40 41.5 26 41.5 C 12 41.5 4 36 4 24 Z";
|
|
1140
|
+
var y4 = "M 15 14 C 15 6 18 3.5 23 3.5 C 28 3.5 32 6 32 14 L 34 30 C 40 36 41 42 40 46 L 3 46 C 2 42 4 36 10 30 Z";
|
|
1141
|
+
var A4 = "M 18 12 C 30 8 50 6 66 8 C 72 4 76 2.5 78 6 C 78 9 76 10 74 11 L 88 14 C 90.5 15 90.5 18 88 18 L 80 18 L 89 22 C 91 24 89.5 26 87 25.5 L 72 23 C 60 30 40 31.5 26 30 Z";
|
|
1142
|
+
var M6 = "M 15 4.5 L 44 8 C 47.5 8.5 49 11 48.5 14.5 L 46 37 C 45.5 40 43.5 41.5 40 41 L 11 37.5 C 7.5 37 6 35 6.3 31.5 L 8.5 10 C 9 6.5 11.5 4.3 15 4.5 Z";
|
|
1143
|
+
var x4 = "M 14 3 C 17 2.8 21 2.8 23 4 C 27 4 33 4.5 36 6.5 C 42 9.5 47 15 47.3 23 C 47.5 30 45 35 40 37.5 C 33 40 24 39.5 17 38.5 C 11 37.5 7 34 7 29 C 6 25 4 21 3.5 17 C 2.8 13 4 10 7 9 L 12 8 C 12 6 12.5 3.5 14 3 Z";
|
|
1144
|
+
var E4 = "M 16 11 L 48 11 C 48 5 51 3 55 3 C 59.5 3 62 6.5 62 10 C 62 13 61 15 59 16 C 61 17 62 19 62 22 C 62 25.5 59.5 29 55 29 C 51 29 48 27 48 21 L 16 21 C 16 27 13 29 9.5 29 C 5.5 29 3 25.5 3 22 C 3 19 4 17 6 16 C 4 15 3 13 3 10 C 3 6.5 5.5 3 9.5 3 C 13 3 16 5 16 11 Z";
|
|
1145
|
+
var c8 = (a5, e$1, o6) => re("rotate(-38 15 12)", ee(9, 6, 13, 12, 3, o6), ee(2, 5.5, 9, 13, 3.5, "#e08a48")) + te2(34, 19.5, 15.5, e$1, { stroke: "none" }) + se(a5, q2(34, 19.5, 15.5), oe2(q2(38, 26, 15, 12), ie2(e$1, -0.18))) + te2(34, 19.5, 15.5, "none") + Ft(38, 11.5, 4.5, 2.6, "#ffffff", { stroke: "none", opacity: 0.85 }) + te2(44, 17, 1.6, "#ffffff", { stroke: "none", opacity: 0.85 });
|
|
1146
|
+
var d8 = (a$1, e5, o6) => Rt(i4, e5, { stroke: "none" }) + se(a$1, i4, oe2("M 0 58 C 30 61 60 61 90 58 L 90 80 L 0 80 Z", o6)) + Rt(i4, "none") + ne("M 72 22 L 73 40", Tt, 3);
|
|
1147
|
+
var R4 = "M 2.8 30 C 2.8 12 13 2.8 32 2.8 C 52 2.8 63 12 65.5 28 L 66.5 58 C 67 66 62 70.2 54 70.2 L 12 70.2 C 6 70.2 2.8 66 2.8 60 Z";
|
|
1148
|
+
var g8 = (a$1, e5, o6, r7) => Rt(R4, e5, { stroke: "none" }) + se(a$1, R4, oe2("M 0 60 C 20 64 50 64 70 58 L 70 74 L 0 74 Z", ie2(e5, -0.12)), ne("M 40 2 C 53 5 59 14 61 34", o6, 6), ne("M 40 2 C 53 5 59 14 61 34", "#ffffff", 1.8)) + Rt(R4, "none") + ee(51.5, 36.5, 19.5, 24.5, 6, e5) + ne("M 55 50 C 58 54 63 54 66 51", Tt, 2.2) + te2(64, 43.5, 2.6, r7, { stroke: "none" });
|
|
1149
|
+
var T4 = "M 2.8 22 C 2.8 9 10 2.8 24 2.8 L 46 2.8 C 60 2.8 67.2 9 67.2 22 L 67.2 56 C 67.2 63 62 67.2 54 67.2 L 16 67.2 C 8 67.2 2.8 63 2.8 56 Z";
|
|
1150
|
+
var v8 = (a$1, e5, o6) => Rt(T4, e5, { stroke: "none" }) + se(a$1, T4, oe2("M 0 50 L 71 50 L 71 55 L 0 55 Z", ie2(e5, -0.2)), oe2("M 0 55 L 71 55 L 71 71 L 0 71 Z", o6), ne("M 0 55 L 71 55", Tt, 2.4)) + Rt(T4, "none") + ne("M 57 9 C 58 18 58 32 57 42", "#ffffff", 2.2);
|
|
1151
|
+
var S4 = "M 36 16 C 46 18 54 22 60 30 C 68 42 69.5 56 69.5 70 C 69.5 84 60 93 40 95 C 22 96 5 90 3.5 76 C 2.5 64 3 48 8 34 C 12 24 22 16 36 16 Z";
|
|
1152
|
+
var b8 = (a5, e5, o6, r7) => Rt("M 44 20 C 40 14 42 6 50 4 C 54 2.5 60 3 63 5 L 61 8 L 66 9 L 63 13 L 68 15 L 64 19 C 58 22 50 23 44 20 Z", e5) + Rt(S4, e5, { stroke: "none" }) + se(a5, S4, oe2("M 0 80 C 20 90 50 90 72 76 L 72 98 L 0 98 Z", ie2(e5, -0.12))) + Rt(S4, "none") + Rt("M 38 18 C 44 15 52 16 57 20 L 56 27 C 50 24 43 24 37 27 Z", o6) + Rt("M 52 52 L 64 50 L 66 74 L 54 76 Z", r7, { stroke: ie2(e5, -0.3), width: 2 });
|
|
1153
|
+
var P4 = "M 26 20 L 46 20 C 52 30 60 42 64 50 L 66 66 C 66.5 76 60 82 48 82 L 14 82 C 7 82 3 78 3 72 L 3 62 C 3 46 14 30 26 20 Z";
|
|
1154
|
+
var u8 = (a$1, e5, o6) => Rt("M 62 46 C 70 46 75.5 52 75.5 60 C 75.5 68 70 74 62 74 Z", o6) + Rt("M 18 21 L 18 12 C 18 6 24 2.8 33 2.8 C 42 2.8 48 6 48 12 L 48 21 L 41 21 L 41 13 C 41 10.5 38 9.5 33 9.5 C 28 9.5 25 10.5 25 13 L 25 21 Z", o6) + Rt(P4, e5, { stroke: "none" }) + se(a$1, P4, oe2("M 0 68 C 20 72 50 72 70 66 L 70 74 C 50 79 20 79 0 75 Z", o6), oe2("M 46 20 L 80 20 L 80 90 L 56 90 Z", ie2(e5, -0.06))) + Rt(P4, "none") + ne("M 46 22 C 50 30 52 36 50 42", Tt, 2) + ne("M 55 59 L 63 57", o6, 4);
|
|
1155
|
+
var Q6 = "M 22 3 C 40 2.8 60 2.8 74 5 C 86 8 92.2 22 92.2 44 C 92.2 66 86 82 70 86 C 54 88 34 88 20 84 C 8 80 2.8 66 2.8 46 C 2.8 24 8 6 22 3 Z";
|
|
1156
|
+
var Z8 = (a5, e5, o6) => Rt(Q6, o6) + ne("M 82 20 L 90 18 M 84 34 L 92 34 M 84 50 L 92 52 M 82 66 L 89 70 M 86 12 L 84 26 M 88 40 L 86 56 M 86 60 L 84 76", ie2(o6, -0.25), 2) + Rt("M 22 3 C 40 2.8 58 3 66 6 C 76 12 80 28 80 46 C 80 64 76 78 66 84 C 54 88 34 88 20 84 C 8 80 2.8 66 2.8 46 C 2.8 24 8 6 22 3 Z", a5) + Rt("M 20 14 C 30 11.5 48 11.5 58 14 C 66 18 70 30 70 46 C 70 62 66 72 58 76 C 48 79 30 79 20 76 C 13 72 11 62 11 46 C 11 30 13 18 20 14 Z", e5, { stroke: ie2(e5, -0.3), width: 2.6 });
|
|
1157
|
+
var w8 = (a$1) => te2(14.5, 9, 6.5, a$1) + te2(41.5, 10, 7, a$1) + Rt("M 6 43 L 46 43 C 52 45 57 48 60 52 C 62 55 61.5 60 58 61.5 C 55.5 62.5 54.5 63.5 54 65 C 57 67 58 71 57.5 76 C 57 81 54 84.5 49 84.5 C 44 84.5 39 82 37 79 L 12 79 C 6 79 2.8 74 2.8 66 C 2.8 55 3.5 48 6 43 Z", a$1) + ne("M 37 79 C 36 72 38 66 44 63 M 38 60 C 44 62 50 62 54 65", Tt, 2.4) + Rt("M 4 26 C 4 14 12 8.5 26 8.5 C 40 8.5 49 13 49.5 24 C 50 32 50.5 38 46 42 C 40 46 14 46 8 42 C 4 39 3 33 4 26 Z", a$1);
|
|
1158
|
+
var m8 = (a5, e5, o6, r7, L6) => Rt("M 3 68 L 31 27 L 51 41 L 18 78 L 5 80 C 3 80 2 78 2 76 Z", a5) + ne("M 6 76 L 44 33", e5, 3) + Rt("M 47 21 L 58 6 L 64 12 L 55 27 Z", o6) + ne("M 52 16 L 58 19 M 55 12 L 61 15", r7, 2) + te2(66.5, 9, 6, L6) + Rt("M 30 18 C 31 15 34 15 37 17 C 46 22 54 32 59 42 C 60 46 57 49 54 47 C 48 38 40 30 31 24 Z", L6);
|
|
1159
|
+
var D4 = "M 10 30 C 14 22 20 19.5 27 19.5 C 34 19.5 41 22 45 28 C 49 34 51.2 40 51.2 48 L 51.2 98 C 51.2 103 48 105.2 43 105.2 L 11 105.2 C 6 105.2 2.8 103 2.8 98 L 2.8 46 C 2.8 40 5 34 10 30 Z";
|
|
1160
|
+
var k8 = (a$1, e5, o6, r7) => ee(24, 9, 10, 13, 2, "#a8a8b0") + ee(33, 11, 10, 9, 2.5, "#b8b8c0") + te2(38, 15.5, 2.2, "#6a6a72", { stroke: "none" }) + Rt("M 16 8 C 16 4.5 20 4 24 4.5 C 25 2.8 33 2.8 34 4.5 C 38 4 43 4.5 43 8 C 43 11.5 38 11.5 34 11 L 24 11 C 20 11.5 16 11.5 16 8 Z", o6) + Rt(D4, e5, { stroke: "none" }) + se(a$1, D4, oe2("M 51.5 46 L 51.5 84 L 39 65 Z", r7), ne("M 51.5 46 L 39 65 L 51.5 84", Tt, 2.6), oe2("M 8 34 C 10 30 13 27 17 25 L 17 98 L 8 98 Z", ie2(e5, 0.12))) + Rt(D4, "none");
|
|
1161
|
+
var B4 = "M 14 30 L 74 30 C 80 32 84 38 84 46 L 85 96 C 85 102 80 104 74 104 L 12 104 C 8 104 5.8 101 5.8 96 L 5.8 42 C 5.8 35 9 30 14 30 Z";
|
|
1162
|
+
var $8 = (a5, e5, o6, r7, L6, C5) => Rt("M 70 40 C 82 40 91.2 46 91.2 56 L 91.2 88 C 91.2 94 86 96 80 96 L 70 96 Z", e5) + ee(76, 50, 15, 8, 2, C5, { width: 2.4 }) + ee(76, 72, 15, 8, 2, C5, { width: 2.4 }) + ee(80, 51.5, 6, 5, 1, "#f0f0f0", { width: 1.8 }) + ee(80, 73.5, 6, 5, 1, "#f0f0f0", { width: 1.8 }) + Rt(B4, e5, { stroke: "none" }) + se(a5, B4, oe2("M 60 30 L 90 30 L 90 106 L 60 106 Z", ie2(e5, -0.1))) + Rt(B4, "none") + Rt("M 12 26 C 10.8 20 10.8 16 11.2 13 C 12 6 18 2.8 30 2.8 L 58 2.8 C 70 2.8 77 8 77 16 L 77 28 C 77 32 74 34 70 34 L 16 34 C 13.5 34 12.3 30.5 12 26 Z", o6) + Rt("M 19 14 C 19 11.5 21.5 10 25 10 L 52 10 C 56 10 58 12 58 15 L 58 30 L 19 30 Z", r7, { width: 2.6 }) + Rt("M 9 96 C 5 96 2.8 100 2.8 106 C 2.8 114 4.5 118.5 10 118.5 L 70 118.5 C 76 118.5 78.5 116 78.5 110 C 78.5 102 76 96 70 96 Z", L6) + te2(20, 99, 2.4, ie2(L6, -0.4), { stroke: "none" }) + te2(56, 99, 2.4, ie2(L6, -0.4), { stroke: "none" });
|
|
1163
|
+
var O4 = (a$1, e5, o6, r7) => {
|
|
1164
|
+
let L6 = (Math.atan2(r7 - e5, o6 - a$1) * 180 / Math.PI).toFixed(1);
|
|
1165
|
+
return ne(`M ${a$1} ${e5} L ${o6} ${r7}`, Tt, 4.4) + ne(`M ${a$1} ${e5} L ${o6} ${r7}`, "#6a4a30", 2) + re(`rotate(${L6} ${o6} ${r7})`, Rt(`M ${o6 - 11} ${r7 - 3} L ${o6} ${r7 - 3.5} L ${o6 + 1.5} ${r7} L ${o6} ${r7 + 3.5} L ${o6 - 11} ${r7 + 3} Z`, "#a0a0a0", { width: 2 }));
|
|
1166
|
+
};
|
|
1167
|
+
var H4 = "M 2.8 40 C 2.8 16 16 2.8 36 2.8 C 58 2.8 75 18 75.2 40 L 75.2 56 C 75 66 66 72 52 74 C 40 75.5 24 75 14 72 C 6 70 2.8 66 2.8 60 Z";
|
|
1168
|
+
var I4 = "M 18 22 L 66 22 C 72 22 77.5 26 77.5 32 L 77.5 88 C 77.5 94 73 96 66 96 L 10 96 C 5 96 2.8 93 2.8 88 L 2.8 36 C 2.8 28 9 22 18 22 Z";
|
|
1169
|
+
var y8 = { "weapon/3": { svg: _8("#7b7a80", "#cfc2c4", "#6b4a36") }, "weapon/5": { svg: Rt("M 56 28 L 104 28 L 104 42 L 56 42 Z", "#474b55") + Rt("M 103 27 C 103 22 108 22 112 25 L 133 25 C 139 25 140 30 140 36 C 140 42 139 46 133 46 L 112 46 C 108 49 103 49 103 44 Z", "#6a4a40") + ne("M 116 27 L 116 44 M 122 27 L 122 44 M 128 27 L 128 44 M 134 27 L 134 44", "#553730", 2.4) + [-100, -54, -155, 168, 105, 48].map((a5) => {
|
|
1170
|
+
let e5 = a5 * Math.PI / 180, o6 = (r7, L6) => `${(31 + Math.cos(e5 + L6) * r7).toFixed(1)} ${(36 + Math.sin(e5 + L6) * r7).toFixed(1)}`;
|
|
1171
|
+
return Rt(`M ${o6(22, -0.28)} L ${o6(29.5, 0)} L ${o6(22, 0.28)} Z`, "#8a929e", { width: 2.6 });
|
|
1172
|
+
}).join("") + te2(31, 36, 25, "#4a4e58") + [[21.5, 21.5], [42.5, 22.5], [30, 34], [49, 34], [21.5, 48], [41.5, 48]].map(([a5, e$1]) => Ft(a5, e$1, 3.8, 4.6, "#8a929e", { width: 2 })).join("") }, "weapon/14": { svg: Rt("M 6 3 L 55 3 C 62 3 70 8 78 15 L 78 30 C 70 37 62 42 55 42 L 6 42 C 3 42 2 38 2 34 L 2 11 C 2 6 3 3 6 3 Z", "#c0784a") + ne("M 8 11 L 22 11 M 38 11 L 50 11 M 5 20 C 30 20 52 20 72 24 M 18 27 L 30 27 M 58 30 L 70 26 M 8 35 C 26 36 40 36 50 34", "#a05a32", 2.4) + Rt("M 78 17 L 108 17 L 108 28 L 78 28 Z", "#d8d4d8") + ne("M 89 18 L 89 27 M 99 18 L 99 27", "#a08aa0", 2) + Rt("M 108 17 L 117 7 C 124 6 128 10 128 22 C 128 34 124 38 117 37 L 108 28 Z", "#c0784a") + ne("M 119 10 C 121 18 121 28 119 34", "#8a3a2a", 2.4) }, "weapon/27": { svg: f8("weapon_27", { top: "#c4cfc8", low: "#e0e7e3", ridge: "#86918b", guard: "#d4a855", grip: "#5b5555", wrap: "#3e3a3a" }) }, "weapon/33": { svg: f8("weapon_33", { top: "#f2b740", low: "#ffe09a", ridge: "#d8902a", guard: "#d4a855", grip: "#9a3030", wrap: "#c65050" }) }, "weapon/28": { svg: i8("weapon_28", { top: "#4a1aa8", low: "#7a22c0", guard: "#9a30e0", grip: "#2b2b30" }) }, "weapon/36": { svg: i8("weapon_36", { top: "#d63f42", low: "#ee8040", guard: "#e89a2a", grip: "#7a3a22" }) }, "offhand/1": { svg: Ft(50.5, 41.5, 47, 38.5, "#707078") + Ft(50.5, 41.5, 37.5, 29.5, "#4e4e5a") + se("offhand_1", "M 13 41.5 A 37.5 29.5 0 1 0 88 41.5 A 37.5 29.5 0 1 0 13 41.5 Z", oe2("M 36 0 L 63 0 L 63 90 L 36 90 Z", "#6e6e78"), oe2("M 29 0 L 34 0 L 34 90 L 29 90 Z M 64 0 L 69 0 L 69 90 L 64 90 Z", "#9a9aaa"), ne("M 27 0 L 27 90 M 36 0 L 36 90 M 62 0 L 62 90 M 71 0 L 71 90", Tt, 2.6)) + Ft(50.5, 41.5, 37.5, 29.5, "none") }, "offhand/4": { svg: Rt(f4, "#ece8ec", { stroke: "none" }) + se("offhand_4", f4, oe2("M 62 0 L 100 0 L 100 90 L 62 90 Z", "#d5d2d6"), oe2("M 34 0 L 47 0 L 47 90 L 34 90 Z M 0 34 L 100 34 L 100 47 L 0 47 Z", "#e8505e")) + Rt(f4, "none") + Rt("M 4 4 L 26 4 C 24 8 20 10 18 9 C 16 12 12 16 4 17 Z", "#e2b864", { width: 2.8 }) + Rt("M 4 77 L 26 77 C 24 73 20 71 18 72 C 16 69 12 65 4 64 Z", "#e2b864", { width: 2.8 }) + Rt("M 83 30 C 87 32 92 36 93 40 C 92 44 87 49 83 51 C 85 46 85 44 82 40 C 85 37 85 34 83 30 Z", "#e2b864", { width: 2.8 }) + Rt("M 25 22 L 48 22 C 54 26 62 34 66 40 C 62 46 54 54 48 58 L 25 58 C 23 58 22 57 22 55 L 22 25 C 22 23 23 22 25 22 Z", "#e2b864") + oe2("M 30 40 C 30 34 36 30 42 30 C 48 30 54 36 55 40 C 54 44 48 50 42 50 C 36 50 30 46 30 40 Z", "#ffe27a") }, "offhand/8": { svg: te2(44.5, 44.5, 42, "#a8743a") + te2(44.5, 44.5, 35, "#e0a848") + se("offhand_8", "M 9.5 44.5 A 35 35 0 1 0 79.5 44.5 A 35 35 0 1 0 9.5 44.5 Z", oe2("M 60 0 L 90 0 L 90 90 L 60 90 L 52 44 Z", "#c08a40"), Rt("M 58 12 L 70 22 L 52 44 L 70 66 L 58 76 L 37 44 Z", "#b0803c", { width: 3 }), ne("M 30 20 L 31 24 M 42 19 L 42 23 M 14 35 L 16 36 M 34 40 L 36 41 M 22 50 L 22 54 M 44 62 L 46 63 M 26 70 L 28 71 M 68 38 L 69 40 M 64 52 L 66 54", "#c28838", 2.4)) + te2(44.5, 44.5, 35, "none") }, "offhand/2": { svg: Ft(39.5, 43.5, 37, 41, "#7a8a88") + Rt(`${q2(39.5, 43.5, 37, 41)} ${q2(39.5, 47.5, 34, 37)}`, "#5e6e6c", { stroke: "none", holes: true }) + se("offhand_2", q2(39.5, 43.5, 37, 41), ne("M 22 3 L 23 8 M 39.5 2 L 39.5 7 M 57 3 L 56 8", "#3e4a48", 2)) + ne("M 7 38 C 12 18 24 10.5 39.5 10.5 C 55 10.5 67 18 72 38", "#3e4a48", 2.2) + Ft(39.5, 43.5, 37, 41, "none") + Rt("M 16 41 L 68 41 L 68 52 L 58 52 C 52 56 32 56 26 52 L 16 52 Z", "#5a6a68") + ne("M 24 46.5 L 60 46.5", "#3e4a48", 2) + te2(21, 46.5, 2.4, "#9aaaa8", { width: 2 }) + te2(63, 46.5, 2.4, "#9aaaa8", { width: 2 }) }, "offhand/3": { svg: te2(43.5, 43.5, 41, "#d23a40", { stroke: "none" }) + se("offhand_3", q2(43.5, 43.5, 41), oe2("M 43.5 43.5 L 0 26 L 0 66 Z M 43.5 43.5 L 87 66 L 87 87 L 66 87 Z", "#f06a70"), oe2(q2(43.5, 43.5, 31), "#ebe6ea"), oe2("M 43.5 43.5 L 0 26 L 0 66 Z M 43.5 43.5 L 87 66 L 87 87 L 66 87 Z", "#ffffff", 0.75), oe2(q2(43.5, 43.5, 20), "#3a78e0"), se("offhand_3c", q2(43.5, 43.5, 20), oe2("M 43.5 43.5 L 43.5 0 L 87 0 L 87 43.5 Z M 43.5 43.5 L 43.5 87 L 0 87 L 0 43.5 Z", "#66c4f8"))) + te2(43.5, 43.5, 41, "none") }, "offhand/5": { svg: Rt(p4, "#565c6c", { stroke: "none" }) + se("offhand_5", p4, oe2("M 0 0 L 110 0 L 110 28 L 0 28 Z", "#646b7a"), oe2("M 0 0 L 17 0 L 17 90 L 0 90 Z", "#3c424e"), ne("M 17 0 L 17 90", Tt, 2.4), ne("M 17 28 L 110 28 M 17 66 L 110 66", "#4a5060", 2)) + Rt(p4, "none") + ee(30, 20, 23, 55, 8, "#a8b0c0") + ee(35.5, 26, 12, 43, 6, "#3a4050", { width: 2.6 }) }, "offhand/6": { svg: te2(36.5, 36.5, 34.5, "#b4b4b4", { stroke: "none" }) + se("offhand_6", q2(36.5, 36.5, 34.5), oe2("M 73 18 L 73 73 L 18 73 Z", "#8e8e8e"), oe2("M 0 0 L 40 0 L 0 40 Z", "#cacaca")) + te2(36.5, 36.5, 34.5, "none") + te2(36.5, 36.5, 25.5, "#b07838", { stroke: "none" }) + se("offhand_6w", q2(36.5, 36.5, 25.5), oe2("M 0 28 L 73 28 L 73 33 L 0 33 Z", "#c89048"), ne("M 0 22 L 73 22 M 0 36 L 73 36 M 0 50 L 73 50", "#8a5a28", 2)) + te2(36.5, 36.5, 25.5, "none") + te2(36.5, 36.5, 10, "#b8b8b8") + oe2("M 31 33 C 32 30 35 29 38 29.5 C 35 31 33 33 32.5 36 Z", "#e0e0e0") }, "offhand/7": { svg: Rt(l6, "#6e6e6e") + oe2("M 27 11 L 56 11 C 66 13 74 22 80 35 C 74 47 66 56 54 59 L 29 59 C 27 50 21 42 13 35 C 21 28 26 20 27 11 Z", "#606060") + [[30, 8], [44, 8], [59, 9.5], [72, 17], [82, 29], [82, 41], [72, 53], [59, 61], [44, 62], [30, 62], [16, 45], [16, 25]].map(([a5, e5]) => te2(a5, e5, 2.2, "#555555", { stroke: "none" })).join("") + Rt("M 36 28 C 36 22 44 20 48 24 C 52 20 60 22 60 28 C 64 30 64 36 60 38 C 62 44 56 48 52 44 C 50 50 42 50 42 44 C 36 46 32 40 36 36 C 32 34 32 30 36 28 Z", "#585858", { stroke: "#474747", width: 2.4 }) + ne("M 42 32 C 45 30 48 32 48 35 M 50 33 C 52 31 55 32 55 35 M 44 40 C 47 42 51 42 54 40", "#474747", 2) }, "offhand/9": { svg: Rt(h4, "#c04420", { stroke: "none" }) + se("offhand_9", h4, oe2("M 62 0 L 100 0 L 100 75 L 62 75 Z", "#a83a1c"), ["M 38 26 C 30 14 20 8 12 8 C 16 16 26 24 38 30 Z", "M 65 26 C 73 14 83 8 90 8 C 86 16 77 24 65 30 Z", "M 38 42 C 30 54 20 60 12 60 C 16 52 26 44 38 38 Z", "M 65 42 C 73 54 83 60 90 60 C 86 52 77 44 65 38 Z", "M 37 34 C 28 31 18 31 10 34 C 18 37 28 37 37 34 Z", "M 66 34 C 75 31 84 31 91 34 C 84 37 75 37 66 34 Z"].map((a5) => Rt(a5, "#f0c060", { stroke: "#8a3010", width: 2 })).join(""), Ft(51.5, 9.5, 4, 5, "#f0c060", { stroke: "#8a3010", width: 2 }), Ft(51.5, 58.5, 4, 5, "#f0c060", { stroke: "#8a3010", width: 2 })) + Rt(h4, "none") + ee(37, 21, 29, 26, 2, "#d8a040") + te2(51.5, 34, 8, "#f0c060", { stroke: "#8a3010", width: 2.2 }) }, "offhand/10": { svg: Rt(M4, "#3a3a3c", { stroke: "none" }) + se("offhand_10", M4, oe2("M 0 0 L 40 0 L 40 42 L 0 42 Z", "#c84a2a"), oe2("M 40 42 L 90 42 L 90 90 L 40 90 Z", "#b04030"), oe2("M 35 0 L 45 0 L 45 90 L 35 90 Z M 0 38 L 90 38 L 90 47 L 0 47 Z", "#d8b030"), oe2("M 40 47 L 45 47 L 45 90 L 40 90 Z M 45 42.5 L 90 42.5 L 90 47 L 45 47 Z", "#b89020")) + Rt(M4, "none") + Rt("M 17 14 L 23 14 L 22 20.5 L 28.5 19.5 L 28.5 27 L 22 26 L 23 32.5 L 17 32.5 L 18 26 L 11.5 27 L 11.5 19.5 L 18 20.5 Z", "#e8c040", { stroke: "#8a2a1a", width: 1.8 }) }, "offhand/11_low": { svg: te2(28, 28, 25.5, "#e8643c", { stroke: "none" }) + se("offhand_11", q2(28, 28, 25.5), oe2(q2(34, 36, 24), "#d4542e"), ne("M 2 26 C 18 31 38 31 54 24 M 26 2 C 35 16 35 40 24 54 M 9 9 C 20 18 20 38 9 47 M 46 7 C 37 18 38 38 49 46", "#a8442a", 2.2)) + te2(28, 28, 25.5, "none") }, "offhand/12_low": { svg: te2(28, 28, 25.5, "#f2f2f2", { stroke: "none" }) + se("offhand_12", q2(28, 28, 25.5), oe2(q2(36, 36, 24), "#d4d4d8"), ne("M 26 27 L 10 18 M 26 27 L 44 15 M 26 27 L 26 48 M 26 27 L 44 38", "#9a9aa0", 2), Rt(l1(26, 27, 7.5), "#2b2b2e", { width: 2 }), Rt(l1(8, 21, 7, 36), "#2b2b2e", { width: 2 }), Rt(l1(47, 12, 7, 20), "#2b2b2e", { width: 2 }), Rt(l1(26, 52, 7, 36), "#2b2b2e", { width: 2 }), Rt(l1(47, 40, 6.5, -10), "#2b2b2e", { width: 2 })) + te2(28, 28, 25.5, "none") }, "offhand/13_low": { svg: Ft(32.5, 32, 30, 29.5, "#2e7a36", { stroke: "none" }) + se("offhand_13", q2(32.5, 32, 30, 29.5), ne("M 2 12 C 8 8 12 16 18 12 C 24 8 28 16 34 12 C 40 8 44 16 50 12 C 56 8 60 14 64 12 M 2 25 C 8 21 12 29 18 25 C 24 21 28 29 34 25 C 40 21 44 29 50 25 C 56 21 60 27 64 25 M 2 38 C 8 34 12 42 18 38 C 24 34 28 42 34 38 C 40 34 44 42 50 38 C 56 34 60 40 64 38 M 2 51 C 8 47 12 55 18 51 C 24 47 28 55 34 51 C 40 47 44 55 50 51 C 56 47 60 53 64 51", "#1b5626", 4.2), oe2("M 12 10 C 18 6 24 5 30 5 C 24 8 18 12 14 16 Z", "#5aa860", 0.8)) + Ft(32.5, 32, 30, 29.5, "none") }, "offhand/14_low": { svg: re("rotate(-26 30.5 23)", Ft(30.5, 23, 29, 17, "#b8552e", { stroke: "none" }), se("offhand_14", q2(30.5, 23, 29, 17), oe2("M 47 0 C 51 10 51 36 47 46 L 62 46 L 62 0 Z", "#f4c8b8"), ne("M 2 27 C 20 30 40 30 60 25", "#a8a29e", 2.6)), Ft(30.5, 23, 29, 17, "none"), ne("M 27 15 L 27 23 M 33 14 L 33 23 M 39 14 L 39 23 M 45 15 L 45 23", "#ffffff", 3)) }, "offhand/15_low": { svg: Rt(Q4, "#2b2b2b", { stroke: "none" }) + se("offhand_15", Q4, oe2("M 34 0 L 52 0 L 52 40 L 34 40 Z", "#f05040"), oe2("M 14 6 L 76 6 L 76 9 L 14 9 Z", "#4a4a4a")) + Rt(Q4, "none") + ee(3.5, 9, 12, 18, 4, "#d8dde4") + oe2("M 6 12 L 9 12 L 9 24 L 6 24 Z", "#ffffff") }, "offhand/16_low": { svg: Rt("M 21 7 C 17 4 12 3 7 4 C 4.5 5 4 7 5 8.5 C 3 10 3 13 4.5 14.5 C 3 17 3 20 4.5 22 C 5 24 9 25 13 24 C 16 23 19 21 21 20 Z", "#4ab048") + ne("M 20 11 C 14 9 9 9 6 10 M 20 17 C 14 17 9 18 6 19", "#2a7a30", 2.2) + Rt(c4, "#f07a34", { stroke: "none" }) + se("offhand_16", c4, oe2("M 0 19 C 30 22 50 20 66 14 L 66 30 L 0 30 Z", "#d8622a")) + Rt(c4, "none") + ne("M 32 7 L 34 11 M 44 18 L 47 21 M 50 9 L 52 12 M 27 18 L 29 21", "#b8501e", 2) }, "offhand/17_low": { svg: Rt(d4, "#f8c838", { stroke: "none" }) + se("offhand_17", d4, oe2("M 0 34 C 20 40 40 38 56 26 L 56 44 L 0 44 Z", "#e8a828")) + Rt(d4, "none") + ne("M 7.5 18.5 C 10.5 19.5 12.5 21.5 13 24.5 M 3 24.5 L 12.5 25", Tt, 2.4) + ne("M 24 28 C 30 34 40 32 44 24", "#c88a18", 2.4) + te2(21, 12, 4.8, "#f0a030", { width: 2.4 }) + te2(21, 12, 2, "#f8e070", { stroke: "none" }) }, "offhand/18_low": { svg: te2(18.5, 18.5, 16.5, "#f4ece4") + K2("M 9 5 C 14 13 14 24 9 32", "#d03030", 2.4, "3 2.6") + K2("M 28 5 C 23 13 23 24 28 32", "#d03030", 2.4, "3 2.6") }, "offhand/19_low": { svg: Rt(g4, "#a8acb0", { stroke: "none" }) + se("offhand_19", g4, oe2("M 6 14 L 16 6 L 31 5 L 38 12 L 27 17 L 13 19 Z", "#c4c8cc"), oe2("M 40 24 L 46 20 L 46 43 L 24 43 L 30 36 Z", "#8c9094"), oe2("M 18 26 L 22 24 L 24 28 L 20 30 Z M 30 22 L 33 21 L 34 24 Z M 12 32 L 15 31 L 15 34 Z", "#80848a")) + Rt(g4, "none") }, "offhand/20_low": { svg: ne("M 19 10 C 18 6 16 4 13 2.5", Tt, 4.4) + Rt(v4, "#e84a3a", { stroke: "none" }) + se("offhand_20", v4, oe2("M 0 30 C 14 40 30 40 44 28 L 44 44 L 0 44 Z", "#c83a2e")) + Rt(v4, "none") + Rt("M 30 21 C 34 19 37 23 35 26 C 38 28 37 33 33 32.5 C 30 32.5 28 30 29 27 C 27 25 28 22 30 21 Z", "#f8d880", { width: 2 }) + oe2("M 9 15 C 11 12 14 11 16 12 C 13 14 11 16 10 19 Z", "#f48070") }, "offhand/21_low": { svg: Rt(b4, "#f2d34c", { stroke: "none" }) + se("offhand_21", b4, oe2("M 0 0 L 56 0 L 56 44 L 47 44 C 47 36 46 28 44 22 C 42 16 38 12 30 10.5 C 22 9.5 16 9 10 9 L 0 9 Z", "#ebaf23"), oe2(q2(7.5, 11.5, 3.5, 2.6), "#ffeea2"), ne("M 11 9 C 12 11 12 13 11 15", Tt, 2)) + Rt(b4, "none") }, "offhand/22_low": { svg: Rt("M 16 19 L 16 11 C 16 5.5 22 3 30.5 3 C 39 3 45.5 6 45.5 12 L 45.5 19 L 36.5 19 L 36.5 15 C 36.5 12.5 34 11 30.5 11 C 27 11 24.5 12.5 24.5 15 L 24.5 19 Z", "#f0e7d2") + Rt("M 29 43 L 40 43 L 40 47 C 40 51 36 54.5 30 56 C 26 57 24 58 23 59.5 C 22 61 21.5 62 20 62.5 C 17 63 15 61.5 15 59 L 15 56 C 15 53 18 51 22 49.5 C 26 48 29 47 29 43 Z", "#f0e7d2") + Ft(18.5, 58.5, 2.4, 3.4, "#918568", { stroke: "none" }) + Rt("M 23 21.5 C 17 21.5 14 22.5 13 25.5 L 6 25.8 C 4 26 3.6 27.5 3.6 28.5 C 3.6 30 4 31 6 31.2 L 13 31.5 C 13.5 35.5 16 38 23 38 Z", "#f0e7d2") + oe2("M 13 22 L 23 22 L 23 27 L 13 27 Z", "#decea8") + Rt(u4, "#f0e7d2", { stroke: "none" }) + se("offhand_22", u4, oe2("M 0 20 L 56 20 L 56 27 L 0 27 Z", "#decea8")) + Rt(u4, "none") }, "offhand/23_low": { svg: Rt("M 11 49 L 21 49 L 20 65 L 16 70 L 12 65 Z", "#80888f") + ne("M 12 54 L 20 52 M 12 59 L 20 57 M 13 64 L 19 62", "#4a5058", 2) + Rt("M 28 12 L 42 9 C 46 9 47.5 12 46.5 16 L 44.5 22 C 43.5 24 40.5 25 37.5 24 L 28 22 Z", "#3a7ae8") + Rt(Z4, "#3a7ae8", { stroke: "none" }) + se("offhand_23", Z4, oe2("M 0 10 L 34 10 L 34 17 L 0 17 Z", "#a0a8b0"), ne("M 0 10 L 34 10 M 0 17 L 34 17", Tt, 2.2), oe2("M 22 17 L 34 17 L 34 52 L 22 52 Z", "#2a62c8")) + Rt(Z4, "none") + ne("M 11 4.5 L 11 7 M 16 4 L 16 7 M 21 4.5 L 21 7", "#1e4ea8", 2) }, "offhand/24_low": { svg: Rt("M 3.5 30 L 3.5 50 L 8 47 L 13 51 L 18 47 L 23 51 L 28 47 L 34 50 L 36 40 Z", "#b8b8b2") + Rt(p6, "#d8d8d4") + Ft(12, 21.5, 8, 17.5, "#ececea") + Ft(12, 21.5, 4, 8.5, "#a07850", { width: 2.6 }) + [30, 35, 40, 45].map((a5) => te2(a5, 22, 1.1, "#a8a8a2", { stroke: "none" })).join("") }, "offhand/25_low": { svg: Rt("M 22 3 L 29 3 C 33 4 36 6 38 7 L 48 8.5 C 53 10 56 12 56.5 14 L 56.5 18 L 22 18 Z", "#3a9a40") + ne("M 33 4.5 L 32 16 M 42 7.5 L 41 16 M 50 9.5 L 49.5 16", "#a8e0a0", 3.4) + Rt("M 16 32 L 61 32 L 61.5 42 C 61 46 58 47.5 53 47.5 C 44 46 32 42.5 22 40 C 17.5 39 15.8 37 15.8 34 Z", "#3a7ae0") + ne("M 34 34 C 35 37 36 40 37 43 M 46 34 C 47 38 48 42 50 46", "#a8ccf8", 3.4) + Rt("M 44 15.8 L 64 15.8 C 70 16 73.5 19.5 73.5 24 C 73.5 28 71 31 66 31 L 44 31 Z", "#f0c020") + ne("M 58 16.5 L 58 30.5 M 65 16.5 L 65.5 30.5", "#ffffff", 3) + Rt("M 8 14.5 L 44 14.5 C 48 15 50 19 50 23 C 50 28 47 31.5 42 31.5 L 8 31.5 C 4.5 31.5 2.8 28 2.8 23 C 2.8 18 4.5 14.5 8 14.5 Z", "#4a4a4e") + oe2("M 22 20 L 46 20 L 46 27 L 22 27 Z", "#6a6a6e") + Ft(11.5, 23, 4.5, 5.5, "#d0e8f8", { width: 2.4 }) + te2(10.5, 23.5, 1.8, Tt, { stroke: "none" }) + Rt("M 15 31.5 L 31 31.5 L 32 35.5 L 16 37 Z", "#d04030", { width: 2.6 }) }, "offhand/26_low": { svg: Rt(w4, "#3a78e0", { stroke: "none" }) + se("offhand_26", w4, oe2("M 0 34 L 94 12 L 94 50 L 0 50 Z", "#2c64c4"), ne("M 10 25 L 84 8", "#7aa8f0", 3.4)) + Rt(w4, "none") + ne("M 9 18.5 C 14 18 17 25 17 32 C 17 39 14 46 10 46", Tt, 2.4) + Ft(8.5, 32, 3, 6, "#2c64c4", { width: 2.2 }) }, "offhand/27_low": { svg: ["M 23.5 3 C 24 8 24.5 13 25.5 16 C 27 19.5 31 21.5 38 22.5 L 38 26 C 30 25.5 22 22 17.5 18 C 14.5 15 14 11.5 16 8 C 18 5.5 21 3.5 23.5 3 Z", "M 5 11 C 9 12 12.5 14 14.5 17.5 C 18 21.5 26 24.5 37 27 L 37 29 L 16 28 C 11 27 7.5 24.5 5.5 21 C 4 18 4 14 5 11 Z", "M 3.5 43.5 C 4 40 8 36 13 33.5 C 18 31.5 26 31.5 37 31.5 L 37 34.5 C 28 35 21 36 16 38.5 C 11 41 7 43 3.5 43.5 Z", "M 21 55 C 18.5 52 17.5 48 18 44.5 C 19 41 23 39.5 30 38.5 L 36 38.5 L 36 41 C 31 42 26.5 44 25 47 C 23.5 50 23 53 21 55 Z"].map((a5) => Rt(a5, "#68be5a")).join("") + ne("M 22 6 C 20 12 24 18 34 23.5 M 7 14 C 10 20 18 25 34 28 M 6 41.5 C 12 36 22 33 34 33 M 21 52 C 20 46 25 41 34 40", "#4a9a40", 2) + Rt(m4, "#b8643a", { stroke: "none" }) + se("offhand_27", m4, oe2("M 40 40 L 80 40 L 80 60 L 40 60 Z", "#9a4e2c")) + Rt(m4, "none") + ee(31.8, 10.8, 17.4, 38.6, 7, "#c87044") + se("offhand_27r", "M 31.8 10.8 L 49.2 10.8 L 49.2 49.4 L 31.8 49.4 Z", oe2("M 30 40 L 50 40 L 50 50 L 30 50 Z", "#a85a34", 0.8)) }, "offhand/28_low": { svg: Rt(k4, "#f4ead8", { stroke: "none" }) + se("offhand_28", k4, oe2("M 0 22 C 10 30 20 28 26 18 C 34 16 44 18 50 26 L 64 36 L 0 36 Z", "#d8cbb8")) + Rt(k4, "none") }, "offhand/29_low": { svg: ee(47, 15, 28, 6.5, 3, "#e8c090") + Ft(25.5, 18.5, 23, 14, "#c87040") + oe2(q2(25.5, 20, 17.5, 9.5), "#8a3a20") + Rt("M 10 12 C 12 6 16 6 18 10 C 20 4 26 4 27 10 C 30 6 36 6 37 12 C 38 16 34 18 30 15 C 26 18 20 18 17 15 C 14 18 9 17 10 12 Z", "#e04030", { width: 2.4 }) }, "offhand/30_low": { svg: Rt(h6, "#f8c868") + te2(22, 22, 4.6, "#d84a30", { width: 2.2 }) + te2(31, 27, 3.8, "#d84a30", { width: 2.2 }) + te2(14, 35, 3.8, "#d84a30", { width: 2.2 }) + Rt("M 10 4.5 C 12 3 14 2.8 16 2.8 C 24 3 31 5.5 36 9 C 40 12 42.5 17 42.5 23 C 42.5 25 41.5 26.5 40 27 C 38 20 34 15 28 12 C 23 10 17 9 12 9.5 C 9 9.5 8.5 6 10 4.5 Z", "#f0b060") }, "offhand/31_low": { svg: Rt($4, "#f8dcb0", { stroke: "none" }) + se("offhand_31", $4, [[16, 14, 5], [30, 8, 4], [42, 16, 4.5], [27, 24, 6], [12, 30, 4], [39, 32, 5], [24, 38, 3.5]].map(([a5, e5, o6]) => te2(a5, e5, o6, "#f0a040", { stroke: "none" })).join("")) + Rt($4, "none") }, "offhand/32_low": { svg: Rt("M 30 9 L 50 8 C 54 8 55 10 55 13 C 55 16 54 18 50 18 L 30 18 Z", "#c83838") + Rt(y4, "#c83838", { stroke: "none" }) + se("offhand_32", y4, oe2("M 0 13 L 60 13 L 60 20 L 0 20 Z", "#f4ecec"), ne("M 0 13 L 60 13 M 0 20 L 60 20", Tt, 2), oe2("M 26 0 L 40 0 L 40 48 L 26 48 Z", "#a82c2c")) + Rt(y4, "none") + Ft(21.5, 46, 18.5, 5.5, "#f0a0a0") + te2(21.5, 46, 3.4, "#f8d040", { width: 2 }) }, "offhand/33_low": { svg: ee(9, 3.5, 53, 22, 6, "#5a5658") + te2(7, 14.5, 4, "#70f0b0", { width: 2.4 }) + te2(21, 14.5, 3.4, "#8a8688", { width: 2 }) + te2(32, 14.5, 5, "#b0acae", { width: 2 }) + ee(41, 8, 14, 13, 2, "#a09ca0", { width: 2 }) + ne("M 48 8 L 48 21 M 41 14.5 L 55 14.5", "#6a6668", 1.6) }, "offhand/34_low": { svg: Rt(A4, "#f8d040", { stroke: "none" }) + se("offhand_34", A4, oe2("M 0 26 C 30 30 60 26 92 20 L 92 34 L 0 34 Z", "#e8b020")) + Rt(A4, "none") + Rt("M 4 15 C 2 9 6 5 10 7 C 12 3 18 3 18.5 7 C 22 5 26 9 22.5 13 Z", "#d03028", { width: 2.6 }) + te2(14, 20, 10, "#ececec") + Ft(19, 25, 7, 4, "#f08020", { width: 2.4 }) + ne("M 8 15.5 L 12 19.5 M 12 15.5 L 8 19.5", Tt, 2) }, "offhand/35_low": { svg: Rt("M 14 3 C 24 3.5 36 5 44 6.5 C 48 7.5 50 10 50 14 L 50.5 26 C 50.5 31 48.5 36 46 40 C 44 43 41.5 44.5 38 44 C 30 43.5 20 42 12 40.5 C 6 39.5 3 36 2.8 30 L 3.5 12 C 4 6 8 3 14 3 Z", "#48b040") + Rt(M6, "#c89050", { width: 2.8 }) + oe2("M 15.5 8 L 42 11.2 C 44.5 11.6 45.4 13 45 15 L 43 34 C 42.6 36.5 41.2 37.6 39 37.3 L 12.5 34 C 10.4 33.7 9.6 32.6 9.8 30.5 L 11.8 11 C 12.2 9 13.5 7.8 15.5 8 Z", "#ecd090") }, "offhand/36_low": { svg: Rt("M 32 13 C 44 13.5 56 13 66 12.5 C 72 12 76 12 78 13.5 C 80 15 80 19.5 78 21 C 74 23 66 23 58 22.5 C 50 22 42 22 32 22 Z", "#5ab040") + ee(2.8, 2.8, 29.5, 25, 6, "#5ab040") + [9, 16, 23].flatMap((a5) => [9, 15.5, 22].map((e5) => te2(a5, e5, 1.8, "#2e7a24", { stroke: "none" }))).join("") }, "offhand/37_low": { svg: Rt(x4, "#e03828", { stroke: "none" }) + se("offhand_37", x4, oe2("M 0 30 C 20 40 40 38 52 26 L 52 42 L 0 42 Z", "#b82818"), ne("M 22 16 C 28 20 30 26 28 32 M 34 14 C 38 18 42 22 44 28", "#a02818", 2.2)) + Rt(x4, "none") + ne("M 16 4 L 16.5 9 M 21 4 L 21 8.5", Tt, 2.2) + oe2("M 28 11 C 34 10 40 12 43 16 C 38 15 33 14 29 15 Z", "#f87060") }, "offhand/38_low": { svg: Rt(E4, "#f0e8d8", { stroke: "none" }) + se("offhand_38", E4, oe2("M 30 16 C 34 14 40 15 42 18 C 38 21 32 21 30 16 Z M 52 22 C 55 21 58 22 59 25 C 56 27 53 26 52 22 Z M 6 8 C 8 6 11 6 12 8 C 10 10 8 10 6 8 Z", "#d8b888")) + Rt(E4, "none") }, "offhand/39_low": { svg: c8("offhand_39", "#e04838", "#f8c4bc") }, "offhand/40_low": { svg: c8("offhand_40", "#3a80f0", "#c4e0f8") }, "back/1": { svg: d8("back_1", "#4d7244", "#3f5f38") }, "back/14": { svg: Rt("M 62 28 C 68 27 72 32 72 40 L 72 50 C 72 56 68 59 62 59 Z", "#d63040") + Rt(_4, "#3470c4", { stroke: "none" }) + se("back_14", _4, oe2("M 0 61 L 70 62 L 70 80 L 0 80 Z", "#3a78cc"), ne("M 0 61 L 70 62", Tt, 3)) + Rt(_4, "none") + ne("M 38 5 C 48 8 55 14 56 22 L 57 42", "#1f1a32", 6) + ne("M 38 5 C 48 8 55 14 56 22 L 57 42", "#f2e04c", 2) }, "back/17": { svg: m8("#8eacd0", "#6a8ec0", "#8a2333", "#c25060", "#e8a33a") }, "weapon/32": { svg: _8("#a0b0c0", "#c8d4dc", "#7a6a90") }, "weapon/2": { svg: l8("#4a4a5c", "#6a6a80", "#6a3a28") }, "weapon/31": { svg: l8("#a8b8c8", "#d0dce8", "#7a6a90") }, "weapon/12": { svg: p8("#6a90b0", "#7a4a30", "#6a90b0") }, "weapon/37": { svg: p8("#c8784a", "#7a4a30", "#f0b030") }, "weapon/6": { svg: h8("club_2", "#e0d0b8", ne("M 20 6 C 16 16 22 26 18 38 M 44 6 C 40 18 46 28 42 38 M 66 6 C 64 18 68 28 64 38", "#b8a080", 2.4)) }, "weapon/38": { svg: h8("weapon_38", "#e8b850", oe2("M 22 0 C 18 14 26 28 22 44 L 46 44 C 50 28 42 14 46 0 Z", "#9a5ad0") + oe2("M 46 0 C 42 14 50 28 46 44 L 68 44 C 70 28 66 14 68 0 Z", "#50c878") + oe2("M 68 0 C 66 14 70 28 68 44 L 90 44 L 90 0 Z", "#e86838")) }, "weapon/15": { svg: M8("#c8884a", "#7a7e8e", "#d8c8a8") }, "weapon/39": { svg: M8("#5a5a6a", "#9a9eae", "") }, "weapon/16": { svg: l4("weapon_16", "#2a3a90", "#c8c8e8", "#8890b0") }, "weapon/34": { svg: l4("weapon_34", "#7a3ac0", "#d8c8f0", "#9a80c0") }, "weapon/35": { svg: l4("weapon_35", "#20a080", "#c8e8d8", "#3a4a48") }, "weapon/23": { svg: Q8("#8090a0", "#a0582c") }, "weapon/40": { svg: Q8("#3a3a40", "#3a3a40", ne("M 56 19 L 56 31 M 62 19 L 62 31", "#e03040", 2.6)) }, "weapon/7": { svg: Rt("M 8 3.5 L 108 3.5 L 112 2.8 L 134 2.8 C 137 2.8 137.5 6 137.5 10 C 137.5 14 136.5 17 133 17 L 112 17.5 L 108 17.5 L 19 18.5 L 18.5 26 C 18.5 29 17.5 31 16 31 L 13.5 29 L 12 33 C 11.5 35.5 10 36.5 9.5 36.5 C 4 30 2.8 22 2.8 13 C 2.8 6.5 5 3.5 8 3.5 Z", "#8890a8") + ne("M 8 8 L 104 8", "#a8b0c4", 2.4) + Rt("M 96 3.5 L 108 3.5 L 112 2.8 L 134 2.8 C 137 2.8 137.5 6 137.5 10 C 137.5 14 136.5 17 133 17 L 112 17.5 L 96 17.5 Z", "#a8987a") + ne("M 103 4 L 107 17 M 113 3.5 L 117 17 M 123 3.5 L 127 17", "#7a6a50", 1.8) }, "weapon/1": { svg: ee(35, 26, 70, 11, 4, "#9a98a0") + ee(74, 24, 8, 15, 3, "#b8b6c0", { width: 2.6 }) + ee(96, 22, 11, 19, 4, "#b8b6c0", { width: 2.6 }) + te2(7, 32, 4, "#c8c6d0", { width: 2.4 }) + ee(8, 16, 26, 30, 2, "#c8c6d0") + Rt("M 5 8 C 5 4 8 3 12 3 L 28 3 C 33 3 35 5 35 9 L 35 18 L 5 18 Z", "#e83838") + Rt("M 5 44 L 35 44 L 35 66 C 35 71 32 73 28 73 L 12 73 C 8 73 5 71 5 66 Z", "#3a70d8") + ne("M 7 9 L 33 9 M 7 52 L 33 52 M 7 60 L 33 60 M 7 67 L 33 67", Tt, 2) }, "weapon/4": { svg: ee(24, 22, 68, 15, 4, "#8a5a3a") + ee(24, 22, 10, 15, 0, "#e8dcc0", { width: 2.4 }) + Rt("M 4 4 L 24 4 C 24 16 26 30 30 40 C 36 52 44 56 54 58 L 50 72 L 6 70 C 6 50 4 26 4 4 Z", "#a0a890") + Rt("M 6 58 C 22 60 38 60 52 62 L 50 72 L 6 70 Z", "#d8d8c0") + ne("M 6 58 C 22 60 38 60 52 62", "#6a7060", 2.4) }, "weapon/10": { svg: Rt("M 8 20 L 22 20 L 22 48 C 22 54 26 58 34 61 C 28 63.5 20 63 14 58 C 9.5 54 8 48 8 40 Z", "#b8b0e0") + ne("M 13 24 L 13 46 C 14 52 18 56 24 59", "#e8e4f8", 2) + ee(2.8, 2.8, 58, 16.5, 3, "#a04838") + ee(60, 4, 36.5, 15, 3, "#e8d8b8") + ne("M 68 5 L 72 18 M 78 5 L 82 18 M 88 5 L 92 18", "#b89a78", 1.8) }, "weapon/11": { svg: Rt("M 18 2.8 C 22 4 22.5 8 21.5 14 L 19.5 22 L 19.5 52 C 20 64 25 74 34 83 C 24 82 14 74 9 64 C 5 56 4.5 48 4.8 40 C 5 26 9 12 18 2.8 Z", "#b8b0e0") + ne("M 12 20 C 10 34 11 52 16 64 C 20 72 24 76 28 80", "#e8e4f8", 2) + Rt("M 3 22.5 L 95 26 C 97.5 26.2 97.5 29 97.3 33 C 97 37 96 39 93 39 L 4 37.5 C 3 34 2.8 26 3 22.5 Z", "#7a4428") + Rt("M 24 23.5 L 37 24 L 37 38.2 L 24 37.9 Z M 57 24.8 L 73 25.4 L 73 38.7 L 57 38.4 Z", "#e8d8b8", { width: 2.2 }) }, "weapon/13": { svg: Rt("M 4 16 C 4 6 10 3 20 3 L 82 6 C 96 8 110 10 122 12 C 126 6 132 4 136 6 C 140 10 140 22 136 26 C 132 28 126 26 122 20 C 110 22 96 26 82 28 L 20 30 C 10 30 4 26 4 16 Z", "#8a90b0") + Rt("M 86 7 L 120 11 L 120 21 L 86 27 Z", "#d8d0d8", { width: 2.2 }) + ne("M 92 8 L 100 26 M 102 9 L 108 24 M 110 10 L 116 22", "#a898a8", 1.8) }, "weapon/17": { svg: Rt("M 36 5.8 L 124 5.8 L 124 18.6 L 36 18.6 Z", "#c88a50") + Ft(124, 12.5, 5.5, 8.5, "#c88a50") + Rt("M 9 3 C 18 2.5 28 2.8 34 5 L 40 6.5 L 40 18 L 34 20.5 C 28 23 22 24 20 24 C 20.5 28 20 32 16 32 C 11 32 9.5 28 10 24 C 6 22 4 20 4.5 17 C 2.8 15 2.8 12 4 9.5 C 3 6 5 3 9 3 Z", "#c88a50") + ne("M 5 10 L 18 10 M 5 16 L 18 16 M 12 24 L 22 22", "#9a6030", 2) }, "weapon/18": { svg: ee(38, 26, 54, 14, 3, "#3a3048") + ne("M 46 28 L 50 33 L 46 38 M 56 28 L 60 33 L 56 38 M 66 28 L 70 33 L 66 38 M 76 28 L 80 33 L 76 38", "#8a7aa8", 2.2) + ee(88, 22, 12, 22, 4, "#7a6a90", { width: 2.6 }) + Rt("M 4 8 C 4 4 8 3 14 3 L 32 3 C 36 3 38 6 38 10 L 38 54 C 38 60 34 62 30 62 L 12 62 C 6 62 4 58 4 54 Z", "#7a6a90") + ne("M 30 6 C 28 14 28 22 34 26 M 30 60 C 28 52 28 44 34 40", "#5a4a70", 2.4) }, "weapon/19": { svg: Rt("M 3 20 L 16 12 L 40 10 L 44 6 L 48 10 L 52 6 L 56 10 L 60 6 L 64 10 L 82 10 L 82 30 L 30 30 C 18 30 8 26 3 20 Z", "#3a4a48") + oe2("M 10 22 C 20 26 40 27 80 26 L 80 29 L 30 29 C 20 29 12 26 10 22 Z", "#c0c8c8") + ee(90, 12, 34, 16, 4, "#6a3a30") + ee(120, 14, 8, 12, 2, "#8a8a90", { width: 2.4 }) + ee(82, 3, 8, 34, 2, "#6a3a30") }, "weapon/20": { svg: Rt("M 4 26 C 12 16 26 8 42 4 L 92 4.5 L 92 18 L 58 19 C 54 22 48 25.5 42 26.5 C 30 29 16 30 8 29.5 C 4 29 2.8 28 4 26 Z", "#90b8d0") + ne("M 10 26 C 24 22 40 18 58 15", "#c8e0f0", 2.2) + Rt("M 92 4.2 L 126 4.2 C 129 4.2 129.5 6 129.5 9 L 129.5 18 C 129.5 21 127 21.5 124 21 L 116 19 L 92 18.7 Z", "#262628") + ne("M 104 5 L 104 18", "#d03040", 3) }, "weapon/21": { svg: Rt("M 3 18 C 4 10 12 4.5 22 4.3 L 64 4.3 L 64 26.2 L 30 26.2 C 18 26 8 23 3 20 Z", "#b8c8d8") + oe2("M 8 20 C 18 23 28 24.5 34 24.5 L 63 24.5 L 63 20 L 30 20 Z", "#e0ecf4") + Rt("M 66 4 C 70 3 74 2.8 80 2.8 L 106 2.8 C 108.5 2.8 108.5 5 108.5 9 L 108.5 15 C 108.5 18 106 18.5 100 18.5 C 94 18.5 90 17 84 16 L 66 15.5 Z", "#6a3a28") + te2(80, 9, 1.8, "#d8c0a0", { stroke: "none" }) + te2(96, 9, 1.8, "#d8c0a0", { stroke: "none" }) }, "weapon/22": { svg: ee(70, 6, 42, 15, 3, "#6a3a28") + te2(84, 13.5, 1.8, Tt, { stroke: "none" }) + te2(102, 13.5, 1.8, Tt, { stroke: "none" }) + Rt("M 4 6 C 4 4 6 3 8 3 L 70 3 L 70 40 C 50 42 30 42 8 40 C 5 40 4 38 4 36 Z M 9 14 A 3.5 3.5 0 1 0 16 14 A 3.5 3.5 0 1 0 9 14 Z", "#a8b8c8", { holes: true }) + oe2("M 6 30 C 30 31 50 31 68 30 L 68 39 C 50 40 30 40 7 39 Z", "#d0dce8") }, "weapon/24": { svg: Rt("M 3 6 C 3 3.5 8 3 20 2.8 C 34 2.6 46 3.6 51 7.5 C 54 10 56 12 60 12 L 60 17.5 C 56 17.5 54 19 51 21.5 C 46 25 34 26 20 25.8 C 8 25.6 2.8 25 2.8 22.5 C 2.8 20.5 6 20 20 20 C 32 20 40 19 44 16 L 44 12 C 40 9.5 32 8.8 20 8.8 C 6 8.8 3 8.5 3 6 Z", "#5a6070") + ee(58, 11.8, 33, 4.4, 1.5, "#5a6070") + Rt("M 90 8 L 108 7.5 C 110 6 114 5.8 120 5.8 L 128 5.8 C 132 5.8 133.5 9 133.5 14 C 133.5 19 132 22.5 128 22.5 L 112 22.5 C 106 22.5 102 21.5 100 20 L 90 19.5 Z", "#4a4e5a") + ne("M 100 8 L 103 20 M 108 7.5 L 111 21 M 116 6 L 119 22", "#2a2e3a", 2) }, "weapon/25": { svg: Rt("M 3 10 C 20 6 60 6 96 8 L 96 30 L 40 30 C 20 28 8 22 3 10 Z", "#a09890") + oe2("M 8 14 C 30 18 60 20 94 20 L 94 26 L 40 26 C 24 24 12 20 8 14 Z", "#c8c0b8") + ee(108, 16, 26, 10, 2, "#8a2830") + ne("M 114 17 L 118 25 M 122 17 L 126 25", "#c04050", 1.8) + Rt("M 136 21 A 7 7 0 1 0 150 21 A 7 7 0 1 0 136 21 Z M 140.5 21 A 2.5 2.5 0 1 0 145.5 21 A 2.5 2.5 0 1 0 140.5 21 Z", "#f0c040", { holes: true }) + Rt("M 99 4 C 106 8 110 14 109 21 C 110 28 106 35 99 40 C 101 33 102 27 102 21 C 102 15 101 10 99 4 Z", "#f0c040") }, "weapon/26": { svg: Rt("M 3 14 L 112 14 L 112 34 L 18 34 C 12 32 6 24 3 14 Z", "#5a5468") + oe2("M 10 28 C 40 30 80 30 110 30 L 110 33 L 18 33 C 14 32 12 30 10 28 Z", "#8a9a98") + ee(122, 17, 24, 14, 3, "#262628") + ne("M 124 19 L 132 29 M 132 19 L 124 29 M 132 19 L 140 29 M 140 19 L 132 29", "#5a5a60", 1.6) + Rt("M 146 16 C 152 16 156 20 156 24 C 156 28 152 32 146 32 C 150 28 150 20 146 16 Z", "#d0a040") + ee(114, 3, 8, 44, 2, "#d0a040") }, "weapon/29": { svg: Rt("M 14 20 L 100 16 L 110 24 L 110 40 L 100 48 L 14 46 Z", "#8a8e98") + ne("M 14 33 L 104 33", "#5a5e68", 2.6) + Rt("M 16 4 C 6 16 4 40 14 60 C 18 58 20 54 18 50 C 12 40 12 26 20 10 C 22 6 20 3 16 4 Z", "#c0c8d8") + ee(120, 26, 28, 12, 2, "#5a2020") + ne("M 126 27 L 130 37 M 134 27 L 138 37 M 142 27 L 146 37", "#8a3a30", 1.8) + Rt("M 148 22 L 154 20 L 156 44 L 150 42 Z", "#f0a040") + ee(112, 12, 8, 40, 2, "#f0a040") }, "weapon/30": { svg: Rt("M 2.8 19 C 30 17 60 15.5 95 14.5 L 95 21.5 C 60 21.5 30 21 2.8 19.5 Z", "#b0b0b0", { width: 3 }) + ee(110, 14.8, 32, 6.4, 2, "#6a5a40") + ne("M 114 15 L 117 21 M 122 15 L 125 21 M 130 15 L 133 21", "#3a3020", 1.6) + ne("M 100 30 C 108 35.5 124 36 133 32.5 C 137 31 139 27 139 22", Tt, 8) + ne("M 100 30 C 108 35.5 124 36 133 32.5 C 137 31 139 27 139 22", "#d8d0b0", 4.4) + Ft(102.5, 16.5, 6.3, 13.5, "#d8d0b0") }, "back/21": { svg: d8("back_21", "#d8843a", "#b86a2a") }, "back/2": { svg: g8("back_2", "#f2c832", "#c05828", "#c05828") }, "back/23": { svg: g8("back_23", "#d870a0", "#b04878", "#f0a030") }, "back/3": { svg: v8("back_3", "#2a8a8a", "#8a4444") }, "back/22": { svg: v8("back_22", "#4a4a4c", "#3a3a3c") }, "back/4": { svg: Rt("M 7 32 L 66 32 C 69 32 70 35 70 40 L 70 70 C 70 76 66 79 60 79 L 14 79 C 10 79 7 76 7 72 Z", "#2a5a8a", { stroke: "none" }) + se("back_4", "M 7 32 L 66 32 C 69 32 70 35 70 40 L 70 70 C 70 76 66 79 60 79 L 14 79 C 10 79 7 76 7 72 Z", oe2("M 0 64 L 74 64 L 74 83 L 0 83 Z", "#1c3a5c"), ne("M 0 64 L 74 64", Tt, 2.4)) + Rt("M 7 32 L 66 32 C 69 32 70 35 70 40 L 70 70 C 70 76 66 79 60 79 L 14 79 C 10 79 7 76 7 72 Z", "none") + Rt("M 50 38 L 66 38 C 69 38 70.5 40 70.5 44 L 70.5 64 C 70.5 69 68 71 64 71 L 54 71 C 50 71 48.5 69 48.5 64 L 48.5 42 C 48.5 39.5 49 38 50 38 Z", "#2f6496") + ne("M 49 46 C 56 50 62 52 70 50", Tt, 2.2) + te2(66, 55, 2.4, "#c84a2a", { width: 1.8 }) + Rt("M 10 4 L 56 4 C 66 4 71 10 71 18 C 71 26 66 32.5 56 32.5 L 10 32.5 C 5 32.5 2.8 26 2.8 18 C 2.8 10 5 4 10 4 Z", "#e8dcb8", { stroke: "none" }) + se("back_4r", "M 10 4 L 56 4 C 66 4 71 10 71 18 C 71 26 66 32.5 56 32.5 L 10 32.5 C 5 32.5 2.8 26 2.8 18 C 2.8 10 5 4 10 4 Z", ne("M 12 3 C 8 10 8 26 12 33 M 26 3 C 22 10 22 26 26 33 M 40 3 C 36 10 36 26 40 33", "#3a68a8", 5), ne("M 12 3 C 8 10 8 26 12 33 M 26 3 C 22 10 22 26 26 33 M 40 3 C 36 10 36 26 40 33", "#f0c040", 1.8)) + Rt("M 10 4 L 56 4 C 66 4 71 10 71 18 C 71 26 66 32.5 56 32.5 L 10 32.5 C 5 32.5 2.8 26 2.8 18 C 2.8 10 5 4 10 4 Z", "none") + Ft(59, 18, 10, 13.5, "#d8cca4", { width: 2.6 }) }, "back/5": { svg: Rt("M 22 34 C 19 24 20 15 27 13 C 34 12 38 18 36 34 Z", "#f07838") + Rt("M 47 34 C 45 24 47 17 54 16 C 61 16 64 22 62 34 Z", "#f07838") + Rt("M 28 14 C 26 9 24 5 25 3 C 28 5 29 8 30 10 C 31 6 32 4 34 3.5 C 34 7 33 11 32 14 Z", "#3aa040", { width: 2.6 }) + Rt("M 54 17 C 52 11 51 7 52 4 C 55 6 56 8 57 10 C 58 7 60 5 63 4 C 63 8 61 13 58 17 Z", "#3aa040", { width: 2.6 }) + Ft(15, 28, 6.5, 8, "#f8c030") + Ft(41, 27, 6, 9, "#f8c030") + Ft(66, 28, 6.5, 7.5, "#f8c030") + Rt("M 12 26 C 30 22 52 22 70 26 C 76 30 77.5 40 77.5 54 C 77.5 74 66 91 42 92.5 C 18 93 2.8 76 2.8 56 C 2.8 42 5 32 12 26 Z", "#e8a858", { stroke: "none" }) + se("back_5", "M 12 26 C 30 22 52 22 70 26 C 76 30 77.5 40 77.5 54 C 77.5 74 66 91 42 92.5 C 18 93 2.8 76 2.8 56 C 2.8 42 5 32 12 26 Z", oe2("M 0 22 C 30 30 50 30 81 22 L 81 34 C 50 40 30 40 0 34 Z", "#f4c078"), ne("M 14 40 C 12 56 14 72 20 86 M 26 38 C 24 56 25 74 30 90 M 40 38 C 39 56 40 74 42 92 M 54 38 C 55 56 54 74 52 92 M 66 38 C 68 54 66 72 62 88", "#c07a30", 2.2)) + Rt("M 12 26 C 30 22 52 22 70 26 C 76 30 77.5 40 77.5 54 C 77.5 74 66 91 42 92.5 C 18 93 2.8 76 2.8 56 C 2.8 42 5 32 12 26 Z", "none") }, "back/6": { svg: O4(50, 26, 56, 4) + O4(55, 28, 66, 9) + O4(60, 31, 71, 18) + Rt("M 47.2 19 L 64.8 34 L 21 84 C 17 86.3 9 86.3 5 83.3 C 1.5 80.5 1 75 3.2 70.5 Z", "#6a3a22") + K2("M 14 74 L 48 35", "#3a2016", 2, "4 3") + Rt("M 47 18.5 L 65 33.8 L 57 43 L 39 27.8 Z", "#8a5a3a") }, "back/7": { svg: Rt(H4, "#6a8a4a", { stroke: "none" }) + se("back_7", H4, oe2("M 6 14 C 14 10 24 12 26 18 C 20 22 10 22 6 18 Z M 40 8 C 50 6 58 10 56 16 C 48 18 42 16 40 8 Z M 4 34 C 12 30 20 34 18 40 C 12 42 4 40 4 34 Z M 48 28 C 58 26 70 28 72 34 C 62 38 52 36 48 28 Z M 28 42 C 36 40 44 44 42 50 C 34 52 28 48 28 42 Z", "#3e6a30"), oe2("M 22 26 C 30 24 38 28 36 32 C 30 34 24 32 22 26 Z M 8 48 C 16 46 22 50 20 54 C 14 56 8 54 8 48 Z M 58 44 C 64 42 72 44 72 48 C 66 50 60 50 58 44 Z", "#8a6a3a"), oe2("M 0 56 C 20 60 50 58 79 50 L 79 78 L 0 78 Z", "#3a4a3a"), ne("M 0 56 C 20 60 50 58 79 50", Tt, 2.4)) + Rt(H4, "none") }, "back/8": { svg: k8("back_8", "#2a2a48", "#d03030", "#f0c030") }, "back/29": { svg: k8("back_29", "#4a6ad0", "#f0a030", "#f08030") }, "back/9": { svg: ee(68.5, 2.8, 7.5, 40, 3.5, "#3a4826") + Rt(I4, "#4a5a32", { stroke: "none" }) + se("back_9", I4, oe2("M 0 0 L 85 0 L 85 36 L 0 36 Z", "#5a6a3a"), oe2("M 62 36 L 85 36 L 85 100 L 62 100 Z", "#3a4826"), ne("M 0 36 L 62 36 L 62 100", Tt, 2.4)) + Rt(I4, "none") + te2(22, 29, 3.4, "#60c040", { width: 2 }) + te2(37, 29, 3.4, "#60c040", { width: 2 }) + te2(52, 29, 3.4, "#e04040", { width: 2 }) + ee(64, 56, 17.2, 26, 4, "#4a5a32") + ne("M 64 64 L 81 64", Tt, 2.2) }, "back/10": { svg: Ft(29, 24, 22.5, 21, "#f8c8b0") + Rt("M 40 5 C 42 2.8 46 2.5 47 4 C 47 7 46 9 44 10 Z", "#f0c040", { width: 2.4 }) + ne("M 37 22 L 37 28 C 37 31 34 31 33 29", Tt, 2.2) + te2(47, 29, 3, "#f8a0a8", { stroke: "none" }) + Rt("M 8 44 C 14 38 24 36 32 38 C 44 38 54 42 58 50 C 60 56 59.5 66 58 74 C 55 86 44 91 32 91 C 18 91 6 84 3.5 70 C 2.5 60 3 50 8 44 Z", "#b8daf0") + ne("M 8 56 C 22 52 40 52 56 58 M 10 70 C 24 64 40 66 54 70 M 32 40 C 30 48 26 54 20 58", "#8ab0d0", 2.2) }, "back/11": { svg: [[80, 18, 8.5], [92, 32, 9], [82, 40, 8.5], [94, 52, 8.5], [82, 60, 8]].map(([a5, e5, o6]) => te2(a5, e5, o6, "#c06838") + te2(a5, e5, o6 * 0.55, "#e09058", { stroke: "#a05028", width: 1.6 })).join("") + Rt("M 14 70 L 96 63 L 92 70 L 14 78 Z", "#8a5a38") + [8, 27, 46].map((a5) => ee(10, a5, 62, 19, 3, "#7a4a2a") + ne(`M 16 ${a5 + 7} L 40 ${a5 + 7} M 30 ${a5 + 13} L 62 ${a5 + 13}`, "#5a3420", 2)).join("") + ee(2.8, 2.8, 79, 6.5, 3, "#5a3a2a") + ee(2.8, 2.8, 11.5, 94.4, 3, "#5a3a2a") + ee(59.8, 2.8, 12.4, 94.4, 3, "#5a3a2a") }, "back/12": { svg: b8("back_12", "#b8ae8a", "#7a4a28", "#c8b890") }, "back/27": { svg: b8("back_27", "#2a2a2c", "#4a4a4e", "#3a3a3c") }, "back/13": { svg: Rt("M 20 21 L 20 10 C 20 5 25 2.8 32 2.8 L 48 2.8 C 54 2.8 58 5 58 10 L 58 21 L 50 21 L 50 14 C 50 11.5 48 10.5 44 10.5 L 34 10.5 C 31 10.5 29 11.5 29 14 L 29 21 Z", "#c83038") + Rt("M 72 30 C 80 30 88 36 88 46 L 88 72 C 88 78 84 80 78 80 L 72 80 Z", "#a82830") + Rt("M 8 20 L 72 20 C 77 20 80 24 80 30 L 80 78 C 80 82 77 84 72 84 L 12 84 C 7 84 4.8 81 4.8 76 L 4.8 30 C 4.8 24 5 20 8 20 Z", "#c83038") + Rt("M 2.8 28 C 2.8 22 6 19.5 12 19.5 L 66 19.5 C 72 19.5 74 23 74 30 L 74 40 C 66 44 52 46 40 44 L 2.8 44 Z", "#d83a42") + ee(64, 9, 12, 12, 3, "#f0f0f0") + ee(64.8, 18, 10.4, 60, 2, "#2a2a2c") + [30, 38, 46, 54, 62].map((a5) => te2(70, a5, 1.8, "#f0f0f0", { stroke: "none" })).join("") + Rt("M 63 76 L 77 76 L 78.5 88 C 78.5 90 76 90.5 70 90.5 C 64 90.5 61.5 90 61.5 88 Z", "#f0f0f0") }, "back/15": { svg: $8("back_15", "#f86410", "#20a070", "#107070", "#c84020", "#20a060") }, "back/24": { svg: $8("back_24", "#7aa0d8", "#a8a040", "#807a30", "#2a4070", "#4a6aa0") }, "back/16": { svg: u8("back_16", "#e8e4ee", "#3a70d0") }, "back/30": { svg: u8("back_30", "#e8d4a8", "#8a6a40") }, "back/28": { svg: m8("#7a7a80", "#5a5a60", "#5a2a2a", "#8a4a40", "#6a4a3a") }, "back/18": { svg: Z8("#98e888", "#6aa050", "#22a048") }, "back/25": { svg: Z8("#9a5a38", "#7a4228", "#b06a48") }, "back/19": { svg: Rt("M 12 28 L 76 28 C 82 28 84.5 32 84.5 38 L 84.5 83 C 84.5 87 82 88.5 78 88.5 L 14 88.5 C 10 88.5 7.8 86 7.8 81 L 7.8 34 C 7.8 30 9 28 12 28 Z", "#7a2a8a", { stroke: "none" }) + se("back_19", "M 12 28 L 76 28 C 82 28 84.5 32 84.5 38 L 84.5 83 C 84.5 87 82 88.5 78 88.5 L 14 88.5 C 10 88.5 7.8 86 7.8 81 L 7.8 34 C 7.8 30 9 28 12 28 Z", oe2("M 0 79 L 90 79 L 90 92 L 0 92 Z", "#9a4aaa"), ne("M 0 79 L 90 79", Tt, 2.4)) + Rt("M 12 28 L 76 28 C 82 28 84.5 32 84.5 38 L 84.5 83 C 84.5 87 82 88.5 78 88.5 L 14 88.5 C 10 88.5 7.8 86 7.8 81 L 7.8 34 C 7.8 30 9 28 12 28 Z", "none") + ee(70, 38.5, 22, 8.5, 4, "#a060b8") + ee(70, 53.5, 22, 8.5, 4, "#a060b8") + Rt("M 73 74 L 97 74 L 97 88 C 97 92 95 93.5 91 93.5 L 79 93.5 C 75 93.5 73 92 73 88 Z", "#a0b040") + ee(71.5, 65.5, 27, 10, 4, "#50c0c0") + Rt("M 12 3 L 68 3 C 77 3 82.5 9 82.5 16.5 C 82.5 24 77 30 68 30 L 12 30 C 6 30 2.8 24 2.8 16.5 C 2.8 9 6 3 12 3 Z", "#e888b8") + Rt("M 22 3 C 18 8 18 26 22 30 L 50 30 C 46 26 46 8 50 3 Z", "#f4d0e4", { width: 2.6 }) + te2(68, 16.5, 11.5, "#e888b8") + ne("M 68 16.5 C 70 14 73 16 72 19 C 70 23 64 22 63 17 C 62 11 70 8 75 12 C 79 16 77 24 72 26", Tt, 2.4) }, "back/20": { svg: w8("#a05a30") }, "back/26": { svg: w8("#f0e0c0") } };
|
|
1173
|
+
var v3 = "#ffffff";
|
|
1174
|
+
var Z2 = "#dcdcdc";
|
|
1175
|
+
var N4 = "#c4c4c4";
|
|
1176
|
+
var $22 = "#000000";
|
|
1177
|
+
var j4 = "#333333";
|
|
1178
|
+
var G4 = "M 4 30 C 4 12 16 3 32 3 C 50 3 60 14 60 30 L 60 76 C 60 82 62 86 62 88 C 50 86 30 86 14 82 C 6 78 4 68 4 30 Z";
|
|
1179
|
+
var W4 = "M 8 36 C 6 22 14 12 26 10 C 30 4 40 2 48 6 C 56 2 70 4 76 12 C 84 14 88 22 86 30 C 92 34 92 42 88 46 C 90 54 88 62 84 66 C 86 76 82 82 86 86 L 76 86 L 82 98 L 64 90 L 52 100 L 44 86 L 34 94 L 26 82 C 20 76 16 70 14 62 C 8 58 6 50 8 44 C 6 42 6 38 8 36 Z";
|
|
1180
|
+
var F4 = "M 4 40 C 4 18 20 4 40 4 C 54 4 62 6 68 12 C 78 22 86 36 90 56 C 92 64 92 68 86 70 L 92 76 L 80 76 L 76 96 L 66 84 L 44 98 L 26 86 L 22 92 L 18 80 C 8 72 4 58 4 40 Z";
|
|
1181
|
+
var K4 = "M 4 22 C 4 10 12 3 24 3 C 44 3 62 20 70 44 C 76 62 74 86 72 108 L 40 108 C 38 96 34 84 28 76 C 16 64 4 44 4 22 Z";
|
|
1182
|
+
var U4 = "M 4 32 C 2 26 6 22 10 22 C 10 14 16 10 22 12 C 24 5 32 4 36 8 C 40 2 50 2 52 7 C 56 2 64 2 66 8 C 72 4 80 8 80 14 C 86 14 90 20 88 26 C 94 28 94 36 90 40 C 94 44 92 48 86 48 C 82 48 76 48 72 48 C 66 50 62 48 60 46 C 54 48 48 48 46 44 C 40 48 32 48 28 44 C 22 48 14 46 12 42 C 6 42 2 38 4 32 Z";
|
|
1183
|
+
var A8 = { "hair/2": { svg: Rt("M 5 55 L 8 51 L 11 57 L 14 51 L 16 48 C 16 40 16 33 18 28 C 20 23 24 20 28 20 L 35 21 L 43 28 L 50 22 C 54 21 57 22 59 25 C 63 32 68 42 76 50 L 83 56 L 86 50 L 92 52 L 96 47 L 104 48 L 108 40 C 110 34 110 28 106 22 C 98 10 80 3 56 3 C 42 3 28 6 18 13 C 8 21 3 34 3 46 Z", v3) + oe2("M 66 36 C 72 30 84 34 96 36 C 104 38 106 42 104 47 L 96 47 L 92 52 L 86 50 L 83 56 L 76 50 C 72 46 68 42 66 36 Z", Z2) + oe2("M 4 44 C 8 46 12 44 16 42 L 16 48 L 14 51 L 11 57 L 8 51 L 5 55 Z", Z2) + ne("M 56 10 C 58 8 60 7 62 6 M 92 28 C 94 34 96 40 96 46", Tt, 3) }, "hair_under/2": { svg: Rt("M 4 48 C 3 36 8 26 16 18 C 30 6 46 2 62 2 C 80 3 94 12 98 28 L 99 40 L 106 40 L 107 45 L 100 46 L 97 50 L 91 55 L 86 49 L 83 57 L 78 52 C 72 44 66 32 58 20 L 44 25 L 30 17 L 18 25 L 16 45 L 12 54 L 10 48 L 7 52 Z", v3) + oe2("M 64 30 C 74 34 86 36 98 36 L 99 40 L 106 40 L 107 45 L 100 46 L 97 50 L 91 55 L 86 49 L 83 57 L 78 52 C 72 44 68 38 64 30 Z", Z2) + ne("M 16 19 C 10 24 5 30 4 36 L 3 49 L 7 52 L 10 48 L 12 54 L 16 49 L 17 26 C 22 18 26 16 30 17 L 44 25 L 56 19 C 62 22 66 32 72 42 C 76 48 80 54 83 57 L 86 49 L 91 55 L 97 50 L 96 26 M 98 44 L 106 46 L 107 41 M 58 4 C 61 2 64 2 67 3", Tt, 3.6) }, "hair/3": { svg: Rt("M 4 26 C 2 10 8 2 20 2 C 28 2 32 6 34 10 C 40 4 50 1 58 4 C 61 6 62 9 63 11 C 74 12 82 18 88 28 C 92 36 96 46 96 54 C 90 54 84 55 78 58 C 76 60 74 62 73 63 L 69 40 C 50 38 20 37 10 35 C 6 34 4 30 4 26 Z", v3) + oe2("M 71 46 L 95 46 C 96 50 96 52 96 54 C 90 54 84 55 78 58 C 76 60 74 62 73 63 Z", Z2) }, "hair_under/3": { svg: Rt("M 45.5 3.9 Q 35.9 3.9 29.6 5.9 Q 23.4 7.8 19.3 10.3 Q 15.1 12.9 12.6 15.4 Q 10.1 18 7.1 19.6 Q 4.1 21.2 4.1 21.5 Q 4 21.8 4.5 22.4 Q 5.1 23 9.1 24.5 Q 13.1 26.1 17.8 26.7 Q 22.6 27.2 45.2 28.3 Q 67.9 29.4 69.4 37.6 Q 70.9 45.9 71.8 48.4 Q 72.8 50.9 73 50.8 Q 73.1 50.8 75.6 48.4 Q 78 46 80.2 45.1 Q 82.4 44.3 87.1 44.7 Q 91.8 45 91.9 45 Q 91.9 45 92.3 43.4 Q 92.7 41.8 89.6 40.8 Q 86.5 39.7 85.8 34.4 Q 85.1 29.1 83.7 25.9 Q 82.3 22.6 77.1 16.8 Q 71.9 10.9 68.3 8.9 Q 64.7 6.8 59.9 5.4 Q 55.1 3.9 45.5 3.9 Z", v3, { holes: true }) + oe2("M 70 36 L 88 36 L 92 40 L 93 45 L 80 46 C 76 48 74 52 72 53 Z", Z2) }, "hair/5": { svg: Rt("M 3 22 C 2 8 12 2 24 2 C 32 2 38 4 42 6 C 48 5 54 6 56 9 C 62 7 70 8 74 11 C 82 12 88 16 90 20 C 96 22 100 26 100 30 C 104 32 106 38 104 44 C 105 52 100 55 92 55 C 90 60 88 64 89 68 C 89 72 85 74 82 72 C 81 64 82 56 80 49 C 70 42 50 40 38 40 C 30 42 20 44 12 42 C 6 40 3 32 3 22 Z", v3) + oe2("M 4 32 C 14 36 24 30 36 26 C 46 30 56 30 66 30 C 76 32 86 34 104 38 C 105 44 105 52 100 54 C 96 55 94 55 92 55 C 90 60 88 64 89 68 C 89 72 85 74 82 72 C 81 64 82 56 80 49 C 70 42 50 40 38 40 C 30 42 20 44 12 42 C 8 40 5 36 4 32 Z", Z2) + ne("M 30 11 C 35 15 35 26 25 34", Tt, 3) }, "hair_under/5": { svg: Rt("M 4 30 C 8 20 18 14 28 8 C 40 2 60 1 76 4 C 90 8 94 22 93 40 L 96 40 L 95 44 L 84 46 C 82 50 80 58 78 60 L 74 61 C 74 52 74 44 72 40 L 62 32 L 52 31 L 46 32 L 32 30 L 30 31 L 22 33 Z", v3) + oe2("M 4 30 C 12 26 20 20 30 18 C 38 22 46 20 54 22 C 62 26 74 24 92 26 L 93 40 L 96 40 L 95 44 L 84 46 C 82 50 80 58 78 60 L 74 61 C 74 52 74 44 72 40 L 62 32 L 52 31 L 46 32 L 32 30 L 30 31 L 22 33 Z", Z2) + ne("M 3 30 C 6 32 10 33 20 33 L 30 30 C 34 31 38 31 46 31 L 52 30 C 58 30 62 31 66 33 C 70 36 74 38 76 40 L 75 59 L 79 59 C 82 50 84 46 88 45 L 95 41 M 27 8 C 26 14 24 18 19 22", Tt, 3.6) }, "hair/10": { svg: Rt("M 3 76 C 2 52 8 24 30 10 C 44 2 60 1 68 4 C 72 2 80 1 90 3 C 112 8 130 34 134 72 C 120 78 104 80 93 80 L 92 55 L 22 55 L 22 80 Z", v3) + oe2("M 4 66 C 10 70 16 70 22 70 L 22 80 L 3 76 Z M 93 70 C 108 70 122 66 134 62 L 134 72 C 120 78 104 80 93 80 Z", Z2) + ne("M 38 36 L 36 50 M 50 47 L 50 53 M 66 47 L 66 53 M 79 40 L 79 50 M 106 46 L 108 74 M 13 60 L 13 76", N4, 2) + ne("M 30 26 C 22 32 18 40 18 54 L 97 54 L 94 36 M 64 13 C 66 9 69 7 72 6", Tt, 3.6) }, "hair_under/10": { svg: Rt("M 2 53 C 6 42 12 34 20 30 L 21 22 C 30 16 34 10 44 6 C 60 0 80 1 92 6 C 102 12 106 22 108 36 L 116 40 L 117 47 L 127 53 C 126 62 118 68 104 69 L 92 69 L 91 34 L 25 34 L 23 60 L 4 57 Z", v3) + oe2("M 4 50 C 10 54 16 54 23 52 L 23 60 L 4 57 Z M 92 60 C 104 60 116 58 125 56 C 124 62 118 68 104 69 L 92 69 Z", Z2) + ne("M 38 14 L 36 30 M 50 28 L 50 32 M 66 26 L 66 32 M 79 20 L 79 30 M 104 50 L 105 66", N4, 2) + ne("M 19 29 C 10 36 3 45 3 52 L 4 56 L 22 60 L 24 33 M 19 32 L 95 33 L 94 15 M 92 34 L 92 69 L 108 68 C 116 66 123 60 128 54 L 117 47 L 116 40", Tt, 3.6) }, "hair/13": { svg: Rt("M 15 1.5 C 8 6 3 14 3 22 C 3 28 4 32 6 35 C 7 26 9 16 15 1.5 Z", v3, { width: 3 }) + Rt("M 89 2 C 92 2 94 4 93 6 C 97 5 100 7 101 12 C 101 20 100 26 100 30 C 94 30 88 31 84 33 C 80 36 78 38 77 36 C 76 30 75 22 76 16 C 78 12 84 10 90 9 C 89 7 88 4 89 2 Z", v3) + ne("M 78 18 C 86 16 94 16 100 17 M 78 25 C 86 23 94 23 100 24", Z2, 2.6) }, "hair_under/13": { svg: Rt("M 15 1.5 C 8 6 3 14 3 22 C 3 28 4 32 6 35 C 7 26 9 16 15 1.5 Z", v3, { width: 3 }) + oe2("M 87 2 C 89 4 91 6 91 8 L 92 10 C 93 14 94 20 95 25 L 100 25 L 100 30 C 92 31 86 32 82 34 C 80 36 78 37 77 36 C 76 30 75 22 76 16 C 77 13 82 11 88 10 L 90 9 Z", v3) + ne("M 78 18 C 84 16 89 16 93 17 M 78 25 C 84 23 89 23 94 24", Z2, 2.6) + ne("M 87 2 C 89 4 91 6 91 9 C 84 10 78 12 76 16 C 75 22 76 30 77 36 C 80 36 84 33 88 31 C 92 30 96 30 100 30 L 100 25", Tt, 3.6) }, "hair/1": { svg: oe2("M 2 35 C 6 20 18 6 34 3 C 52 1 72 6 80 20 C 84 28 84 36 82 42 C 79 46 76 49 72 51 L 68 51 C 66 47 66 43 65 40 C 62 30 52 20 40 19 C 28 18 12 22 4 32 Z", $22, 0.3) }, "hair/4": { svg: Rt("M 2 53 L 20 52 L 21 24 L 44 32 L 81 3 L 84 41 L 116 41 L 98 68 L 112 77 L 107 85 L 83 91 L 72 74 L 42 72 L 34 60 L 10 76 L 3 62 Z", v3) + oe2("M 77 8 L 81 4 L 84 41 L 78 42 Z M 115 42 L 98 68 L 86 66 Z M 84 80 L 107 84 L 83 90 Z", Z2) }, "hair_under/4": { svg: Rt("M 3 22 C 10 12 30 3 56 2 C 76 2 88 12 92 26 C 93 32 94 38 95 40 L 99 42 L 97 46 L 84 46 L 78 52 L 70 41 L 66 25 L 37 35 L 30 20 L 5 37 Z", v3) + oe2("M 84 24 L 92 26 L 94 40 L 86 38 Z", Z2) + ne("M 3 22 L 5 36 L 29 20 L 36 34 L 66 25 L 70 40 L 77 50 L 82 45 L 98 42", Tt, 3.6) }, "hair/6": { svg: oe2("M 76 42 L 104 46 C 104 54 100 62 92 68 L 86 68 C 84 60 82 50 76 42 Z", $22, 0.25) + Rt("M 2 44 C 10 34 20 28 34 22 L 28 15 L 64 15 L 60 3 C 78 6 96 14 108 26 C 112 30 112 38 110 42 C 108 46 106 48 104 48 C 102 44 98 42 92 42 L 20 42 C 12 43 6 44 2 44 Z", v3) + oe2("M 46 31 C 66 29 90 28 109 31 C 110 36 109 41 106 46 C 102 43 98 42 92 42 L 20 42 C 28 38 36 34 46 31 Z", Z2) }, "hair_under/6": { svg: oe2("M 66 24 L 92 30 C 93 38 90 46 82 50 L 74 51 C 72 40 70 30 66 24 Z", $22, 0.25) + Rt("M 52.5 3.9 Q 42.9 3.9 35.7 6.3 Q 28.4 8.8 25.3 10.8 Q 22.1 12.9 19.6 15.4 Q 17.1 17.9 12.7 20.5 Q 8.4 23 7.6 24.2 Q 6.8 25.4 4.8 32 Q 2.8 38.6 3.7 44 Q 4.5 49.4 4.5 49.4 Q 4.4 49.4 9.3 42.1 Q 14.1 34.8 19.5 30.1 Q 24.9 25.4 30.7 24.8 Q 36.5 24.2 58.6 24.2 Q 80.6 24.2 84.4 24.8 Q 88.1 25.4 90.5 27.1 Q 93 28.8 93.4 29.8 Q 93.8 30.8 93.1 31 Q 92.4 31.1 91.3 27.7 Q 90.2 24.4 88.7 21.8 Q 87.1 19.2 81.3 13.9 Q 75.4 8.7 68.7 6.3 Q 62.1 3.9 52.5 3.9 Z", v3, { holes: true }) + oe2("M 8 30 C 30 16 60 12 90 14 L 93 24 L 24 24 C 18 26 12 28 8 30 Z", Z2) }, "hair/7": { svg: oe2("M 72 48 L 90 48 C 90 54 86 58 80 60 L 74 64 C 72 58 72 52 72 48 Z", $22, 0.25) + Rt(U4, v3, { stroke: "none" }) + se("hair_7", U4, oe2("M 0 34 C 30 38 60 36 96 34 L 96 70 L 0 70 Z", Z2)) + Rt(U4, "none") }, "hair_under/7": { svg: oe2("M 70 32 L 88 34 C 88 40 86 44 80 44 L 72 48 C 72 42 72 36 70 32 Z", $22, 0.25) + Rt("M 2 22 C 8 14 20 6 40 3 C 60 1 80 8 86 22 L 88 32 C 84 30 80 30 77 29 C 72 32 68 31 66 28 C 62 26 58 28 56 28 C 52 26 50 26 48 26 C 44 28 40 30 36 28 C 34 32 28 32 26 26 C 22 28 18 28 16 26 C 14 22 10 20 6 22 Z", v3) + oe2("M 4 20 C 30 18 60 18 86 20 L 88 32 C 70 28 40 26 4 22 Z", Z2) + ne("M 2 22 C 6 20 10 20 12 22 C 14 26 18 28 22 26 C 26 30 30 32 34 28 C 38 30 42 28 46 26 C 50 26 54 28 58 27 C 62 26 66 28 68 30 C 72 31 76 29 80 31 C 84 32 86 32 88 32", Tt, 3.6) }, "hair/8": { svg: Rt("M 18 8 C 30 6 50 14 58 34 L 44 36 C 34 30 22 20 18 8 Z", j4) + Rt("M 100 2 C 96 18 88 30 76 36 L 64 34 C 66 18 80 6 100 2 Z", j4) + Rt("M 4 78 C 6 68 12 60 20 56 C 26 48 34 42 44 40 C 64 36 90 38 102 50 C 108 56 114 62 120 66 C 130 70 140 72 143 80 C 145 86 140 90 128 88 C 126 96 120 102 110 104 C 104 110 96 116 92 114 L 92 82 L 24 82 L 24 112 C 20 118 10 116 10 110 C 6 104 8 98 6 92 C 2 90 2 84 4 78 Z", v3) + oe2("M 10 106 L 24 108 L 24 112 C 20 118 10 116 10 110 Z M 94 104 C 110 100 126 92 140 84 C 140 90 134 92 128 88 C 126 96 120 102 110 104 C 104 110 96 116 92 114 Z", Z2) + ne("M 24 58 L 20 79 L 92 80 L 92 62", Tt, 3.6) + Rt("M 30 46 C 50 38 80 36 96 44 C 100 50 102 58 102 66 L 98 62 C 92 52 76 44 60 44 C 48 44 36 46 30 48 Z", j4, { width: 3 }) }, "hair_under/8": { svg: Rt("M 2 44 C 4 36 10 32 16 30 C 18 20 30 10 50 4 C 70 0 90 6 100 18 C 104 24 108 34 110 40 L 113 40 L 112 48 L 120 52 C 122 58 118 64 112 64 L 104 62 C 100 68 96 72 90 72 L 88 36 L 20 36 L 20 64 C 18 72 10 74 6 70 C 4 64 4 58 4 54 C 2 52 2 48 2 44 Z", v3) + oe2("M 4 62 L 20 62 L 20 64 C 18 72 10 74 6 70 Z M 90 62 C 100 60 112 58 120 56 C 118 62 116 64 112 64 L 104 62 C 100 68 96 72 90 72 Z", Z2) + ne("M 16 30 C 10 32 4 36 2 44 C 2 48 2 52 4 54 C 4 58 4 64 6 70 C 10 74 18 72 20 64 L 20 36 L 88 36 L 88 18 M 88 36 L 90 72 C 96 72 100 68 104 62 L 112 64 C 118 64 122 58 120 52 L 112 48 L 113 40", Tt, 3.6) }, "hair/9": { svg: te2(66.5, 27, 24.5, v3) + Rt("M 48 34 C 54 26 78 26 84 34 Z", "#f0b850", { width: 3 }) + Rt("M 4 104 C 2.8 92 2.8 78 4 68 C 6 56 12 44 22 38 C 28 34 34 32 42 31.5 L 90 31.5 C 96 36 99 46 100 56 L 101.2 74 C 101 80 98 82 94 83 C 93 90 90 98 86 104 C 84 108 81 110 79 109.5 C 77 104 76 98 74 92 C 72 84 68 76 60 72 C 50 67 38 64 28 62 C 24 61 22 62 21 64 C 16 72 10 84 8 92 C 7 98 7 103 6 105.5 Z", v3) + oe2("M 76 92 C 78 98 79 104 79 109 C 82 108 85 104 87 100 C 84 96 80 94 76 92 Z M 92 48 C 96 54 98 64 99 74 L 99 80 C 96 72 94 60 92 48 Z", Z2) + ne("M 14 50 C 16 52 18 54 18 56 M 84 50 C 86 52 88 54 90 56", Tt, 2.6) }, "hair_under/9": { svg: Rt("M 51.5 3.9 Q 41.9 3.9 34.7 6.3 Q 27.4 8.8 24.3 10.8 Q 21.1 12.9 18.6 15.4 Q 16.1 18 13.1 19.5 Q 10.1 21 8.9 22.2 Q 7.7 23.5 5.3 32.1 Q 2.8 40.8 2.8 48.5 Q 2.8 56.3 4.3 62.9 Q 5.8 69.5 5.8 69.5 Q 5.9 69.6 6 69.5 Q 6.1 69.4 6.1 61.4 Q 6.2 53.3 6.8 49.7 Q 7.4 46.1 9 42.3 Q 10.6 38.5 18.9 31.2 Q 27.2 23.9 31.7 26.5 Q 36.3 29.2 46.6 31.3 Q 57 33.4 62.1 36.2 Q 67.1 39.1 68.8 40.8 Q 70.4 42.6 73 48.4 Q 75.6 54.1 77.2 64.6 Q 78.8 75.1 78.7 75.1 Q 78.6 75 79.5 74.7 Q 80.4 74.3 82.7 72.1 Q 85.1 69.9 86.7 67.3 Q 88.2 64.6 90.2 60.2 Q 92.2 55.8 93.4 50.8 Q 94.7 45.9 97.2 45.8 Q 99.7 45.7 100.2 44.1 Q 100.7 42.5 99.2 41.7 Q 97.8 40.8 95.1 40.4 Q 92.5 39.9 91.8 34.5 Q 91.1 29.1 89.7 25.8 Q 88.3 22.5 87.2 20.8 Q 86.1 19.2 80.6 14.1 Q 75 9.1 68.1 6.5 Q 61.1 3.9 51.5 3.9 Z", v3, { holes: true }) + oe2("M 72 56 C 80 58 88 56 94 52 C 92 64 88 72 82 74 L 79 74 C 77 68 75 62 72 56 Z", Z2) + ne("M 84 18 C 92 26 94 40 92 52 M 94 44 C 97 42 99 44 97 46.5", Tt, 2.6) }, "hair/11": { svg: Rt("M 76 56 C 82 66 86 80 84 108 C 92 100 96 88 94 74 L 104 76 L 100 54 Z", v3) + Rt("M 2 24 L 14 22 L 14 2 L 34 14 L 44 4 L 47 26 C 38 30 28 34 20 40 Z", v3) + Rt("M 84 36 C 84 22 92 12 98 8 L 102 20 L 122 18 L 118 32 L 130 44 L 112 50 C 104 54 96 54 88 52 Z", v3) + Rt("M 14 44 C 20 34 36 28 52 28 C 66 28 78 32 84 36 L 86 50 C 82 54 78 56 76 56 C 66 58 54 58 44 54 L 38 46 L 36 52 L 14 68 C 12 60 12 50 14 44 Z", v3) + oe2("M 80 66 C 84 78 86 92 84 108 C 92 100 96 88 94 74 Z M 4 26 L 14 26 L 18 40 Z M 108 36 L 128 44 L 112 50 Z", Z2) + Rt("M 80 38 C 82 46 88 52 96 54 L 98 50 C 92 48 88 44 86 36 Z", "#80c898", { width: 2.6 }) }, "hair_under/11": { svg: Rt("M 3 42 C 2 22 18 5 46 4 C 70 3 88 14 92 30 L 93 48 L 85 48 L 83 70 L 74 84 C 72 70 70 56 67 40 C 54 36 42 32 30 26 L 27 22 C 20 30 12 38 3 42 Z", v3) + oe2("M 70 46 L 92 44 L 93 48 L 85 48 L 83 70 L 74 84 C 73 70 72 58 70 46 Z", Z2) + ne("M 64 30 C 66 34 67 38 67 40", Tt, 3.6) }, "hair/12": { svg: Rt("M 101.6 15.4 Q 101.2 14.8 93.7 20.3 Q 86.3 25.8 81.6 30.4 Q 77 35 75.5 38.5 Q 74 41.9 74.4 46.4 Q 74.9 50.9 77.3 56.2 Q 79.7 61.4 81.7 64.1 Q 83.8 66.7 86 68.4 Q 88.1 70 89 69.9 Q 89.8 69.8 90.9 67.3 Q 92.1 64.8 94.6 63 Q 97.1 61.3 103.1 61.7 Q 109.1 62.2 109.7 61.9 Q 110.3 61.6 113.3 57.1 Q 116.3 52.6 120.2 44.7 Q 124.2 36.8 127.1 27.9 Q 130.1 19.1 130.1 18.1 Q 130.1 17.2 129.6 17.1 Q 129.1 17 123.2 21.2 Q 117.3 25.4 109.7 29 Q 102.1 32.6 101.6 28 Q 101.2 23.5 101.7 19.7 Q 102.1 16 101.6 15.4 Z M 6.2 4.1 Q 5.3 4 5.1 4.2 Q 4.8 4.5 4.3 8.5 Q 3.8 12.5 3.8 23.4 Q 3.8 34.3 4.3 37.1 Q 4.9 39.8 6.8 44.2 Q 8.7 48.5 10.2 50.6 Q 11.8 52.7 13.5 53.9 Q 15.2 55.1 15.1 55.1 Q 15.1 55.1 17.8 46.9 Q 20.5 38.7 25.2 33.4 Q 29.8 28.1 32.3 26.5 Q 34.8 24.9 34.9 24 Q 35 23.1 30.5 16.7 Q 26.1 10.3 25 10.3 Q 24 10.3 21.9 13.4 Q 19.8 16.6 13.5 10.4 Q 7.2 4.2 6.2 4.1 Z", v3, { holes: true }) + Rt("M 74 36 C 82 26 92 18 100 14 L 102 30 C 112 26 120 20 128 15 C 124 28 118 48 108 60 L 96 58 C 92 62 90 66 88 70 C 82 64 76 56 74 48 Z", v3) + oe2("M 6 10 C 8 24 10 40 14 56 L 8 44 C 5 34 4 20 6 10 Z M 88 60 C 100 52 114 40 126 20 C 122 34 116 50 108 60 L 96 58 C 92 62 90 66 88 70 Z", Z2) }, "hair_under/12": { svg: Rt("M 99.6 11.6 Q 98.3 11.1 93.2 12 Q 88.1 12.9 85.3 13.8 Q 82.6 14.7 81.8 15.5 Q 80.9 16.4 80.9 23.8 Q 80.8 31.3 82.3 37 Q 83.8 42.7 86.3 46.7 Q 88.9 50.8 93.2 54 Q 97.5 57.3 101.7 58.7 Q 105.9 60.1 111.1 60.1 Q 116.3 60.1 116.5 59.8 Q 116.7 59.5 113.7 54.6 Q 110.6 49.7 114.8 47.8 Q 118.9 46 120.7 44.1 Q 122.5 42.2 122.3 41.9 Q 122.1 41.5 118 39.3 Q 113.9 37.2 113.4 34.9 Q 112.9 32.6 109.6 31.7 Q 106.4 30.8 106.2 27.4 Q 106.1 24 104.7 19.7 Q 103.2 15.4 102.1 13.7 Q 100.9 12 99.6 11.6 Z M 32.2 6 Q 32.3 6.9 31.2 7.9 Q 30.1 9 26 11.2 Q 21.8 13.5 21 14.7 Q 20.1 15.9 16.3 26.5 Q 12.5 37.1 10.2 41.1 Q 8 45.1 6 47.2 Q 4 49.2 4.1 49.8 Q 4.2 50.5 5.4 50.8 Q 6.6 51.2 10.2 50.6 Q 13.8 50.1 15.8 49.1 Q 17.8 48.1 19.9 45.6 Q 21.9 43.1 24 37.5 Q 26.1 32 26.7 23.6 Q 27.4 15.2 29.7 10.1 Q 32 5.1 32.2 6 Z", v3, { holes: true }) + Rt("M 80 15 C 90 12 98 10 104 10 L 106 30 L 112 34 L 122 42 L 112 48 L 116 60 C 104 58 92 52 86 44 C 82 36 80 26 80 15 Z", v3) }, "hair/14": { svg: Rt("M 3 52 L 12 18 L 16 25 C 26 14 36 8 46 3 L 51 14 L 83 5 L 88 25 L 110 24 L 96 50 L 88 66 L 75 74 L 74 64 L 71 46 L 30 54 L 6 46 Z", v3) + oe2("M 76 50 L 104 34 L 96 50 L 88 66 L 75 74 L 74 64 Z", Z2) }, "hair_under/14": { svg: Rt("M 46.5 3.9 Q 36.9 3.9 29.7 6.3 Q 22.4 8.8 19.3 10.8 Q 16.1 12.9 13.6 15.4 Q 11.1 18 8.1 19.4 Q 5.2 20.9 4.5 22 Q 3.8 23 3.8 25.1 Q 3.8 27.1 3.9 27.2 Q 3.9 27.3 3.6 27.4 Q 3.4 27.5 5.7 24.2 Q 8 20.9 19.4 25.5 Q 30.8 30 51.1 25.5 Q 71.5 21 72.1 22.6 Q 72.8 24.2 71.4 29.7 Q 70 35.1 70.5 36 Q 70.9 36.8 72.8 38.3 Q 74.8 39.8 74.3 45 Q 73.8 50.2 74 50.4 Q 74.1 50.7 74.7 50.7 Q 75.3 50.7 78 48.1 Q 80.8 45.5 85.9 44.5 Q 91 43.5 91.4 42.2 Q 91.7 40.9 89.6 40.4 Q 87.5 39.8 86.8 34.5 Q 86.1 29.1 84.7 25.9 Q 83.3 22.6 78.1 16.8 Q 72.9 10.9 69.3 8.9 Q 65.7 6.8 60.9 5.4 Q 56.1 3.9 46.5 3.9 Z", v3, { holes: true }) + oe2("M 74 22 L 86 22 L 90 40 L 78 46 Z", Z2) }, "hair/15": { svg: oe2("M 48 10 C 66 8 82 18 88 40 L 86 52 L 78 54 C 74 46 70 40 64 38 Z", $22, 0.25) + Rt("M 4 32 C 4 29 8 28 11 30 C 13 32 11 35 8 35 C 5 35 4 34 4 32 Z", v3, { width: 3 }) + Rt("M 14 24 C 14 18 18 13 22 14 C 24 16 22 22 20 28 C 18 31 14 30 14 24 Z", v3) + Rt("M 30 20 C 32 10 38 4 44 4 C 50 5 50 10 46 14 C 42 18 38 24 36 30 C 34 33 30 30 30 20 Z", v3) + Rt("M 46 28 C 50 20 58 12 66 10 C 72 10 76 13 74 17 C 68 22 60 26 54 32 C 50 34 46 33 46 28 Z", v3) + Rt("M 66 34 C 72 28 80 26 88 28 C 92 30 92 34 88 36 C 80 37 72 38 68 38 C 65 37 65 36 66 34 Z", v3) }, "hair_under/15": { svg: oe2("M 60 12 C 74 14 84 22 88 34 L 88 46 L 80 48 C 78 40 72 34 66 30 Z", $22, 0.25) + Rt("M 3 22 C 3 18 6 16 10 18 C 14 10 24 4 40 3 C 60 2 78 6 84 14 C 74 18 70 24 66 30 C 56 26 30 22 3 22 Z", v3) + ne("M 4 22 C 2 18 6 15 10 18 C 12 20 10 24 6 24 Z M 18 20 C 16 14 18 10 22 8 M 34 20 C 34 12 40 6 46 4 M 50 22 C 54 14 62 8 70 6 M 66 30 C 72 24 80 22 88 24 M 3 22 C 30 22 56 26 66 30", Tt, 3.2) }, "hair/16": { svg: Rt("M 39 2.8 C 46 6 53 14 55 24 C 58 28 66 28 74 30 C 84 32 92 40 93.2 50 L 93.2 64 C 92.5 72 90 78 84 82 C 80 84 77 83 76 80 C 75.5 74 76 68 74 64 C 72 60 70 57 66 55 C 62 53 56 53 50 53 L 24 53.5 C 20 54 17 56 15 58 C 11 62 7 66 3 67.5 C 2.8 62 3 56 4 52 C 6 46 10 42 12 38 C 11.5 30 13 24 17 19 C 23 12 31 6 39 2.8 Z", v3) + oe2("M 84 50 C 90 56 92 64 91 72 C 90 76 88 79 84 81 C 86 72 86 60 84 50 Z", Z2) + ne("M 40 8 C 44 20 42 32 36 44 M 62 34 C 70 36 78 40 84 46 M 66 40 C 72 42 78 46 82 52", "#e0e0e0", 2.2) }, "hair_under/16": { svg: Rt("M 3 36 C 2.8 26 8 16 18 10 C 28 4 40 2.8 50 2.8 C 64 2.8 76 8 82 16 C 88 24 91 34 91.2 44 C 91 47 88 48 84 47.5 C 82 50 79 51 76 49.5 C 75 44 74 36 70 30 C 68 26 66 24 62 22 L 58 20.5 L 46 21 C 44 24 40 25 36 24 C 32 24 30 23 28 22 L 16 23 C 12 26 8 31 5 36 C 4.5 37 3.2 37 3 36 Z", v3) + oe2("M 80 30 C 86 36 89 42 89.5 46 C 88 47.5 86 47.5 84 47.5 C 82 50 79 50.5 77 49 C 79 42 80 36 80 30 Z", Z2) + ne("M 50 6 C 56 14 60 20 62 22 M 70 18 C 78 22 84 30 88 38", "#e0e0e0", 2.2) }, "hair/17": { svg: Rt("M 3 50 C 2.8 36 9 22 22 12 C 30 6 40 2.8 50 2.8 C 54 2.8 58 4 61 5 C 64 3.5 70 2.8 76 3.5 C 90 6 99 16 100.5 30 L 101.2 38 C 101 44 99.5 49 96 51.5 C 92 53 89 54 87.5 56 C 86.5 59 84 59.5 80 59.5 L 76 59.5 C 72 59.5 71.2 56 70.8 50 C 70 42 68 36 64 32 L 47 31.5 C 46 34 44 35 41 35 C 38 35 36 34 35 32 L 26 32 C 21 33.5 18 37 16.5 42 L 14 50 C 12 54 6 54.5 3 50 Z", v3) + oe2("M 78 34 C 84 38 86 44 87 52 C 86.5 57 84 59 80 59.5 C 81 50 81 42 78 34 Z", Z2) + ne("M 20 18 C 26 16 32 16 36 20 M 61 5 C 62 9 62 13 60 17 M 46 18 C 52 16 60 18 62 22", Tt, 3) }, "hair_under/17": { svg: Rt("M 2.8 48 C 2.5 36 9 22 22 12 C 34 5 50 2.8 64 2.8 C 82 4 94 14 97 28 C 98 33 98.5 37 98 40 C 97 44 92 45 87 47 C 86.5 50 85 52 81 52 L 74.5 52 C 72 51.5 71.5 49 71.5 45.5 C 70.5 38 68.5 31 65.5 26 L 48 25 C 47 27.5 44.5 28.5 41 28.5 C 37.5 28.5 35.5 27.5 34.5 25 L 26 25 C 21.5 27 18.5 31 17 37 L 14.5 45.5 C 12.5 49 7 50 2.8 48 Z", v3) + oe2("M 76 30 C 82 34 86 40 87 47 C 86.5 50 85 52 81 52 L 77 52 C 78 44 78 36 76 30 Z", Z2) + ne("M 2.6 30 C 2.4 36 2.5 42 2.8 48 C 7 50 12.5 49 14.5 45.5 L 17 37 C 18.5 31 21.5 27 26 25 L 34.5 25 C 35.5 27.5 37.5 28.5 41 28.5 C 44.5 28.5 47 27.5 48 25 L 65.5 26 C 68.5 31 70.5 38 71.5 45.5 C 71.5 49 72 51.5 74.5 52 L 81 52 C 85 52 86.5 50 87 47 C 92 45 97 44 98 40 C 98.5 37 98 34 97.6 31", Tt, 3.6) + ne("M 26 12 C 32 14 36 16 38 18 M 46 14 C 52 12 60 14 64 20 M 54 3 L 56 7", Tt, 3) }, "hair/18": { svg: Rt("M 4 54 C 12 46 18 36 20 24 C 24 10 40 3 56 3 C 58 5 58 8 57 10 C 60 4 70 3 80 4 C 98 6 108 18 112 34 C 114 42 116 48 122 52 L 112 56 L 120 66 L 104 68 L 108 72 L 86 70 L 78 76 L 74 70 L 54 72 L 48 70 L 32 74 L 30 68 L 14 68 L 18 60 L 6 58 Z", v3) + oe2("M 14 64 C 40 62 80 64 116 62 L 120 66 L 104 68 L 108 72 L 86 70 L 78 76 L 74 70 L 54 72 L 48 70 L 32 74 L 30 68 L 14 68 Z", Z2) }, "hair_under/18": { svg: Rt("M 59.5 3.9 Q 49.9 3.9 42.7 6.3 Q 35.4 8.8 32.3 10.8 Q 29.1 12.9 26.6 15.4 Q 24.1 17.9 19.7 20.5 Q 15.4 23 14.6 24.1 Q 13.8 25.3 13.2 28.6 Q 12.6 32 11.3 34.5 Q 9.9 37.1 6.4 40.3 Q 2.9 43.4 2.9 43.4 Q 2.9 43.4 3.5 43.7 Q 4.1 44 7.8 43.8 Q 11.5 43.6 7.8 48.8 Q 4 54.1 4.1 54.9 Q 4.3 55.7 7.3 57.5 Q 10.3 59.2 12 59.6 Q 13.7 60 21.5 58.5 Q 29.3 56.9 29.2 59.6 Q 29 62.3 29.9 62.7 Q 30.7 63.1 35.8 62.1 Q 40.9 61.1 44.7 59.6 Q 48.5 58.1 55.8 60.6 Q 63.1 63.1 72.6 64.5 Q 82.1 65.9 82.7 65.6 Q 83.3 65.2 83.7 63.1 Q 84.1 61 88.4 62.1 Q 92.7 63.2 96 63.2 Q 99.3 63.2 104.5 62.2 Q 109.7 61.2 111.8 60 Q 113.9 58.9 113.9 58.4 Q 114 57.9 111.6 53.3 Q 109.3 48.7 109.6 46.1 Q 109.9 43.5 107.8 42.2 Q 105.7 40.8 103.1 40.4 Q 100.5 39.9 99.8 34.5 Q 99.1 29.1 97.7 25.9 Q 96.3 22.6 91.1 16.8 Q 85.9 10.9 82.3 8.9 Q 78.7 6.8 73.9 5.4 Q 69.1 3.9 59.5 3.9 Z", v3, { holes: true }) + oe2("M 14 52 C 40 50 80 52 108 50 L 110 52 L 96 54 L 98 58 L 80 58 L 74 64 L 70 58 L 52 60 L 46 58 L 32 62 L 30 56 L 14 56 Z", Z2) }, "hair/19": { svg: Rt("M 43.8 3.4 Q 41.8 3 40.4 3.5 Q 39.1 4 38.3 4.8 Q 37.6 5.6 36.7 7.4 Q 35.9 9.2 35.2 13.3 Q 34.5 17.5 30.8 19.7 Q 27.1 21.9 24 25 Q 21 28.1 19.9 30.2 Q 18.8 32.2 14.7 50.6 Q 10.6 68.9 7.2 77 Q 3.9 85.1 3.4 87.7 Q 3 90.2 4 93.1 Q 5 96 6.3 97.1 Q 7.6 98.3 10 99.1 Q 12.4 100 15.1 99 Q 17.8 98 18.9 96 Q 20.1 93.9 20.1 92 Q 20.1 90.1 19.1 88.1 Q 18.1 86.2 16.1 84.6 Q 14.1 83.1 15.6 76.1 Q 17.1 69.2 17.2 65.7 Q 17.3 62.2 18.4 59.7 Q 19.5 57.1 22.4 57.6 Q 25.3 58 27 57.6 Q 28.6 57.2 31 55.7 Q 33.3 54.2 39.4 55.7 Q 45.5 57.2 47.6 56.7 Q 49.7 56.2 52.6 54.6 Q 55.5 52.9 60.9 56 Q 66.2 59.2 71.2 60 Q 76.2 60.9 78.9 66.5 Q 81.6 72 82.8 78 Q 84 83.9 80.1 84.4 Q 76.3 84.9 75.1 85.7 Q 73.9 86.4 72.8 87.9 Q 71.8 89.4 71.4 91 Q 71 92.5 72.3 96.4 Q 73.6 100.3 74.7 101.1 Q 75.8 101.9 79.7 103 Q 83.5 104.1 87.6 103.2 Q 91.6 102.2 95.4 99.2 Q 99.2 96.2 102.6 97.6 Q 106 99.1 109.6 99.1 Q 113.1 99.2 116.5 97.6 Q 119.8 96.1 122 92.9 Q 124.2 89.7 124.5 87.6 Q 124.9 85.6 124.1 82 Q 123.2 78.4 117.4 71.4 Q 111.6 64.3 104.9 47.4 Q 98.3 30.6 95 26.7 Q 91.8 22.8 88.3 20.5 Q 84.9 18.1 84 14.2 Q 83.2 10.3 82.4 9.2 Q 81.6 8 79.8 7 Q 77.9 5.9 75.4 5.9 Q 72.8 5.8 65.5 8.8 Q 58.2 11.8 54.8 9.2 Q 51.4 6.7 48.6 5.2 Q 45.8 3.8 43.8 3.4 Z", v3, { holes: true }) + oe2("M 8 86 C 12 90 16 90 20 86 C 22 90 20 94 14 94 C 8 94 6 90 8 86 Z M 76 88 C 90 92 110 92 122 84 C 122 92 116 96 108 96 C 100 98 94 96 90 92 C 84 96 76 96 72 92 Z", Z2) + ne("M 26 40 C 26 46 28 50 30 54 M 52 38 C 54 44 54 50 52 54 M 76 52 L 76 64 M 94 62 C 94 72 96 80 100 86", Tt, 3) + Rt("M 36 4 L 58 12 L 80 4 L 82 18 C 70 22 46 22 34 16 Z", "#e83a40", { width: 3 }) }, "hair_under/19": { svg: Rt("M 14 22 C 20 10 36 2.8 58 2.8 C 80 2.8 94 12 97.5 28 C 99 34 102 38 106 42 C 108 46 108.5 52 110 56 C 113 60 114.2 64 114.2 70 C 114 76 110 80 104 81 C 100 83 94 84 88 82.5 C 82 82.5 76 82 72 79 C 70 75 70 70 73 66 C 76 64 78.5 62 79 58 L 78 46 C 74 42 66 40 60 40 L 58 37 L 54 37 L 49 38 L 47 41.5 L 41 41.5 L 39 38 L 31 38 L 29 40 L 22 41 L 19 40 L 17 46 C 17 52 18 58 18.5 64 C 21 68 21 74 19 78 C 16 82 8 82 4.5 78 C 2.8 74 2.8 70 3.5 66 C 5 56 8 44 10.5 36 C 11 30 12 26 14 22 Z", v3) + oe2("M 4 74 C 8 78 14 78 19 74 C 19 79 15 82 10 82 C 6 82 4 78 4 74 Z M 72 74 C 84 80 100 80 113 72 C 112 78 108 81 102 82 C 96 84 90 84 86 82.5 C 80 83 74 81 72 74 Z", Z2) + ne("M 26 22 C 26 28 28 32 30 36 M 52 20 C 54 26 54 32 52 36 M 94 42 C 96 52 100 58 106 62 M 88 82.5 C 88 78 90 74 92 72", Tt, 3) }, "hair/20": { svg: Rt("M 58.9 3.4 Q 53.7 2.9 46 4.4 Q 38.3 5.8 30.6 10.2 Q 23 14.6 20.1 15.2 Q 17.2 15.8 14.2 17.4 Q 11.1 19 9 21 Q 7 23.1 5.9 25.2 Q 4.8 27.3 3.8 31 Q 2.8 34.7 2.9 38.5 Q 2.9 42.2 2.8 42.2 Q 2.7 42.1 10.9 40.7 Q 19 39.3 20.9 34.1 Q 22.8 29 24.6 30.8 Q 26.5 32.7 27.2 35.3 Q 27.9 37.9 30.2 37.5 Q 32.4 37.2 49.2 37.3 Q 66.1 37.3 67.5 38.6 Q 68.9 39.9 73.3 48 Q 77.7 56.1 77.7 56.1 Q 77.8 56.1 80.3 54.3 Q 82.9 52.4 87 51.6 Q 91.1 50.8 91.6 50.2 Q 92.2 49.6 93.2 41.6 Q 94.2 33.5 93.7 29.8 Q 93.1 26.1 91.6 22.6 Q 90 19 87 16 Q 84 13 79.9 11.2 Q 75.7 9.5 73.2 7.6 Q 70.6 5.8 67.3 4.8 Q 64 3.9 58.9 3.4 Z", v3, { holes: true }) + oe2("M 72 42 L 90 38 L 90 42 L 82 44 L 86 52 L 76 56 C 74 50 73 46 72 42 Z", Z2) }, "hair_under/20": { svg: Rt("M 2 36 C 6 24 14 14 30 8 C 46 2 66 2 78 8 C 88 14 92 24 92 32 L 92 38 L 82 40 L 86 46 L 78 49.5 C 76 46 74 42 72 38 L 70 20 L 68 32 L 28 32 L 26 20 L 22 34 Z", v3) + oe2("M 74 38 L 92 34 L 92 38 L 82 40 L 86 46 L 78 49.5 C 76 46 75 42 74 38 Z", Z2) + ne("M 3 26 L 2 36 L 22 34 L 26 20 L 28 32 L 68 32 L 70 20 M 72 38 C 74 42 76 46 78 49.5 L 86 46 L 82 40 L 92 38 M 24 6 C 28 5 32 4 36 4", Tt, 3.6) }, "hair/21": { svg: Rt("M 60.3 3.4 Q 56.7 2.9 53.9 3.4 Q 51.2 3.9 49.4 4.8 Q 47.6 5.8 45.9 5.3 Q 44.2 4.8 39.7 4.9 Q 35.1 4.9 31 7.3 Q 26.9 9.6 24.5 9.8 Q 22.1 9.9 20.1 10.9 Q 18.2 11.9 15.9 14.7 Q 13.7 17.5 11.8 22.4 Q 9.9 27.4 8 28.2 Q 6.2 29 5 30.7 Q 3.8 32.4 3.3 34.4 Q 2.9 36.4 3.9 39.6 Q 5 42.8 5.9 43.5 Q 6.9 44.1 8.5 43.7 Q 10.2 43.3 12.2 40 Q 14.2 36.6 14.9 34.1 Q 15.7 31.6 19 31.9 Q 22.4 32.2 24.5 31.7 Q 26.7 31.2 32 27.7 Q 37.3 24.2 41.6 26.1 Q 45.9 28 50 27.6 Q 54.1 27.2 57.6 31.2 Q 61.2 35.1 63.8 36.7 Q 66.3 38.2 70.1 39.3 Q 73.9 40.3 73.3 44.3 Q 72.8 48.4 73.8 52 Q 74.8 55.6 76.5 57.8 Q 78.2 60.1 79.1 60.5 Q 79.9 61 80.5 60.9 Q 81 60.8 81 60.9 Q 80.9 60.9 80.6 59.1 Q 80.2 57.3 82 54.2 Q 83.8 51 87.5 49.7 Q 91.3 48.3 93.3 48.2 Q 95.4 48.1 96.3 46.9 Q 97.2 45.6 97.6 43.7 Q 98 41.8 96.7 38.2 Q 95.3 34.5 93.7 32.7 Q 92.1 30.8 92.6 29.1 Q 93.1 27.5 92.7 26 Q 92.3 24.5 89.1 20.8 Q 85.9 17 81.9 15.5 Q 77.9 14 76.5 12.1 Q 75.2 10.3 73.1 8.7 Q 71.1 7.1 67.5 5.5 Q 63.9 3.9 60.3 3.4 Z", v3, { holes: true }) + oe2("M 74 44 C 80 46 86 46 90 46 C 92 52 90 56 86 58 L 80 62 C 77 56 75 50 74 44 Z", Z2) + ne("M 10 34 C 8 30 12 26 15 28 C 18 30 15 34 12 33 M 22 26 C 24 22 30 22 30 26 C 30 30 26 30 25 28 M 44 20 C 46 16 52 16 52 20 C 52 24 48 24 47 22 M 66 26 C 68 22 74 22 74 26 C 74 30 70 30 69 28", Tt, 2.8) }, "hair_under/21": { svg: Rt("M 3 34 C 2.8 24 10 14 22 8 C 32 3.5 44 2.8 52 2.8 C 70 2.8 86 12 90 24 C 91 30 91 34 91 37 L 97.5 39.5 C 96 44 92 48 88 50 C 86 53 84 56 81 56.5 C 77 56 74 50 73 44 C 72 40 70 37 66 35 C 62 33 58 30 56 28 C 54 26 52 24.5 50 24.5 L 44 23 C 40 22.5 36 23 33 25 C 30 27 26 28.5 20 28.5 L 16 29 C 14 33 12 37 9 39.5 C 6 40 3.2 38 3 34 Z", v3) + oe2("M 74 40 C 82 42 88 44 92 46 L 96 41 C 95 45 92 48 88 50 C 86 53 84 56 81 56.5 C 77 56 75 48 74 40 Z", Z2) + ne("M 10 28 C 8 24 12 20 15 22 C 18 24 15 28 12 27 M 22 18 C 24 14 30 14 30 18 C 30 22 26 22 25 20 M 44 13 C 46 9 52 9 52 13 C 52 17 48 17 47 15 M 66 18 C 68 14 74 14 74 18 C 74 22 70 22 69 20", Tt, 2.8) }, "hair/22": { svg: oe2("M 72 50 L 88 50 L 86 60 L 76 68 Z", $22, 0.25) + Rt("M 3 48 C 4 34 6 20 10 12 C 30 4 56 2 74 4 C 82 6 86 10 88 12 L 82 18 L 92 20 C 100 24 106 28 111 34 C 104 38 96 40 86 40 L 68 41 L 72 50 C 64 46 54 44 46 44 C 34 44 22 42 14 38 Z", v3) + oe2("M 6 30 C 30 34 70 34 108 32 L 111 34 C 104 38 96 40 86 40 L 68 41 L 72 50 C 64 46 54 44 46 44 C 34 44 22 42 14 38 L 3 48 C 4 42 5 36 6 30 Z", Z2) }, "hair_under/22": { svg: oe2("M 70 32 L 86 30 C 87 38 86 44 82 48 L 72 52 Z", $22, 0.25) + Rt("M 3 22 C 8 12 24 4 44 2 C 62 2 78 8 84 20 C 88 28 88 34 86 38 L 70 32 L 64 18 C 56 22 44 26 30 26 C 22 26 16 22 12 18 L 4 30 Z", v3) + oe2("M 66 18 L 84 20 C 88 28 88 34 86 38 L 70 32 Z", Z2) + ne("M 3 30 L 4 22 L 12 18 C 16 22 22 26 30 26 C 44 26 56 22 64 18 L 70 32 L 86 30", Tt, 3.6) }, "hair/23": { svg: Rt("M 4 4 C 40 4 80 6 110 12 C 116 16 118 22 116 28 L 106 74 L 82 82 L 76 66 L 80 52 L 74 54 C 60 56 40 56 30 54 L 18 50 L 12 64 C 8 56 6 40 4 4 Z", v3) + ne("M 8 7 C 40 12 80 18 112 24 M 32 12 L 32 18 M 76 20 L 76 27 M 100 23 L 100 28", N4, 2.4) + ne("M 84 62 L 104 62 M 82 70 L 102 70", Z2, 2.4) }, "hair_under/23": { svg: Rt("M 46.5 3.9 Q 36.9 3.9 29.7 6.3 Q 22.4 8.8 19.3 10.8 Q 16.1 12.9 13.6 15.4 Q 11.1 18 8.1 19.4 Q 5.2 20.9 4 22.5 Q 2.8 24.1 2.9 28 Q 2.9 31.9 3.2 32.3 Q 3.5 32.8 4.8 31.8 Q 6.1 30.8 8.9 25.3 Q 11.7 19.8 17.5 23 Q 23.3 26.2 26.5 27.2 Q 29.7 28.2 40.4 27.2 Q 51.2 26.2 60 24.7 Q 68.7 23.1 70.1 23.8 Q 71.5 24.4 72.2 29 Q 72.8 33.7 71.4 38 Q 70 42.4 70.9 44.9 Q 71.7 47.5 72.3 48.1 Q 72.9 48.8 73.5 48.9 Q 74.1 49 76.5 47.7 Q 79 46.4 83.8 45.3 Q 88.5 44.2 89.2 43.6 Q 89.9 43 90.3 41.9 Q 90.6 40.8 89.1 40.2 Q 87.5 39.7 86.8 34.4 Q 86.1 29.1 84.7 25.9 Q 83.3 22.6 78.1 16.8 Q 72.9 10.9 69.3 8.9 Q 65.7 6.8 60.9 5.4 Q 56.1 3.9 46.5 3.9 Z", v3, { holes: true }) + ne("M 76 32 L 88 32 M 74 38 L 88 38", Z2, 2.4) }, "hair/24": { svg: Rt("M 62 3.9 Q 56.6 2.9 53.4 3.4 Q 50.1 3.9 46.9 5.4 Q 43.8 6.9 38.6 6 Q 33.5 5.1 31.9 7.3 Q 30.4 9.5 26.4 10.2 Q 22.4 10.8 20.3 12.4 Q 18.2 14 18.1 14.4 Q 18 14.8 19.1 16 Q 20.2 17.2 17 21.8 Q 13.8 26.4 11.6 33.8 Q 9.5 41.2 6.8 44.9 Q 4.1 48.7 4.2 48.8 Q 4.3 49 6.7 49.7 Q 9.2 50.4 7.6 55.2 Q 5.9 59.9 5.9 60.8 Q 5.9 61.6 9.8 61.8 Q 13.6 61.9 13.7 66 Q 13.8 70.1 14 70.4 Q 14.1 70.7 14 70.7 Q 13.9 70.7 15 68.8 Q 16.1 66.8 17.6 65.6 Q 19.1 64.5 19.2 58.9 Q 19.3 53.3 21 48.8 Q 22.7 44.3 24.4 43.5 Q 26.1 42.7 28.1 38.3 Q 30 33.9 31.9 32.2 Q 33.7 30.5 36 29.9 Q 38.3 29.2 40.1 29.3 Q 41.8 29.3 44.1 30.5 Q 46.3 31.6 49 33.6 Q 51.7 35.7 54.3 33.9 Q 57 32.2 60.9 32.3 Q 64.9 32.3 68.1 34.3 Q 71.3 36.2 74 40.6 Q 76.6 45 76.9 48.1 Q 77.2 51.1 77.6 51.5 Q 78.1 51.9 79.3 51.5 Q 80.5 51.1 82.4 51.6 Q 84.3 52.1 85.5 55.7 Q 86.7 59.3 86.8 63.1 Q 86.9 66.8 87.3 67.5 Q 87.6 68.1 87.7 68.1 Q 87.8 68.1 89.1 67 Q 90.5 66 92.3 67 Q 94.1 68.1 94.9 68.1 Q 95.8 68.1 98.6 65.9 Q 101.5 63.8 104.5 66.5 Q 107.5 69.2 108.7 69.5 Q 109.9 69.7 110.5 65.5 Q 111.1 61.4 115.5 61.2 Q 119.9 61.1 121.4 60.3 Q 122.9 59.4 122.9 59.2 Q 122.8 58.9 118.1 54.7 Q 113.4 50.4 116.5 49.8 Q 119.6 49.2 121 48.3 Q 122.3 47.3 122.5 45.9 Q 122.8 44.6 118.8 42.3 Q 114.8 40.1 114 34.2 Q 113.1 28.2 112.1 26.2 Q 111.1 24.1 107.8 21.2 Q 104.5 18.3 104.1 16.5 Q 103.8 14.7 98.3 13.6 Q 92.8 12.6 87.8 8.3 Q 82.8 4 75.1 4.4 Q 67.4 4.8 62 3.9 Z", v3, { holes: true }) + oe2("M 82 40 L 108 38 L 122 46 L 108 50 L 116 60 L 104 58 L 108 70 L 94 62 L 88 70 L 82 60 C 82 52 82 46 82 40 Z M 6 50 L 22 48 L 24 58 L 16 54 L 12 68 L 10 56 Z", Z2) }, "hair_under/24": { svg: Rt("M 63.5 3.9 Q 53.9 3.9 47.6 5.9 Q 41.4 7.8 37.3 10.3 Q 33.1 12.9 30.6 15.4 Q 28.1 18 26.4 18.9 Q 24.8 19.8 24.2 23.5 Q 23.6 27.2 20.8 30.1 Q 18.1 33 11.1 36.3 Q 4.1 39.7 4.1 40.4 Q 4.2 41.1 6.6 43.1 Q 9 45 7.5 48 Q 5.9 51.1 5.9 51.8 Q 5.9 52.6 9.8 52.8 Q 13.6 52.9 13.7 57 Q 13.8 61.1 14 61.4 Q 14.1 61.7 14 61.7 Q 13.9 61.7 15 59.8 Q 16.1 57.8 17.6 56.6 Q 19.1 55.5 19.2 49.9 Q 19.3 44.3 21 39.8 Q 22.7 35.3 24.4 34.5 Q 26.1 33.7 28.1 29.3 Q 30 24.9 31.9 23.2 Q 33.7 21.5 36 20.9 Q 38.3 20.2 40.1 20.3 Q 41.8 20.3 44.1 21.5 Q 46.3 22.6 49 24.6 Q 51.7 26.7 54.3 24.9 Q 57 23.2 60.9 23.3 Q 64.9 23.3 68.1 25.3 Q 71.3 27.2 74 31.6 Q 76.6 36 76.9 39.1 Q 77.2 42.1 77.6 42.5 Q 78.1 42.9 79.3 42.5 Q 80.5 42.1 82.4 42.6 Q 84.3 43.1 85.5 46.7 Q 86.7 50.3 86.8 54.1 Q 86.9 57.8 87.2 58.3 Q 87.4 58.7 89.5 57.9 Q 91.7 57.1 92.9 58 Q 94.1 59 96.4 58.6 Q 98.7 58.2 101.9 60.2 Q 105.1 62.1 106.4 62.1 Q 107.6 62.1 107.9 61.8 Q 108.2 61.5 108.6 58.4 Q 108.9 55.2 111.5 55.6 Q 114 56 115.9 55 Q 117.7 53.9 117.7 53.4 Q 117.7 52.8 114.4 49.9 Q 111.2 47.1 111.9 44.8 Q 112.7 42.5 111.2 41.7 Q 109.8 40.8 107.1 40.4 Q 104.5 39.9 103.8 34.5 Q 103.1 29.1 101.7 25.9 Q 100.3 22.6 95.1 16.8 Q 89.9 10.9 86.3 8.9 Q 82.7 6.8 77.9 5.4 Q 73.1 3.9 63.5 3.9 Z", v3, { holes: true }) + oe2("M 84 36 L 106 34 L 112 46 L 118 44 L 114 52 L 120 56 L 104 60 L 92 60 L 86 52 Z M 6 44 L 22 42 L 14 50 L 12 62 L 8 52 L 4 52 Z", Z2) }, "hair/25": { svg: Rt("M 16 84 C 4 70 2 50 8 36 C 18 14 40 4 68 3 C 96 2 120 14 128 34 C 134 48 132 70 124 82 C 120 90 116 94 114 96 L 106 86 C 98 70 80 56 60 52 C 46 50 30 54 20 62 L 18 84 Z", v3) + oe2("M 6 66 C 10 74 14 80 18 84 L 20 62 C 14 64 10 64 6 66 Z M 104 62 C 116 64 126 60 132 56 C 132 70 128 80 124 84 C 120 90 116 94 114 96 L 106 86 C 104 78 104 70 104 62 Z", Z2) + Rt("M 20 62 C 30 54 46 50 60 52 C 80 56 98 70 106 86 L 100 88 C 92 74 76 66 60 64 C 46 62 32 66 20 74 Z", "#c050c0", { width: 3 }) }, "hair_under/25": { svg: Rt("M 58.5 3.9 Q 48.9 3.9 41.7 6.3 Q 34.4 8.8 31.3 10.8 Q 28.1 12.9 25.6 15.4 Q 23.1 17.9 18.9 20.4 Q 14.7 22.8 13.6 26.5 Q 12.5 30.2 8.1 35.8 Q 3.8 41.4 3.5 42.8 Q 3.2 44.2 4.2 46.2 Q 5.3 48.2 6.2 48.6 Q 7.1 49.1 8.5 49.1 Q 10 49.2 11.1 48.5 Q 12.1 47.8 12.6 46.8 Q 13.1 45.9 13.8 39.2 Q 14.4 32.6 16.6 31.1 Q 18.8 29.5 25.1 27.8 Q 31.3 26.2 42 26.2 Q 52.7 26.2 60.3 27.8 Q 68 29.4 73.6 31.5 Q 79.2 33.5 87.7 38.8 Q 96.2 44.1 100.3 44.2 Q 104.3 44.4 107 48.2 Q 109.7 52 109.8 57.6 Q 109.9 63.2 110.6 63.4 Q 111.3 63.7 112.6 62.8 Q 113.9 61.9 114.4 59.3 Q 115 56.7 112.7 50.3 Q 110.4 43.9 107.6 42.4 Q 104.8 40.8 102.1 40.4 Q 99.5 39.9 98.8 34.5 Q 98.1 29.1 96.7 25.9 Q 95.3 22.6 90.1 16.8 Q 84.9 10.9 81.3 8.9 Q 77.7 6.8 72.9 5.4 Q 68.1 3.9 58.5 3.9 Z", v3, { holes: true }) + Rt("M 104 44 C 108 48 110 54 110 62 L 112 64 C 114 56 114 48 110 42 Z", v3, { width: 3 }) + oe2("M 20 16 C 40 4 70 2 90 8 C 100 14 104 22 106 32 C 98 22 86 14 72 12 C 54 10 34 12 20 16 Z", Z2) + Rt("M 14 22 C 30 12 60 8 80 12 C 92 16 100 26 106 36 L 100 46 C 90 38 76 30 60 26 C 44 24 26 28 14 34 Z", "#c050c0", { width: 3 }) }, "hair/26": { svg: Rt("M 32.7 3.3 Q 32.2 3.2 27.7 7.9 Q 23.2 12.7 20.8 8.9 Q 18.5 5.1 18.3 5.1 Q 18.1 5.1 14.5 11.5 Q 10.8 17.8 8.3 15 Q 5.8 12.2 5.5 12.3 Q 5.1 12.4 4 20.9 Q 2.8 29.5 2.8 33.3 Q 2.8 37.2 3.3 38.6 Q 3.8 40 8.2 39.6 Q 12.6 39.2 14.3 43.5 Q 15.9 47.8 17.8 48.9 Q 19.6 50 19.5 50 Q 19.4 50.1 20.7 46.5 Q 22 43 24 41.1 Q 26 39.2 28.7 39.6 Q 31.3 39.9 33.8 39.1 Q 36.2 38.2 52.1 38.3 Q 68 38.3 70.2 40 Q 72.5 41.6 73.7 48.5 Q 74.8 55.5 74.9 59.6 Q 74.9 63.7 75 63.8 Q 75.2 64 79.1 60.6 Q 83 57.3 87.6 57.7 Q 92.2 58.2 92.6 58 Q 93 57.8 96 46.2 Q 99.1 34.7 99.2 34.8 Q 99.2 35 96.3 35.1 Q 93.3 35.3 93.3 28.1 Q 93.2 20.9 93 20.5 Q 92.8 20.1 92.4 20.1 Q 91.9 20 87.6 22.2 Q 83.2 24.4 82.1 19 Q 81 13.5 79.9 13.3 Q 78.8 13 75.1 14.6 Q 71.4 16.2 69.8 11.4 Q 68.3 6.6 68 6.3 Q 67.8 6.1 66 6.5 Q 64.2 6.8 58.8 9.6 Q 53.3 12.4 52.3 8.5 Q 51.3 4.6 50.9 4.2 Q 50.6 3.9 50.4 3.9 Q 50.1 3.9 44.3 7 Q 38.6 10 37.2 9.4 Q 35.8 8.7 34.5 6.1 Q 33.2 3.5 32.7 3.3 Z", v3, { holes: true }) + oe2("M 76 40 L 94 40 L 94 44 L 86 46 L 90 56 L 76 62 Z", Z2) + ne("M 14 36 C 18 32 24 32 28 34", Tt, 3) }, "hair_under/26": { svg: Rt("M 45.5 3.9 Q 35.9 3.9 28.7 6.3 Q 21.4 8.8 18.3 10.8 Q 15.1 12.9 12.6 15.4 Q 10.1 18 7.1 19.4 Q 4.2 20.9 3.6 21.9 Q 2.9 22.8 3.5 24.9 Q 4 27 8.3 26.6 Q 12.6 26.2 14.3 30.5 Q 15.9 34.8 17.8 35.9 Q 19.6 37 19.5 37 Q 19.4 37.1 20.7 33.5 Q 22 30 24 28.1 Q 26 26.2 28.7 26.6 Q 31.3 26.9 33.8 26.1 Q 36.2 25.2 52.1 25.3 Q 68 25.3 70.2 27 Q 72.5 28.6 73.7 35.5 Q 74.8 42.5 74.9 46.6 Q 74.9 50.7 75 50.8 Q 75.2 51 79.1 47.6 Q 83 44.3 87.6 44.7 Q 92.2 45.2 92.6 44.9 Q 93 44.7 93.4 43.5 Q 93.8 42.3 92.7 41.6 Q 91.7 40.8 89.1 40.4 Q 86.5 39.9 85.8 34.5 Q 85.1 29.1 83.7 25.9 Q 82.3 22.6 77.1 16.8 Q 71.9 10.9 68.3 8.9 Q 64.7 6.8 59.9 5.4 Q 55.1 3.9 45.5 3.9 Z", v3, { holes: true }) + oe2("M 76 28 L 88 28 L 88 38 L 94 42 L 88 48 L 78 52.5 Z", Z2) }, "hair/27": { svg: Rt("M 48.2 3.4 Q 43.7 2.9 39.6 3.9 Q 35.4 4.8 31.2 8 Q 26.9 11.2 25.9 13.2 Q 24.8 15.2 24.4 17.4 Q 24 19.6 24.4 21.6 Q 24.8 23.5 25.4 24.3 Q 26.1 25 27.4 25.6 Q 28.7 26.1 30.6 25.7 Q 32.6 25.2 35.1 26.5 Q 37.6 27.8 40.5 26.5 Q 43.5 25.3 46.9 26.6 Q 50.2 27.9 52.2 26.8 Q 54.1 25.7 56.1 20.8 Q 58.1 15.9 58.6 13.6 Q 59 11.4 58.6 9.5 Q 58.3 7.7 55.5 5.8 Q 52.7 3.9 48.2 3.4 Z M 79.3 8.9 Q 76.6 8.9 76.8 8.7 Q 76.9 8.5 79.9 10.7 Q 82.9 12.8 84.4 16 Q 85.8 19.1 85.7 22.5 Q 85.7 25.8 84.8 27.5 Q 83.9 29.2 80.6 31.5 Q 77.3 33.8 76.6 34.9 Q 75.9 36.1 75.9 39.1 Q 75.9 42.1 76.8 44.7 Q 77.7 47.3 79.2 48.5 Q 80.7 49.6 84.9 47.5 Q 89.2 45.3 92.8 45.2 Q 96.5 45.1 97.8 43.4 Q 99.2 41.6 99.7 38.6 Q 100.2 35.5 99.7 32.8 Q 99.1 30.1 97.2 25.3 Q 95.3 20.5 92.4 16.7 Q 89.6 12.9 88.1 11.8 Q 86.5 10.7 84.3 9.8 Q 82 8.9 79.3 8.9 Z M 13.9 20.3 Q 13.9 20.2 11.4 22.2 Q 8.9 24.2 6.4 29.2 Q 3.9 34.2 3.4 37.7 Q 3 41.3 3.4 42.9 Q 3.8 44.6 4.6 45.8 Q 5.4 46.9 6.1 46.8 Q 6.7 46.7 8.9 42.8 Q 11.1 38.9 11.2 33.1 Q 11.3 27.3 12.7 23.8 Q 14 20.3 14 20.3 Q 14 20.3 13.9 20.3 Z", v3, { holes: true }) + oe2("M 80 40 C 86 38 92 36 96 36 C 96 44 90 48 82 48 L 78 46 Z", Z2) }, "hair_under/27": { svg: Rt("M 48.8 3.9 Q 42.9 3.9 36.7 5.8 Q 30.4 7.8 28.7 9 Q 26.9 10.2 25.9 12.2 Q 24.8 14.2 24.4 16.4 Q 24 18.6 24.4 20.6 Q 24.8 22.5 25.4 23.3 Q 26.1 24 27.4 24.6 Q 28.7 25.1 30.6 24.7 Q 32.6 24.2 35.1 25.5 Q 37.6 26.8 40.5 25.5 Q 43.5 24.3 46.9 25.6 Q 50.2 26.9 52.2 25.8 Q 54.1 24.7 56.1 19.8 Q 58.1 14.9 58.6 12.6 Q 59 10.4 58.6 8.5 Q 58.2 6.6 56.5 5.3 Q 54.8 3.9 48.8 3.9 Z M 76.4 8.9 Q 77 8.9 76.8 8.2 Q 76.6 7.4 79.7 9.6 Q 82.9 11.8 84.4 15 Q 85.8 18.1 85.7 21.5 Q 85.7 24.8 84.8 26.5 Q 83.9 28.2 80.6 30.5 Q 77.3 32.8 76.6 33.9 Q 75.9 35.1 75.9 38.1 Q 75.9 41.1 76.8 43.7 Q 77.7 46.3 79.2 47.5 Q 80.7 48.6 84.9 46.5 Q 89.2 44.3 92.9 44.2 Q 96.7 44.1 97.3 43.5 Q 98 42.9 98.4 42 Q 98.8 41.1 98.6 40.9 Q 98.5 40.8 96 40.4 Q 93.5 39.9 92.8 34.5 Q 92.1 29.1 90.7 25.9 Q 89.3 22.6 84.1 16.7 Q 78.8 10.9 77.3 9.9 Q 75.8 8.9 76.4 8.9 Z M 13.3 20 Q 13 20 11.6 20.9 Q 10.2 21.8 8.7 23.9 Q 7.1 25.9 5.5 30 Q 3.9 34.1 3.4 37.2 Q 3 40.3 3.4 41.9 Q 3.8 43.6 4.6 44.8 Q 5.4 45.9 6.1 45.8 Q 6.7 45.7 8.9 41.8 Q 11.1 37.9 11.2 32.1 Q 11.3 26.3 12.4 23.2 Q 13.5 20.1 13.3 20 Z", v3, { holes: true }) + oe2("M 80 40 C 86 38 92 36 96 36 C 96 44 90 48 82 48 L 78 46 Z", Z2) }, "hair/28": { svg: Rt("M 77.7 3.9 Q 71.7 3 66.9 3.9 Q 62.1 4.9 58.3 6.4 Q 54.5 7.9 50.3 6.4 Q 46.1 4.9 42.5 4.9 Q 38.9 4.9 34.7 6.3 Q 30.4 7.8 27.3 9.8 Q 24.3 11.8 21 16.1 Q 17.8 20.4 17.3 22.6 Q 16.8 24.7 16.8 30.7 Q 16.8 36.7 15.2 44.5 Q 13.5 52.2 11.8 54.1 Q 10.1 56 6.8 57.4 Q 3.5 58.8 3.4 59.2 Q 3.3 59.5 7.2 61.8 Q 11.2 64.1 13.7 64.4 Q 16.3 64.6 16.7 64.1 Q 17.2 63.6 18.3 57.8 Q 19.4 52.1 21 47.4 Q 22.5 42.8 25.3 37.3 Q 28.1 31.8 31.6 29 Q 35.2 26.2 37.7 26.8 Q 40.1 27.5 41.7 28.5 Q 43.2 29.6 44.6 28.3 Q 46 27 49.3 25.6 Q 52.6 24.3 56.3 26.2 Q 60.1 28 64 32.5 Q 67.9 36.9 72.9 44.9 Q 77.9 52.9 83.5 60 Q 89.1 67.1 92.4 74.7 Q 95.8 82.4 95.9 82.4 Q 96.1 82.5 97.1 80.6 Q 98.2 78.8 99.5 70.7 Q 100.9 62.6 106.7 60.9 Q 112.6 59.2 117.2 55.9 Q 121.9 52.6 121.9 52.7 Q 121.9 52.7 118.4 52.2 Q 115 51.6 111.4 49.3 Q 107.9 47.1 108.5 45.5 Q 109.2 43.9 114.3 41.1 Q 119.5 38.3 119.6 37.9 Q 119.7 37.4 116.8 35.7 Q 113.9 33.9 111.5 31.5 Q 109.1 29.2 104.6 22.7 Q 100.1 16.2 96.6 13.1 Q 93 10 88.4 7.4 Q 83.8 4.9 77.7 3.9 Z", v3, { holes: true }) + oe2("M 76 40 C 90 46 104 46 120 40 L 108 46 L 122 52 L 104 58 L 102 68 L 96 82 C 92 70 86 56 76 40 Z M 6 56 L 18 52 L 18 62 C 14 66 8 64 3 58 Z", Z2) }, "hair_under/28": { svg: Rt("M 63.1 3.9 Q 53.9 3.9 46.7 6.3 Q 39.4 8.8 36.3 10.8 Q 33.1 12.9 30.6 15.4 Q 28.1 18 24 20.2 Q 20 22.4 18.4 25.3 Q 16.8 28.2 15.2 36.7 Q 13.5 45.2 11.8 47.1 Q 10.1 49 6.8 50.4 Q 3.5 51.8 3.4 52.2 Q 3.3 52.5 7.2 54.8 Q 11.2 57.1 13.7 57.4 Q 16.3 57.6 16.7 57.1 Q 17.2 56.6 18.3 50.8 Q 19.4 45.1 21 40.4 Q 22.5 35.8 25.3 30.3 Q 28.1 24.8 31.6 22 Q 35.2 19.2 37.7 19.8 Q 40.1 20.5 41.7 21.5 Q 43.2 22.6 44.6 21.3 Q 46 20 49.3 18.6 Q 52.6 17.3 56.3 19.2 Q 60.1 21 64 25.5 Q 67.9 29.9 72.9 37.9 Q 77.9 45.9 83.5 53 Q 89.1 60.1 92.3 67.6 Q 95.6 75.2 95.7 75.3 Q 95.8 75.4 97 73.5 Q 98.2 71.7 99.7 63.3 Q 101.2 54.8 106.8 56.5 Q 112.4 58.1 114.8 57.2 Q 117.2 56.4 117.5 56 Q 117.8 55.5 113.6 49.8 Q 109.4 44 109.3 42.5 Q 109.2 41 106.8 40.4 Q 104.5 39.8 103.8 34.5 Q 103.1 29.1 101.7 25.9 Q 100.3 22.6 95.1 16.8 Q 89.9 10.9 86.3 8.9 Q 82.7 6.8 77.5 5.3 Q 72.3 3.8 63.1 3.9 Z", v3, { holes: true }) + oe2("M 74 34 C 88 42 100 42 112 44 L 116 50 L 104 54 L 98 62 L 94 76 C 90 64 84 50 74 34 Z", Z2) }, "hair/29": { svg: Rt("M 29 18 C 28 10 32 5 37 5 C 40 5 42 6 44 8 C 46 4 50 2.8 55 2.8 C 60 2.8 64 4 66 7 C 70 6.5 74 7 76 9 C 80 7.5 84 9 85 12 C 87 14 87 18 86 22 L 30 22 Z", "#f8e090") + Rt("M 6.5 107.5 C 4.5 106 3.5 103 3.5 98 L 2.8 60 C 3 44 7 32 16 24 C 24 18 36 14.5 50 14.5 C 66 14.5 80 18 88 26 C 93 32 95 40 95 50 L 95.2 62 C 95 65 92 66.5 86 66.5 C 83.5 67 83 70 83 74 L 82.5 96 C 82 102 80 106 77.5 107.5 C 75.5 106 74 102 73.5 96 L 72.5 72 C 72 66 70.5 60 68 56.5 L 66 53 C 65 54.5 63 54.5 59 54 C 57 52 56.5 48 55 40 C 54 48 54 52 52.5 54 L 43 54 C 41.5 52 41 46 39 39 C 37.5 46 37 51 35 53.5 L 23 53.5 C 21.5 51 21 46 21 40 C 19.5 46 18 51 15 54 C 12.5 56 11 58 10.5 62 L 9.5 98 C 9.3 103 8.5 106 6.5 107.5 Z", v3) + oe2("M 84 40 C 90 46 94 52 95 58 L 95 62 C 94 65 90 66 86 66.5 C 85 58 85 48 84 40 Z", Z2) + ne("M 9 66 C 10 54 14 42 20 32 M 77 74 C 78.5 82 79 90 79 98", Tt, 2.6) }, "hair_under/29": { svg: Rt("M 3.5 86 L 3 40 C 3 26 6 16 14 10 C 22 4.5 34 2.8 50 2.8 C 66 2.8 80 8 86 18 C 89 24 89.5 32 89.5 38 L 95.2 39.5 L 95.2 44.5 L 88 46 C 84 47 83 50 82.5 56 L 82 74 C 81 80 79 86 76.5 87.5 C 75 86 74.5 82 74 76 L 71 36 L 67 34.5 L 65 33 L 64.5 33.5 L 58 33 L 56 28 L 54.5 33 L 52 34.5 L 43 34.5 L 41.5 28 L 39 21 L 36 30 L 34.5 31.5 L 23 31.5 L 21 26 L 20.5 21 L 19 24 L 14 32 C 12 36 11.5 40 10.5 46 L 9 84 C 8.5 87 7.5 88 7 88 C 5 88 3.8 87 3.5 86 Z", v3) + oe2("M 80 30 C 88 32 89.5 36 89.5 38 L 95 40 L 95 44 L 88 46 C 84 47 83 50 82.5 56 L 82 70 C 80 56 80 42 80 30 Z", Z2) }, "hair/30": { svg: Rt("M 11 103 C 6 100 3 92 2.8 80 L 2.8 60 C 3 36 14 18 32 9 C 44 3.5 56 2.8 66 2.8 C 84 3 100 14 108 30 C 113 40 115.2 52 115.2 66 L 115 76 C 114 92 108 104 98 108 C 92 110 84 110.5 78 110 C 79 104 81.5 98 81.5 90 L 81 76 C 80.5 64 78 52 73 45 L 16 45 C 14.5 47 14 50 14 54 L 13.5 96 C 13.3 100 12.5 102 11 103 Z", v3) + oe2("M 90 80 C 98 82 106 80 113 76 C 112 90 106 100 98 106 L 80 109 C 84 100 88 90 90 80 Z", Z2) + ne("M 88 32 C 94 44 96 60 96 78 M 100 38 C 104 50 106 64 106 80", "#e0e0e0", 2.4) + ne("M 24 15 C 22 20 22 24 24 28 M 45 36 L 45 44 M 64 36 L 64 44", Tt, 2.4) }, "hair_under/30": { svg: Rt("M 57.5 3.9 Q 47.9 3.9 40.7 6.3 Q 33.4 8.8 30.3 10.8 Q 27.1 12.9 24.6 15.4 Q 22.1 18 19.2 19.4 Q 16.4 20.8 14.4 25.1 Q 12.4 29.3 10.1 32.4 Q 7.7 35.5 5.8 40.8 Q 3.9 46 3.4 50.8 Q 2.8 55.5 3.8 63.7 Q 4.9 71.9 6.3 75.7 Q 7.7 79.5 9.9 82.3 Q 12.2 85.1 13 85.5 Q 13.9 86 13.9 86 Q 13.8 86 13 80.8 Q 12.2 75.6 12.2 54.9 Q 12.2 34.2 13.9 29.6 Q 15.7 25 19.6 24.1 Q 23.5 23.2 25.8 23.6 Q 28.2 24 29.2 23.6 Q 30.1 23.2 38.2 23.2 Q 46.2 23.2 47.7 22.7 Q 49.3 22.2 61.1 22.8 Q 72.9 23.3 74.9 24.5 Q 76.9 25.7 79.2 30.9 Q 81.6 36.1 83.7 45.7 Q 85.8 55.3 85.7 67 Q 85.7 78.6 85.1 80.9 Q 84.5 83.1 81.7 87.2 Q 78.9 91.2 78.9 91.1 Q 78.9 91.1 81.7 92.1 Q 84.6 93.1 86.1 92.7 Q 87.7 92.2 90.8 90.6 Q 94 89 97 86.3 Q 100.1 83.6 105.5 76.9 Q 110.9 70.2 111.9 66.3 Q 113 62.4 112.1 58.8 Q 111.2 55.3 108.8 51.2 Q 106.5 47.1 105.7 44.6 Q 104.9 42 104.2 41.4 Q 103.6 40.8 101 40.4 Q 98.5 39.9 97.8 34.5 Q 97.1 29.1 95.5 25.6 Q 94 22 88.9 16.5 Q 83.9 10.9 80.3 8.9 Q 76.7 6.8 71.9 5.4 Q 67.1 3.9 57.5 3.9 Z", v3, { holes: true }) + oe2("M 86 66 C 96 68 104 66 108 62 C 108 72 104 82 96 88 L 80 92 C 84 84 86 74 86 66 Z", Z2) + ne("M 82 22 C 88 34 90 48 90 62 M 92 28 C 96 40 98 52 98 66", "#e0e0e0", 2.4) }, "hair/20_back": { svg: Rt(G4, v3, { stroke: "none" }) + se("hair_back_20", G4, oe2("M 0 36 C 20 30 46 30 70 36 L 70 95 L 0 95 Z", Z2)) + Rt(G4, "none") }, "hair/21_back": { svg: Rt(W4, v3, { stroke: "none" }) + se("hair_back_21", W4, oe2("M 0 28 C 20 20 40 24 50 22 C 66 20 80 26 96 34 L 96 110 L 0 110 Z", Z2)) + Rt(W4, "none") + ne("M 30 80 L 32 88 M 52 82 L 52 90 M 82 62 C 76 62 74 56 78 54 C 82 52 84 56 81 58", Tt, 2.6) }, "hair/28_back": { svg: Rt(F4, Z2, { stroke: "none" }) + se("hair_back_28", F4, oe2("M 60 0 C 72 20 84 40 90 66 L 96 66 L 96 0 Z", v3)) + Rt(F4, "none") }, "hair/29_back": { svg: Rt(K4, v3, { stroke: "none" }) + se("hair_back_29", K4, oe2("M 36 56 C 56 56 70 66 76 80 L 76 112 L 36 112 Z", Z2)) + Rt(K4, "none") + ne("M 50 104 L 50 98 M 58 104 L 58 94 M 66 104 L 66 99", "#b8b8b8", 2.2) } };
|
|
1184
|
+
var x8 = "M 7 54 C 6 26 28 3 60 2.5 C 92 2 116 24 115.5 56 C 115 76 109 92 97 97 L 84 98 C 82 92 81 86 81 80 C 86 76 86 60 74 56 L 9 55 Z";
|
|
1185
|
+
var z4 = "M 28 48 C 30 30 34 16 40 9 C 56 3 82 1 104 5 C 112 7 118 11 120 14 C 124 24 128 36 129 50 Z";
|
|
1186
|
+
var V4 = "M 4 63 C 2 58 6 55 14 53 C 22 51 26 49 30 46 C 42 40 56 36 66 36 C 80 37 96 42 110 46 C 120 48 128 50 132 51 C 140 54 148 58 151 63 C 152 67 150 70 146 70 C 128 68 112 64 98 59 C 84 54 70 50 60 50 C 48 50 36 55 26 59 C 18 62 10 66 4 63 Z";
|
|
1187
|
+
var Y4 = "M 3 26 C 14 26 26 27 40 28 C 70 32 96 37 110 40 C 120 42 128 44 133 47 L 132 58 C 132 63 128 65 124 64 C 116 62 110 63 108 63 C 92 58 70 54 50 52 C 38 51 30 50 26 49 C 18 42 10 34 3 26 Z";
|
|
1188
|
+
var X4 = "M 28 64 C 30 40 32 22 36 12 C 46 4 66 2 86 3 C 104 4 118 12 125 22 C 126 40 124 58 122 76 L 100 72 C 80 64 60 60 40 64 Z";
|
|
1189
|
+
var c6 = "M 3 66 C 10 63 20 63 28 64 C 40 62 54 60 64 62 C 76 64 90 70 100 74 L 120 78 C 128 80 136 84 142 88 C 138 94 128 98 120 98 C 110 96 104 90 96 86 C 82 78 66 74 50 76 C 36 78 22 84 10 82 C 4 80 2 74 3 66 Z";
|
|
1190
|
+
var J4 = "M 4 56 C 2 46 6 40 12 38 C 16 22 34 6 60 3 C 86 1 104 10 112 26 C 116 34 116 42 114 48 C 118 52 120 58 120 66 C 120 74 116 78 110 78 C 96 76 76 68 54 58 C 42 54 28 58 20 62 C 12 66 6 64 4 56 Z";
|
|
1191
|
+
var E8 = (a5, e$1, o6, r7, L6) => {
|
|
1192
|
+
let C5 = "M 4 48 C 2 42 4 40 10 40 C 22 38 32 30 40 20 C 50 8 64 4 80 4 C 96 4 110 10 118 22 C 122 28 122 36 122 44 C 124 46 130 48 132 50 L 130 64 C 130 70 126 72 122 70 C 104 62 72 58 46 60 C 30 62 18 64 10 64 C 6 64 4 60 4 54 Z";
|
|
1193
|
+
return Rt(C5, e$1, { stroke: "none" }) + se(a5, C5, oe2("M 92 6 C 108 10 120 18 124 34 L 124 50 C 116 38 108 24 92 6 Z", o6), oe2("M 0 52 C 40 50 90 52 136 58 L 136 80 L 0 80 Z", o6), ne("M 8 44 C 20 42 30 36 40 26 C 50 12 64 7 80 7 C 96 7 108 12 116 24", "#f0a028", 3.4)) + Rt(C5, "none") + Rt("M 48 26 C 48 20 54 16 62 16 C 70 16 76 20 76 26 C 76 32 72 34 70 35 L 70 40 L 54 40 L 54 35 C 50 34 48 32 48 26 Z", r7, { stroke: "none" }) + Ft(57, 26, 2.6, 3.6, L6, { stroke: "none" }) + Ft(67, 26, 2.6, 3.6, L6, { stroke: "none" });
|
|
1194
|
+
};
|
|
1195
|
+
var R8 = (a5, e5, o6) => {
|
|
1196
|
+
let r7 = "M 22 52 C 22 30 32 14 50 8 C 64 4 76 4 88 5 C 98 6 104 6 108 8 C 114 18 118 34 118 52 L 118 74 L 96 64 Z";
|
|
1197
|
+
return Rt("M 72 5 C 74 1 82 0 85 4 Z", e5, { width: 2.6 }) + Rt(r7, "#e0dceb", { stroke: "none" }) + se(a5, r7, oe2("M 88 5 C 92 20 94 40 96 64 L 120 76 L 120 0 Z", e5), ne("M 88 5 C 92 20 94 40 96 64", ie2(e5, -0.3), 2.4)) + Rt(r7, "none") + Rt("M 2 58 C 8 50 20 46 34 46 C 56 46 80 54 96 64 C 92 68 86 70 80 68 C 64 62 44 56 26 58 C 16 60 8 62 2 58 Z", o6) + ne("M 20 52 C 36 50 56 52 74 58", ie2(o6, -0.25), 2.4);
|
|
1198
|
+
};
|
|
1199
|
+
var T8 = (a$1, e5, o6, r7) => {
|
|
1200
|
+
let L6 = "M 4 70 C 2.8 50 8 30 22 16 C 34 6 46 2.8 58 2.8 C 80 2.8 98 12 108 28 C 113 38 114.2 50 114.2 62 C 114.2 78 112 92 106 100 C 98 110 80 116 56 116.2 C 36 116 18 110 10 100 C 5 92 4 82 4 70 Z", C5 = "M 13.2 57 C 22 60 40 61.5 60 61 C 70 60.5 78 59.5 81.3 59.5 L 81.3 77 C 78 82 66 88 54 91.5 C 46 93 38 92.5 32 90 C 24 86 18 82 13.2 76 Z", i$1 = "M 10.5 54.5 C 22 57.5 40 59 60 58.5 C 70 58 79 57 84 57 L 84 77.5 C 80 84 67 90.5 54 94 C 45 96 37 95.5 30 92.5 C 21 88.5 15 84 10.5 78 Z", h$1 = "M 7 51 C 22 54 42 55.5 62 55 C 72 54.5 82 53.5 88 53.5 L 88 78.5 C 84 87 69 95 54 98 C 44 100 34 99 26 95.5 C 17 91.5 10 86 7 80 Z", p5 = ie2(e5, -0.45);
|
|
1201
|
+
return Rt(`${L6} ${C5}`, e5, { stroke: "none", holes: true }) + se(a$1, L6, Rt("M 21 26 C 24 20 28 14 34 9 L 26 34 Z M 72 14 C 82 10 92 12 98 18 L 101 32 C 92 34 82 38 74 44 Z", r7, { stroke: p5, width: 2.4 }), Rt("M 56 1 L 72 1 L 52 55 L 38 55 Z", o6, { stroke: p5, width: 2.4 }), oe2("M 0 98 C 30 108 80 110 116 90 L 116 120 L 0 120 Z", ie2(e5, -0.2)), ne("M 4 98 C 30 108 80 110 114 90 M 10 106 C 34 114 76 114 106 100", Tt, 2.6)) + Rt(`${L6} ${C5}`, "none", { holes: true }) + Rt(`${h$1} ${C5}`, o6, { holes: true, width: 3 }) + Rt(`${i$1} ${C5}`, "#7a7a7c", { holes: true, stroke: "none" }) + Rt(C5, "none", { width: 2.6 });
|
|
1202
|
+
};
|
|
1203
|
+
var S8 = (a5, e5) => {
|
|
1204
|
+
let o6 = "M 4 66 C 2 58 8 54 16 52 C 20 32 30 14 44 8 C 56 4 66 2 72 3 C 82 2 90 6 96 10 C 110 18 118 32 120 46 C 122 58 124 66 124 74 C 110 72 90 66 70 62 C 50 58 30 58 16 62 C 10 64 6 66 4 66 Z", r7 = ie2(e5, -0.22);
|
|
1205
|
+
return Rt(o6, e5, { stroke: "none" }) + se(a5, o6, oe2("M 74 4 C 96 8 112 24 118 44 L 126 80 L 96 80 C 96 60 90 30 74 4 Z", ie2(e5, -0.08)), ne("M 70 4 C 70 16 72 26 76 34 M 20 48 C 50 50 90 54 124 58 M 80 32 C 82 20 90 18 98 22 C 108 28 114 40 116 56", r7, 3)) + Rt(o6, "none");
|
|
1206
|
+
};
|
|
1207
|
+
var P8 = (a5, e$1, o6) => Rt("M 80 62 C 82 56 90 54 98 56 C 108 60 116 70 116 82 C 116 94 110 102 100 102 C 92 102 84 98 82 90 C 80 80 80 70 80 62 Z", a5) + Ft(101, 82, 3.5, 6.5, "none", { stroke: ie2(a5, -0.35), width: 2.6 }) + Rt("M 4 54 C 6 50 10 48 14 46 C 16 24 34 6 60 4 C 86 2 104 18 108 40 C 110 48 112 56 112 62 L 86 62 C 64 58 40 58 22 60 C 12 62 6 60 4 54 Z", a5) + oe2("M 18 40 C 40 36 70 36 92 40 L 92 48 C 70 46 40 46 18 50 Z", ie2(a5, -0.15)) + ne("M 16 50 C 40 46 70 44 90 46", ie2(a5, -0.35), 2.6) + Rt("M 30 24 L 38 24 L 44 38 L 52 24 L 60 24 L 48 46 L 40 46 Z", e$1, { stroke: o6, width: 2.2 });
|
|
1208
|
+
var D8 = (a5, e$1) => Ft(16.5, 26.5, 13, 23.5, a5, { width: 3 }) + Rt("M 10 6 C 5 14 5 38 10 47 C 8 40 7 14 10 6 Z", e$1, { stroke: "none" });
|
|
1209
|
+
var B8 = "#dcdcea";
|
|
1210
|
+
var O8 = (a$1, e5) => {
|
|
1211
|
+
let o6 = "M 10 54 C 20 34 36 14 56 6 C 72 2 90 4 100 14 C 108 22 112 30 116 38 C 116 46 112 50 110 52 L 110 62 L 14 56 Z", r7 = "M 4 62 C 6 54 14 52 24 52 C 60 50 90 54 112 62 C 116 64 118 70 116 78 C 116 86 110 88 104 86 C 80 78 50 72 20 76 C 8 78 2 72 4 62 Z";
|
|
1212
|
+
return Rt(o6, e5, { stroke: "none" }) + se(a$1, o6, oe2("M 0 40 C 40 30 80 36 120 46 L 120 70 L 0 70 Z", ie2(e5, -0.12))) + Rt(o6, "none") + ne("M 98 24 C 100 34 106 40 114 42", Tt, 2.8) + Rt("M 114 30 C 116 24 124 22 128 26 C 134 28 136 34 134 40 C 136 46 132 54 126 54 C 122 58 114 56 112 50 C 110 44 110 36 114 30 Z", B8) + Rt(r7, B8, { stroke: "none" }) + se(`${a$1}_brim`, r7, oe2("M 0 76 C 40 70 80 76 120 84 L 120 92 L 0 92 Z", "#b8b8cc")) + Rt(r7, "none") + ne("M 12 64 L 14 68 M 40 56 L 42 58 M 58 66 L 62 68 M 84 60 L 86 62 M 104 70 L 106 74 M 120 36 L 122 38 M 124 46 L 125 49", "#9a9ab8", 2.6);
|
|
1213
|
+
};
|
|
1214
|
+
var q4 = (a5, e5, o6) => {
|
|
1215
|
+
let r7 = "M 4 50 C 2 30 12 12 36 6 C 60 0 88 2 102 14 C 110 22 112 36 110 52 C 110 58 108 62 106 64 L 104 74 L 96 68 L 94 80 C 92 92 92 104 90 110 L 76 110 C 74 96 74 80 74 66 C 74 54 70 50 64 50 L 18 52 C 14 54 12 58 12 66 L 12 102 C 10 108 6 108 4 104 Z";
|
|
1216
|
+
return Rt(r7, e5, { stroke: "none" }) + se(a5, r7, oe2("M 0 82 C 30 80 60 80 114 84 L 114 116 L 0 116 Z", ie2(e5, -0.1)), K2("M 6 34 C 30 26 60 24 80 30 C 90 34 100 42 108 52", o6, 4.5, "5 4")) + Rt(r7, "none");
|
|
1217
|
+
};
|
|
1218
|
+
var H8 = (a$1, e5, o6, r7) => {
|
|
1219
|
+
let L6 = "M 4 60 L 26 12 C 40 4 62 3 82 5 C 98 7 108 14 112 26 L 110 74 L 4 60 Z";
|
|
1220
|
+
return ne("M 8 68 C 2 86 4 102 18 112 C 30 118 60 118 76 112 C 86 106 92 92 98 70", Tt, 7) + ne("M 8 68 C 2 86 4 102 18 112 C 30 118 60 118 76 112 C 86 106 92 92 98 70", o6, 3.4) + ee(22, 113, 24, 11, 4, r7, { width: 3 }) + Rt(L6, e5, { stroke: "none" }) + se(a$1, L6, oe2("M 40 0 L 52 0 L 28 60 L 16 60 Z", ie2(e5, 0.12)), oe2("M 86 0 L 120 0 L 120 80 L 100 76 C 104 50 98 20 86 0 Z", ie2(e5, -0.15))) + Rt(L6, "none") + Rt("M 3 60 C 4 56 8 56 12 56 C 40 58 80 64 110 72 C 112 74 112 80 108 82 L 106 84 C 80 76 40 68 8 66 C 4 66 3 64 3 60 Z", ie2(e5, 0.1));
|
|
1221
|
+
};
|
|
1222
|
+
var e0 = (a$1, e5, o6, r7, L6, C5, i$1, h$1) => {
|
|
1223
|
+
let p5 = "M 22 110 C 14 90 12 66 20 48 C 28 30 44 20 60 18 C 76 16 96 22 108 34 C 120 46 124 66 122 86 C 122 100 120 108 112 112 L 92 112 C 92 96 90 80 84 68 C 76 56 64 52 50 54 C 36 56 26 66 24 80 C 22 92 24 102 26 110 Z";
|
|
1224
|
+
return Rt("M 52 22 C 52 10 58 4 66 6 C 74 8 80 14 82 20 Z", r7) + Rt("M 116 40 C 122 34 130 36 132 44 C 132 50 128 56 124 58 Z", r7) + Rt("M 6 68 C 2 70 2 76 6 80 C 4 84 8 88 14 86 L 18 76 Z", r7) + Rt(p5, e5, { stroke: "none" }) + se(a$1, p5, ...h$1 ? [oe2("M 0 54 C 40 60 90 56 124 40 L 124 120 L 0 120 Z", h$1)] : [], ne("M 24 108 C 18 84 22 64 38 58 C 54 52 74 54 84 66 C 92 78 94 96 94 112", o6, 5)) + Rt(p5, "none") + Rt("M 102 82 C 108 72 122 68 132 74 C 128 80 128 84 132 88 C 126 94 112 94 102 82 Z", r7) + te2(36, 32, 8, L6) + te2(36, 32, 2.4, C5, { stroke: "none" }) + te2(74, 36, 10, L6) + te2(74, 36, 2.6, C5, { stroke: "none" }) + Rt("M 42 44 C 46 38 54 38 60 42 C 62 46 60 52 54 52 C 50 54 44 52 42 48 Z", i$1, { width: 3 }) + ne("M 44 46 L 58 46", Tt, 2.2);
|
|
1225
|
+
};
|
|
1226
|
+
var I8 = (a5, e5, o6, r7) => {
|
|
1227
|
+
let L6 = "M 4 30 C 30 24 70 22 100 30 L 112 46 C 110 56 104 66 98 70 C 70 72 40 72 6 72 Z";
|
|
1228
|
+
return Rt("M 22 14 C 40 4 70 2 92 6 C 106 10 114 20 116 34 L 120 50 C 126 56 128 66 124 76 C 120 84 110 86 100 82 L 98 66 Z", e5) + Rt(L6, o6, { stroke: "none", opacity: 0.8 }) + se(a5, L6, oe2("M 26 20 L 40 20 L 52 76 L 38 76 Z", ie2(o6, 0.35)), ne("M 14 42 C 40 36 70 38 96 46", ie2(o6, -0.15), 2.4)) + Rt(L6, "none") + Rt("M 6 22 C 40 16 80 18 112 36 L 120 48 C 120 54 116 56 112 52 C 84 32 40 26 6 30 Z", r7);
|
|
1229
|
+
};
|
|
1230
|
+
var N8 = (a5, e5) => Rt("M 24 2.8 C 28 2.5 32 2.8 32.2 5 L 32.2 22 C 32 32 30 42 26 48 C 22 52.5 14 53 9 50 C 4 46 2.8 40 2.8 32 C 2.8 20 6 12 10 9.5 C 14 7.5 18 6.5 21 5 C 22 4 23 3 24 2.8 Z", a5) + oe2("M 8 14 C 5.5 22 5.5 34 8 44 L 10 44 C 8 34 8 22 10 14 Z", e5);
|
|
1231
|
+
var a0 = (a5, e5, o6) => {
|
|
1232
|
+
let r7 = "M 4 46 C 4 26 18 8 42 4 C 66 0 92 10 100 30 C 104 42 104 56 102 68 L 92 64 C 78 46 56 40 34 42 C 22 44 10 46 4 46 Z";
|
|
1233
|
+
return Rt(r7, e5, { stroke: "none" }) + se(a5, r7, oe2("M 0 26 C 40 18 80 24 106 40 L 106 72 L 0 72 Z", ie2(e5, -0.12)), ne("M 22 8 C 22 24 22 36 24 44 M 72 8 C 76 26 78 44 80 58", ie2(e5, -0.3), 2.6)) + Rt(r7, "none") + Rt("M 24 40 C 26 30 36 26 44 26 C 52 26 58 30 60 38 Z", ie2(e5, -0.2), { width: 3 }) + ee(24, 34, 36, 8, 2, o6, { width: 3 });
|
|
1234
|
+
};
|
|
1235
|
+
var t0 = (a5) => Rt("M 6 10 C 8 4 20 2 34 8 C 50 14 64 26 62 36 C 60 42 48 42 34 36 C 18 30 4 18 6 10 Z", a5);
|
|
1236
|
+
var o0 = (a$1, e5, o6 = "") => {
|
|
1237
|
+
let r7 = "M 4 50 C 4 42 8 36 14 34 C 24 18 40 10 60 8 C 70 6 80 4 86 4 C 96 2 104 8 108 16 C 112 28 112 40 112 52 L 110 70 C 106 72 100 70 90 66 C 70 58 40 54 20 56 C 10 56 4 54 4 50 Z", L6 = ie2(e5, -0.3);
|
|
1238
|
+
return Rt(r7, e5, { stroke: "none" }) + se(a$1, r7, oe2("M 0 34 C 40 24 80 26 116 34 L 116 40 C 80 32 40 32 0 40 Z", ie2(e5, -0.15)), ne("M 12 38 C 40 28 80 28 112 36 M 20 40 L 20 56 M 34 36 L 34 56 M 48 34 L 48 57 M 62 35 L 62 59 M 76 37 L 76 62 M 90 40 L 90 66 M 102 42 L 102 70", L6, 2.6)) + Rt(r7, "none") + ne("M 82 8 C 86 12 90 16 94 18", Tt, 2.8) + o6;
|
|
1239
|
+
};
|
|
1240
|
+
var j8 = (a5, e$1, o6) => Rt("M 78 4 C 92 6 106 14 112 26 C 115 34 115 42 114 48 L 104 46 C 104 36 100 24 90 14 Z", a5) + Rt("M 22 14 C 28 8 40 3 58 2.8 C 76 2.8 90 6 98 14 C 102 20 103 30 101 38 L 92 40 C 84 30 72 24 58 22 C 44 20 32 20 22 18 Z", e$1) + Rt("M 3 37 C 3 32 8 28 18 25 C 36 20 62 19 80 24 C 88 27 93 32 95 38 L 94 47 C 84 48 74 47 64 45 C 52 42 42 39 32 39 C 22 39 14 42 8 45.5 C 4.5 47 2.8 42 3 37 Z", a5) + ne("M 10 37 C 28 30 60 27 92 34", ie2(a5, -0.3), 2.4) + ee(27, 27.5, 25, 9, 2, o6, { stroke: ie2(a5, -0.4), width: 2.4 }) + ee(90, 37, 12, 13, 1, "#9a9a9a", { width: 2.6 }) + Ft(101, 70, 18, 21.5, e$1) + oe2("M 84 76 C 92 82 110 82 118 76 C 116 86 110 90 101 90 C 92 90 86 86 84 76 Z", ie2(e$1, -0.15)) + ne("M 99 49 C 96 60 96 80 99 91", ie2(e$1, -0.3), 2.4);
|
|
1241
|
+
var G8 = (a5) => Ft(18.5, 23, 15, 20, a5, { width: 3 }) + Rt("M 12 6 C 6 14 6 32 12 40 C 10 32 10 14 12 6 Z", ie2(a5, 0.25), { stroke: "none" });
|
|
1242
|
+
var r0 = (a$1, e$1, o6, r7) => {
|
|
1243
|
+
let L6 = "M 3 74 C 6 54 14 40 24 32 C 24 20 26 10 32 4 C 38 8 46 16 52 24 L 72 24 C 76 14 84 6 92 4 C 96 12 98 22 96 30 C 112 40 124 56 130 74 C 136 86 130 98 122 104 C 120 106 118 106 118 104 C 116 96 112 90 106 86 C 90 76 60 72 30 72 C 20 72 10 74 3 74 Z";
|
|
1244
|
+
return ee(36, 70, 8, 9, 2, "#fbecb4", { width: 2.6 }) + ee(46, 70, 8, 9, 2, "#fbecb4", { width: 2.6 }) + Rt(L6, e$1, { stroke: "none" }) + se(a$1, L6, oe2("M 0 70 C 40 66 90 72 136 90 L 136 112 L 0 112 Z", ie2(e$1, -0.15))) + Rt(L6, "none") + oe2("M 32 16 C 36 20 40 24 42 28 L 32 28 Z M 86 14 C 90 18 90 24 88 28 L 78 28 Z", o6) + r7 + te2(49, 40, 2.8, Tt, { stroke: "none" }) + te2(61, 40, 2.8, Tt, { stroke: "none" }) + Ft(50, 57, 14, 9, "#f0a0a0", { width: 3 }) + ne("M 45 54 L 45 60 M 55 54 L 55 60", "#8a2a30", 2.6);
|
|
1245
|
+
};
|
|
1246
|
+
var s0 = (a5) => Rt("M 4 26 C 4 12 14 6 30 6 C 60 2 100 2 120 6 C 128 8 130 14 130 24 L 130 46 C 130 56 124 60 112 60 L 24 60 C 12 60 4 52 4 40 Z", a5);
|
|
1247
|
+
var n0 = (a5, e5, o6) => Rt("M 4 20 L 28 4 L 48 10 C 70 10 86 10 96 14 C 112 22 124 34 130 50 L 108 66 L 20 50 C 12 40 6 30 4 20 Z", a5) + oe2("M 96 16 C 112 24 122 36 128 50 L 108 64 L 90 56 Z", ie2(a5, -0.1)) + Rt("M 12 50 C 20 48 30 50 40 52 C 70 56 96 62 110 70 C 110 76 104 80 96 78 C 70 72 40 70 20 76 C 12 72 10 60 12 50 Z", o6) + Rt("M 16 44 C 50 48 80 54 110 62 L 108 68 C 80 60 50 54 16 52 Z", e5, { width: 2.6 }) + Rt("M 18 28 L 64 26 L 64 40 L 44 48 L 20 40 Z", "#f8a830") + Rt("M 30 28 C 32 34 38 36 42 36 C 48 36 52 32 54 27 Z", "#ffd040", { stroke: "none" }) + ne("M 42 36 L 42 46 M 30 34 L 24 40 M 54 32 L 60 38", "#d07018", 2);
|
|
1248
|
+
var W8 = (a$1, e$1) => {
|
|
1249
|
+
let o6 = "M 3 42 C 2.8 28 14 12 30 6 C 40 2.8 52 2.8 60 2.8 C 80 4 96 16 101 30 C 103.5 38 103.5 50 103.5 58 C 103.5 64 103 67 102 67.5 C 90 60 72 52 50 49 C 36 47 26 46.5 18 47 C 12 47.5 8 47.5 5 46.5 C 3.5 45.5 3 44 3 42 Z";
|
|
1250
|
+
return Rt(o6, e$1, { stroke: "none" }) + se(a$1, o6, oe2("M 0 38 C 40 32 80 36 110 48 L 110 72 L 0 72 Z", ie2(e$1, -0.12))) + Rt(o6, "none") + ne("M 90 50 L 101 60", Tt, 2.6) + Rt("M 28 16 C 30 10 40 8 46 8 C 54 8 58 12 58 20 C 58 26 56 30 54 32 L 54 36 C 50 40 36 40 32 36 L 32 32 C 28 30 26 24 28 16 Z", "#f8dcb0") + Ft(37, 20, 3.4, 2.6, "#3a3040", { stroke: "none" }) + Ft(48, 20, 3.4, 2.6, "#3a3040", { stroke: "none" }) + Rt("M 34 28 C 38 32 46 32 50 28 L 48 34 L 36 34 Z", "#3a3040", { stroke: "none" });
|
|
1251
|
+
};
|
|
1252
|
+
var F8 = (a5) => Rt("M 6 40 C 2 26 6 10 14 6 C 20 8 22 20 22 30 C 22 40 18 48 12 50 C 8 50 6 46 6 40 Z", a5) + Rt("M 16 4 C 28 6 40 20 42 36 C 40 40 36 40 32 36 C 24 28 18 16 16 4 Z", a5);
|
|
1253
|
+
var K8 = (a5, e5, o6, r7) => Rt(x8, a5) + oe2("M 52 3 L 60 3 C 52 16 44 32 40 48 L 32 48 C 36 32 44 16 52 3 Z M 80 6 L 88 9 C 78 20 70 34 66 50 L 58 49 C 62 32 70 18 80 6 Z", e5) + oe2("M 16 22 L 22 30 L 20 20 Z M 92 24 L 104 30 L 98 38 Z", o6) + oe2("M 95 46 L 104 42 L 106 50 L 114 50 L 115 66 L 106 64 L 104 78 L 97 72 L 98 62 L 94 58 Z", e5) + oe2("M 84 82 C 92 84 104 82 113 76 C 112 86 106 94 97 97 L 84 98 C 82 92 82 86 84 82 Z", o6) + oe2("M 8 47 L 64 49 C 76 50 88 58 90 70 C 90 76 88 80 84 82 C 85 72 82 60 74 56 L 9 55 Z", e5) + Rt(x8, "none") + Rt("M 33 51 C 33 43 36 40 44 40 L 52 40 C 56 40 57 43 57 47 L 57 54 L 33 54 Z", r7 === e5 ? e5 : r7) + Rt("M 9 78.5 L 78 80 C 83 80 84.5 83 84.5 86 L 84 100 C 84 104 81 106 77 106 L 9 105 C 5 105 3 102 3 98 L 3 85 C 3 81 5 78.5 9 78.5 Z M 10 86.5 L 22 86.5 L 22 99 L 10 99 Z M 28 87 L 47 87 L 47 100 L 28 100 Z M 53 88 L 73 88 L 73 100 L 53 100 Z", r7, { holes: true });
|
|
1254
|
+
var U8 = (a5) => Rt("M 7 3 L 63 6 C 80 7 90 16 91 30 L 90 53 L 14 54 C 6 52 3 45 3 38 C 3 31 6 27 6 20 Z", a5);
|
|
1255
|
+
var z8 = (a5, e5, o6, r7, L6, C5, i$1) => Rt(z4, e5, { stroke: "none" }) + se(a5, z4, oe2("M 0 34 C 40 30 90 36 140 40 L 140 60 L 0 60 Z", o6)) + Rt(z4, "none") + ee(53, 15, 29, 15, 5, r7, { width: 3 }) + ne("M 44 12 L 50 13.5 M 87 16 L 93 16 M 99 16.5 L 112 14", L6, 2.2) + Rt(V4, C5, { stroke: "none" }) + se(`${a5}_brim`, V4, oe2("M 0 72 C 10 66 20 60 30 56 C 44 50 54 46 62 46 C 76 46 90 52 104 57 C 118 62 134 66 152 64 L 152 80 L 0 80 Z", i$1)) + Rt(V4, "none");
|
|
1256
|
+
var V8 = (a5, e5) => Rt("M 6 64 C 4 44 12 30 24 28 C 34 26 44 25 52 26 C 62 25 70 27 78 32 C 96 34 110 44 112 60 C 113 70 110 76 104 76 L 10 76 Z", a5) + oe2("M 8 46 C 16 44 22 46 28 48 L 28 58 L 8 60 Z M 52 44 C 60 42 68 42 74 44 L 72 58 L 52 58 Z M 82 50 C 96 50 106 54 111 58 L 110 72 L 92 68 Z", e5) + Rt("M 3 68 L 10 64 L 17 34 C 18 30 22 30 23 35 L 25 56 L 31 57 L 39 9 C 40 2 45 2 46 8 L 52 58 L 72 58 L 75 37 L 90 66 C 96 70 102 72 108 74 L 110 82 C 110 88 106 90 102 89 C 70 78 40 74 8 80 C 3 81 2 72 3 68 Z", "#f0aa42") + oe2("M 10 65 L 17 36 L 20 64 L 16 78 L 9 79 Z M 39 10 L 42 8 L 44 70 L 36 72 Z", "#f8d277") + oe2("M 75 40 L 90 66 C 96 70 102 72 108 74 L 110 82 C 110 88 106 90 102 89 C 94 86 86 84 78 82 Z", "#dd8f30");
|
|
1257
|
+
var Y8 = (a5, e5, o6, r7, L6) => Rt("M 116 40 C 114 28 122 14 140 3 C 142 6 141 12 138 20 C 136 22 134 24 133 25 C 136 28 136 32 134 36 C 128 40 120 42 116 40 Z", r7, { width: 3 }) + ne("M 119 38 C 124 26 130 16 138 7", L6, 2) + Rt("M 38 27 C 50 18 72 8 98 5 L 112 20 L 116 40 L 40 28 Z", e5) + Rt(Y4, e5, { stroke: "none" }) + se(a5, Y4, oe2("M 88 30 L 140 30 L 140 70 L 82 70 Z", o6)) + Rt(Y4, "none");
|
|
1258
|
+
var X8 = (a$1, e5, o6, r7) => Rt(X4, e5, { stroke: "none" }) + se(a$1, X4, r7) + Rt(X4, "none") + Rt(c6, o6) + ne("M 36 71 C 50 64 62 62 72 64 M 98 80 C 104 84 108 87 110 88", Tt, 2.6);
|
|
1259
|
+
var J8 = (a5, e5, o6, r7) => Rt("M 12 3 C 16 4 19 10 33 16 L 22 42 C 8 38 1 26 3 15 C 4 8 8 3 12 3 Z", o6) + Rt("M 17 48 C 22 28 40 10 64 7 C 82 5 95 12 100 18 L 118 50 L 120 62 L 17 62 Z", a5) + Rt("M 42 15 C 50 9 58 7 66 8 C 58 18 54 32 53 46 L 35 46 C 36 34 38 22 42 15 Z", e5) + Rt("M 126 6 C 131 12 131 30 124 40 C 118 46 104 46 97 40 C 90 34 90 24 94 21 C 104 22 114 18 120 8 C 122 5 124 5 126 6 Z", o6) + Rt("M 10 49 C 40 42 90 46 122 60 C 125 64 125 74 123 80 C 90 66 40 58 12 64 C 7 62 7 52 10 49 Z", e5) + [[12.5, 56], [32.5, 52.5], [60, 53], [91, 58], [116, 67.5]].map(([L6, C5]) => te2(L6, C5, 3.8, r7, { width: 2.6 })).join("");
|
|
1260
|
+
var q8 = (a$1, e5, o6, r7, L6) => {
|
|
1261
|
+
let C5 = "M 6 58 C 3 50 4 38 12 30 C 18 24 28 22 38 24 C 44 18 56 14 68 15 C 82 16 94 22 104 30 C 112 38 118 50 119 66 C 120 80 119 92 118 102 L 92 103 C 92 90 90 80 86 72 C 80 64 70 62 60 62 L 10 62 Z";
|
|
1262
|
+
return Rt("M 52 22 C 54 12 58 6 62 4 C 66 6 72 10 74 14 Z", o6) + Rt("M 88 20 L 100 17 L 102 28 Z", o6) + Rt("M 113 40 L 118 46 L 116 54 Z", o6) + Rt(C5, e5, { stroke: "none" }) + se(a$1, C5, oe2("M 86 84 C 96 86 108 86 120 82 L 120 106 L 86 106 Z", ie2(e5, -0.1))) + Rt(C5, "none") + ne("M 8 32 C 20 24 40 24 46 34", Tt, 3) + ne("M 18 38 L 18 46 M 28 38 L 28 46", L6, 3.2) + te2(86, 46, 11, r7) + te2(88, 42, 2.4, L6, { stroke: "none" }) + Rt("M 6 62 L 16 62 L 11 71 Z", "#f4f2e0", { width: 2.6 }) + Rt("M 20 62 L 32 62 L 26 72 Z", "#f4f2e0", { width: 2.6 });
|
|
1263
|
+
};
|
|
1264
|
+
var e3 = (a$1, e5, o6, r7, L6, C5) => {
|
|
1265
|
+
let i5 = "M 30 30 C 50 20 70 18 86 24 C 104 30 116 44 120 60 C 122 72 120 84 118 90 C 104 76 84 66 66 62 C 54 60 40 58 30 58 Z", h$1 = "M 22 38 C 30 36 42 36 50 38 L 50 54 C 44 58 34 58 26 54 Z M 62 42 C 72 40 86 42 96 46 C 96 56 92 62 84 62 C 74 62 66 58 62 50 Z";
|
|
1266
|
+
return ne("M 40 7 L 12 100", Tt, 11) + ne("M 40 7 L 18 80", r7, 6) + ne("M 18 80 L 12 100", L6, 6) + te2(12, 102, 9, C5) + te2(12, 102, 4, ie2(C5, -0.35), { stroke: "none" }) + Rt(i5, e5, { stroke: "none" }) + se(a$1, i5, ne("M 40 52 C 70 54 96 64 118 82", ie2(e5, -0.15), 2.6)) + Rt(i5, "none") + Rt(h$1, "#c8dcf8", { stroke: "none" }) + Rt(h$1, "none", { stroke: Tt, width: 7 }) + Rt(h$1, "none", { stroke: o6, width: 4 }) + ne("M 50 44 L 62 46", Tt, 7) + ne("M 50 44 L 62 46", o6, 4);
|
|
1267
|
+
};
|
|
1268
|
+
var a3 = { "hat/1": { svg: K8("#d8292f", "#ffd2d0", "#b0232a", "#ffd2d0") }, "hat/1_back": { svg: U8("#6e2027") }, "hat/2": { svg: z8("hat_2", "#8c8475", "#706a5d", "#b27a00", "#6a6458", "#8c8475", "#b6b897") }, "hat/9_low": { svg: V8("#4b3e9e", "#3b3083") + Ft(38, 60, 5, 8, "#c23fd0", { width: 2.6 }) + oe2("M 37 54 C 39 54 40 56 40 59 L 38 59 C 38 57 37.5 56 37 54 Z", "#f6b6ff") }, "hat/12_low": { svg: Y8("hat_12_", "#06a34a", "#068a3c", "#ead8d8", "#a89a9a") }, "hat/15": { svg: X8("hat_15", "#271a5c", "#2c1d62", oe2(X(88, 22, 18, 10), "#c83ad0") + oe2(X(41, 40, 15, -12), "#a230d0") + oe2(X(112, 64, 15, 20), "#a632ec")) }, "hat/27_low": { svg: J8("#6c3a2c", "#77756b", "#dfb8a6", "#5e5c54") }, "hat/3_low": { svg: Rt(J4, "#ead8b4", { stroke: "none" }) + se("hat_3_", J4, oe2("M 0 50 C 30 46 60 52 90 60 C 104 64 114 64 124 62 L 124 90 L 0 90 Z", "#c8b490"), ne("M 40 5 C 44 14 52 20 62 22 M 16 34 C 30 30 50 24 64 22 C 80 20 92 18 100 18 M 18 36 C 40 38 70 42 92 50 C 102 54 108 56 114 56", "#8a7a60", 2.4)) + Rt(J4, "none") }, "hat/8_low": { svg: E8("hat_8_", "#3a2848", "#2a1c38", "#e8dcd4", "#7a6a60") }, "hat/31_low": { svg: E8("hat_31_", "#c03048", "#9a2038", "#f4eef4", "#8a2a3a") }, "hat/4": { svg: R8("hat_4", "#9a58c8", "#c070d0") + Rt("M 38 22 L 56 16 L 72 22 L 70 38 L 40 40 Z", "#1f7d8a", { stroke: "#145a64", width: 2 }) + oe2("M 54 22 C 50 22 46 24 46 28 L 54 26 L 52 36 L 56 36 L 56 26 L 64 28 C 62 24 58 22 54 22 Z", "#0d4a52") }, "hat/48": { svg: R8("hat_48", "#e84850", "#e84850") + Ft(56, 27, 14, 10, "#68c0ff", { stroke: "#3a8ac8", width: 2.4 }) }, "hat/5": { svg: T8("hat_5", "#2e2e30", "#c8c8c8", "#70e050") }, "hat/39": { svg: T8("hat_39", "#e83ca0", "#18e0e8", "#ffffff") }, "hat/6": { svg: S8("hat_6", "#ffb020") }, "hat/57": { svg: S8("hat_57", "#ff7038") }, "hat/7": { svg: P8("#4048d8", "#2a2a70", "#d8d8e8") }, "hat/59": { svg: P8("#e8f0f8", "#444448", "#ffffff") }, "hat/7_back": { svg: D8("#9a9ad0", "#4848c8") }, "hat/59_back": { svg: D8("#c8d0d8", "#f4f8fc") }, "hat/10_low": { svg: O8("hat_10_", "#d83a2a") }, "hat/47_low": { svg: O8("hat_47_", "#10a050") }, "hat/11_low": { svg: q4("hat_11_", "#d07830", "#a02a20") }, "hat/45_low": { svg: q4("hat_45_", "#383c44", "#6a7078") }, "hat/46_low": { svg: q4("hat_46_", "#ffae20", "#d88a10") }, "hat/13_low": { svg: H8("hat_13_", "#8a8eae", "#a0b0b0", "#6a6a90") }, "hat/51_low": { svg: H8("hat_51_", "#8a5a48", "#c08070", "#4a3830") }, "hat/14_low": { svg: e0("hat_14_", "#ff7a28", "#d85a28", "#ff9a40", "#f8e8a0", "#8a5a30", "#e870b8") }, "hat/53_low": { svg: e0("hat_53_", "#e8608a", "#ff88c0", "#a8287a", "#f8e070", "#1f1a21", "#ff5a48") }, "hat/54_low": { svg: e0("hat_54_", "#2838a0", "#b8b8cc", "#60b8d8", "#f4f4f8", "#1f1a21", "#ff7ab0", "#d8d8e8") }, "hat/16": { svg: I8("hat_16", "#eaf4fc", "#a8d8f8", "#e83ca0") }, "hat/58": { svg: I8("hat_58", "#3c2c78", "#3a3a40", "#ffb020") }, "hat/16_back": { svg: N8("#c0b8d8", "#eef0f8") }, "hat/58_back": { svg: N8("#1a1822", "#4a3c90") }, "hat/17_low": { svg: Rt("M 4 10 C 30 4 70 2 100 8 C 116 12 124 22 122 34 C 120 44 116 50 112 54 L 14 48 C 10 34 6 20 4 10 Z", "#f2e8f0") + oe2("M 88 40 C 96 34 108 36 116 46 L 112 54 L 88 50 Z", "#ddd0dc") + ne("M 30 5 C 34 20 36 34 38 46 M 58 4 L 58 46 M 86 8 C 84 22 82 36 80 50 M 112 22 C 106 32 100 42 96 52", "#a89ab0", 2.4) + Rt("M 12 46 C 40 48 80 52 114 60 L 112 78 C 80 72 40 66 14 66 Z", "#f2e8f0") + oe2("M 84 54 C 94 56 104 58 113 60 L 111 76 C 102 74 92 73 84 72 Z", "#ddd0dc") }, "hat/18": { svg: Rt("M 30 60 C 30 30 50 10 76 6 C 82 2 88 2 90 6 C 110 10 122 28 124 52 L 124 62 Z", "#e8b878") + ne("M 82 8 C 86 24 90 40 92 56", "#d0985a", 2.6) + Rt("M 30 32 C 60 28 100 36 124 48 L 124 60 C 100 52 60 48 30 50 Z", "#c07838") + [94, 104, 112].map((a5) => ee(a5, 38, 4, 18, 1, "#f0d0a0", { width: 2 })).join("") + Rt("M 38 28 L 50 26 L 56 42 L 62 24 L 74 24 L 62 54 L 50 56 Z", "#b0703a", { stroke: "#8a5028", width: 2.6 }) + Rt("M 4 70 C 14 60 30 56 50 56 C 80 56 110 60 126 64 C 134 70 140 80 138 88 C 110 82 70 78 40 76 C 24 76 12 78 4 76 Z", "#e8b878") + ne("M 14 72 C 50 68 100 72 130 80", "#d09a60", 2.4) }, "hat/19_low": { svg: Rt("M 30 26 C 50 18 78 16 98 22 C 106 30 110 44 112 60 L 110 72 C 90 62 60 54 30 54 Z", "#0e5a78") + Rt("M 6 72 C 30 64 70 62 100 70 C 108 76 114 88 116 100 L 102 102 C 90 88 70 82 50 82 C 34 82 22 86 14 90 C 8 86 4 80 6 72 Z", "#0e6a8a") + Rt("M 4 66 C 30 54 70 50 100 56 C 108 60 112 66 114 72 L 112 76 C 90 64 50 62 10 74 Z", "#f8b830") + Rt("M 38 14 L 44 10 L 52 22 L 46 26 Z M 58 2 L 66 2 L 64 18 L 58 18 Z M 76 18 L 84 14 L 88 20 L 78 26 Z", "#ffe070", { width: 2.6 }) + Rt("M 48 52 L 56 74 L 64 52 Z", "#0e5a78", { width: 2.6 }) + Ft(56, 40, 12, 14, "#ffd848") + Ft(56, 40, 6, 8, "#0e5a78", { width: 2.6 }) }, "hat/20_low": { svg: a0("hat_20_", "#d8d8e8", "#333336") }, "hat/34_low": { svg: a0("hat_34_", "#2e5aa0", "#f4f6f4") }, "hat/35_low": { svg: a0("hat_35_", "#f0a0e0", "#f4f6f4") }, "hat/20_back": { svg: t0("#2e2e30") }, "hat/34_back": { svg: t0("#2e5aa0") }, "hat/35_back": { svg: t0("#f0a0e0") }, "hat/21_low": { svg: o0("hat_21_", "#6a8a30", ne("M 38 28 C 44 30 50 30 56 28", "#3e5418", 2.4) + te2(30, 28, 8, "#b8c040", { stroke: "#3e5418", width: 2.4 }) + Rt("M 60 20 L 80 32 L 72 42 L 54 30 Z", "#d8e0d0", { stroke: "#3e5418", width: 2.4 })) }, "hat/40_low": { svg: o0("hat_40_", "#4048c8", ne("M 38 28 C 44 30 50 30 56 28", "#262a80", 2.4) + te2(30, 28, 8, "#ffc020", { stroke: "#262a80", width: 2.4 }) + Rt("M 60 20 L 80 32 L 72 42 L 54 30 Z", "#20a890", { stroke: "#262a80", width: 2.4 })) }, "hat/41_low": { svg: o0("hat_41_", "#5a3a3a") }, "hat/22_low": { svg: j8("#a060c0", "#3a3a3e", "#f4f2ea") }, "hat/43_low": { svg: j8("#4a78c8", "#e0e0e8", "#3a3c40") }, "hat/22_back": { svg: G8("#3a3a3e") }, "hat/43_back": { svg: G8("#a8a8ac") }, "hat/23": { svg: r0("hat_23", "#c05a48", "#9a3a30", Rt("M 26 46 C 30 40 36 38 40 40 L 36 54 C 32 56 28 52 26 46 Z", "#fbecb4", { width: 2.6 }) + Rt("M 64 40 C 68 38 74 40 76 46 C 74 52 70 56 66 54 Z", "#fbecb4", { width: 2.6 }) + Rt("M 12 74 L 22 75 L 18 90 Z", "#fbecb4", { width: 2.6 }) + Rt("M 80 80 L 92 82 L 86 96 Z", "#fbecb4", { width: 2.6 })) }, "hat/55": { svg: r0("hat_55", "#ffb0b0", "#e07a90", te2(22, 54, 8, "#ff9880", { stroke: "none" }) + te2(78, 54, 8, "#ff9880", { stroke: "none" })) }, "hat/56": { svg: r0("hat_56", "#6a6a7a", "#f090a8", "") }, "hat/23_back": { svg: s0("#a85040") }, "hat/55_back": { svg: s0("#e09094") }, "hat/56_back": { svg: s0("#60606e") }, "hat/24": { svg: n0("#3e2c88", "#8a82c8", "#3a2878") }, "hat/37": { svg: n0("#2a2a2e", "#6a6a60", "#1e1e22") }, "hat/38": { svg: n0("#ece4ec", "#c8c0c8", "#222226") }, "hat/25": { svg: Rt("M 82 54 C 78 64 78 80 86 90 L 92 96 C 84 90 80 78 82 54 Z", "#2a3c40", { width: 2.6 }) + Rt("M 4 52 C 10 44 18 42 24 40 C 30 22 50 8 74 6 C 98 4 116 20 120 44 C 122 56 120 70 118 80 C 118 88 116 96 110 96 C 98 96 88 90 84 80 C 82 70 86 60 92 54 L 96 52 C 70 48 40 50 10 54 C 6 54 4 53 4 52 Z", "#c82a30") + oe2("M 88 76 C 100 74 112 72 120 70 C 120 80 118 90 112 95 C 100 96 90 90 88 76 Z", "#a82028") + ne("M 14 40 C 40 34 80 34 108 44", "#9a1820", 2.6) + [[22, 28], [38, 24], [60, 24], [84, 28], [104, 36]].map(([a5, e5]) => te2(a5, e5, 4, "#9a1820", { stroke: "none" })).join("") + Rt("M 100 80 C 102 76 110 76 110 80 C 110 84 102 84 100 80 Z", "none", { stroke: "#7a1018", width: 2 }) }, "hat/25_back": { svg: Rt("M 6 10 C 16 6 28 4 38 4 C 38 14 36 22 34 30 C 32 42 30 52 24 56 C 16 56 8 52 6 44 C 4 34 6 22 6 10 Z", "#2a3c40") + oe2("M 8 11 C 10 24 10 40 16 54 L 12 54 C 8 46 6 34 7 11 Z", "#b0101c") }, "hat/26": { svg: W8("hat_26_", "#b0288a") }, "hat/49_low": { svg: W8("hat_49_", "#3a6a3a") }, "hat/26_back": { svg: F8("#9a1e7a") }, "hat/49_back": { svg: F8("#2e562e") }, "hat/32": { svg: K8("#18c080", "#f2eaf2", "#10a068", "#3a3a3c") }, "hat/32_back": { svg: U8("#108050") }, "hat/36": { svg: z8("hat_36", "#d8a860", "#b88a48", "#7a5048", "#b08040", "#d8a860", "#f0d090") }, "hat/42_low": { svg: V8("#c82a40", "#9a1e30") + Ft(38, 60, 5, 8, "#f8e020", { width: 2.6 }) + oe2("M 37 54 C 39 54 40 56 40 59 L 38 59 C 38 57 37.5 56 37 54 Z", "#ffffff") }, "hat/33_low": { svg: Y8("hat_33_", "#a05a38", "#7e4428", "#e84860", "#a02a3a") }, "hat/60": { svg: X8("hat_60", "#222226", "#222226", Rt("M 20 52 C 50 48 90 52 130 62 L 130 76 C 90 66 50 62 20 64 Z", "#d4d8e0", { width: 3 })) }, "hat/44_low": { svg: re("scale(1 0.95)", J8("#525c48", "#a0aaa0", "#b8c4b8", "#a0aaa0")) }, "hat/28": { svg: q8("hat_28", "#28b098", "#207060", "#f8dede", "#1e3a34") }, "hat/52": { svg: q8("hat_52", "#6868e0", "#50d0f0", "#e0e0f0", "#24245a") }, "hat/28_back": { svg: Rt("M 3 8 L 22 3 L 60 3 L 92 18 L 108 50 L 6 50 Z", "#1e4a40") }, "hat/52_back": { svg: Rt("M 3 8 L 22 3 L 60 3 L 92 18 L 108 50 L 6 50 Z", "#3c3a90") }, "hat/29_low": { svg: e3("hat_29_", "#1a70d0", "#40e0e0", "#f0c030", "#d040d0", "#d08010") }, "hat/50_low": { svg: e3("hat_50_", "#f0f060", "#e8507a", "#30d080", "#30d080", "#1e9a58") }, "hat/30_low": { svg: te2(56, 8, 6, "#e06090") + Rt("M 4 52 C 2 30 18 16 40 12 C 60 8 86 8 100 16 C 110 22 114 32 112 46 L 110 56 Z", "#e06090") + oe2("M 6 38 C 40 32 80 36 112 44 L 110 56 L 5 52 Z", "#c85080") + Rt("M 4 52 C 30 52 70 56 110 60 C 112 64 112 70 108 72 C 70 64 30 62 6 60 C 3 58 3 54 4 52 Z", "#e06090") } };
|
|
1269
|
+
var $1 = { ...N0, ...e8, ...Y0, ...n8, ...C8, ...V0, ...s8, ...A8, ...a3, ...U0, ...y8 };
|
|
1270
|
+
var d6 = { "pants/21": "pants/1", "pants/41": "pants/30", "hair_under/1": "hair/1", ...Object.fromEntries([2, 17, 21, 24, 28, 31, 32, 33, 34, 35, 41, 47].map((a5) => [`pants/${a5}_far`, `pants/${a5}_near`])) };
|
|
1271
|
+
for (let [a5, e5] of Object.entries(d6)) {
|
|
1272
|
+
let o6 = $1[e5];
|
|
1273
|
+
o6 && !$1[a5] && ($1[a5] = o6);
|
|
1274
|
+
}
|
|
1275
|
+
var W22 = (a5, e5, o6, r7 = ie2(a5, -0.45)) => ({ base: a5, light: e5, dark: o6, mark: r7 });
|
|
1276
|
+
var g3 = W22("#b8c0c8", "#eef2f5", "#848e99", "#5e6873");
|
|
1277
|
+
var o2 = W22("#4a5160", "#7d8696", "#30353f", "#22262e");
|
|
1278
|
+
var W3 = W22("#7d838c", "#a9afb7", "#5a5f68", "#40444b");
|
|
1279
|
+
var u3 = W22("#e8b23a", "#ffe28a", "#b07818", "#8a5a10");
|
|
1280
|
+
var e2 = W22("#9a6236", "#c08250", "#6e4222", "#5a3418");
|
|
1281
|
+
var O3 = W22("#7a4628", "#a0663e", "#55301a", "#3e2212");
|
|
1282
|
+
var g22 = W22("#4a3226", "#6c4c3a", "#30201a", "#20140e");
|
|
1283
|
+
var t3 = "#9a5a2e";
|
|
1284
|
+
function T(a5, e5, o6, r7 = {}) {
|
|
1285
|
+
return Rt(e5, o6.base, { stroke: "none" }) + se(a5, e5, r7.dark ? oe2(r7.dark, o6.dark) : "", r7.light ? oe2(r7.light, o6.light) : "", r7.extra ?? "") + Rt(e5, "none", r7.width ? { width: r7.width } : {});
|
|
1286
|
+
}
|
|
1287
|
+
var a22 = (a5, ...e5) => ne(e5.map(([o6, r7, L6, C5]) => `M ${o6} ${r7} L ${L6} ${C5}`).join(" "), a5.mark, 1.2);
|
|
1288
|
+
var r2 = (a5, e5, o6, r7) => te2(a5, e5, o6, r7, { width: Math.min(2.6, o6 * 0.7) }) + oe2(`M ${a5 - o6 * 0.55} ${e5 - o6 * 0.05} C ${a5 - o6 * 0.5} ${e5 - o6 * 0.55} ${a5 - o6 * 0.05} ${e5 - o6 * 0.65} ${a5 + o6 * 0.2} ${e5 - o6 * 0.55} C ${a5 - o6 * 0.1} ${e5 - o6 * 0.35} ${a5 - o6 * 0.35} ${e5 - o6 * 0.2} ${a5 - o6 * 0.55} ${e5 - o6 * 0.05} Z`, "#ffffff", 0.85);
|
|
1289
|
+
var H2 = (a5, e5, o6, r7) => te2(a5, e5, o6, r7.base, { width: 1.8 }) + te2(a5 - o6 * 0.3, e5 - o6 * 0.3, o6 * 0.35, r7.light, { stroke: "none" });
|
|
1290
|
+
function v22(a5, e5, o6, r7, L6, C5 = O3) {
|
|
1291
|
+
let i$1 = `M ${e5} ${r7 - L6} L ${o6} ${r7 - L6} L ${o6} ${r7 + L6} L ${e5} ${r7 + L6} Z`, h$1 = "";
|
|
1292
|
+
for (let p5 = e5 + 3; p5 < o6 - 1; p5 += 5) h$1 += `M ${p5} ${r7 - L6} L ${p5 + 4} ${r7 + L6} `;
|
|
1293
|
+
return Rt(i$1, C5.base, { stroke: "none" }) + se(a5, i$1, oe2(`M ${e5} ${r7 + L6 * 0.25} L ${o6} ${r7 + L6 * 0.25} L ${o6} ${r7 + L6} L ${e5} ${r7 + L6} Z`, C5.dark), ne(h$1, C5.mark, 1.6)) + Rt(i$1, "none", { width: 3 });
|
|
1294
|
+
}
|
|
1295
|
+
function F2(a5, e5, o6, r7, L6, C5, i$1 = {}) {
|
|
1296
|
+
let h$1 = e5 + Math.min(L6 * 2.6, (o6 - e5) * 0.22), p5 = i$1.d ?? `M ${e5} ${r7} L ${h$1} ${r7 - L6} L ${o6} ${r7 - L6} L ${o6} ${r7 + L6} L ${h$1} ${r7 + L6} Z`;
|
|
1297
|
+
return Rt(p5, C5.base, { stroke: "none" }) + se(a5, p5, oe2(`M 0 ${r7 + 0.5} L ${o6 + 2} ${r7 + 0.5} L ${o6 + 2} ${r7 + L6 + 4} L 0 ${r7 + L6 + 4} Z`, C5.dark), oe2(`M 0 ${r7 - L6 - 4} L ${o6 + 2} ${r7 - L6 - 4} L ${o6 + 2} ${r7 - L6 + L6 * 0.32} L 0 ${r7 - L6 + L6 * 0.32} Z`, C5.light), i$1.fuller === "none" ? "" : ne(`M ${h$1 + 4} ${r7} L ${o6 - 4} ${r7}`, i$1.fuller ?? C5.mark, Math.max(1.6, L6 * 0.28)), i$1.extra ?? "") + Rt(p5, "none");
|
|
1298
|
+
}
|
|
1299
|
+
function B2(a5, e5, o6, r7, L6, C5 = e2) {
|
|
1300
|
+
let i$1 = `M ${e5} ${r7 - L6} L ${o6} ${r7 - L6} C ${o6 + L6 * 0.6} ${r7 - L6} ${o6 + L6 * 0.6} ${r7 + L6} ${o6} ${r7 + L6} L ${e5} ${r7 + L6} Z`, h$1 = [];
|
|
1301
|
+
for (let p5 = e5 + 8; p5 < o6 - 8; p5 += 17) h$1.push(`M ${p5} ${r7 - L6 * 0.2} L ${p5 + 9} ${r7 - L6 * 0.2}`, `M ${p5 + 6} ${r7 + L6 * 0.45} L ${p5 + 13} ${r7 + L6 * 0.45}`);
|
|
1302
|
+
return Rt(i$1, C5.base, { stroke: "none" }) + se(a5, i$1, oe2(`M ${e5 - 2} ${r7 + L6 * 0.2} L ${o6 + L6} ${r7 + L6 * 0.2} L ${o6 + L6} ${r7 + L6 + 2} L ${e5 - 2} ${r7 + L6 + 2} Z`, C5.dark), ne(h$1.join(" "), C5.mark, 1.3)) + Rt(i$1, "none", { width: 3 });
|
|
1303
|
+
}
|
|
1304
|
+
var g6 = (a5) => {
|
|
1305
|
+
let e5 = a5.split(/(?=M )/);
|
|
1306
|
+
return e5.length > 1 ? e5[1] : "";
|
|
1307
|
+
};
|
|
1308
|
+
var C0 = (a5, e5, o6, r7, L6 = "#5a616a") => {
|
|
1309
|
+
let C5 = "";
|
|
1310
|
+
for (let i5 = e5, h7 = 0; i5 < r7; i5 += 4.4, h7++) for (let p5 = a5 + h7 % 2 * 2.6; p5 < o6; p5 += 5.2) C5 += `M ${p5} ${i5} C ${p5} ${i5 + 3.2} ${p5 + 4.2} ${i5 + 3.2} ${p5 + 4.2} ${i5} `;
|
|
1311
|
+
return ne(C5, L6, 1.3);
|
|
1312
|
+
};
|
|
1313
|
+
var f0 = (a$1, e5, o6 = O3.dark) => ee(-2, a$1, 96, 7, 0, o6, { stroke: "none" }) + ne(`M -2 ${a$1} L 96 ${a$1} M -2 ${a$1 + 7} L 96 ${a$1 + 7}`, Tt, 2) + ee(e5 - 5, a$1 - 1.5, 10, 10, 2, u3.base, { width: 2 }) + ee(e5 - 1.8, a$1 + 1.5, 3.6, 4, 1, O3.dark, { stroke: "none" });
|
|
1314
|
+
var y1 = (a5, e5 = u3) => a5.map(([o6, r7]) => H2(o6, r7, 1.8, e5)).join("");
|
|
1315
|
+
var O22 = (a5, e5, o6, r7, L6 = "") => x2(a5, e5, o6, r7 + L6);
|
|
1316
|
+
var s3 = k3.top_4;
|
|
1317
|
+
var o3 = g6(s3);
|
|
1318
|
+
var n3 = { "top/plate_armor": { svg: m2("fpa", s3, g3.base, oe2("M -2 -2 L 92 -2 L 92 26 C 60 30 30 30 -2 26 Z", g3.light, 0.6) + oe2("M 44 34 C 60 34 76 40 92 44 L 92 92 L 44 92 Z", g3.dark, 0.55) + ne("M 40 34 C 41 42 42 50 42 56", g3.dark, 2.4) + oe2("M -2 64 L 92 64 L 92 92 L -2 92 Z", g3.dark) + ne("M -2 64 L 92 64 M -2 73 L 92 73 M -2 82 L 92 82", Tt, 2) + oe2("M -2 65 L 92 65 L 92 68 L -2 68 Z M -2 74 L 92 74 L 92 77 L -2 77 Z", g3.light, 0.5) + f0(56, 40) + a22(g3, [16, 40, 22, 44], [60, 26, 66, 30], [70, 48, 74, 52]), Rt(o3, "none", { stroke: u3.base, width: 6 }) + Rt(o3, "none", { width: 2 }) + y1([[12, 42], [72, 40]], g3)) }, "top/plate_armor_sleeve_near": { svg: O22("fpal", n2, g3.base, ne("M 2 14 C 12 10 22 12 32 18 M 2 22 C 12 18 22 20 33 26", Tt, 2) + oe2("M 0 0 L 36 0 L 36 9 C 24 6 12 6 0 10 Z", g3.light, 0.6) + ne("M 3 29 C 12 31 24 31 32 29", u3.base, 3)) + H2(14, 8, 1.8, g3) }, "top/plate_armor_sleeve_far": { svg: O22("fpar", L22, g3.base, ne("M 2 14 C 12 8 22 8 31 12 M 2 22 C 12 16 22 16 31 20", Tt, 2) + oe2("M 0 0 L 36 0 L 36 8 C 24 5 12 6 0 9 Z", g3.light, 0.6) + ne("M 4 29 C 14 32 24 32 30 30", u3.base, 3)) + H2(20, 7, 1.8, g3) }, "top/chainmail": { svg: m2("fcm", k3.top_2, "#9aa1aa", C0(0, 0, 92, 90) + oe2("M 26 0 L 56 0 L 58 92 L 24 92 Z", "#b8282c") + ne("M 26 0 L 24 92 M 56 0 L 58 92", Tt, 2.4) + oe2("M 37 22 L 45 22 L 45 32 L 54 32 L 54 40 L 45 40 L 45 54 L 37 54 L 37 40 L 28 40 L 28 32 L 37 32 Z", u3.base) + oe2("M 50 0 L 56 0 L 58 92 L 52 92 Z", "#000000", 0.18) + f0(60, 40)) }, "top/chainmail_sleeve_near": { svg: O22("fcml", n2, "#9aa1aa", C0(0, 0, 38, 36) + ne("M 3 28 C 12 31 24 31 32 28", O3.base, 4)) }, "top/chainmail_sleeve_far": { svg: O22("fcmr", L22, "#9aa1aa", C0(0, 0, 38, 36) + ne("M 4 29 C 14 32 24 32 30 29", O3.base, 4)) }, "top/leather_armor": { svg: m2("fla", k3.top_54, O3.base, oe2("M 46 0 L 92 0 L 92 94 L 50 94 C 46 60 44 30 46 0 Z", O3.dark, 0.6) + K2("M 20 10 C 18 34 18 60 22 90 M 64 10 C 66 34 66 60 62 90", O3.light, 1.6, "3 3") + ne("M 0 8 L 92 84", Tt, 12) + ne("M 0 8 L 92 84", g22.base, 8) + y1([[14, 20], [32, 35], [50, 50], [68, 65]]) + f0(66, 30) + Rt("M 56 72 L 72 72 L 72 86 C 72 88 70 89 68 89 L 60 89 C 58 89 56 88 56 86 Z", g22.base, { width: 2.2 }) + H2(64, 77, 1.6, u3) + a22(O3, [26, 48, 30, 52], [70, 28, 74, 32])) }, "top/leather_armor_sleeve_near": { svg: O22("flal", n2, O3.base, ne("M 2 18 C 12 14 22 16 32 22", Tt, 2) + K2("M 4 26 C 12 28 24 28 31 26", O3.light, 1.4, "3 2")) + y1([[12, 10], [22, 12]]) }, "top/leather_armor_sleeve_far": { svg: O22("flar", L22, O3.base, ne("M 2 18 C 12 12 22 12 31 16", Tt, 2) + K2("M 5 27 C 14 29 24 29 30 27", O3.light, 1.4, "3 2")) + y1([[14, 9], [24, 9]]) }, "top/mage_robe": { svg: m2("fmr", k3.top_18, "#2a3a9a", oe2("M 48 0 L 92 0 L 92 80 L 52 80 Z", "#1e2a78") + Rt("M 24 0 L 40 34 L 56 0 L 50 0 L 40 22 L 30 0 Z", u3.base, { width: 1.6 }) + oe2("M 37 34 L 43 34 L 45 80 L 35 80 Z", u3.base) + ne("M 37 34 L 35 80 M 43 34 L 45 80", Tt, 1.6) + oe2("M -2 50 L 92 52 L 92 60 L -2 58 Z", "#7a2a9a") + ne("M -2 50 L 92 52 M -2 58 L 92 60", Tt, 2) + oe2(X(16, 30, 3.2), "#ffe060") + oe2(X(66, 22, 2.8, 12), "#ffe060") + oe2(X(70, 68, 3, -10), "#ffe060") + oe2(X(14, 68, 2.6, 20), "#ffe060")) }, "top/mage_robe_sleeve_near": { svg: O22("fmrl", n2, "#2a3a9a", ne("M 3 28 C 12 31 24 31 32 28", u3.base, 4) + oe2(X(16, 16, 3), "#ffe060")) }, "top/mage_robe_sleeve_far": { svg: O22("fmrr", L22, "#2a3a9a", ne("M 4 29 C 14 32 24 32 30 29", u3.base, 4) + oe2(X(18, 15, 3), "#ffe060")) }, "gloves/gauntlets_near": { svg: y("fgl", 34, 35, g3.base, { h: 9, color: g3.dark }, ne("M 4 22 L 30 22 M 4 27 L 30 27", Tt, 1.6) + oe2("M 0 13 L 34 13 L 34 17 L 0 17 Z", g3.light, 0.6)) + H2(17, 8, 1.8, u3) }, "gloves/gauntlets_far": { svg: y("fgr", 32, 35, g3.base, { h: 9, color: g3.dark }, ne("M 4 22 L 28 22 M 4 27 L 28 27", Tt, 1.6) + oe2("M 0 13 L 32 13 L 32 17 L 0 17 Z", g3.light, 0.6)) + H2(16, 8, 1.8, u3) }, "gloves/bracers_near": { svg: y("fbl", 36, 40, O3.base, { h: 14, color: g22.base }, K2("M 4 22 L 32 22", O3.light, 1.4, "3 2")) + H2(18, 10.5, 2.2, u3) }, "gloves/bracers_far": { svg: y("fbr", 35, 40, O3.base, { h: 14, color: g22.base }, K2("M 4 22 L 31 22", O3.light, 1.4, "3 2")) + H2(17.5, 10.5, 2.2, u3) }, "boots/plate_boots_far": { svg: G2("fpbl", P.clog, g3.base, oe2("M 0 15 L 30 15 L 30 23 L 0 23 Z", g3.dark) + ne("M 0 15 L 30 15", Tt, 1.8) + ne("M 8 9.5 L 18 9.5", Tt, 1.6) + oe2("M 8 3 L 17 3 L 17 6 L 8 6 Z", g3.light, 0.6)) + H2(13, 7, 1.5, u3) }, "boots/plate_boots_near": { svg: G2("fpbr", P.clog, g3.base, oe2("M 0 15 L 30 15 L 30 23 L 0 23 Z", g3.dark) + ne("M 0 15 L 30 15", Tt, 1.8) + ne("M 8 9.5 L 18 9.5", Tt, 1.6) + oe2("M 8 3 L 17 3 L 17 6 L 8 6 Z", g3.light, 0.6)) + H2(13, 7, 1.5, u3) }, "boots/leather_boots_far": { svg: G2("flbl", P.tall, O3.base, oe2("M 0 0 L 26 0 L 26 8 L 0 8 Z", g22.base) + ne("M 0 8 L 26 8", Tt, 1.8) + ne("M 3 17 L 22 17", g22.base, 3) + ee(10, 15, 4.5, 4.5, 1, u3.base, { width: 1.4 })) }, "boots/leather_boots_near": { svg: G2("flbr", P.tall, O3.base, oe2("M 0 0 L 26 0 L 26 8 L 0 8 Z", g22.base) + ne("M 0 8 L 26 8", Tt, 1.8) + ne("M 3 17 L 22 17", g22.base, 3) + ee(10, 15, 4.5, 4.5, 1, u3.base, { width: 1.4 })) }, "back/knight_cape": { svg: r3("fkc", "#b8282c", "#8a1a1e", u3.base) }, "back/mage_cape": { svg: r3("fmc", "#2a3a9a", "#1e2a78", "#c0c8ff") } };
|
|
1319
|
+
function r3(a5, e5, o6, r7) {
|
|
1320
|
+
let L6 = "M 22 4 L 74 4 C 80 30 86 70 92 118 C 70 121 26 121 4 118 C 10 70 16 30 22 4 Z";
|
|
1321
|
+
return Rt(L6, e5, { stroke: "none" }) + se(a5, L6, oe2("M 48 0 L 100 0 L 100 130 L 56 130 C 54 90 52 40 48 0 Z", o6), ne("M 30 20 C 26 50 22 80 18 118 M 48 20 C 48 50 48 80 48 120 M 66 20 C 70 50 74 80 78 118", o6, 2.4), ne("M 4 114 C 26 117 70 117 92 114", r7, 5)) + Rt(L6, "none") + te2(26, 8, 5, u3.base) + te2(70, 8, 5, u3.base) + r2(26, 8, 2.4, "#3a7ad8") + r2(70, 8, 2.4, "#3a7ad8");
|
|
1322
|
+
}
|
|
1323
|
+
var v6 = "M 4 70 C 2.8 50 8 30 22 16 C 34 6 46 2.8 58 2.8 C 80 2.8 98 12 108 28 C 113 38 114.2 50 114.2 62 C 114.2 78 112 92 106 100 C 98 110 80 116 56 116.2 C 36 116 18 110 10 100 C 5 92 4 82 4 70 Z";
|
|
1324
|
+
var A1 = "M 4 50 C 2 30 12 12 36 6 C 60 0 88 2 102 14 C 110 22 112 36 110 52 C 110 58 108 62 106 64 L 104 74 L 96 68 L 94 80 C 92 92 92 104 90 110 L 76 110 C 74 96 74 80 74 66 C 74 54 70 50 64 50 L 18 52 C 14 54 12 58 12 66 L 12 102 C 10 108 6 108 4 104 Z";
|
|
1325
|
+
var b6 = "M 4 66 C 2 58 8 54 16 52 C 20 32 30 14 44 8 C 56 4 66 2 72 3 C 82 2 90 6 96 10 C 110 18 118 32 120 46 C 122 58 124 66 124 74 C 110 72 90 66 70 62 C 50 58 30 58 16 62 C 10 64 6 66 4 66 Z";
|
|
1326
|
+
var u6 = "M 4 63 C 2 58 6 55 14 53 C 22 51 26 49 30 46 C 42 40 56 36 66 36 C 80 37 96 42 110 46 C 120 48 128 50 132 51 C 140 54 148 58 151 63 C 152 67 150 70 146 70 C 128 68 112 64 98 59 C 84 54 70 50 60 50 C 48 50 36 55 26 59 C 18 62 10 66 4 63 Z";
|
|
1327
|
+
var x1 = (a5, e5, o6, r7, L6 = "") => Rt(e5, o6.base, { stroke: "none" }) + se(a5, e5, oe2(`M -5 -5 L 160 -5 L 160 ${r7} C 110 ${r7 + 6} 50 ${r7 + 6} -5 ${r7} Z`, o6.light, 0.55), L6) + Rt(e5, "none");
|
|
1328
|
+
var Z6 = (a5, e5, o6, r7, L6 = "#4e555e") => {
|
|
1329
|
+
let C5 = "";
|
|
1330
|
+
for (let i5 = e5, h7 = 0; i5 < r7; i5 += 4.2, h7++) for (let p5 = a5 + h7 % 2 * 2.5; p5 < o6; p5 += 5) C5 += `M ${p5} ${i5} C ${p5} ${i5 + 3} ${p5 + 4} ${i5 + 3} ${p5 + 4} ${i5} `;
|
|
1331
|
+
return ne(C5, L6, 1.3);
|
|
1332
|
+
};
|
|
1333
|
+
var L3 = { "hat/great_helm": { svg: x1("gh", v6, g3, 26, oe2("M 0 100 C 30 110 80 112 120 92 L 120 124 L 0 124 Z", g3.dark) + ne("M 4 99 C 30 109 80 111 114 91", Tt, 2.6) + oe2("M 40 0 L 51 0 L 50 124 L 41 124 Z", u3.base) + oe2("M 40 0 L 44 0 L 43.5 124 L 41 124 Z", u3.light, 0.8) + ne("M 40 0 L 41 124 M 51 0 L 50 124", Tt, 2) + oe2("M 6 54 C 26 58 52 60 86 57 L 86 66 C 52 69 26 67 6 63 Z", Tt) + oe2("M 40 52 L 51 52 L 51 70 L 40 70 Z", u3.base) + [[20, 80], [28, 84], [20, 89], [28, 93], [62, 82], [70, 86], [62, 91], [70, 95]].map(([a$1, e5]) => te2(a$1, e5, 1.9, Tt, { stroke: "none" })).join("") + a22(g3, [72, 22, 80, 26], [90, 70, 96, 74], [16, 36, 22, 34]) + [12, 30, 62, 80].map((a5) => H2(a5, 50 + (a5 > 50 ? 1 : 0), 2, g3)).join("")) }, "hat/knight_helm_low": { svg: x1("kh", A1, g3, 20, oe2("M 72 54 L 120 54 L 120 116 L 72 116 Z", "#8c939b") + Z6(74, 56, 112, 112) + oe2("M 0 56 L 13 56 L 13 110 L 0 110 Z", g3.dark) + ne("M 2 50 C 30 44 70 44 112 50", u3.dark, 9) + ne("M 2 50 C 30 44 70 44 112 50", u3.base, 5.4) + ne("M 56 4 C 50 16 48 30 50 46", g3.dark, 2.4) + a22(g3, [26, 22, 32, 26], [80, 18, 86, 22])) + ne("M 4 51 C 30 45 70 45 108 51", Tt, 1.6) + H2(8, 66, 2, g3) + H2(8, 92, 2, g3) }, "hat/winged_helm_low": { svg: [["M 32 20 C 22 12 12 6 3 4 C 5 13 9 20 15 25 C 9 26 5 28 3 32 C 11 36 19 38 25 38 C 21 40 19 42 21 45 L 35 32 Z", "M 6 8 L 22 22 M 6 30 L 24 33"], ["M 97 22 C 107 14 119 8 131 5 C 129 14 125 20 119 25 C 125 26 129 28 131 32 C 123 36 113 38 105 38 L 99 34 Z", "M 126 9 L 108 22 M 127 31 L 108 33"]].map(([a5, e5]) => Rt(a5, "#f2f2f6") + ne(e5, "#b8bcc8", 1.6)).join("") + x1("wh", "M 17 48 C 22 28 40 10 64 7 C 82 5 95 12 100 18 L 118 50 L 120 62 L 17 62 Z", g3, 20, a22(g3, [44, 26, 50, 22], [90, 30, 96, 34])) + Rt("M 10 49 C 40 42 90 46 122 60 C 125 64 125 74 123 80 C 90 66 40 58 12 64 C 7 62 7 52 10 49 Z", u3.base) + ne("M 12 51 C 40 45 88 49 120 62", u3.light, 2) + r2(58, 56, 5, "#3a7ad8") }, "hat/wizard_hat": { svg: Rt(u6, "#23307e") + ne("M 30 50 C 50 44 80 44 112 50", "#3a4aa8", 2.4) + Rt("M 30 48 C 40 36 52 22 66 12 C 78 4 96 0 116 4 C 104 8 96 14 96 24 C 96 34 108 44 128 50 C 96 42 60 42 30 48 Z", "#2a3a9a", { stroke: "none" }) + se("wzh", "M 30 48 C 40 36 52 22 66 12 C 78 4 96 0 116 4 C 104 8 96 14 96 24 C 96 34 108 44 128 50 C 96 42 60 42 30 48 Z", oe2("M 60 0 L 160 0 L 160 60 L 96 60 C 92 40 88 20 96 0 Z", "#1e2a78"), oe2("M 0 36 L 160 36 L 160 50 L 0 50 Z", u3.base), ne("M 0 37 L 160 37", u3.dark, 1.6), oe2(X(60, 24, 5.5, 10), "#ffe060") + oe2(X(86, 12, 4, -8), "#ffe060") + oe2(X(104, 30, 3.6), "#ffe060")) + Rt("M 30 48 C 40 36 52 22 66 12 C 78 4 96 0 116 4 C 104 8 96 14 96 24 C 96 34 108 44 128 50 C 96 42 60 42 30 48 Z", "none") + Rt("M 80 34 C 76 40 78 46 84 48 C 80 44 80 38 84 34 Z", "#fff0a0", { width: 1.6 }) }, "hat/ranger_hood_low": { svg: Rt(A1, "#3f7a3a", { stroke: "none" }) + se("rh", A1, oe2("M 0 76 C 30 72 70 74 114 80 L 114 116 L 0 116 Z", "#2f5e2c"), oe2("M 60 0 L 120 0 L 120 116 L 80 116 C 76 80 78 40 60 0 Z", "#356a32"), ne("M 2 50 C 30 46 70 46 112 52", "#244a22", 10), ne("M 2 49 C 30 45 70 45 112 51", "#5a9a50", 3), K2("M 8 30 C 30 18 60 14 84 22 C 94 26 102 34 108 46", "#244a22", 2, "4 3")) + Rt(A1, "none") + ne("M 74 66 C 76 80 76 96 78 108", "#244a22", 2) }, "hat/iron_helm": { svg: x1("ih", b6, g3, 24, oe2("M 66 0 L 80 0 C 86 20 92 40 96 66 L 84 66 C 80 42 74 20 66 0 Z", u3.base) + ne("M 66 0 C 74 20 80 42 84 66 M 80 0 C 86 20 92 40 96 66", Tt, 2) + ne("M 4 62 C 40 52 90 58 124 70", g3.dark, 9) + a22(g3, [30, 30, 36, 34], [102, 30, 108, 36])) + ne("M 6 64 C 40 55 90 61 122 72", Tt, 1.6) + [14, 34, 56, 100, 116].map((a5) => H2(a5, a5 < 60 ? 60 - a5 * 0.08 : 64 + (a5 - 100) * 0.3, 2, g3)).join("") } };
|
|
1334
|
+
function V2(a$1) {
|
|
1335
|
+
let { h: e5, rx: o6, tx: r7, top: L6, pull: C5, arrow: i5, wood: h$1, trim: p5 } = a$1, M2 = e5 / 2, b5 = (B5) => {
|
|
1336
|
+
let F3 = M2 - B5 * (M2 - L6);
|
|
1337
|
+
return a$1.recurve ? `M ${o6} ${M2 - B5 * 8} C ${o6 - 4} ${M2 - B5 * 26} ${r7 - 18} ${F3 + B5 * 14} ${r7 - 4} ${F3 + B5 * 6} C ${r7} ${F3 + B5 * 3} ${r7 - 6} ${F3} ${r7 - 10} ${F3 - B5 * 2}` : `M ${o6} ${M2 - B5 * 8} C ${o6 - 6} ${M2 - B5 * 26} ${r7 - 14} ${F3 + B5 * 10} ${r7} ${F3}`;
|
|
1338
|
+
}, $7 = C5 ?? r7, G5 = `M ${r7} ${L6} L ${$7} ${M2} L ${r7} ${e5 - L6}`, I7 = i5 ? ne(`M ${$7 + 1} ${M2} L ${$7 - 32} ${M2}`, Tt, 4.6) + ne(`M ${$7 + 1} ${M2} L ${$7 - 32} ${M2}`, "#c8a070", 2) + Rt(`M ${$7 - 32} ${M2 - 4} L ${$7 - 40} ${M2} L ${$7 - 32} ${M2 + 4} Z`, g3.base, { width: 1.8 }) + Rt(`M ${$7 + 1} ${M2} L ${$7 - 7} ${M2 - 4.5} L ${$7 - 11} ${M2 - 4.5} L ${$7 - 5} ${M2} L ${$7 - 11} ${M2 + 4.5} L ${$7 - 7} ${M2 + 4.5} Z`, "#e04040", { width: 1.4 }) : "";
|
|
1339
|
+
return ne(G5, Tt, 2.6) + ne(G5, "#f0e8d8", 1.1) + [1, -1].map((B5) => ne(b5(B5), Tt, 9) + ne(b5(B5), h$1.base, 5.4) + ne(b5(B5), h$1.light, 1.6)).join("") + T("bg", `M ${o6 - 4.5} ${M2 - 11} L ${o6 + 4.5} ${M2 - 11} L ${o6 + 4.5} ${M2 + 11} L ${o6 - 4.5} ${M2 + 11} Z`, O3, { extra: ne(`M ${o6 - 5} ${M2 - 7} L ${o6 + 5} ${M2 - 4} M ${o6 - 5} ${M2 - 1} L ${o6 + 5} ${M2 + 2} M ${o6 - 5} ${M2 + 5} L ${o6 + 5} ${M2 + 8}`, O3.dark, 1.4) }) + [1, -1].map((B5) => te2(r7, M2 - B5 * (M2 - L6), 2.4, p5, { width: 1.6 })).join("") + I7;
|
|
1340
|
+
}
|
|
1341
|
+
var i0 = { h: 112, rx: 26, tx: 42, top: 6, wood: e2, trim: u3.base };
|
|
1342
|
+
var _0 = { h: 128, rx: 26, tx: 44, top: 9, wood: { ...e2, base: "#e8e0c8", light: "#ffffff", dark: "#b8a888", mark: "#8a7a5a" }, trim: "#5ad0a0", recurve: true };
|
|
1343
|
+
function C3(a$1) {
|
|
1344
|
+
let e5 = a$1 ? "M 22 5 L 48 28 L 22 51" : "M 22 5 L 28 28 L 22 51";
|
|
1345
|
+
return T("cbs", "M 12 23 L 96 23 C 100 23 101 25 101 28 L 101 33 L 86 33 L 82 46 C 81 48 78 48 76 47 L 78 33 L 12 33 Z", e2, { light: "M 0 20 L 110 20 L 110 26 L 0 26 Z", extra: ne("M 30 28 L 70 28", e2.mark, 1.3) }) + ne(e5, Tt, 2.6) + ne(e5, "#f0e8d8", 1.1) + ne("M 22 5 C 14 14 12 22 12 28 C 12 34 14 42 22 51", Tt, 8.5) + ne("M 22 5 C 14 14 12 22 12 28 C 12 34 14 42 22 51", g3.base, 5) + ne("M 21 7 C 15 15 14 22 14 28", g3.light, 1.4) + T("cbm", "M 8 24 L 18 24 L 18 32 L 8 32 Z", W3) + T("cbl", "M 46 21 L 58 21 L 58 25 L 46 25 Z", W3) + H2(64, 28, 1.8, u3) + H2(90, 28, 1.8, u3) + (a$1 ? ne("M 47 21 L 8 21", Tt, 4.4) + ne("M 47 21 L 8 21", "#c8a070", 2) + Rt("M 8 17.5 L 2 21 L 8 24.5 Z", g3.base, { width: 1.6 }) + Rt("M 47 21 L 42 17.5 L 39 17.5 L 43 21 L 39 24.5 L 42 24.5 Z", "#e04040", { width: 1.2 }) : "");
|
|
1346
|
+
}
|
|
1347
|
+
var l0 = 20;
|
|
1348
|
+
var w6 = (a5) => Rt(`M ${l0 + 2} ${a5} L 13 ${a5 - 9} L 12 ${a5 - 3} L 2 ${a5 - 5} L 8 ${a5} L 2 ${a5 + 5} L 12 ${a5 + 3} L 13 ${a5 + 9} Z`, "#ffb020", { width: 2 }) + Rt(`M ${l0} ${a5} L 13 ${a5 - 4} L 9 ${a5} L 13 ${a5 + 4} Z`, "#fff4b0", { stroke: "none" });
|
|
1349
|
+
var Y2 = (a5, e5, o6) => re(`translate(${l0} 0)`, a5) + (o6 ? w6(e5) : "");
|
|
1350
|
+
var f3 = T("pg", "M 44 12 L 62 12 C 66 18 70 26 72 32 C 73 35 70 37 66 36 L 58 35 C 56 28 52 22 46 20 Z", e2, { light: "M 40 8 L 76 8 L 76 18 L 40 18 Z", extra: ne("M 52 22 L 62 32", e2.mark, 1.3) }) + T("pb", "M 3 9 L 50 9 L 50 17 L 3 17 Z", g3, { light: "M 0 6 L 54 6 L 54 11 L 0 11 Z" }) + T("pl", "M 40 8 L 56 8 L 56 20 L 40 20 Z", u3, { light: "M 38 6 L 58 6 L 58 11 L 38 11 Z" }) + Rt("M 52 8 L 55 2.5 L 58 4 L 56 8 Z", W3.base, { width: 1.8 }) + Rt("M 48 20 C 48 26 52 28 56 26", "none", { stroke: Tt, width: 2 }) + ee(2.5, 8, 4, 10, 1, u3.base, { width: 1.6 }) + H2(66, 32, 1.8, u3);
|
|
1351
|
+
var i3 = T("ms", "M 40 15 L 104 15 L 116 18 C 128 16 140 12 156 10 C 158 18 158 28 156 34 C 140 32 126 28 116 26 L 104 22 L 40 22 Z", e2, { light: "M 30 8 L 160 8 L 160 16 L 30 16 Z", extra: ne("M 120 22 C 134 22 144 24 152 26", e2.mark, 1.4) }) + T("mb", "M 3 11 L 100 11 L 100 17 L 3 17 Z", o2, { light: "M 0 8 L 104 8 L 104 13 L 0 13 Z" }) + [30, 62, 92].map((a5) => ee(a5, 9.5, 4, 14, 1, u3.base, { width: 1.6 })).join("") + T("ml", "M 100 10 L 116 10 L 116 22 L 100 22 Z", u3) + Rt("M 110 10 L 113 4 L 116 5.5 L 114 10 Z", W3.base, { width: 1.8 }) + Rt("M 106 22 C 106 28 110 30 114 28", "none", { stroke: Tt, width: 2 }) + T("mp", "M 154 9 L 158 9 L 158 35 L 154 35 Z", W3);
|
|
1352
|
+
var _3 = T("rm", "M 72 24 L 86 24 C 88 32 90 40 94 46 L 82 49 C 78 42 74 34 72 24 Z", o2, { extra: ne("M 76 30 L 87 30", o2.mark, 1.2) }) + T("rg", "M 98 26 L 108 26 L 112 42 L 103 43 Z", o2) + T("rs", "M 104 14 L 134 12 C 137 12 138 14 138 17 L 138 32 C 138 34 136 35 134 34 L 116 28 L 104 26 Z", o2, { light: "M 100 8 L 140 8 L 140 17 L 100 17 Z" }) + T("rr", "M 56 12 L 106 12 L 106 26 L 56 26 Z", { ...o2, base: "#3a404c" }, { light: "M 50 8 L 110 8 L 110 15 L 50 15 Z", extra: ee(74, 15, 18, 4, 1, "#22262e", { stroke: "none" }) }) + T("rh", "M 26 13 L 58 13 L 58 24 L 26 24 Z", { ...o2, base: "#5a6070" }, { extra: ne("M 32 18.5 L 54 18.5", "#22262e", 2.2) }) + T("rb", "M 3 16 L 28 16 L 28 21 L 3 21 Z", W3) + Rt("M 20 13 L 22 6 L 26 6 L 26 13 Z", o2.base, { width: 2 }) + Rt("M 62 12 L 64 7 L 90 7 L 92 12 Z", o2.base, { width: 2 }) + oe2("M 66 8.5 L 88 8.5 L 88 10 L 66 10 Z", "#7a8292") + r2(102, 19, 1.6, "#d03030");
|
|
1353
|
+
var l3 = { "weapon/hunting_bow": { svg: V2({ ...i0, pull: null, arrow: true }) }, "weapon/hunting_bow_drawn": { svg: V2({ ...i0, pull: 62, arrow: true }) }, "weapon/hunting_bow_shot": { svg: V2({ ...i0, pull: null, arrow: false }) }, "weapon/elven_bow": { svg: V2({ ..._0, pull: null, arrow: true }) }, "weapon/elven_bow_drawn": { svg: V2({ ..._0, pull: 64, arrow: true }) }, "weapon/elven_bow_shot": { svg: V2({ ..._0, pull: null, arrow: false }) }, "weapon/crossbow": { svg: C3(true) }, "weapon/crossbow_shot": { svg: C3(false) }, "weapon/pistol": { svg: Y2(f3, 13, false) }, "weapon/pistol_shot": { svg: Y2(f3, 13, true) }, "weapon/musket": { svg: Y2(i3, 14, false) }, "weapon/musket_shot": { svg: Y2(i3, 14, true) }, "weapon/rifle": { svg: Y2(_3, 18.5, false) }, "weapon/rifle_shot": { svg: Y2(_3, 18.5, true) } };
|
|
1354
|
+
var m6 = "M 5.5 3.5 L 55 3.5 C 68 4.5 76 18 82.5 40 C 76.5 60 68 72 52 76 L 6 78.5 C 4.5 78.5 3.5 77.5 3.5 76 L 3.5 6 C 3.5 4.5 4.5 3.5 5.5 3.5 Z";
|
|
1355
|
+
var k6 = "M 7 3 L 58 3 C 70 4 80 14 92 36 C 94 39 94 42 92 45 C 80 66 70 76 58 77 L 7 78 C 4 78 3 76 3 72 L 3 8 C 3 5 4 3 7 3 Z";
|
|
1356
|
+
var $6 = "M 6 8 C 6 5 9 4 14 4 L 98 3.5 C 102 3.5 105 6 105 10 L 105 62 C 105 70 102 76 96 78 L 16 80 C 10 82 6 84 4 80 L 3.5 14 C 3.5 11 4 9 6 8 Z";
|
|
1357
|
+
var p3 = (a5, e5, o6) => `M ${a5 - o6} ${e5} A ${o6} ${o6} 0 1 0 ${a5 + o6} ${e5} A ${o6} ${o6} 0 1 0 ${a5 - o6} ${e5} Z`;
|
|
1358
|
+
var p1 = (a5, e5, o6, r7, L6, C5 = 8) => Rt(e5, o6, { stroke: "none" }) + se(a5, e5, L6, Rt(e5, "none", { stroke: r7.base, width: C5 }), Rt(e5, "none", { stroke: r7.light, width: C5 * 0.3, opacity: 0.6 })) + Rt(e5, "none");
|
|
1359
|
+
var h3 = { "offhand/kite_shield": { svg: p1("ks", m6, "#b8282c", g3, oe2("M 0 35 L 90 35 L 90 46 L 0 46 Z M 33 0 L 44 0 L 44 82 L 33 82 Z", "#f2eee8") + oe2("M 38.5 30 L 44 35 L 38.5 40.5 L 33 35 Z", u3.base) + a22(g3, [14, 14, 20, 18], [56, 58, 62, 54])) + [[8, 8], [8, 73], [52, 8], [50, 72], [76, 40]].map(([a5, e5]) => H2(a5, e5, 2.2, g3)).join("") }, "offhand/heater_shield": { svg: p1("hs", k6, "#2a58a8", u3, Rt("M 18 10 L 58 40.5 L 18 71 L 18 58 L 42 40.5 L 18 23 Z", u3.base, { width: 2.6 }) + oe2("M 18 10 L 58 40.5 L 54 40.5 L 18 14 Z", u3.light, 0.8) + [[64, 22], [64, 59], [30, 40.5]].map(([a5, e5]) => r2(a5, e5, 3, "#f2eee8")).join("")) }, "offhand/round_shield": { svg: p1("rs", p3(44.5, 44.5, 42), e2.base, W3, [14, 28, 42, 56, 70].map((a5, e5) => oe2(`M ${a5} 0 L ${a5 + 14} 0 L ${a5 + 14} 90 L ${a5} 90 Z`, e5 % 2 ? e2.light : e2.base)).join("") + ne("M 14 0 L 14 90 M 28 0 L 28 90 M 42 0 L 42 90 M 56 0 L 56 90 M 70 0 L 70 90", e2.mark, 1.8) + ne("M 20 20 L 24 26 M 62 64 L 66 70 M 50 14 L 52 20", e2.mark, 1.2), 9) + [0, 45, 90, 135, 180, 225, 270, 315].map((a5) => {
|
|
1360
|
+
let e5 = a5 * Math.PI / 180;
|
|
1361
|
+
return H2(44.5 + Math.cos(e5) * 35.5, 44.5 + Math.sin(e5) * 35.5, 2, W3);
|
|
1362
|
+
}).join("") + te2(44.5, 44.5, 12, W3.base) + oe2("M 37 41 C 38 37 41 35 45 35 C 41 37.5 39.5 40 39.5 44 Z", "#ffffff", 0.7) }, "offhand/tower_shield": { svg: p1("ts", $6, o2.base, u3, oe2("M 0 0 L 110 0 L 110 26 L 0 26 Z", ie2(o2.base, 0.12)) + [0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330].map((a5) => {
|
|
1363
|
+
let e5 = a5 * Math.PI / 180, o6 = (r7, L6) => `${(54 + Math.cos(e5 + L6) * r7).toFixed(1)} ${(42 + Math.sin(e5 + L6) * r7).toFixed(1)}`;
|
|
1364
|
+
return Rt(`M ${o6(10, -0.16)} L ${o6(24, 0)} L ${o6(10, 0.16)} Z`, u3.base, { width: 1.6 });
|
|
1365
|
+
}).join("") + a22(o2, [20, 20, 28, 24], [80, 60, 86, 56], [24, 64, 30, 66])) + te2(54, 42, 10, u3.base) + r2(54, 42, 5.6, "#d0202a") }, "offhand/buckler": { svg: p1("bk", p3(36.5, 36.5, 34.5), g3.base, W3, te2(36.5, 36.5, 23, "none", { stroke: g3.dark, width: 2.4 }) + oe2("M 0 0 L 73 0 L 0 50 Z", g3.light, 0.45) + a22(g3, [16, 46, 22, 50], [50, 20, 54, 26]), 7) + te2(36.5, 36.5, 11, g3.base) + Rt("M 32 36.5 L 36.5 27 L 41 36.5 L 36.5 46 Z", g3.light, { width: 2 }) + [45, 135, 225, 315].map((a5) => {
|
|
1366
|
+
let e5 = a5 * Math.PI / 180;
|
|
1367
|
+
return H2(36.5 + Math.cos(e5) * 29, 36.5 + Math.sin(e5) * 29, 1.9, W3);
|
|
1368
|
+
}).join("") } };
|
|
1369
|
+
var M3 = { "weapon/knight_sword": { svg: F2("ks", 3, 106, 25, 8.5, g3, { extra: a22(g3, [40, 19, 46, 21], [70, 29, 76, 27], [88, 20, 92, 22]) }) + v22("ksg", 114, 140, 25, 5.5) + T("ksx", "M 104 8 C 104 5 106 4 108 4 C 110 4 112 5 112 8 L 112 42 C 112 45 110 46 108 46 C 106 46 104 45 104 42 Z", u3, { light: "M 100 0 L 108 0 L 108 50 L 100 50 Z", dark: "M 100 32 L 120 32 L 120 50 L 100 50 Z" }) + r2(108, 25, 3.2, "#d0202a") + te2(146.5, 25, 6.2, u3.base) + r2(146.5, 25, 2.8, "#d0202a") }, "weapon/dark_blade": { svg: F2("db", 3, 113, 24, 9, o2, { d: "M 3 24 L 22 15 L 40 15 L 44 12 L 48 15 L 70 15 L 74 12 L 78 15 L 113 15 L 113 33 L 22 33 Z", fuller: "#5fd0ff", extra: oe2("M 30 22.6 L 106 22.6 L 106 25.4 L 30 25.4 Z", "#bff0ff", 0.8) }) + v22("dbg", 124, 146, 24, 6, g22) + T("dbx", "M 113 18 C 108 10 108 4 114 3 C 118 8 122 12 124 18 L 124 30 C 122 36 118 40 114 45 C 108 44 108 38 113 30 Z", o2, { light: "M 100 0 L 116 0 L 116 50 L 100 50 Z" }) + r2(118.5, 24, 3.4, "#4ab0ff") + Rt("M 146 18 L 156 24 L 146 30 Z", o2.base) }, "weapon/broadsword": { svg: F2("bs", 4, 112, 32, 14, g3, { d: "M 4 32 L 22 18 L 46 18 L 50 21 L 55 18 L 112 18 L 112 46 L 78 46 L 74 43 L 70 46 L 22 46 Z", extra: oe2("M 30 34 C 36 30 44 31 46 36 C 48 41 42 44 36 43 C 33 42 31 39 30 34 Z M 84 22 C 88 20 94 22 94 26 C 92 29 88 29 84 27 Z", t3, 0.85) + a22(g3, [58, 24, 66, 27], [62, 38, 70, 36], [96, 34, 104, 36], [16, 30, 22, 28]) }) + T("bsx", "M 112 12 L 120 12 L 120 52 L 112 52 Z", W3, { light: "M 108 0 L 115 0 L 115 60 L 108 60 Z" }) + v22("bsg", 120, 148, 32, 6, g22) + te2(152, 32, 5.5, W3.base) + H2(116, 16, 1.8, W3) + H2(116, 48, 1.8, W3) }, "weapon/flame_sword": { svg: F2("fs", 3, 128, 23, 9, { base: "#c42a28", light: "#ff7a50", dark: "#8a1418", mark: "#5a0a0e" }, { d: "M 3 23 L 16 15 C 26 12 30 18 40 15 C 50 12 56 18 66 15 C 76 12 82 18 92 15 C 102 12 110 16 128 14 L 128 32 C 110 30 102 34 92 31 C 82 28 76 34 66 31 C 56 28 50 34 40 31 C 30 28 26 34 16 31 Z", fuller: "none", extra: [36, 62, 88, 112].map((a5) => Rt(`M ${a5 - 5} 23 L ${a5} 19 L ${a5 + 5} 23 L ${a5} 27 Z`, u3.base, { stroke: u3.dark, width: 1.4 })).join("") }) + T("fsx", "M 128 9 C 132 7 136 9 137 13 L 137 33 C 136 37 132 39 128 37 Z", u3, { light: "M 124 0 L 132 0 L 132 47 L 124 47 Z" }) + r2(132.5, 23, 3, "#ff3040") + v22("fsg", 138, 164, 23, 4) + Rt("M 164 17 L 172 23 L 164 29 Z", u3.base) }, "weapon/dagger": { svg: F2("dg", 3, 62, 12, 6.5, g3, { d: "M 3 12 C 12 7 24 5.5 40 5.5 L 62 6 L 62 18 L 40 18.5 C 24 18.5 12 17 3 12 Z", extra: a22(g3, [30, 9, 34, 10]) }) + T("dgx", "M 60 3 C 62 2 66 2 67 3 L 67 21 C 66 22 62 22 60 21 Z", u3, { light: "M 56 0 L 63 0 L 63 29 L 56 29 Z" }) + v22("dgg", 67, 98, 11.5, 4.5, O3) + te2(103, 11.5, 4.6, u3.base) + r2(103, 11.5, 2, "#3a9ad0") }, "weapon/battle_axe": { svg: B2("bah", 14, 108, 10.5, 6) + T("ba", "M 24 15 L 50 15 C 52 26 58 36 66 42 C 56 52 40 57 26 56 C 14 55 6 50 3 44 C 12 36 20 26 24 15 Z", g3, { light: "M 0 50 C 14 52 30 52 50 48 C 58 46 64 43 70 40 L 70 60 L 0 60 Z", dark: "M 20 14 L 52 14 C 52 22 54 28 58 34 C 44 30 30 30 18 34 Z", extra: a22(g3, [20, 44, 26, 42], [40, 38, 46, 40]) + ne("M 8 44 C 22 50 44 50 62 41", g3.dark, 2) }) + T("bac", "M 20 2.5 L 52 2.5 L 52 18.5 L 20 18.5 Z", W3, { light: "M 18 0 L 54 0 L 54 7 L 18 7 Z" }) + H2(27, 10.5, 2.2, W3) + H2(45, 10.5, 2.2, W3) + v22("bag", 80, 106, 10.5, 6.4, O3) }, "weapon/double_axe": { svg: B2("dah", 12, 106, 46, 7) + [1, -1].map((a5, e5) => {
|
|
1370
|
+
let o6 = (L6) => 46 - a5 * L6, r7 = `M 20 ${o6(6)} C 16 ${o6(16)} 8 ${o6(26)} 3 ${o6(36)} C 16 ${o6(43)} 42 ${o6(43)} 55 ${o6(36)} C 50 ${o6(26)} 42 ${o6(16)} 38 ${o6(6)} Z`;
|
|
1371
|
+
return T(`da${e5}`, r7, g3, { light: `M 0 ${o6(34)} C 16 ${o6(40)} 42 ${o6(40)} 58 ${o6(34)} L 58 ${o6(50)} L 0 ${o6(50)} Z`, extra: ne(`M 8 ${o6(33)} C 20 ${o6(38)} 38 ${o6(38)} 50 ${o6(33)}`, g3.dark, 2) + a22(g3, [24, o6(22), 30, o6(24)]) });
|
|
1372
|
+
}).join("") + T("dac", "M 17 36 L 41 36 L 41 56 L 17 56 Z", u3, { light: "M 15 34 L 43 34 L 43 41 L 15 41 Z" }) + r2(29, 46, 3.4, "#d0202a") + Rt("M 12 40 L 3 46 L 12 52 Z", W3.base) + v22("dag", 76, 104, 46, 7.4, O3) }, "weapon/mace": { svg: B2("mh", 54, 134, 35.5, 5.5, W3) + [0, 60, 120, 180, 240, 300].map((a5, e5) => {
|
|
1373
|
+
let o6 = a5 * Math.PI / 180, r7 = (L6, C5) => `${(31 + Math.cos(o6 + C5) * L6).toFixed(1)} ${(36 + Math.sin(o6 + C5) * L6).toFixed(1)}`;
|
|
1374
|
+
return T(`mf${e5}`, `M ${r7(12, -0.5)} L ${r7(26.5, -0.13)} L ${r7(26.5, 0.13)} L ${r7(12, 0.5)} Z`, g3, { width: 2.8 });
|
|
1375
|
+
}).join("") + T("mb", "M 13 36 A 18 18 0 1 0 49 36 A 18 18 0 1 0 13 36 Z", g3, { light: "M 0 0 L 60 0 L 60 28 C 44 22 24 22 0 30 Z", dark: "M 0 44 C 20 50 40 50 60 42 L 60 70 L 0 70 Z" }) + oe2("M 22 26 C 26 22 32 21 36 22 C 30 24 26 27 24 31 Z", "#ffffff", 0.7) + T("mc", "M 48 28 L 58 28 L 58 43 L 48 43 Z", u3, { light: "M 46 26 L 60 26 L 60 32 L 46 32 Z" }) + v22("mg", 104, 134, 35.5, 7, O3) + te2(137, 35.5, 4.2, u3.base) }, "weapon/warhammer": { svg: B2("wh", 36, 98, 33, 5) + Rt("M 16 13 L 22 2.5 L 28 13 Z M 16 53 L 22 62.5 L 28 53 Z", g3.base) + T("wb", "M 10 12 L 34 12 L 37 18 L 37 48 L 34 54 L 10 54 L 8 48 L 8 18 Z", g3, { light: "M 0 0 L 45 0 L 45 20 L 0 20 Z", dark: "M 0 42 L 45 42 L 45 65 L 0 65 Z", extra: ne("M 10 33 L 36 33", g3.dark, 2) + a22(g3, [14, 26, 20, 28], [24, 40, 30, 38]) }) + T("wf", "M 3 17 C 3 15 5 15 8 16 L 8 50 C 5 51 3 51 3 49 Z", W3) + H2(22, 22, 2.2, W3) + H2(22, 44, 2.2, W3) + v22("whg", 70, 98, 33, 6, O3) }, "weapon/spear": { svg: B2("sp", 40, 140, 18, 3.6) + Rt("M 44 22 C 42 28 40 32 38 37 M 46 22 C 46 28 46 32 45 37 M 48 22 C 50 28 51 32 52 36", "none", { stroke: Tt, width: 5.5 }) + Rt("M 44 22 C 42 28 40 32 38 37 M 46 22 C 46 28 46 32 45 37 M 48 22 C 50 28 51 32 52 36", "none", { stroke: "#d02a2a", width: 2.6 }) + F2("spb", 3, 36, 18, 8, g3, { d: "M 3 18 C 12 10 22 8 30 10 L 36 14 L 36 22 L 30 26 C 22 28 12 26 3 18 Z" }) + T("sps", "M 34 12.5 L 46 13.5 L 46 22.5 L 34 23.5 Z", u3, { light: "M 30 10 L 50 10 L 50 16 L 30 16 Z" }) + T("spc", "M 138 13.5 L 144 13.5 C 145.5 13.5 145.5 22.5 144 22.5 L 138 22.5 Z", W3) + v22("spg", 110, 136, 18, 4.6, O3) }, "weapon/wizard_staff": { svg: te2(17, 21, 15.5, "#7ad8ff", { stroke: "none", opacity: 0.35 }) + B2("wz", 30, 129, 21, 5.5) + Rt("M 30 15 C 24 8 18 6 12 7 M 30 27 C 24 34 18 36 12 35 M 31 21 L 34 21", "none", { stroke: Tt, width: 7 }) + Rt("M 30 15 C 24 8 18 6 12 7 M 30 27 C 24 34 18 36 12 35", "none", { stroke: e2.base, width: 3.4 }) + T("wzo", "M 6 21 A 11 11 0 1 0 28 21 A 11 11 0 1 0 6 21 Z", { base: "#3a9ae0", light: "#bff0ff", dark: "#1d5aa8" }, { dark: "M 0 24 C 10 30 22 30 32 24 L 32 40 L 0 40 Z", extra: te2(14, 16, 3.6, "#ffffff", { stroke: "none", opacity: 0.9 }) + te2(21, 26, 1.6, "#ffffff", { stroke: "none" }) }) + T("wz1", "M 42 14 L 48 14 L 48 28 L 42 28 Z", u3) + T("wz2", "M 118 14.5 L 123 14.5 L 123 27.5 L 118 27.5 Z", u3) }, "weapon/druid_staff": { svg: B2("dr", 28, 138, 16, 5) + Rt("M 30 16 C 22 16 10 15 8 11 C 6 7 12 6 18 7.5 C 24 9 26 13 22 15", "none", { stroke: Tt, width: 9.5 }) + Rt("M 30 16 C 22 16 10 15 8 11 C 6 7 12 6 18 7.5 C 24 9 26 13 22 15", "none", { stroke: e2.base, width: 5 }) + r2(15.5, 11.5, 3.6, "#3ad070") + [[34, 22, 20], [60, 9, -25], [96, 22, 30]].map(([a5, e5, o6]) => `<g transform="rotate(${o6} ${a5} ${e5})">` + Rt(`M ${a5 - 6} ${e5} C ${a5 - 3} ${e5 - 4} ${a5 + 3} ${e5 - 4} ${a5 + 6} ${e5} C ${a5 + 3} ${e5 + 4} ${a5 - 3} ${e5 + 4} ${a5 - 6} ${e5} Z`, "#5ab040", { width: 2 }) + ne(`M ${a5 - 5} ${e5} L ${a5 + 5} ${e5}`, "#2e6a20", 1.2) + "</g>").join("") + v22("drg", 110, 138, 16, 5.6, O3) } };
|
|
1376
|
+
var Q3 = { id: "fantasy", art: { ...M3, ...l3, ...h3, ...L3, ...n3 } };
|
|
1377
|
+
function h0(a5) {
|
|
1378
|
+
let { type: e5, under: o6, variant: r7, rename: L6 } = a5;
|
|
1379
|
+
return { id: `swapUnder:${e5}/${o6}`, apply(C5) {
|
|
1380
|
+
let i5 = C5.worn(e5), h7 = C5.worn(o6) !== null, p5 = i5 ? L6(i5) : null;
|
|
1381
|
+
C5.setWorn(r7, h7 && p5 && C5.exists(p5) ? p5 : null), h7 && C5.setWorn(e5, null);
|
|
1382
|
+
} };
|
|
1383
|
+
}
|
|
1384
|
+
function M0(a5) {
|
|
1385
|
+
let { type: e5, other: o6, skins: r7 } = a5;
|
|
1386
|
+
return { id: `bothHands:${e5}/${o6}`, apply(L6) {
|
|
1387
|
+
let C5 = L6.worn(e5);
|
|
1388
|
+
C5 && r7.has(C5) && L6.setWorn(o6, null);
|
|
1389
|
+
} };
|
|
1390
|
+
}
|
|
1391
|
+
function Q0(a5) {
|
|
1392
|
+
for (let e5 of Object.values(a5.anchors)) a5.data.bone(e5);
|
|
1393
|
+
if (!a5.data.animations.has(a5.defaultAnimation)) throw new Error(`rig ${a5.id}: no animation ${a5.defaultAnimation}`);
|
|
1394
|
+
if (a5.blink) {
|
|
1395
|
+
if (!a5.data.animations.has(a5.blink.animation)) throw new Error(`rig ${a5.id}: blink \u2014 no animation ${a5.blink.animation}`);
|
|
1396
|
+
for (let e5 of a5.blink.bones) a5.data.bone(e5);
|
|
1397
|
+
for (let e5 of a5.blink.slots) a5.data.slot(e5);
|
|
1398
|
+
}
|
|
1399
|
+
for (let e5 of a5.editor?.groups ?? []) {
|
|
1400
|
+
for (let r7 of e5.types) if (!a5.partTypes.some((L6) => L6.id === r7)) throw new Error(`rig ${a5.id}: editor ${e5.id} \u2014 no type ${r7}`);
|
|
1401
|
+
for (let r7 of [...e5.thumbnail?.slots ?? [], ...e5.thumbnail?.backdrop?.slots ?? []]) a5.data.slot(r7);
|
|
1402
|
+
let o6 = e5.thumbnail?.backdrop?.skin;
|
|
1403
|
+
if (o6 && !a5.data.skins.has(o6)) throw new Error(`rig ${a5.id}: editor ${e5.id} \u2014 no skin ${o6}`);
|
|
1404
|
+
}
|
|
1405
|
+
for (let [e5, o6] of Object.entries(a5.expressions?.faces ?? {})) for (let [r7, L6] of Object.entries(o6)) {
|
|
1406
|
+
if (!a5.partTypes.some((C5) => C5.id === r7)) throw new Error(`rig ${a5.id}: expression ${e5} \u2014 no type ${r7}`);
|
|
1407
|
+
if (!a5.data.skins.has(L6)) throw new Error(`rig ${a5.id}: expression ${e5} \u2014 no skin ${L6}`);
|
|
1408
|
+
}
|
|
1409
|
+
for (let [e5, o6] of Object.entries(a5.expressions?.byAnimation ?? {})) {
|
|
1410
|
+
if (!a5.data.animations.has(e5)) throw new Error(`rig ${a5.id}: expressions \u2014 no animation ${e5}`);
|
|
1411
|
+
if (!a5.expressions.faces[o6]) throw new Error(`rig ${a5.id}: expressions \u2014 no face ${o6}`);
|
|
1412
|
+
}
|
|
1413
|
+
for (let e5 of a5.partTypes) if (!a5.data.skinOrder.some((o6) => o6.startsWith(e5.skinPrefix))) throw new Error(`rig ${a5.id}: type ${e5.id} has no skins (${e5.skinPrefix})`);
|
|
1414
|
+
return a5;
|
|
1415
|
+
}
|
|
1416
|
+
function E6(a5, e5, o6, r7, L6) {
|
|
1417
|
+
let C5 = r7 - e5;
|
|
1418
|
+
switch (a5) {
|
|
1419
|
+
case "linear":
|
|
1420
|
+
return;
|
|
1421
|
+
case "step":
|
|
1422
|
+
return "stepped";
|
|
1423
|
+
case "in":
|
|
1424
|
+
return [e5 + C5 * 0.45, o6, r7 - C5 * 0.1, L6 - (L6 - o6) * 0.1];
|
|
1425
|
+
case "out":
|
|
1426
|
+
return [e5 + C5 * 0.1, o6 + (L6 - o6) * 0.1, r7 - C5 * 0.45, L6];
|
|
1427
|
+
default:
|
|
1428
|
+
return [e5 + C5 * 0.4, o6, r7 - C5 * 0.4, L6];
|
|
1429
|
+
}
|
|
1430
|
+
}
|
|
1431
|
+
function t2(a5) {
|
|
1432
|
+
let e5 = [...a5.keys].sort((C5, i5) => C5.t - i5.t), o6 = /* @__PURE__ */ new Set();
|
|
1433
|
+
for (let C5 of e5) for (let i5 of Object.keys(C5.pose)) o6.add(i5);
|
|
1434
|
+
let r7 = { bones: {} }, L6 = (C5, i5, h7) => e5.map((p5, M2) => {
|
|
1435
|
+
let b5 = e5[M2 + 1], $7 = i5(p5.pose[C5] ?? {}), G5 = h7(p5.t, $7);
|
|
1436
|
+
if (b5) {
|
|
1437
|
+
let I7 = i5(b5.pose[C5] ?? {}), B5 = p5.pose[C5]?.e ?? p5.ease ?? "ease", F3 = $7.map((U2, A5) => E6(B5, p5.t, U2, b5.t, I7[A5]));
|
|
1438
|
+
F3.some((U2) => U2 === "stepped") ? G5.curve = "stepped" : F3.every((U2) => U2 !== void 0) && (G5.curve = F3.flat());
|
|
1439
|
+
}
|
|
1440
|
+
return G5;
|
|
1441
|
+
});
|
|
1442
|
+
for (let C5 of o6) {
|
|
1443
|
+
let i5 = (p5) => e5.some((M2) => M2.pose[C5]?.[p5] !== void 0), h7 = {};
|
|
1444
|
+
i5("r") && (h7.rotate = L6(C5, (p5) => [p5.r ?? 0], (p5, [M2]) => ({ time: p5, value: M2 }))), (i5("x") || i5("y")) && (h7.translate = L6(C5, (p5) => [p5.x ?? 0, p5.y ?? 0], (p5, [M2, b5]) => ({ time: p5, x: M2, y: b5 }))), (i5("sx") || i5("sy")) && (h7.scale = L6(C5, (p5) => [p5.sx ?? 1, p5.sy ?? 1], (p5, [M2, b5]) => ({ time: p5, x: M2, y: b5 }))), r7.bones[C5] = h7;
|
|
1445
|
+
}
|
|
1446
|
+
return a5.slots && (r7.slots = Object.fromEntries(Object.entries(a5.slots).map(([C5, i5]) => [C5, { attachment: i5.map(([h7, p5]) => ({ time: h7, name: p5 })) }]))), a5.events && (r7.events = a5.events.map(([C5, i5]) => ({ time: C5, name: i5 }))), r7;
|
|
1447
|
+
}
|
|
1448
|
+
var h1 = (...a5) => Object.assign({}, ...a5);
|
|
1449
|
+
function X2(a5, e5, o6 = 1 / 24) {
|
|
1450
|
+
let r7 = Math.round(1 / o6);
|
|
1451
|
+
return Array.from({ length: r7 + 1 }, (L6, C5) => ({ t: +(C5 / r7 * a5).toFixed(4), pose: e5(C5 === r7 ? 0 : C5 / r7), ease: "linear" }));
|
|
1452
|
+
}
|
|
1453
|
+
var R = { idle: "Idle", look: "Look", walk: "Walk", run: "Run", runArmed: "RunArmed", punch: "Punch", stab: "Stab", swing: "Swing", hit: "Hit", die: "Die", talk: "Talk", surprised: "Surprised", point: "Point", wave: "Wave", jump: "Jump", dance: "Dance", sit: "Sit", fall: "Fall" };
|
|
1454
|
+
var v0 = "Blink";
|
|
1455
|
+
var D = { hand_target_far: { x: -3, y: 1, r: -15 }, hand_target_near: { x: -1, y: 1, r: -10 } };
|
|
1456
|
+
var q22 = Math.PI * 2;
|
|
1457
|
+
var R6 = (a5) => a5 * a5 * (3 - 2 * a5);
|
|
1458
|
+
function c3(a5, e5, o6) {
|
|
1459
|
+
let r7 = (a5 % 1 + 1) % 1;
|
|
1460
|
+
if (r7 < 0.5) return { x: -e5 + 2 * e5 * r7 / 0.5, y: 0 };
|
|
1461
|
+
let L6 = (r7 - 0.5) / 0.5;
|
|
1462
|
+
return { x: e5 - 2 * e5 * R6(L6), y: o6 * Math.sin(Math.PI * L6) };
|
|
1463
|
+
}
|
|
1464
|
+
function d3(a5) {
|
|
1465
|
+
let e5 = (a5 % 1 + 1) % 1;
|
|
1466
|
+
return e5 < 0.5 ? 0 : -10 * Math.sin(Math.PI * ((e5 - 0.5) / 0.5));
|
|
1467
|
+
}
|
|
1468
|
+
function c0(a5) {
|
|
1469
|
+
return (e5) => {
|
|
1470
|
+
let o6 = Math.cos(2 * q22 * e5), r7 = Math.cos(q22 * e5);
|
|
1471
|
+
return { foot_target_near: c3(e5, a5.stride, a5.lift), foot_target_far: c3(e5 + 0.5, a5.stride, a5.lift), foot_near: { r: d3(e5) }, foot_far: { r: d3(e5 + 0.5) }, hips: { y: -a5.bob / 2 - a5.bob / 2 * o6 }, torso: { r: a5.lean + 1 * o6 }, head: { r: -a5.lean / 2 - 1 * o6 }, hand_target_near: { x: -1 + a5.swing * r7, y: 1 + a5.raise + 1.5 * (1 + r7), r: -10 - a5.raise * 2 }, hand_target_far: a5.armed ? { x: -8, y: 14, r: -35 } : { x: -3 - a5.swing * r7, y: 1 + a5.raise + 1.5 * (1 - r7), r: -15 - a5.raise * 2 }, cape: { r: -2 - 3 * Math.sin(2 * q22 * e5) - a5.lean / 2 } };
|
|
1472
|
+
};
|
|
1473
|
+
}
|
|
1474
|
+
var d0 = (a5) => [[0, "Step"], [a5 / 2, "Step"]];
|
|
1475
|
+
var g32 = { stride: 8, lift: 5, bob: 1.4, lean: 2, swing: 5, raise: 0 };
|
|
1476
|
+
var E1 = { stride: 12, lift: 9, bob: 3, lean: 9, swing: 8, raise: 10 };
|
|
1477
|
+
var g0 = 0.8;
|
|
1478
|
+
var J22 = 0.5;
|
|
1479
|
+
var v32 = { [R.walk]: 2 * g32.stride / (g0 / 2), [R.run]: 2 * E1.stride / (J22 / 2), [R.runArmed]: 2 * E1.stride / (J22 / 2) };
|
|
1480
|
+
var R1 = { [R.idle]: t2({ keys: [{ t: 0, pose: D }, { t: 1, pose: { torso: { y: 0.6, r: 1 }, head: { r: -1.5 }, hand_target_far: { x: -3, y: 2.3, r: -17 }, hand_target_near: { x: -1, y: 2.3, r: -12 }, cape: { r: 2 } } }, { t: 2, pose: D }] }), [R.look]: t2({ keys: [{ t: 0, pose: D }, { t: 0.6, pose: h1(D, { head: { r: -8 }, torso: { r: -2 }, hips: { x: 1.5, y: -0.4 } }) }, { t: 1.5, pose: h1(D, { head: { r: -7 }, torso: { r: -2 }, hips: { x: 1.5, y: -0.4 } }) }, { t: 2.1, pose: h1(D, { head: { r: 5 }, torso: { r: 2 }, hips: { x: -1 } }) }, { t: 2.7, pose: h1(D, { head: { r: 4 }, torso: { r: 2 }, hips: { x: -1 } }) }, { t: 3.2, pose: D }] }), [R.walk]: t2({ keys: X2(g0, c0(g32)), events: d0(g0) }), [R.run]: t2({ keys: X2(J22, c0(E1)), events: d0(J22) }), [R.runArmed]: t2({ keys: X2(J22, c0({ ...E1, armed: true })), events: d0(J22) }), [R.punch]: t2({ keys: [{ t: 0, pose: D }, { t: 0.12, pose: { torso: { r: -6 }, hips: { x: 2 }, head: { r: -2 }, hand_target_far: { x: 8, y: 16, r: -60 }, hand_target_near: { x: -6, y: 18, r: -40 } } }, { t: 0.25, ease: "out", pose: { torso: { r: 10 }, hips: { x: -3 }, head: { r: 4 }, hand_target_far: { x: -26, y: 30, r: -90 }, hand_target_near: { x: 4, y: 16, r: -40 } } }, { t: 0.4, pose: { torso: { r: 8 }, hips: { x: -2 }, head: { r: 3 }, hand_target_far: { x: -22, y: 28, r: -85 }, hand_target_near: { x: 3, y: 15, r: -38 } } }, { t: 0.75, pose: D }], events: [[0.25, "Attack"]] }), [R.stab]: t2({ keys: [{ t: 0, pose: D }, { t: 0.15, pose: { torso: { r: -5 }, hips: { x: 2 }, hand_target_far: { x: 10, y: 12, r: -5 }, hand_target_near: { x: -4, y: 6, r: -20 } } }, { t: 0.3, ease: "out", pose: { torso: { r: 11 }, hips: { x: -4 }, head: { r: 3 }, hand_target_far: { x: -27, y: 17, r: 0 }, hand_target_near: { x: 6, y: 4, r: -10 } } }, { t: 0.45, pose: { torso: { r: 9 }, hips: { x: -3 }, head: { r: 2 }, hand_target_far: { x: -24, y: 16, r: 0 }, hand_target_near: { x: 5, y: 4, r: -10 } } }, { t: 0.8, pose: D }], events: [[0.3, "Attack"]] }), [R.swing]: t2({ keys: [{ t: 0, pose: D }, { t: 0.16, pose: { torso: { r: -8 }, hips: { x: 2 }, head: { r: -3 }, hand_target_far: { x: 8, y: 72, r: -100 }, hand_target_near: { x: -4, y: 10, r: -30 } } }, { t: 0.3, ease: "out", pose: { torso: { r: 12 }, hips: { x: -4 }, head: { r: 4 }, hand_target_far: { x: -22, y: 16, r: 40 }, hand_target_near: { x: 5, y: 4, r: -10 } } }, { t: 0.42, pose: { torso: { r: 10 }, hips: { x: -3 }, head: { r: 3 }, hand_target_far: { x: -14, y: 4, r: 70 }, hand_target_near: { x: 4, y: 3, r: -10 } } }, { t: 0.85, pose: D }], events: [[0.3, "Attack"]] }), [R.hit]: t2({ keys: [{ t: 0, pose: D }, { t: 0.08, ease: "out", pose: { torso: { r: -10 }, head: { r: -8 }, hips: { x: 4 }, hand_target_far: { x: 4, y: 7, r: -25 }, hand_target_near: { x: 5, y: 9, r: -20 } } }, { t: 0.45, pose: D }], events: [[0, "Hit"]] }), [R.die]: t2({ keys: [{ t: 0, pose: D }, { t: 0.15, pose: { torso: { r: -12 }, head: { r: -10 }, hips: { x: 4 }, hand_target_far: { x: 6, y: 10, r: -30 }, hand_target_near: { x: 8, y: 12, r: -25 } } }, { t: 0.5, ease: "in", pose: { torso: { r: -55 }, head: { r: -12 }, hips: { x: 14, y: -20 }, hand_target_far: { x: 14, y: 18, r: -60 }, hand_target_near: { x: 16, y: 20, r: -50 }, foot_target_near: { x: -10, y: 2 }, foot_target_far: { x: -6, y: 1 } } }, { t: 0.72, ease: "out", pose: { torso: { r: -88 }, head: { r: 6 }, hips: { x: 18, y: -33 }, hand_target_far: { x: 22, y: 14, r: -80 }, hand_target_near: { x: 26, y: 16, r: -70 }, foot_target_near: { x: -22, y: 4 }, foot_target_far: { x: -14, y: 2 } } }, { t: 1.1, pose: { torso: { r: -90 }, head: { r: 4 }, hips: { x: 18, y: -34 }, hand_target_far: { x: 24, y: 12, r: -85 }, hand_target_near: { x: 28, y: 14, r: -75 }, foot_target_near: { x: -24, y: 0 }, foot_target_far: { x: -16, y: 0 } } }], events: [[0.72, "Die"]] }), [R.talk]: t2({ keys: [{ t: 0, pose: D }, { t: 0.35, pose: { torso: { y: 0.4, r: 2 }, head: { r: 3 }, hand_target_near: { x: -11, y: 17, r: -55 }, hand_target_far: { x: -4, y: 2, r: -16 } } }, { t: 0.7, pose: { torso: { r: 1 }, head: { r: -2 }, hand_target_near: { x: -6, y: 11, r: -35 }, hand_target_far: { x: -3, y: 1, r: -15 } } }, { t: 1.1, pose: { torso: { y: 0.5, r: 3 }, head: { r: 4 }, hand_target_near: { x: -13, y: 20, r: -60 }, hand_target_far: { x: -5, y: 3, r: -18 } } }, { t: 1.6, pose: D }] }), [R.surprised]: t2({ keys: [{ t: 0, pose: D }, { t: 0.14, ease: "out", pose: { hips: { x: 7, y: 7 }, torso: { r: -12 }, head: { r: -7 }, hand_target_far: { x: 3, y: 38, r: -120 }, hand_target_near: { x: 5, y: 40, r: -120 }, foot_target_near: { x: 5, y: 6 }, foot_target_far: { x: 8, y: 4 } } }, { t: 0.32, pose: { hips: { x: 7, y: -1 }, torso: { r: -9 }, head: { r: -5 }, hand_target_far: { x: 2, y: 34, r: -110 }, hand_target_near: { x: 4, y: 36, r: -110 }, foot_target_near: { x: 6, y: 0 }, foot_target_far: { x: 8, y: 0 } } }, { t: 0.9, pose: { hips: { x: 7, y: 0 }, torso: { r: -7 }, head: { r: -4 }, hand_target_far: { x: 0, y: 26, r: -90 }, hand_target_near: { x: 2, y: 28, r: -90 }, foot_target_near: { x: 6, y: 0 }, foot_target_far: { x: 8, y: 0 } } }] }), [R.point]: t2({ keys: [{ t: 0, pose: D }, { t: 0.25, ease: "out", pose: { torso: { r: 5 }, head: { r: 2 }, hand_target_far: { x: -34, y: 30, r: -92 }, hand_target_near: { x: -1, y: 2, r: -10 } } }, { t: 1, pose: { torso: { r: 4 }, head: { r: 1 }, hand_target_far: { x: -33, y: 29, r: -90 }, hand_target_near: { x: -1, y: 2, r: -10 } } }] }), [R.wave]: t2({ keys: X2(0.9, (a5) => {
|
|
1481
|
+
let e5 = Math.sin(q22 * a5);
|
|
1482
|
+
return { ...D, torso: { r: -2 }, head: { r: -3 + 2 * e5 }, hand_target_near: { x: -3 + 6 * e5, y: 52, r: -150 - 18 * e5 } };
|
|
1483
|
+
}) }), [R.jump]: t2({ keys: [{ t: 0, pose: D }, { t: 0.14, pose: { hips: { y: -7 }, torso: { r: 6 }, hand_target_far: { x: 4, y: -2, r: -10 }, hand_target_near: { x: 5, y: -1, r: -8 } } }, { t: 0.38, ease: "out", pose: { hips: { y: 28 }, torso: { r: -3 }, head: { r: -4 }, hand_target_far: { x: -4, y: 34, r: -110 }, hand_target_near: { x: -2, y: 36, r: -110 }, foot_target_near: { x: 2, y: 22 }, foot_target_far: { x: 4, y: 24 } } }, { t: 0.62, ease: "in", pose: { hips: { y: -5 }, torso: { r: 5 }, hand_target_far: { x: 2, y: 4, r: -20 } } }, { t: 0.85, pose: D }] }), [R.dance]: t2({ keys: X2(1, (a5) => {
|
|
1484
|
+
let e5 = Math.sin(q22 * a5), o6 = Math.cos(2 * q22 * a5);
|
|
1485
|
+
return { hips: { x: 4 * e5, y: -1.5 + 1.5 * o6 }, torso: { r: 7 * e5 }, head: { r: -5 * e5 }, hand_target_near: { x: -6 + 6 * e5, y: 32 + 10 * e5, r: -120 - 20 * e5 }, hand_target_far: { x: -8 - 6 * e5, y: 32 - 10 * e5, r: -120 + 20 * e5 }, foot_target_near: { x: 1 + 3 * e5, y: Math.max(0, 5 * e5) }, foot_target_far: { x: -1 + 3 * e5, y: Math.max(0, -5 * e5) }, cape: { r: -4 * e5 } };
|
|
1486
|
+
}) }), [R.sit]: t2({ keys: [{ t: 0, pose: D }, { t: 0.5, pose: { hips: { x: 6, y: -22 }, torso: { r: -3 }, head: { r: 2 }, foot_target_near: { x: -16, y: 0 }, foot_target_far: { x: -12, y: 0 }, hand_target_far: { x: -12, y: -6, r: -40 }, hand_target_near: { x: -10, y: -5, r: -40 } } }, { t: 1.5, pose: { hips: { x: 6, y: -22 }, torso: { y: 0.4, r: -2 }, head: { r: 1 }, foot_target_near: { x: -16, y: 0 }, foot_target_far: { x: -12, y: 0 }, hand_target_far: { x: -12, y: -5, r: -40 }, hand_target_near: { x: -10, y: -4, r: -40 } } }] }), [v0]: t2({ keys: [{ t: 0, pose: { eyes: { sx: 1 } } }, { t: 0.06, pose: { eyes: { sx: 0.1 } } }, { t: 0.12, pose: { eyes: { sx: 0.1 } } }, { t: 0.2, pose: { eyes: { sx: 1 } } }] }) };
|
|
1487
|
+
R1[R.fall] = { ...R1[R.die], events: [] };
|
|
1488
|
+
var l2 = (a5, e5, o6, r7, L6) => ({ id: a5, label: e5, skinPrefix: o6, canHide: r7, ...L6 ? { colorTarget: L6 } : {} });
|
|
1489
|
+
var b3 = [l2("Back", "Back", "back/", true), l2("Beard", "Beard", "beard/", true, "Beard"), l2("Boots", "Boots", "boots/", true), l2("Pants", "Pants", "pants/", true), l2("Brows", "Brows", "brows/", false, "Brows"), l2("Eyes", "Eyes", "eyes/", false, "Eyes"), l2("Gloves", "Gloves", "gloves/", true), l2("Hair", "Hair", "hair/", true, "Hair"), { id: "HairUnderHat", label: "Hair under a hat", skinPrefix: "hair_under/", canHide: true, colorTarget: "Hair", auto: true }, l2("Hat", "Hat", "hat/", true), l2("Mouth", "Mouth", "mouth/", false), l2("Glasses", "Glasses", "glasses/", true), l2("Offhand", "Off hand", "offhand/", true), l2("Weapon", "Weapon", "weapon/", true), l2("Top", "Top", "top/", false), l2("Skin", "Skin", "skin/", false, "Skin")];
|
|
1490
|
+
var u32 = [{ id: "Skin", label: "Skin", slotPrefixes: ["torso", "leg_", "arm_", "head"] }, { id: "Hair", label: "Hair", slotPrefixes: ["hair"] }, { id: "Beard", label: "Beard", slotPrefixes: ["beard"] }, { id: "Brows", label: "Brows", slotPrefixes: ["brows"] }, { id: "Eyes", label: "Eyes", slotPrefixes: ["eyes"], into: "art" }];
|
|
1491
|
+
var T6 = ["hair_back", "head", "mouth", "eyes", "beard", "brows", "hair", "hair_under", "glasses"];
|
|
1492
|
+
var Z3 = { groups: [{ id: "face", label: "Face", types: ["Hair", "Brows", "Eyes", "Skin", "Mouth", "Beard"], thumbnail: { slots: T6, backdrop: { skin: "skin/1", slots: ["head"] } } }, { id: "body", label: "Body", types: ["Hat", "Top", "Glasses", "Back", "Pants", "Gloves", "Weapon", "Boots", "Offhand"] }] };
|
|
1493
|
+
var M1 = [["root", null, 0, 0, 0], ["hips", "root", 0, 47, 0], ["torso", "hips", 0.6, 52.6, 90, 37], ["head", "torso", 4.2, 98.5, 90, 28.5], ["face", "head", -8.1, 119.2, 180], ["eyes", "face", -5.5, 127.5, 90, 8], ["mouth", "face", -9.3, 113.6, -90, 7.5], ["brows", "face", -6, 141, 90], ["cape", "torso", 23.9, 75.7, 90, 16.5], ["shoulder_near", "torso", 40.6, 93.4, 0], ["upper_arm_near", "shoulder_near", 40.6, 93.4, -91.4, 25.4], ["forearm_near", "upper_arm_near", 40, 68, -92.8, 24], ["hand_target_near", "shoulder_near", 38.8, 44, 0], ["hand_near", "forearm_near", 38.8, 44, 0], ["shoulder_far", "torso", -28.6, 92.2, 0], ["upper_arm_far", "shoulder_far", -28.6, 92.2, -101.9, 25.2], ["forearm_far", "upper_arm_far", -33.8, 67.5, -100.9, 23.7], ["hand_target_far", "shoulder_far", -38.3, 44.2, 0], ["hand_far", "forearm_far", -38.3, 44.2, 0], ["weapon", "hand_far", -35.3, 48.2, -90, 16.8], ["thigh_near", "hips", 20.3, 46.2, -84, 21], ["shin_near", "thigh_near", 22.5, 25.3, -84.2, 17.8], ["foot_target_near", "root", 24.3, 7.6, 0], ["foot_near", "shin_near", 24.3, 7.6, 180, 12], ["thigh_far", "hips", -15.7, 46.2, -84.5, 21], ["shin_far", "thigh_far", -13.7, 25.3, -84.8, 17.8], ["foot_target_far", "root", -12.1, 7.6, 0], ["foot_far", "shin_far", -12.1, 7.6, 180, 12]];
|
|
1494
|
+
var b0 = [["cape", "cape"], ["hair_back", "head"], ["arm_far", "shoulder_far"], ["sleeve_far", "upper_arm_far"], ["cap_far", "upper_arm_far"], ["glove_far", "forearm_far"], ["weapon", "weapon"], ["leg_far", "hips"], ["boot_far", "foot_far"], ["pants_far", "thigh_far"], ["leg_near", "hips"], ["boot_near", "foot_near"], ["pants_near", "thigh_near"], ["pants", "hips"], ["torso", "torso"], ["hat_back", "head"], ["top", "torso"], ["coat", "torso"], ["head", "head"], ["mouth", "mouth"], ["eyes", "eyes"], ["beard", "mouth"], ["brows", "brows"], ["hair", "head"], ["hair_under", "head"], ["hat_low", "head"], ["glasses", "face"], ["hat", "head"], ["offhand_low", "hand_near"], ["arm_near", "shoulder_near"], ["sleeve_near", "upper_arm_near"], ["cap_near", "upper_arm_near"], ["glove_near", "forearm_near"], ["offhand", "hand_near"], ["weapon_aim", "weapon"]];
|
|
1495
|
+
var S6 = [["arm_near", "upper_arm_near", "forearm_near", "hand_target_near", -1], ["arm_far", "upper_arm_far", "forearm_far", "hand_target_far", -1], ["leg_near", "thigh_near", "shin_near", "foot_target_near", 1], ["leg_far", "thigh_far", "shin_far", "foot_target_far", 1]];
|
|
1496
|
+
var P6 = [["hand_near_turn", "hand_near", "hand_target_near"], ["hand_far_turn", "hand_far", "hand_target_far"]];
|
|
1497
|
+
var w3 = { arm_far: ["upper_arm_far", "forearm_far"], sleeve_far: ["upper_arm_far", "forearm_far"], arm_near: ["upper_arm_near", "forearm_near"], sleeve_near: ["upper_arm_near", "forearm_near"], leg_far: ["thigh_far", "shin_far", "foot_far"], pants_far: ["thigh_far", "shin_far", "foot_far"], leg_near: ["thigh_near", "shin_near", "foot_near"], pants_near: ["thigh_near", "shin_near", "foot_near"], boot_far: ["shin_far", "foot_far"], boot_near: ["shin_near", "foot_near"] };
|
|
1498
|
+
var m3 = { pants: { body: "hips", near: "thigh_near", far: "thigh_far" }, coat: { body: "torso", near: "thigh_near", far: "thigh_far" } };
|
|
1499
|
+
var D6 = { x: -50, y: -4, width: 126, height: 188 };
|
|
1500
|
+
function k32() {
|
|
1501
|
+
let a5 = /* @__PURE__ */ new Map(), e5 = M1.map(([o6, r7, L6, C5, i5, h7]) => {
|
|
1502
|
+
a5.set(o6, { x: L6, y: C5, r: i5 });
|
|
1503
|
+
let p5 = r7 ? a5.get(r7) : { x: 0, y: 0, r: 0 }, M2 = -p5.r * Math.PI / 180, b5 = L6 - p5.x, $7 = C5 - p5.y;
|
|
1504
|
+
return { name: o6, ...r7 ? { parent: r7 } : {}, x: +(b5 * Math.cos(M2) - $7 * Math.sin(M2)).toFixed(4), y: +(b5 * Math.sin(M2) + $7 * Math.cos(M2)).toFixed(4), rotation: +(i5 - p5.r).toFixed(4), ...h7 ? { length: h7 } : {} };
|
|
1505
|
+
});
|
|
1506
|
+
return { skeleton: { ...D6 }, bones: e5, slots: b0.map(([o6, r7]) => ({ name: o6, bone: r7, attachment: o6 })), constraints: [...S6.map(([o6, r7, L6, C5, i5]) => ({ name: o6, type: "ik", bones: [r7, L6], target: C5, ...i5 < 0 ? { bendPositive: false } : {} })), ...P6.map(([o6, r7, L6]) => ({ name: o6, type: "transform", source: L6, bones: [r7], properties: { rotate: { to: { rotate: {} } } } }))] };
|
|
1507
|
+
}
|
|
1508
|
+
var e1 = (a5) => {
|
|
1509
|
+
let e5 = M1.find((o6) => o6[0] === a5);
|
|
1510
|
+
if (!e5) throw new Error(`hero: no bone ${a5}`);
|
|
1511
|
+
return { x: e5[2], y: e5[3] };
|
|
1512
|
+
};
|
|
1513
|
+
var P1 = e1("shoulder_far");
|
|
1514
|
+
var D1 = e1("shoulder_near");
|
|
1515
|
+
var $3 = { x: e1("hand_target_far").x - P1.x, y: e1("hand_target_far").y - P1.y };
|
|
1516
|
+
var y3 = { x: e1("hand_target_near").x - D1.x, y: e1("hand_target_near").y - D1.y };
|
|
1517
|
+
var x3 = (a5, e5) => [a5 - $3.x, e5 - $3.y];
|
|
1518
|
+
var E3 = (a5, e5) => [a5 - (D1.x - P1.x) - y3.x, e5 - (D1.y - P1.y) - y3.y];
|
|
1519
|
+
var B6 = { far: { rot: D.hand_target_far?.r ?? 0, x: D.hand_target_far?.x ?? 0, y: D.hand_target_far?.y ?? 0 }, near: { rot: D.hand_target_near?.r ?? 0, x: D.hand_target_near?.x ?? 0, y: D.hand_target_near?.y ?? 0 } };
|
|
1520
|
+
var K22 = (...a5) => a5.map(([e5, o6]) => ({ time: e5, value: o6 }));
|
|
1521
|
+
var w0 = (...a5) => a5.map(([e5, o6, r7]) => ({ time: e5, x: o6, y: r7 }));
|
|
1522
|
+
function Q1(a5, e5, o6) {
|
|
1523
|
+
let r7 = B6[a5], L6 = (C5) => {
|
|
1524
|
+
let [i5, h7] = a5 === "far" ? x3(C5[1], C5[2]) : E3(C5[1], C5[2]);
|
|
1525
|
+
return [C5[0], i5, h7];
|
|
1526
|
+
};
|
|
1527
|
+
return { rotate: K22([0, r7.rot], ...o6.map((C5) => [C5[0], C5[3]]), [e5, r7.rot]), translate: w0([0, r7.x, r7.y], ...o6.map(L6), [e5, r7.x, r7.y]) };
|
|
1528
|
+
}
|
|
1529
|
+
var S1 = (a5, e5) => ({ rotate: K22([0, 0], ...e5, [a5, 0]) });
|
|
1530
|
+
var u0 = (a5, e5, o6, r7) => ({ [a5]: { attachment: [...r7.map(([L6, C5]) => ({ time: L6, name: C5 })), { time: o6, name: e5 }] } });
|
|
1531
|
+
var b2 = { hand: { slot: "weapon", key: "weapon", turn: 90 }, bow: { slot: "weapon", key: "weapon", turn: 90 }, gun: { slot: "offhand_low", key: "offhand_low", turn: 0 } };
|
|
1532
|
+
var m0 = "weapon_aim";
|
|
1533
|
+
var h2 = { cast: "Cast", bow: "ShootBow", crossbow: "ShootCrossbow", pistol: "ShootPistol", musket: "ShootMusket", burst: "ShootBurst" };
|
|
1534
|
+
var c1 = 55;
|
|
1535
|
+
var O6 = { [h2.cast]: { bones: { hand_target_far: Q1("far", 0.9, [[0.18, -18, 34, -62], [0.3, -40, 6, -20], [0.36, -46, -2, -6], [0.55, -46, -2, -6]]), hand_target_near: Q1("near", 0.9, [[0.18, 34, -28, -30], [0.36, 28, -20, -10], [0.55, 28, -20, -10]]), torso: S1(0.9, [[0.18, -6], [0.36, 9], [0.55, 7]]), head: { rotate: K22([0, 0], [0.18, -6], [0.36, 8], [0.55, 6], [0.9, 0]) } }, events: [{ time: 0.36, name: "Attack" }] }, [h2.bow]: { bones: { hand_target_far: Q1("far", 1, [[0.15, -26, -2, 0], [0.5, -26, -2, 0], [0.56, -28, -2, 2], [0.75, -24, -4, -4]]), hand_target_near: Q1("near", 1, [[0.15, 26, -6, -10], [0.3, 22, -5, -10], [0.5, 22, -5, -10], [0.56, 30, -2, -20], [0.75, 28, -14, -20]]), torso: S1(1, [[0.15, 3], [0.5, -2], [0.56, 1]]), head: { rotate: K22([0, 0], [0.15, 4], [0.5, 2], [1, 0]) } }, slots: { ...u0(b2.bow.slot, b2.bow.key, 0.9, [[0.1, null]]), ...u0(m0, m0, 0.9, [[0.1, "bow_held"], [0.28, "bow_drawn"], [0.52, "bow_shot"], [0.85, "bow_held"]]) }, events: [{ time: 0.53, name: "Attack" }] }, [h2.pistol]: { bones: { hand_target_far: Q1("far", 0.7, [[0.12, -46, -2, -c1], [0.22, -46, -2, -c1], [0.26, -41, 3, 22 - c1], [0.4, -46, -2, 2 - c1]]), torso: S1(0.7, [[0.12, 5], [0.26, 1], [0.4, 4]]), head: { rotate: K22([0, 0], [0.12, 3], [0.26, -3], [0.7, 0]) } }, slots: u0(b2.hand.slot, b2.hand.key, 0.32, [[0.24, "weapon_shot"]]), events: [{ time: 0.24, name: "Attack" }] } };
|
|
1536
|
+
function H6(a5, e5, o6) {
|
|
1537
|
+
let r7 = o6 * Math.PI / 180, L6 = a5.fore[0] - a5.hand[0], C5 = -(a5.fore[1] - a5.hand[1]), i5 = e5[0] + L6 * Math.cos(r7) - C5 * Math.sin(r7), h7 = e5[1] + L6 * Math.sin(r7) + C5 * Math.cos(r7);
|
|
1538
|
+
return { far: x3(i5, h7), near: E3(e5[0], e5[1]), angle: o6 };
|
|
1539
|
+
}
|
|
1540
|
+
function R3(a5, e5) {
|
|
1541
|
+
let o6 = e5.map(([r7, L6, C5, i5]) => ({ t: r7, ...H6(a5, [L6, C5], i5) }));
|
|
1542
|
+
return { hand_target_far: { rotate: K22(...o6.map((r7) => [r7.t, r7.angle])), translate: w0(...o6.map((r7) => [r7.t, r7.far[0], r7.far[1]])) }, hand_target_near: { rotate: K22(...o6.map((r7) => [r7.t, r7.angle])), translate: w0(...o6.map((r7) => [r7.t, r7.near[0], r7.near[1]])) } };
|
|
1543
|
+
}
|
|
1544
|
+
function Z0(a5, e5) {
|
|
1545
|
+
let [o6, r7] = a5.aim, [L6, C5, i5] = e5.kick, h7 = [a5.carry[0], a5.carry[1], a5.low], p5 = [[0, ...h7], [e5.raise, o6, r7, 0]];
|
|
1546
|
+
for (let M2 of e5.fire) p5.push([M2, o6, r7, 0], [M2 + 0.03, o6 + L6, r7 + C5, i5], [M2 + 0.08, o6, r7, 0]);
|
|
1547
|
+
return p5.push([e5.end - 0.2, o6, r7, 0], [e5.end, ...h7]), { bones: { ...R3(a5, p5), torso: S1(e5.end, e5.lean) }, slots: { [a5.slot.slot]: { attachment: e5.fire.flatMap((M2) => [{ time: M2, name: "gun_shot" }, { time: M2 + 0.05, name: a5.slot.key }]) } }, events: [{ time: e5.fire[0], name: "Attack" }] };
|
|
1548
|
+
}
|
|
1549
|
+
var A3 = 90;
|
|
1550
|
+
var I6 = [{ name: "hunting_bow", w: 70, h: 112, hand: [26, 51], also: ["drawn", "shot"], slot: b2.bow, carried: A3, attack: h2.bow, shot: "arrow", twoHands: true }, { name: "elven_bow", w: 72, h: 128, hand: [26, 59], also: ["drawn", "shot"], slot: b2.bow, carried: A3, attack: h2.bow, shot: "arrow", twoHands: true }, { name: "pistol", w: 96, h: 40, hand: [76, 16], also: ["shot"], slot: b2.hand, turn: c1, attack: h2.pistol, shot: "bullet", twoHands: false }];
|
|
1551
|
+
var k0 = [{ name: "crossbow", w: 104, h: 56, hand: [80, 35], fore: [36, 28], aim: [32, -20], carry: [44, -34], low: 18, also: ["shot"], slot: b2.gun, attack: h2.crossbow, shot: "bolt", twoHands: true, fire: (a5) => Z0(a5, { end: 0.85, raise: 0.16, fire: [0.32], kick: [5, 2, 8], lean: [[0.16, 3], [0.35, -2], [0.5, 2]] }) }, { name: "musket", w: 180, h: 40, hand: [148, 17], fore: [104, 15], aim: [32, -18], carry: [44, -34], low: 12, also: ["shot"], slot: b2.gun, attack: h2.musket, shot: "bullet", twoHands: true, fire: (a5) => Z0(a5, { end: 1, raise: 0.2, fire: [0.38], kick: [7, 3, 10], lean: [[0.2, 3], [0.42, -4], [0.6, 2]] }) }, { name: "rifle", w: 160, h: 52, hand: [125, 29], fore: [78, 18], aim: [32, -22], carry: [44, -35], low: 12, also: ["shot"], slot: b2.gun, attack: h2.burst, shot: "bullet", twoHands: true, fire: (a5) => Z0(a5, { end: 0.85, raise: 0.15, fire: [0.24, 0.32, 0.4], kick: [3, 2, 5], lean: [[0.15, 3], [0.27, 0], [0.32, 3], [0.35, 0], [0.4, 3], [0.43, 0]] }) }];
|
|
1552
|
+
var T3 = ["Idle", "Look", "Walk", "Run", "RunArmed", "Hit"];
|
|
1553
|
+
function N6(a5, e5) {
|
|
1554
|
+
let o6 = JSON.parse(JSON.stringify(a5));
|
|
1555
|
+
return o6.bones = { ...o6.bones, ...R3(e5, [[0, e5.carry[0], e5.carry[1], e5.low]]) }, o6;
|
|
1556
|
+
}
|
|
1557
|
+
function T1(a5, e5, o6, [r7, L6], C5) {
|
|
1558
|
+
let i5 = r7 - e5 / 2, h7 = o6 / 2 - L6, p5 = C5 * Math.PI / 180, M2 = -(i5 * Math.cos(p5) - h7 * Math.sin(p5)), b5 = -(i5 * Math.sin(p5) + h7 * Math.cos(p5));
|
|
1559
|
+
return { path: a5, x: +M2.toFixed(3), y: +b5.toFixed(3), rotation: C5, width: e5, height: o6 };
|
|
1560
|
+
}
|
|
1561
|
+
var B1 = [...I6, ...k0];
|
|
1562
|
+
var a1 = (a5) => `weapon/${a5.name}`;
|
|
1563
|
+
var S32 = Object.fromEntries(B1.map((a5) => [a1(a5), a5.attack]));
|
|
1564
|
+
var P3 = Object.fromEntries(B1.map((a5) => [a1(a5), a5.shot]));
|
|
1565
|
+
var D3 = new Set(B1.filter((a5) => a5.twoHands).map(a1));
|
|
1566
|
+
var j6 = new Map(k0.map((a5) => [a1(a5), a5]));
|
|
1567
|
+
function B3(a5, e5) {
|
|
1568
|
+
let o6 = e5 ? j6.get(e5) : void 0;
|
|
1569
|
+
return o6 && T3.includes(a5) ? `${a5}@${o6.name}` : a5;
|
|
1570
|
+
}
|
|
1571
|
+
function O32(a5) {
|
|
1572
|
+
let e5 = B1.map((r7) => {
|
|
1573
|
+
let L6 = `weapon/${r7.name}`, C5 = r7.slot.turn + (r7.turn ?? 0), i5 = r7.slot === b2.gun, h7 = { [r7.slot.key]: T1(L6, r7.w, r7.h, r7.hand, C5 + (r7.carried ?? 0)) };
|
|
1574
|
+
if (r7.slot === b2.bow) {
|
|
1575
|
+
let p5 = { bow_held: T1(L6, r7.w, r7.h, r7.hand, C5) };
|
|
1576
|
+
for (let M2 of r7.also) p5[`bow_${M2}`] = T1(`${L6}_${M2}`, r7.w, r7.h, r7.hand, C5);
|
|
1577
|
+
return { name: a1(r7), attachments: { [r7.slot.slot]: h7, [m0]: p5 } };
|
|
1578
|
+
}
|
|
1579
|
+
for (let p5 of r7.also) h7[i5 ? `gun_${p5}` : `weapon_${p5}`] = T1(`${L6}_${p5}`, r7.w, r7.h, r7.hand, C5);
|
|
1580
|
+
return { name: a1(r7), attachments: { [r7.slot.slot]: h7 } };
|
|
1581
|
+
}), o6 = { ...O6 };
|
|
1582
|
+
for (let r7 of k0) {
|
|
1583
|
+
o6[r7.attack] = r7.fire(r7);
|
|
1584
|
+
for (let L6 of T3) a5.animations[L6] && (o6[`${L6}@${r7.name}`] = N6(a5.animations[L6], r7));
|
|
1585
|
+
}
|
|
1586
|
+
return { ...a5, skins: [...a5.skins, ...e5], animations: { ...a5.animations, ...o6 } };
|
|
1587
|
+
}
|
|
1588
|
+
function H3(a5, e5, o6, r7) {
|
|
1589
|
+
return N3(a5, e5, (L6, C5) => {
|
|
1590
|
+
let i5 = G6(L6, C5, o6);
|
|
1591
|
+
if (!r7) return i5;
|
|
1592
|
+
let h7 = H1(O1((r7.y + 4 / 2 - C5) / 4)), p5 = i5.map(([M2, b5]) => [M2, b5 * (1 - h7)]);
|
|
1593
|
+
return p5.push([r7, h7]), p5.filter(([, M2]) => M2 > 1e-4);
|
|
1594
|
+
});
|
|
1595
|
+
}
|
|
1596
|
+
function I3(a5, e5, o6, r7, L6) {
|
|
1597
|
+
let C5 = Math.max(r7.y, L6.y), i5 = (r7.x + L6.x) / 2, h7 = r7.x > L6.x ? 1 : -1;
|
|
1598
|
+
return N3(a5, e5, (p5, M2) => {
|
|
1599
|
+
let b5 = O1((C5 - M2) / 12), $7 = H1(O1(0.5 + h7 * (p5 - i5) / 6));
|
|
1600
|
+
return [[o6, 1 - b5], [r7, b5 * $7], [L6, b5 * (1 - $7)]].filter(([, I7]) => I7 > 1e-4);
|
|
1601
|
+
});
|
|
1602
|
+
}
|
|
1603
|
+
function N3(a5, e5, o6) {
|
|
1604
|
+
let r7 = Math.max(2, Math.ceil(e5.width / 8) + 1), L6 = Math.max(2, Math.ceil(e5.height / 5) + 1), C5 = e5.rotation * Math.PI / 180, i5 = Math.cos(C5), h7 = Math.sin(C5), p5 = [], M2 = [];
|
|
1605
|
+
for (let $7 = 0; $7 < L6; $7++) for (let G5 = 0; G5 < r7; G5++) {
|
|
1606
|
+
let I7 = G5 / (r7 - 1), B5 = $7 / (L6 - 1);
|
|
1607
|
+
p5.push(d1(I7), d1(B5));
|
|
1608
|
+
let F3 = (I7 - 0.5) * e5.width, U2 = (0.5 - B5) * e5.height, A5 = e5.x + F3 * i5 - U2 * h7, j7 = e5.y + F3 * h7 + U2 * i5, s2 = o6(A5, j7), p22 = s2.reduce((M22, [, m22]) => M22 + m22, 0);
|
|
1609
|
+
M2.push(s2.length);
|
|
1610
|
+
for (let [M22, m22] of s2) {
|
|
1611
|
+
let [v1, U22] = F6(M22, A5, j7);
|
|
1612
|
+
M2.push(M22.index, d1(v1), d1(U22), d1(m22 / p22));
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
let b5 = [];
|
|
1616
|
+
for (let $7 = 0; $7 + 1 < L6; $7++) for (let G5 = 0; G5 + 1 < r7; G5++) {
|
|
1617
|
+
let I7 = $7 * r7 + G5;
|
|
1618
|
+
b5.push(I7, I7 + r7, I7 + 1, I7 + 1, I7 + r7, I7 + r7 + 1);
|
|
1619
|
+
}
|
|
1620
|
+
return { type: "mesh", path: a5, uvs: p5, triangles: b5, vertices: M2, width: e5.canvasWidth, height: e5.canvasHeight };
|
|
1621
|
+
}
|
|
1622
|
+
function G6(a5, e5, o6) {
|
|
1623
|
+
let r7 = 0, L6 = 1 / 0, C5 = 0;
|
|
1624
|
+
o6.forEach((b5, $7) => {
|
|
1625
|
+
let [G5, I7] = W6(b5, a5, e5);
|
|
1626
|
+
I7 < L6 && ([r7, L6, C5] = [$7, I7, G5]);
|
|
1627
|
+
});
|
|
1628
|
+
let i5 = o6[r7], h7 = Math.max(i5.length, 1e-3), p5 = C5 * h7, M2 = (1 - C5) * h7;
|
|
1629
|
+
if (r7 > 0 && p5 < 5) {
|
|
1630
|
+
let b5 = 0.5 + 0.5 * H1(p5 / 5);
|
|
1631
|
+
return [[i5, b5], [o6[r7 - 1], 1 - b5]];
|
|
1632
|
+
}
|
|
1633
|
+
if (r7 + 1 < o6.length && M2 < 5) {
|
|
1634
|
+
let b5 = 0.5 + 0.5 * H1(M2 / 5);
|
|
1635
|
+
return [[i5, b5], [o6[r7 + 1], 1 - b5]];
|
|
1636
|
+
}
|
|
1637
|
+
return [[i5, 1]];
|
|
1638
|
+
}
|
|
1639
|
+
function W6(a5, e5, o6) {
|
|
1640
|
+
let r7 = a5.rotation * Math.PI / 180, L6 = Math.cos(r7) * a5.length, C5 = Math.sin(r7) * a5.length, i5 = L6 * L6 + C5 * C5 || 1e-6, h7 = O1(((e5 - a5.x) * L6 + (o6 - a5.y) * C5) / i5);
|
|
1641
|
+
return [h7, Math.hypot(e5 - (a5.x + h7 * L6), o6 - (a5.y + h7 * C5))];
|
|
1642
|
+
}
|
|
1643
|
+
function F6(a5, e5, o6) {
|
|
1644
|
+
let r7 = -a5.rotation * Math.PI / 180, L6 = e5 - a5.x, C5 = o6 - a5.y;
|
|
1645
|
+
return [L6 * Math.cos(r7) - C5 * Math.sin(r7), L6 * Math.sin(r7) + C5 * Math.cos(r7)];
|
|
1646
|
+
}
|
|
1647
|
+
var O1 = (a5) => Math.min(1, Math.max(0, a5));
|
|
1648
|
+
var H1 = (a5) => a5 * a5 * (3 - 2 * a5);
|
|
1649
|
+
var d1 = (a5) => Math.round(a5 * 1e3) / 1e3;
|
|
1650
|
+
var _ = "bend";
|
|
1651
|
+
var K6 = new Map(b0.map(([a5, e5]) => [a5, e5]));
|
|
1652
|
+
var U6 = new Map(M1.map(([a5, , e5, o6, r7, L6], C5) => [a5, { index: C5, x: e5, y: o6, rotation: r7, length: L6 ?? 0 }]));
|
|
1653
|
+
var t1 = (a5) => {
|
|
1654
|
+
let e5 = U6.get(a5);
|
|
1655
|
+
if (!e5) throw new Error(`hero: no bone ${a5}`);
|
|
1656
|
+
return e5;
|
|
1657
|
+
};
|
|
1658
|
+
function j32(a5, e5) {
|
|
1659
|
+
let o6 = {};
|
|
1660
|
+
for (let [r7, L6, C5, i5, h7, p5, M2, ...b5] of e5) {
|
|
1661
|
+
let $7 = K6.get(r7);
|
|
1662
|
+
if (!$7) throw new Error(`hero ${a5}: no slot ${r7}`);
|
|
1663
|
+
let G5 = b5.find((U2) => typeof U2 == "object"), I7 = G5?.sx ?? 1, B5 = G5?.sy ?? 1, F3;
|
|
1664
|
+
if (b5.includes(_)) {
|
|
1665
|
+
let U2 = t1($7), A5 = U2.rotation * Math.PI / 180, j7 = { x: U2.x + C5 * Math.cos(A5) - i5 * Math.sin(A5), y: U2.y + C5 * Math.sin(A5) + i5 * Math.cos(A5), rotation: U2.rotation + h7, width: p5 * I7, height: M2 * B5, canvasWidth: p5, canvasHeight: M2 }, s2 = m3[r7], p22 = w3[r7];
|
|
1666
|
+
if (s2) F3 = I3(L6, j7, t1(s2.body), t1(s2.near), t1(s2.far));
|
|
1667
|
+
else if (p22) {
|
|
1668
|
+
let M22 = p22[p22.length - 1], m22 = M22.startsWith("foot_") ? t1(M22) : void 0;
|
|
1669
|
+
F3 = H3(L6, j7, (m22 ? p22.slice(0, -1) : p22).map(t1), m22);
|
|
1670
|
+
} else throw new Error(`hero ${a5}: ${r7} does not bend`);
|
|
1671
|
+
} else F3 = { path: L6, x: C5, y: i5, rotation: h7, width: p5, height: M2, ...I7 !== 1 ? { scaleX: I7 } : {}, ...B5 !== 1 ? { scaleY: B5 } : {} };
|
|
1672
|
+
(o6[r7] ??= {})[r7] = F3;
|
|
1673
|
+
}
|
|
1674
|
+
return { name: a5, attachments: o6 };
|
|
1675
|
+
}
|
|
1676
|
+
var G3 = { "back/1": [["cape", "back/1", 2.3, -11.1, -90, 84, 76]], "back/2": [["cape", "back/2", -3.7, -12.6, -90, 75, 74]], "back/3": [["cape", "back/3", 1.8, -9.6, -90, 71, 71]], "back/4": [["cape", "back/4", -4.2, -13.1, -90, 74, 83]], "back/5": [["cape", "back/5", -0.2, -10.6, -90, 81, 95]], "back/6": [["cape", "back/6", 2.3, -18.1, -90, 76, 88]], "back/7": [["cape", "back/7", -1.7, -7.6, -90, 79, 78]], "back/8": [["cape", "back/8", 5.8, -12.6, -90, 55, 109]], "back/9": [["cape", "back/9", 3.3, -10.6, -90, 85, 100]], "back/10": [["cape", "back/10", -0.7, -22.6, -90, 63, 94]], "back/11": [["cape", "back/11", -5.2, -9.6, -90, 105, 99]], "back/12": [["cape", "back/12", 4.3, -18.6, -90, 73, 98]], "back/13": [["cape", "back/13", 10.8, -11.1, -90, 92, 93]], "back/14": [["cape", "back/14", 7.8, -13.1, -90, 76, 75]], "back/15": [["cape", "back/15", 17.3, -15.6, -90, 95, 124]], "back/16": [["cape", "back/16", 3.3, -18.6, -90, 79, 86]], "back/17": [["cape", "back/17", 11.8, -15.1, -90, 76, 83]], "back/18": [["cape", "back/18", -5.7, -5.1, -90, 96, 90]], "back/19": [["cape", "back/19", -8.2, -12.1, -90, 102, 97]], "back/20": [["cape", "back/20", 4.8, -20.6, -90, 65, 87]], "back/21": [["cape", "back/21", 2.3, -11.1, -90, 84, 76]], "back/22": [["cape", "back/22", 1.8, -9.6, -90, 71, 71]], "back/23": [["cape", "back/23", -3.7, -12.6, -90, 75, 74]], "back/24": [["cape", "back/24", 17.3, -15.6, -90, 95, 124]], "back/25": [["cape", "back/25", -5.7, -5.1, -90, 96, 90]], "back/26": [["cape", "back/26", 4.8, -20.6, -90, 65, 87]], "back/27": [["cape", "back/27", 4.3, -18.6, -90, 73, 98]], "back/28": [["cape", "back/28", 11.8, -15.1, -90, 76, 83]], "back/29": [["cape", "back/29", 5.8, -12.6, -90, 55, 109]], "back/30": [["cape", "back/30", 3.3, -18.6, -90, 79, 86]], "beard/1": [["beard", "beard/1", 1.06, -0.16, 89.82, 43, 27]], "beard/2": [["beard", "beard/2", 7.06, 1.33, 89.82, 42, 39]], "beard/3": [["beard", "beard/3", 6.58, 7.83, 89.82, 89, 30]], "beard/4": [["beard", "beard/4", 9.59, 8.82, 89.82, 85, 46]], "beard/5": [["beard", "beard/5", 9.58, 5.82, 89.82, 73, 44]], "beard/6": [["beard", "beard/6", 8.56, 1.82, 89.82, 39, 42]], "beard/7": [["beard", "beard/7", -2.44, 0.36, 89.82, 54, 20]], "beard/8": [["beard", "beard/8", -4.43, 3.36, 89.82, 80, 18]], "beard/9": [["beard", "beard/9", 17.07, 2.79, 89.82, 29, 25]], "beard/10": [["beard", "beard/10", 10.58, 8.31, 89.82, 88, 44]], "boots/1": [["boot_near", "boots/1_near", 6.23, 1.37, 180, 31, 20], ["boot_far", "boots/1_far", 6.4, 1.37, 180, 31, 20]], "boots/2": [["boot_near", "boots/2_near", 6.3, 0.36, 180, 30, 23], ["boot_far", "boots/2_far", 5.9, 0.36, 180, 30, 23]], "boots/3": [["boot_near", "boots/3_near", 6.3, 1.1, 180, 32, 23, _], ["boot_far", "boots/3_far", 5.9, 1.1, 180, 32, 23, _]], "boots/4": [["boot_near", "boots/4_near", 6.3, 0.45, 180, 32, 22], ["boot_far", "boots/4_far", 5.9, 0.45, 180, 32, 22]], "boots/5": [["boot_near", "boots/5_near", 5.3, -2.4, 180, 26, 30, _], ["boot_far", "boots/5_far", 5.56, -2.4, 180, 26, 30, _]], "boots/6": [["boot_near", "boots/6_near", 5.3, 2.94, 180, 30, 18], ["boot_far", "boots/6_far", 4.9, 2.94, 180, 30, 18]], "boots/7": [["boot_near", "boots/7_near", 8.8, 0.1, 180, 33, 25, _], ["boot_far", "boots/7_far", 8.4, 0.1, 180, 33, 25, _]], "boots/8": [["boot_near", "boots/8_near", 7.3, 2.39, 180, 32, 20], ["boot_far", "boots/8_far", 6.9, 2.39, 180, 32, 20]], "boots/9": [["boot_near", "boots/9_near", 8.3, 1.54, 180, 32, 20], ["boot_far", "boots/9_far", 7.9, 1.54, 180, 32, 20]], "boots/10": [["boot_near", "boots/10_near", 9.8, 2.53, 180, 35, 19], ["boot_far", "boots/10_far", 9.4, 2.53, 180, 35, 19]], "boots/11": [["boot_near", "boots/11_near", 8.3, -1.4, 180, 32, 26], ["boot_far", "boots/11_far", 7.9, -1.4, 180, 32, 26]], "boots/12": [["boot_near", "boots/12_near", 6.3, 1.6, 180, 30, 22], ["boot_far", "boots/12_far", 5.9, 1.6, 180, 30, 22]], "boots/13": [["boot_near", "boots/13_near", 6.3, 0.77, 180, 28, 23], ["boot_far", "boots/13_far", 5.9, 0.77, 180, 28, 23]], "boots/14": [["boot_near", "boots/14_near", 5.8, 3.44, 180, 31, 17], ["boot_far", "boots/14_far", 5.4, 3.44, 180, 31, 17]], "boots/15": [["boot_near", "boots/15_near", 5.62, -2.36, 180, 28, 28, _], ["boot_far", "boots/15_far", 5.47, -2.35, 180, 28, 28, _]], "boots/16": [["boot_near", "boots/16_near", 5.3, -1.49, 180, 30, 25, _], ["boot_far", "boots/16_far", 4.9, -1.49, 180, 30, 25, _]], "boots/17": [["boot_near", "boots/17_near", 6.3, -0.4, 180, 30, 24], ["boot_far", "boots/17_far", 5.9, -0.4, 180, 30, 24]], "boots/18": [["boot_near", "boots/18_near", 5.8, 2.54, 180, 31, 18], ["boot_far", "boots/18_far", 5.4, 2.54, 180, 31, 18]], "boots/19": [["boot_near", "boots/19_near", 6.3, -0.32, 180, 28, 22], ["boot_far", "boots/19_far", 5.9, -0.32, 180, 28, 22]], "boots/20": [["boot_near", "boots/20_near", 9.8, 0.6, 180, 35, 24, _], ["boot_far", "boots/20_far", 9.4, 0.6, 180, 35, 24, _]], "boots/21": [["boot_near", "boots/21_near", 6.8, 0.6, 180, 31, 20], ["boot_far", "boots/21_far", 6.4, 0.6, 180, 31, 20]], "boots/22": [["boot_near", "boots/22_near", 7.3, -1.4, 180, 28, 22], ["boot_far", "boots/22_far", 6.9, -1.4, 180, 28, 22]], "boots/23": [["boot_near", "boots/23_near", 6.3, -1.4, 180, 28, 22], ["boot_far", "boots/23_far", 5.9, -1.4, 180, 28, 22]], "boots/24": [["boot_near", "boots/24_near", 6.07, -3.22, 180, 28, 28, _, { sx: 1, sy: 1.071 }], ["boot_far", "boots/24_far", 5.92, -3.22, 180, 28, 28, _, { sx: 1, sy: 1.071 }]], "boots/25": [["boot_near", "boots/25_near", 6.07, -3.22, 180, 28, 28, _, { sx: 1, sy: 1.071 }], ["boot_far", "boots/25_far", 5.92, -3.22, 180, 28, 28, _, { sx: 1, sy: 1.071 }]], "boots/26": [["boot_near", "boots/26_near", 6.3, -1.4, 180, 30, 24], ["boot_far", "boots/26_far", 5.9, -1.4, 180, 30, 24]], "boots/27": [["boot_near", "boots/27_near", 5.3, -2.4, 180, 26, 30, _], ["boot_far", "boots/27_far", 5.56, -2.4, 180, 26, 30, _]], "boots/28": [["boot_near", "boots/28_near", 5.3, -2.4, 180, 26, 30, _], ["boot_far", "boots/28_far", 5.56, -2.4, 180, 26, 30, _]], "boots/29": [["boot_near", "boots/29_near", 6.3, -0.9, 180, 30, 23], ["boot_far", "boots/29_far", 5.9, -0.9, 180, 30, 23]], "boots/30": [["boot_near", "boots/30_near", 7.3, 2.6, 180, 32, 20], ["boot_far", "boots/30_far", 6.9, 2.6, 180, 32, 20]], "pants/1": [["pants", "pants/1", 1.5, 1, 0, 79, 26], ["pants_near", "pants/1_near", 11.06, -1.97, 84, 25, 28, _], ["pants_far", "pants/1_far", 11.07, -1.87, 84.5, 25, 28, _]], "pants/2": [["pants", "pants/2", 1.5, 1, 0, 79, 26], ["pants_near", "pants/2_near", 11.06, -1.97, 84, 25, 28, _], ["pants_far", "pants/2_far", 11.07, -1.87, 84.5, 25, 28, _]], "pants/3": [["pants", "pants/3", 1.5, 1, 0, 79, 26], ["pants_near", "pants/3_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/3_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/4": [["pants", "pants/4", 1.5, 1, 0, 79, 26], ["pants_near", "pants/4_near", 11.05, -1.97, 84, 31, 28, _], ["pants_far", "pants/4_far", 11.07, -1.87, 84.5, 31, 28, _]], "pants/5": [["pants", "pants/5", 1.5, 1, 0, 79, 26], ["pants_near", "pants/5_near", 17.52, -2.65, 84, 36, 42, _], ["pants_far", "pants/5_far", 17.54, -2.49, 84.5, 38, 43, _]], "pants/6": [["pants", "pants/6", 2.2, -6.06, 0, 92, 40, _, { sx: 0.993, sy: 1.002 }]], "pants/7": [["pants", "pants/7", 2.2, -6.06, 0, 92, 40, _, { sx: 0.993, sy: 1.002 }]], "pants/8": [["pants", "pants/8", 2.72, -9.07, 0, 93, 46, _, { sx: 0.992, sy: 1.001 }]], "pants/9": [["pants", "pants/9", 2.22, -6.57, 0, 92, 41, _, { sx: 0.992, sy: 1.001 }]], "pants/10": [["pants", "pants/10", 2.22, -6.57, 0, 92, 40, _, { sx: 0.992, sy: 1.026 }]], "pants/11": [["pants", "pants/11", 2.2, -6.07, 0, 88, 40, _, { sx: 0.993, sy: 1.001 }]], "pants/12": [["pants", "pants/12", 1.5, 1, 0, 79, 26]], "pants/13": [["pants", "pants/13", 1.5, 1, 0, 79, 26], ["pants_near", "pants/13_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/13_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/14": [["pants", "pants/14", 1.5, 1, 0, 79, 26], ["pants_near", "pants/14_near", 17.52, -2.65, 84, 36, 42, _], ["pants_far", "pants/14_far", 17.54, -2.49, 84.5, 38, 43, _]], "pants/15": [["pants", "pants/15", 1.5, 1, 0, 79, 26], ["pants_near", "pants/15_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/15_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/16": [["pants", "pants/16", 1.5, 1, 0, 79, 26], ["pants_near", "pants/16_near", 11.06, -1.97, 84, 25, 28], ["pants_far", "pants/16_far", 17.54, -2.49, 84.5, 25, 40, _, { sx: 1, sy: 1.025 }]], "pants/17": [["pants", "pants/17", 2.2, -6.06, 0, 92, 39, _, { sx: 0.993, sy: 1.027 }], ["pants_near", "pants/17_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/17_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/18": [["pants", "pants/18", 3.2, -4.07, 0, 96, 36, _, { sx: 0.993, sy: 1.002 }]], "pants/19": [["pants", "pants/19", 1.5, 1, 0, 79, 26], ["pants_near", "pants/19_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/19_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/20": [["pants", "pants/20", 1.5, 1, 0, 79, 26], ["pants_near", "pants/20_near", 11.06, -1.97, 84, 25, 28, _], ["pants_far", "pants/20_far", 11.07, -1.87, 84.5, 25, 28, _]], "pants/21": [["pants", "pants/21", 1.5, 1, 0, 79, 26], ["pants_near", "pants/21_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/21_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/22": [["pants", "pants/22", 1.5, 1, 0, 79, 26], ["pants_near", "pants/22_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/22_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/23": [["pants", "pants/23", 1.5, 1, 0, 79, 26], ["pants_near", "pants/23_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/23_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/24": [["pants", "pants/24", 1.5, 1, 0, 79, 26], ["pants_near", "pants/24_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/24_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/25": [["pants", "pants/25", 1.5, 1, 0, 79, 26], ["pants_near", "pants/25_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/25_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/26": [["pants", "pants/26", 2.08, -4.02, 0, 82, 37, _, { sx: 1.014, sy: 1.01 }]], "pants/27": [["pants", "pants/27", 1.5, 1, 0, 79, 26], ["pants_near", "pants/27_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/27_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/28": [["pants", "pants/28", 1.5, 1, 0, 79, 26], ["pants_near", "pants/28_near", 11.06, -1.97, 84, 25, 28, _], ["pants_far", "pants/28_far", 11.07, -1.87, 84.5, 25, 28, _]], "pants/29": [["pants", "pants/29", 1.5, 1, 0, 79, 26], ["pants_near", "pants/29_near", 11.06, -1.97, 84, 25, 28, _], ["pants_far", "pants/29_far", 17.54, -2.49, 84.5, 25, 40, _, { sx: 1, sy: 1.025 }]], "pants/30": [["pants", "pants/30", 1.5, 1, 0, 79, 26], ["pants_near", "pants/30_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/30_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/31": [["pants", "pants/31", 1.5, 1, 0, 79, 26], ["pants_near", "pants/31_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/31_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/32": [["pants", "pants/32", 1.5, 1, 0, 79, 26], ["pants_near", "pants/32_near", 11.06, -1.97, 84, 31, 28, _, { sx: 0.806, sy: 1 }], ["pants_far", "pants/32_far", 11.07, -1.87, 84.5, 31, 28, _, { sx: 0.806, sy: 1 }]], "pants/33": [["pants", "pants/33", 1.5, 1, 0, 79, 26], ["pants_near", "pants/33_near", 11.06, -1.97, 84, 31, 28, _, { sx: 0.806, sy: 1 }], ["pants_far", "pants/33_far", 11.07, -1.87, 84.5, 31, 28, _, { sx: 0.806, sy: 1 }]], "pants/34": [["pants", "pants/34", 1.5, 1, 0, 79, 26], ["pants_near", "pants/34_near", 11.06, -1.97, 84, 31, 28, _, { sx: 0.806, sy: 1 }], ["pants_far", "pants/34_far", 11.07, -1.87, 84.5, 31, 28, _, { sx: 0.806, sy: 1 }]], "pants/35": [["pants", "pants/35", 1.5, 1, 0, 79, 26], ["pants_near", "pants/35_near", 11.06, -1.97, 84, 31, 28, _, { sx: 0.806, sy: 1 }], ["pants_far", "pants/35_far", 11.07, -1.87, 84.5, 31, 28, _, { sx: 0.806, sy: 1 }]], "pants/36": [["pants", "pants/36", 2.2, -6.06, 0, 92, 39, _, { sx: 0.993, sy: 1.027 }]], "pants/37": [["pants", "pants/37", 1.5, 1, 0, 79, 26], ["pants_near", "pants/37_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/37_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/38": [["pants", "pants/38", 1.5, 1, 0, 79, 26], ["pants_near", "pants/38_near", 11.06, -1.97, 84, 25, 28, _], ["pants_far", "pants/38_far", 11.07, -1.87, 84.5, 25, 28, _]], "pants/39": [["pants", "pants/39", 1.5, 1, 0, 79, 26], ["pants_near", "pants/39_near", 11.06, -1.97, 84, 25, 28, _], ["pants_far", "pants/39_far", 11.07, -1.87, 84.5, 25, 28, _]], "pants/40": [["pants", "pants/40", 1.5, 1, 0, 79, 26], ["pants_near", "pants/40_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/40_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/41": [["pants", "pants/41", 1.5, 1, 0, 79, 26], ["pants_near", "pants/41_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/41_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/42": [["pants", "pants/42", 2.08, -4.02, 0, 82, 37, _, { sx: 1.014, sy: 1.01 }]], "pants/43": [["pants", "pants/43", 2.08, -4.02, 0, 82, 37, _, { sx: 1.014, sy: 1.01 }]], "pants/44": [["pants", "pants/44", 2.2, -6.07, 0, 88, 40, _, { sx: 0.993, sy: 1.001 }]], "pants/45": [["pants", "pants/45", 1.5, 1, 0, 79, 26], ["pants_near", "pants/45_near", 17.52, -2.65, 84, 36, 42, _], ["pants_far", "pants/45_far", 17.54, -2.49, 84.5, 38, 43, _]], "pants/46": [["pants", "pants/46", 1.5, 1, 0, 79, 26], ["pants_near", "pants/46_near", 17.52, -2.65, 84, 36, 42, _], ["pants_far", "pants/46_far", 17.54, -2.49, 84.5, 38, 43, _]], "pants/47": [["pants", "pants/47", 3.2, -4.07, 0, 96, 36, _, { sx: 0.993, sy: 1.002 }], ["pants_near", "pants/47_near", 17.52, -2.65, 84, 25, 41, _], ["pants_far", "pants/47_far", 17.54, -2.49, 84.5, 25, 41, _]], "pants/48": [["pants", "pants/48", 3.2, -4.07, 0, 96, 38, _, { sx: 0.993, sy: 0.949 }]], "pants/49": [["pants", "pants/49", 1.5, 1, 0, 79, 26]], "pants/50": [["pants", "pants/50", 1.5, 1, 0, 79, 26], ["pants_near", "pants/50_near", 11.06, -1.97, 84, 31, 28, _, { sx: 0.806, sy: 1 }], ["pants_far", "pants/50_far", 11.07, -1.87, 84.5, 31, 28, _, { sx: 0.806, sy: 1 }]], "brows/1": [["brows", "brows/1", 0.53, -0.64, -90.18, 51, 11]], "brows/2": [["brows", "brows/2", 2.03, -0.64, -90.18, 65, 18]], "brows/3": [["brows", "brows/3", 1.03, 0.36, -90.18, 61, 16]], "brows/4": [["brows", "brows/4", 1.53, -2.14, -90.18, 66, 19]], "brows/5": [["brows", "brows/5", -0.47, -2.13, -90.18, 72, 23]], "brows/6": [["brows", "brows/6", 2.03, -0.14, -90.18, 44, 10]], "brows/7": [["brows", "brows/7", 0.03, -1.13, -90.18, 62, 18]], "brows/8": [["brows", "brows/8", 1.03, 0.36, -90.18, 57, 18]], "brows/9": [["brows", "brows/9", 1.53, -0.64, -90.18, 53, 13]], "brows/10": [["brows", "brows/10", 4.53, 0.35, -90.18, 17, 23]], "brows_emo/sad": [["brows", "brows_emo/sad", 0.53, -0.64, -90.18, 51, 12]], "brows_emo/up": [["brows", "brows_emo/up", 0.53, -0.64, -90.18, 51, 19]], "eyes/1": [["eyes", "eyes/1", 1.53, -0.1, -90.18, 61, 20]], "eyes/2": [["eyes", "eyes/2", -0.47, -0.09, -90.18, 63, 22]], "eyes/3": [["eyes", "eyes/3", 1.53, -0.6, -90.18, 66, 30]], "eyes/4": [["eyes", "eyes/4", 1.03, 0.4, -90.18, 64, 31]], "eyes/5": [["eyes", "eyes/5", 1.53, -1.6, -90.18, 64, 24]], "eyes/6": [["eyes", "eyes/6", 0.53, -0.09, -90.18, 63, 28]], "eyes/7": [["eyes", "eyes/7", 2.02, -2.1, -90.18, 69, 29]], "eyes/8": [["eyes", "eyes/8", 0.54, 2.41, -90.18, 44, 22]], "eyes/9": [["eyes", "eyes/9", -0.46, 2.41, -90.18, 48, 20]], "eyes/10": [["eyes", "eyes/10", -0.97, 0.91, -90.18, 61, 23]], "eyes/11": [["eyes", "eyes/11", 2.03, 0.4, -90.18, 60, 21]], "eyes/12": [["eyes", "eyes/12", -2.97, -1.08, -90.18, 65, 27]], "eyes/13": [["eyes", "eyes/13", -0.97, 0.91, -90.18, 59, 21]], "eyes/14": [["eyes", "eyes/14", 0.53, 0.41, -90.18, 62, 22]], "eyes/15": [["eyes", "eyes/15", 3.03, -1.1, -90.18, 63, 23]], "eyes/16": [["eyes", "eyes/16", 0.53, 0.91, -90.18, 59, 26]], "eyes/17": [["eyes", "eyes/17", 0.53, -0.09, -90.18, 55, 22]], "eyes/18": [["eyes", "eyes/18", 2.53, -0.1, -90.18, 57, 6]], "eyes/19": [["eyes", "eyes/19", 4.03, -1.1, -90.18, 59, 23]], "eyes/20": [["eyes", "eyes/20", 0.53, -1.09, -90.18, 59, 26]], "glasses/1": [["glasses", "glasses/1", -10.71, -12.81, 179.82, 85, 48]], "glasses/2": [["glasses", "glasses/2", -1.69, -8.83, 179.82, 71, 30]], "glasses/3": [["glasses", "glasses/3", -3.19, -8.83, 179.82, 90, 38]], "glasses/4": [["glasses", "glasses/4", -2.21, -13.83, 179.82, 96, 40]], "glasses/5": [["glasses", "glasses/5", 0.8, -10.84, 179.82, 80, 44]], "glasses/6": [["glasses", "glasses/6", -2.7, -10.33, 179.82, 91, 41]], "glasses/7": [["glasses", "glasses/7", 0.8, -9.34, 179.82, 80, 35]], "glasses/8": [["glasses", "glasses/8", 0.31, -8.84, 179.82, 58, 27]], "glasses/9": [["glasses", "glasses/9", -2.21, -14.33, 179.82, 84, 47]], "glasses/10": [["glasses", "glasses/10", -1.7, -11.83, 179.82, 81, 58]], "glasses/11": [["glasses", "glasses/11", 0.31, -8.84, 179.82, 72, 21]], "glasses/12": [["glasses", "glasses/12", -2.69, -7.83, 179.82, 83, 36]], "glasses/13": [["glasses", "glasses/13", 3.32, -5.85, 179.82, 81, 24]], "glasses/14": [["glasses", "glasses/14", 0.8, -9.34, 179.82, 72, 37]], "glasses/15": [["glasses", "glasses/15", -1.69, -8.83, 179.82, 83, 44]], "glasses/16": [["glasses", "glasses/16", -1.2, -9.34, 179.82, 86, 39]], "glasses/17": [["glasses", "glasses/17", 1.29, -13.84, 179.82, 89, 58]], "glasses/18": [["glasses", "glasses/18", 1.8, -10.34, 179.82, 74, 39]], "glasses/19": [["glasses", "glasses/19", -2.69, -7.33, 179.82, 89, 37]], "glasses/20": [["glasses", "glasses/20", -0.21, -13.84, 179.82, 90, 54]], "glasses/21": [["glasses", "glasses/21", -1.71, -13.83, 179.82, 79, 40]], "glasses/22": [["glasses", "glasses/22", -0.69, -6.84, 179.82, 71, 32]], "glasses/23": [["glasses", "glasses/23", -2.2, -9.83, 179.82, 82, 38]], "glasses/24": [["glasses", "glasses/24", 0.31, -8.84, 179.82, 77, 34]], "glasses/25": [["glasses", "glasses/25", -0.7, -10.84, 179.82, 73, 34]], "glasses/26": [["glasses", "glasses/26", -2.19, -8.33, 179.82, 70, 33]], "glasses/27": [["glasses", "glasses/27", -2.19, -8.33, 179.82, 74, 64]], "glasses/28": [["glasses", "glasses/28", -3.17, -1.33, 179.82, 86, 77]], "glasses/29": [["glasses", "glasses/29", -0.2, -11.34, 179.82, 72, 41]], "glasses/30": [["glasses", "glasses/30", 0.32, -4.34, 179.82, 71, 51]], "offhand/1": [["offhand", "offhand/1", 2.54, 8.55, 1.05, 101, 83]], "offhand/2": [["offhand", "offhand/2", 3.56, 7.57, 1.05, 79, 87]], "offhand/3": [["offhand", "offhand/3", 0.56, 7.51, 1.05, 87, 87]], "offhand/4": [["offhand", "offhand/4", 5.07, 6.59, 1.05, 96, 81]], "offhand/5": [["offhand", "offhand/5", -1.37, 3.48, 1.05, 109, 87]], "offhand/6": [["offhand", "offhand/6", 1.57, 6.53, 1.05, 73, 73]], "offhand/7": [["offhand", "offhand/7", 0.57, 7.01, 1.05, 91, 70]], "offhand/8": [["offhand", "offhand/8", 0.58, 6.51, 1.05, 89, 89]], "offhand/9": [["offhand", "offhand/9", 0.58, 6.01, 1.05, 95, 70]], "offhand/10": [["offhand", "offhand/10", 6.56, 7.12, 1.05, 85, 82]], "offhand/11": [["offhand_low", "offhand/11_low", -7.86, 2.86, 1.05, 56, 56]], "offhand/12": [["offhand_low", "offhand/12_low", -7.86, 2.86, 1.05, 56, 56]], "offhand/13": [["offhand_low", "offhand/13_low", -10.4, 4.81, 1.05, 65, 64]], "offhand/14": [["offhand_low", "offhand/14_low", -5.32, 0.9, 1.05, 61, 46]], "offhand/15": [["offhand_low", "offhand/15_low", -9.8, -0.18, 1.05, 78, 36]], "offhand/16": [["offhand_low", "offhand/16_low", -9.23, -4.17, 1.05, 65, 30]], "offhand/17": [["offhand_low", "offhand/17_low", -6.21, -5.11, 1.05, 55, 44]], "offhand/18": [["offhand_low", "offhand/18_low", -8.3, -0.65, 1.05, 37, 37]], "offhand/19": [["offhand_low", "offhand/19_low", -5.67, -7.6, 1.05, 46, 43]], "offhand/20": [["offhand_low", "offhand/20_low", -11.22, -4.71, 1.05, 43, 41]], "offhand/21": [["offhand_low", "offhand/21_low", -5.51, -16.1, 1.05, 56, 44]], "offhand/22": [["offhand_low", "offhand/22_low", -0.24, -31.01, 1.05, 56, 66]], "offhand/23": [["offhand_low", "offhand/23_low", -5.98, -18.11, 1.05, 49, 72]], "offhand/24": [["offhand_low", "offhand/24_low", -7.63, -9.64, 1.05, 56, 55]], "offhand/25": [["offhand_low", "offhand/25_low", -5.17, -7.6, 1.05, 77, 51]], "offhand/26": [["offhand_low", "offhand/26_low", -4.91, 5.91, 1.05, 94, 50]], "offhand/27": [["offhand_low", "offhand/27_low", -15.85, 2.21, 1.05, 78, 59]], "offhand/28": [["offhand_low", "offhand/28_low", -6.13, -9.61, 1.05, 63, 35]], "offhand/29": [["offhand_low", "offhand/29_low", -22.77, -1.92, 1.05, 78, 35]], "offhand/30": [["offhand_low", "offhand/30_low", 1.57, -20.47, 1.05, 46, 59]], "offhand/31": [["offhand_low", "offhand/31_low", -8.32, 0.85, 1.05, 53, 44]], "offhand/32": [["offhand_low", "offhand/32_low", -12.07, -13.22, 1.05, 57, 54]], "offhand/33": [["offhand_low", "offhand/33_low", -14.18, -6.76, 1.05, 65, 29]], "offhand/34": [["offhand_low", "offhand/34_low", -14.64, -9.27, 1.05, 92, 34]], "offhand/35": [["offhand_low", "offhand/35_low", -0.57, -13.01, 1.05, 54, 48]], "offhand/36": [["offhand_low", "offhand/36_low", -22.27, -1.91, 1.05, 83, 31]], "offhand/37": [["offhand_low", "offhand/37_low", -13.23, -4.24, 1.05, 51, 42]], "offhand/38": [["offhand_low", "offhand/38_low", -10.19, -6.19, 1.05, 65, 32]], "offhand/39": [["offhand_low", "offhand/39_low", -11.17, -7.71, 1.05, 53, 37]], "offhand/40": [["offhand_low", "offhand/40_low", -11.17, -7.71, 1.05, 53, 37]], "weapon/1": [["weapon", "weapon/1", 9.7, -39.2, 90, 111, 77]], "weapon/2": [["weapon", "weapon/2", 4.2, -22.7, 90, 112, 92]], "weapon/3": [["weapon", "weapon/3", 24.2, -25.2, 90, 115, 60]], "weapon/4": [["weapon", "weapon/4", 14.2, -18.7, 90, 96, 78]], "weapon/5": [["weapon", "weapon/5", 4.7, -47.7, 90, 144, 71]], "weapon/6": [["weapon", "weapon/6", 7.7, -44.2, 90, 135, 43]], "weapon/7": [["weapon", "weapon/7", 15.2, -44.2, 90, 141, 40]], "weapon/10": [["weapon", "weapon/10", 26.2, -30.7, 90, 100, 66]], "weapon/11": [["weapon", "weapon/11", 13.7, -31.2, 90, 101, 87]], "weapon/12": [["weapon", "weapon/12", 5.2, -26.7, 90, 124, 58]], "weapon/13": [["weapon", "weapon/13", 5.7, -36.7, 90, 144, 33]], "weapon/14": [["weapon", "weapon/14", 5.7, -34.2, 90, 131, 45]], "weapon/15": [["weapon", "weapon/15", 5.2, -41.2, 90, 143, 60]], "weapon/16": [["weapon", "weapon/16", 0.2, -37.7, 90, 142, 44]], "weapon/17": [["weapon", "weapon/17", 10.7, -33.2, 90, 133, 35]], "weapon/18": [["weapon", "weapon/18", 5.7, -24.2, 90, 103, 65]], "weapon/19": [["weapon", "weapon/19", 5.7, -37.7, 90, 132, 39]], "weapon/20": [["weapon", "weapon/20", 10.7, -37.2, 90, 133, 33]], "weapon/21": [["weapon", "weapon/21", 8.7, -32.7, 90, 112, 29]], "weapon/22": [["weapon", "weapon/22", 14.7, -34.7, 90, 116, 45]], "weapon/23": [["weapon", "weapon/23", 7.2, -16.7, 90, 88, 58]], "weapon/24": [["weapon", "weapon/24", 4.2, -41.2, 90, 137, 28]], "weapon/25": [["weapon", "weapon/25", 4.7, -41.2, 90, 153, 43]], "weapon/26": [["weapon", "weapon/26", 5.2, -48.7, 90, 160, 50]], "weapon/27": [["weapon", "weapon/27", 5.7, -45.7, 90, 156, 51]], "weapon/28": [["weapon", "weapon/28", 6.7, -57.7, 90, 174, 47]], "weapon/29": [["weapon", "weapon/29", 4.7, -49.7, 90, 160, 65]], "weapon/30": [["weapon", "weapon/30", 6.2, -43.2, 90, 147, 40]], "weapon/31": [["weapon", "weapon/31", 4.2, -22.7, 90, 112, 92]], "weapon/32": [["weapon", "weapon/32", 23.7, -25.2, 90, 115, 59]], "weapon/33": [["weapon", "weapon/33", 5.7, -45.2, 90, 157, 51]], "weapon/34": [["weapon", "weapon/34", 0.2, -37.2, 90, 143, 44]], "weapon/35": [["weapon", "weapon/35", 0.2, -37.2, 90, 143, 44]], "weapon/36": [["weapon", "weapon/36", 6.7, -57.2, 90, 175, 47]], "weapon/37": [["weapon", "weapon/37", 5.2, -26.7, 90, 124, 58]], "weapon/38": [["weapon", "weapon/38", 7.7, -44.2, 90, 135, 43]], "weapon/39": [["weapon", "weapon/39", 5.2, -41.2, 90, 143, 60]], "weapon/40": [["weapon", "weapon/40", 7.2, -16.2, 90, 87, 58]], "gloves/1": [["glove_near", "gloves/1_near", 26.42, 2.29, 92.8, 28, 25], ["glove_far", "gloves/1_far", 24.68, 4.04, 100.9, 27, 25]], "gloves/2": [["glove_near", "gloves/2_near", 27.37, 3.34, 92.8, 34, 35], ["glove_far", "gloves/2_far", 25.95, 2.76, 100.9, 32, 35]], "gloves/3": [["glove_near", "gloves/3_near", 26.42, 2.29, 92.8, 28, 25], ["glove_far", "gloves/3_far", 24.68, 4.04, 100.9, 27, 25]], "gloves/4": [["glove_near", "gloves/4_near", 23.9, 2.67, 92.8, 31, 34], ["glove_far", "gloves/4_far", 21.83, 2.98, 100.9, 32, 33]], "gloves/5": [["glove_near", "gloves/5_near", 21.88, 3.07, 92.8, 36, 36], ["glove_far", "gloves/5_far", 21.06, 4.36, 100.9, 35, 36]], "gloves/6": [["glove_near", "gloves/6_near", 22.9, 2.62, 92.8, 31, 32], ["glove_far", "gloves/6_far", 21.83, 2.98, 100.9, 32, 33]], "gloves/7": [["glove_near", "gloves/7_near", 26.85, 3.82, 92.8, 35, 34], ["glove_far", "gloves/7_far", 26.06, 4.81, 100.9, 34, 34]], "gloves/8": [["glove_near", "gloves/8_near", 21.88, 3.07, 92.8, 30, 14], ["glove_far", "gloves/8_far", 21.15, 3.87, 100.9, 28, 14]], "gloves/9": [["glove_near", "gloves/9_near", 19.88, 2.97, 92.8, 38, 18], ["glove_far", "gloves/9_far", 19.19, 3.49, 100.9, 38, 18]], "gloves/10": [["glove_near", "gloves/10_near", 27.37, 3.34, 92.8, 34, 35], ["glove_far", "gloves/10_far", 25.95, 2.76, 100.9, 32, 35]], "gloves/11": [["glove_near", "gloves/11_near", 26.37, 3.29, 92.8, 30, 23], ["glove_far", "gloves/11_far", 25.57, 4.72, 100.9, 28, 23]], "gloves/12": [["glove_near", "gloves/12_near", 23.35, 3.64, 92.8, 33, 35], ["glove_far", "gloves/12_far", 22.04, 4.55, 100.9, 33, 36]], "gloves/13": [["glove_near", "gloves/13_near", 27.92, 2.37, 92.8, 36, 36], ["glove_far", "gloves/13_far", 26.93, 2.95, 100.9, 32, 37]], "gloves/14": [["glove_near", "gloves/14_near", 17.28, 4.85, 92.8, 32, 27], ["glove_far", "gloves/14_far", 15.35, 2.24, 100.9, 29, 24]], "gloves/15": [["glove_near", "gloves/15_near", 19.88, 2.97, 92.8, 36, 40], ["glove_far", "gloves/15_far", 19.09, 3.98, 100.9, 35, 40]], "gloves/16": [["glove_near", "gloves/16_near", 22.9, 2.62, 92.8, 31, 36], ["glove_far", "gloves/16_far", 21.64, 3.96, 100.9, 30, 37]], "gloves/17": [["glove_near", "gloves/17_near", 22.9, 2.62, 92.8, 31, 36], ["glove_far", "gloves/17_far", 21.64, 3.96, 100.9, 30, 37]], "gloves/18": [["glove_near", "gloves/18_near", 27.37, 3.34, 92.8, 32, 31], ["glove_far", "gloves/18_far", 26.25, 3.83, 100.9, 30, 30]], "gloves/19": [["glove_near", "gloves/19_near", 26.82, 4.32, 92.8, 32, 34], ["glove_far", "gloves/19_far", 25.17, 4.13, 100.9, 29, 34]], "gloves/20": [["glove_near", "gloves/20_near", 24.92, 2.22, 92.8, 34, 38], ["glove_far", "gloves/20_far", 23.02, 4.74, 100.9, 31, 38]], "gloves/21": [["glove_near", "gloves/21_near", 26.42, 2.29, 92.8, 28, 25], ["glove_far", "gloves/21_far", 24.68, 4.04, 100.9, 27, 25]], "gloves/22": [["glove_near", "gloves/22_near", 26.42, 2.29, 92.8, 28, 25], ["glove_far", "gloves/22_far", 24.68, 4.04, 100.9, 27, 25]], "gloves/23": [["glove_near", "gloves/23_near", 19.88, 2.97, 92.8, 36, 40], ["glove_far", "gloves/23_far", 19.09, 3.98, 100.9, 35, 40]], "gloves/24": [["glove_near", "gloves/24_near", 19.88, 2.97, 92.8, 36, 40], ["glove_far", "gloves/24_far", 19.09, 3.98, 100.9, 35, 40]], "gloves/25": [["glove_near", "gloves/25_near", 27.92, 2.37, 92.8, 36, 36], ["glove_far", "gloves/25_far", 26.93, 2.95, 100.9, 32, 37]], "gloves/26": [["glove_near", "gloves/26_near", 21.88, 3.07, 92.8, 30, 14], ["glove_far", "gloves/26_far", 21.15, 3.87, 100.9, 28, 14]], "gloves/27": [["glove_near", "gloves/27_near", 19.88, 2.97, 92.8, 38, 18], ["glove_far", "gloves/27_far", 19.19, 3.49, 100.9, 38, 18]], "gloves/28": [["glove_near", "gloves/28_near", 19.88, 2.97, 92.8, 38, 18], ["glove_far", "gloves/28_far", 19.19, 3.49, 100.9, 38, 18]], "gloves/29": [["glove_near", "gloves/29_near", 23.9, 2.67, 92.8, 31, 34], ["glove_far", "gloves/29_far", 21.83, 2.98, 100.9, 32, 33]], "gloves/30": [["glove_near", "gloves/30_near", 17.28, 4.85, 92.8, 32, 27], ["glove_far", "gloves/30_far", 15.35, 2.24, 100.9, 29, 24]], "hair_under/1": [["hair_under", "hair_under/1", 56.5, -1.48, -90.18, 87, 54]], "hair_under/2": [["hair_under", "hair_under/2", 54.5, -0.47, -90.18, 111, 60]], "hair_under/3": [["hair_under", "hair_under/3", 57.48, -5.48, -90.18, 97, 54]], "hair_under/4": [["hair_under", "hair_under/4", 56.99, -3.48, -90.18, 103, 55]], "hair_under/5": [["hair_under", "hair_under/5", 52.5, -1.47, -90.18, 101, 64]], "hair_under/6": [["hair_under", "hair_under/6", 57.51, 2.02, -90.18, 96, 54]], "hair_under/7": [["hair_under", "hair_under/7", 58.5, 0.01, -90.18, 92, 52]], "hair_under/8": [["hair_under", "hair_under/8", 47, 0.55, -90.18, 123, 75]], "hair_under/9": [["hair_under", "hair_under/9", 45.49, -3.44, -90.18, 105, 78]], "hair_under/10": [["hair_under", "hair_under/10", 48.5, 0.05, -90.18, 130, 72]], "hair_under/11": [["hair_under", "hair_under/11", 45.99, -3.45, -90.18, 97, 87]], "hair_under/12": [["hair_under", "hair_under/12", 43.5, 0.06, -90.18, 126, 64]], "hair_under/13": [["hair_under", "hair_under/13", 49.49, -1.96, -90.18, 104, 40]], "hair_under/14": [["hair_under", "hair_under/14", 56.99, -3.98, -90.18, 96, 55]], "hair_under/15": [["hair_under", "hair_under/15", 60, 0.01, -90.18, 92, 49]], "hair_under/16": [["hair_under", "hair_under/16", 57, -1.48, -90.18, 95, 55]], "hair_under/17": [["hair_under", "hair_under/17", 56, 0.02, -90.18, 102, 57]], "hair_under/18": [["hair_under", "hair_under/18", 49.99, -1.96, -90.18, 118, 69]], "hair_under/19": [["hair_under", "hair_under/19", 40.49, -3.93, -90.18, 118, 88]], "hair_under/20": [["hair_under", "hair_under/20", 58.49, -1.99, -90.18, 96, 52]], "hair_under/21": [["hair_under", "hair_under/21", 54.49, -2.47, -90.18, 101, 60]], "hair_under/22": [["hair_under", "hair_under/22", 58, -0.98, -90.18, 90, 53]], "hair_under/23": [["hair_under", "hair_under/23", 57.99, -2.98, -90.18, 94, 53]], "hair_under/24": [["hair_under", "hair_under/24", 51.5, 0.04, -90.18, 122, 66]], "hair_under/25": [["hair_under", "hair_under/25", 50.99, -2.96, -90.18, 118, 67]], "hair_under/26": [["hair_under", "hair_under/26", 56.98, -5.98, -90.18, 98, 55]], "hair_under/27": [["hair_under", "hair_under/27", 58.5, -1.49, -90.18, 103, 52]], "hair_under/28": [["hair_under", "hair_under/28", 45, 0.06, -90.18, 122, 79]], "hair_under/29": [["hair_under", "hair_under/29", 39.49, -2.43, -90.18, 99, 90]], "hair_under/30": [["hair_under", "hair_under/30", 36.49, -2.92, -90.18, 116, 96]], "hair/1": [["hair", "hair/1", 56.5, -1.48, -90.18, 87, 54]], "hair/2": [["hair", "hair/2", 57.99, -2.48, -90.18, 113, 61]], "hair/3": [["hair", "hair/3", 62.98, -5, -90.18, 98, 65]], "hair/4": [["hair", "hair/4", 76.48, -6.54, -90.18, 119, 94]], "hair/5": [["hair", "hair/5", 58.01, 2.02, -90.18, 108, 75]], "hair/6": [["hair", "hair/6", 65.51, 3.49, -90.18, 115, 70]], "hair/7": [["hair", "hair/7", 66, -1.51, -90.18, 97, 67]], "hair/8": [["hair", "hair/8", 69.48, -7.52, -90.18, 147, 120]], "hair/9": [["hair", "hair/9", 62.99, -3.5, -90.18, 105, 113]], "hair/10": [["hair", "hair/10", 63.49, -3, -90.18, 136, 84]], "hair/11": [["hair", "hair/11", 58.96, -11.49, -90.18, 133, 113]], "hair/12": [["hair", "hair/12", 64.47, -9, -90.18, 134, 74]], "hair/13": [["hair", "hair/13", 49.49, -2.46, -90.18, 105, 40]], "hair/14": [["hair", "hair/14", 69.46, -13.02, -90.18, 114, 80]], "hair/15": [["hair", "hair/15", 63.99, -2, -90.18, 96, 57]], "hair/16": [["hair", "hair/16", 72.49, -2.53, -90.18, 97, 86]], "hair/17": [["hair", "hair/17", 59, -1.49, -90.18, 105, 63]], "hair/18": [["hair", "hair/18", 56.99, -3.98, -90.18, 128, 83]], "hair/19": [["hair", "hair/19", 49.97, -8.96, -90.18, 128, 107]], "hair/20": [["hair", "hair/20", 61.99, -2.5, -90.18, 97, 59], ["hair_back", "hair/20_back", 48.88, -38.46, -90.18, 67, 91]], "hair/21": [["hair", "hair/21", 56.99, -2.48, -90.18, 101, 65], ["hair_back", "hair/21_back", 55.89, -34.98, -90.18, 96, 105]], "hair/22": [["hair", "hair/22", 66.96, -13.01, -90.18, 114, 71]], "hair/23": [["hair", "hair/23", 73.47, -10.03, -90.18, 124, 84]], "hair/24": [["hair", "hair/24", 56.49, -2.48, -90.18, 127, 74]], "hair/25": [["hair", "hair/25", 78.48, -7.55, -90.18, 135, 102]], "hair/26": [["hair", "hair/26", 63.47, -8.5, -90.18, 103, 68]], "hair/27": [["hair", "hair/27", 59, -1.49, -90.18, 103, 53]], "hair/28": [["hair", "hair/28", 48.5, -1.45, -90.18, 125, 86], ["hair_back", "hair/28_back", 11.44, -19.34, -90.18, 97, 102]], "hair/29": [["hair", "hair/29", 49.99, -2.46, -90.18, 99, 111], ["hair_back", "hair/29_back", 54.38, -37.47, -90.18, 79, 112]], "hair/30": [["hair", "hair/30", 45.48, -5.44, -90.18, 119, 114]], "hat/1": [["hat", "hat/1", 47.5, 0.05, -90.18, 120, 110], ["hat_back", "hat/1_back", 27.03, 9.61, -90.18, 95, 59]], "hat/2": [["hat", "hat/2", 69.99, -2.02, -90.18, 154, 75]], "hat/3": [["hat_low", "hat/3_low", 72.49, -2.03, -90.18, 126, 82]], "hat/4": [["hat", "hat/4", 71.51, 2.97, -90.18, 122, 78]], "hat/5": [["hat", "hat/5", 43.5, -0.94, -90.18, 118, 120]], "hat/6": [["hat", "hat/6", 72.5, 0.97, -90.18, 130, 82]], "hat/7": [["hat", "hat/7", 52, -1.47, -90.18, 121, 105], ["hat_back", "hat/7_back", 28.14, 42.61, -90.18, 33, 53]], "hat/8": [["hat_low", "hat/8_low", 68, -0.02, -90.18, 136, 75]], "hat/9": [["hat_low", "hat/9_low", 81.99, -4.56, -90.18, 117, 93]], "hat/10": [["hat_low", "hat/10_low", 72.46, -13.03, -90.18, 140, 94]], "hat/11": [["hat_low", "hat/11_low", 47.99, -3.95, -90.18, 114, 115]], "hat/12": [["hat_low", "hat/12_low", 70, 1.48, -90.18, 145, 69]], "hat/13": [["hat_low", "hat/13_low", 51.98, -6.46, -90.18, 117, 131]], "hat/14": [["hat_low", "hat/14_low", 59.48, -4.99, -90.18, 140, 120]], "hat/15": [["hat", "hat/15", 76.49, -2.54, -90.18, 145, 102]], "hat/16": [["hat", "hat/16", 54.01, 2.53, -90.18, 129, 97], ["hat_back", "hat/16_back", 33.63, 40.09, -90.18, 36, 56]], "hat/17": [["hat_low", "hat/17_low", 76.49, -3.04, -90.18, 126, 84]], "hat/18": [["hat", "hat/18", 68, 0.98, -90.18, 142, 93]], "hat/19": [["hat_low", "hat/19_low", 88.5, -1.08, -90.18, 122, 106]], "hat/20": [["hat_low", "hat/20_low", 68.99, -4.02, -90.18, 106, 71], ["hat_back", "hat/20_back", 26.4, -32.88, -90.18, 68, 44]], "hat/21": [["hat_low", "hat/21_low", 68.98, -5.52, -90.18, 117, 75]], "hat/22": [["hat_low", "hat/22_low", 52.48, -5.47, -90.18, 123, 94], ["hat_back", "hat/22_back", 35.63, 39.59, -90.18, 37, 46]], "hat/23": [["hat", "hat/23", 73.49, -2.53, -90.18, 137, 110], ["hat_back", "hat/23_back", 48.5, 0.05, -90.18, 134, 64]], "hat/24": [["hat", "hat/24", 69.98, -5.52, -90.18, 133, 81]], "hat/25": [["hat", "hat/25", 52.51, 2.03, -90.18, 126, 100], ["hat_back", "hat/25_back", 33.61, 35.59, -90.18, 43, 60]], "hat/26": [["hat", "hat/26", 64.49, -4, -90.18, 108, 70], ["hat_back", "hat/26_back", 20.34, -50.86, -90.18, 46, 52]], "hat/27": [["hat_low", "hat/27_low", 71.99, -2.53, -90.18, 133, 83]], "hat/28": [["hat", "hat/28", 62, 0, -90.18, 126, 107], ["hat_back", "hat/28_back", 40.49, -1.93, -90.18, 112, 56]], "hat/29": [["hat_low", "hat/29_low", 61, 1.01, -90.18, 124, 117]], "hat/30": [["hat_low", "hat/30_low", 70.49, -4.52, -90.18, 117, 78]], "hat/31": [["hat_low", "hat/31_low", 68, -0.02, -90.18, 136, 75]], "hat/32": [["hat", "hat/32", 47.5, 0.05, -90.18, 120, 110], ["hat_back", "hat/32_back", 27.03, 9.61, -90.18, 95, 59]], "hat/33": [["hat_low", "hat/33_low", 70, 1.48, -90.18, 145, 69]], "hat/34": [["hat_low", "hat/34_low", 68.99, -4.02, -90.18, 106, 71], ["hat_back", "hat/34_back", 26.4, -32.88, -90.18, 68, 44]], "hat/35": [["hat_low", "hat/35_low", 68.99, -4.02, -90.18, 106, 71], ["hat_back", "hat/35_back", 26.4, -32.88, -90.18, 68, 44]], "hat/36": [["hat", "hat/36", 69.99, -2.02, -90.18, 154, 75]], "hat/37": [["hat", "hat/37", 69.98, -5.52, -90.18, 133, 81]], "hat/38": [["hat", "hat/38", 69.98, -5.52, -90.18, 133, 81]], "hat/39": [["hat", "hat/39", 43.5, -0.94, -90.18, 118, 120]], "hat/40": [["hat_low", "hat/40_low", 68.98, -5.52, -90.18, 117, 75]], "hat/41": [["hat_low", "hat/41_low", 68.98, -5.52, -90.18, 117, 75]], "hat/42": [["hat_low", "hat/42_low", 81.99, -4.56, -90.18, 117, 93]], "hat/43": [["hat_low", "hat/43_low", 52.48, -5.47, -90.18, 123, 94], ["hat_back", "hat/43_back", 35.63, 39.59, -90.18, 37, 46]], "hat/44": [["hat_low", "hat/44_low", 69.99, -2.52, -90.18, 133, 79]], "hat/45": [["hat_low", "hat/45_low", 47.99, -3.95, -90.18, 114, 115]], "hat/46": [["hat_low", "hat/46_low", 47.99, -3.95, -90.18, 114, 115]], "hat/47": [["hat_low", "hat/47_low", 72.46, -13.03, -90.18, 140, 94]], "hat/48": [["hat", "hat/48", 71.51, 2.97, -90.18, 122, 78]], "hat/49": [["hat_low", "hat/49_low", 64.49, -4.5, -90.18, 107, 70], ["hat_back", "hat/49_back", 20.34, -50.86, -90.18, 46, 52]], "hat/50": [["hat_low", "hat/50_low", 61, 1.01, -90.18, 124, 117]], "hat/51": [["hat_low", "hat/51_low", 51.98, -6.46, -90.18, 117, 131]], "hat/52": [["hat", "hat/52", 62, 0, -90.18, 126, 107], ["hat_back", "hat/52_back", 40.49, -1.93, -90.18, 112, 56]], "hat/53": [["hat_low", "hat/53_low", 59.48, -4.99, -90.18, 140, 120]], "hat/54": [["hat_low", "hat/54_low", 59.48, -4.99, -90.18, 140, 120]], "hat/55": [["hat", "hat/55", 73.49, -2.53, -90.18, 137, 110], ["hat_back", "hat/55_back", 48.5, 0.05, -90.18, 134, 64]], "hat/56": [["hat", "hat/56", 73.49, -2.53, -90.18, 137, 110], ["hat_back", "hat/56_back", 48.5, 0.05, -90.18, 134, 64]], "hat/57": [["hat", "hat/57", 72.5, 0.97, -90.18, 130, 82]], "hat/58": [["hat", "hat/58", 54.01, 2.53, -90.18, 129, 97], ["hat_back", "hat/58_back", 33.63, 40.09, -90.18, 36, 56]], "hat/59": [["hat", "hat/59", 52, -1.47, -90.18, 121, 105], ["hat_back", "hat/59_back", 28.14, 42.61, -90.18, 33, 53]], "hat/60": [["hat", "hat/60", 76.49, -2.54, -90.18, 145, 102]], "mouth/1": [["mouth", "mouth/1", 0.56, 0.35, 89.82, 15, 7]], "mouth/2": [["mouth", "mouth/2", 2.06, -0.16, 89.82, 27, 19]], "mouth/3": [["mouth", "mouth/3", -0.44, 0.85, 89.82, 23, 12]], "mouth/4": [["mouth", "mouth/4", 2.06, 2.34, 89.82, 24, 11]], "mouth/5": [["mouth", "mouth/5", 0.56, 1.85, 89.82, 33, 16]], "mouth/6": [["mouth", "mouth/6", -0.44, 2.35, 89.82, 20, 18]], "mouth/7": [["mouth", "mouth/7", 0.06, 1.35, 89.82, 20, 19]], "mouth/8": [["mouth", "mouth/8", 0.07, 3.85, 89.82, 23, 13]], "mouth/9": [["mouth", "mouth/9", 4.06, 1.34, 89.82, 24, 19]], "mouth/10": [["mouth", "mouth/10", 1.06, 1.84, 89.82, 23, 15]], "mouth_talk/A": [["mouth", "mouth_talk/A", 0.56, 1.35, 89.82, 24, 18]], "mouth_talk/E": [["mouth", "mouth_talk/E", 0.56, 1.35, 89.82, 26, 12]], "mouth_talk/O": [["mouth", "mouth_talk/O", 0.56, 1.35, 89.82, 15, 17]], "mouth_talk/MBP": [["mouth", "mouth_talk/MBP", 0.56, 0.85, 89.82, 20, 7]], "mouth_talk/FV": [["mouth", "mouth_talk/FV", 0.56, 1.35, 89.82, 22, 11]], "mouth_emo/sad": [["mouth", "mouth_emo/sad", 0.56, 1.35, 89.82, 20, 10]], "mouth_emo/scared": [["mouth", "mouth_emo/scared", 0.56, 1.35, 89.82, 24, 13]], "mouth_emo/tired": [["mouth", "mouth_emo/tired", 0.56, 0.85, 89.82, 16, 7]], "skin/1": [["arm_near", "skin/1_arm_near", 0.9, -27.4, 0, 23, 72, _], ["arm_far", "skin/1_arm_far", -2.9, -25.7, 0, 29, 71, _], ["torso", "skin/1_torso", 35.4, -4.9, -90, 77, 50], ["head", "skin/1_head", 40.48, -5.43, -90.18, 103, 90], ["leg_near", "skin/1_leg", 18.74, -22.53, 0, 27, 55, _], ["leg_far", "skin/1_leg", -17.5, -22.5, 0, 27, 55, _]], "top/1": [["top", "top/1", 24.9, -2.9, -90, 87, 71]], "top/2": [["top", "top/2", 26.4, -3.9, -90, 91, 88], ["sleeve_near", "top/2_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/2_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "top/3": [["top", "top/3", 25.4, -2.4, -90, 90, 88], ["sleeve_near", "top/3_sleeve_near", 22.32, 3.45, 91.4, 31, 64, _], ["sleeve_far", "top/3_sleeve_far", 20.75, 1.92, 101.9, 32, 63, _]], "top/4": [["top", "top/4", 24.4, -2.9, -90, 87, 88], ["sleeve_near", "top/4_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/4_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "top/5": [["top", "top/5", 27.9, -2.9, -90, 87, 81], ["sleeve_near", "top/5_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/5_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "top/6": [["top", "top/6", 27.4, -2.4, -90, 88, 82], ["sleeve_near", "top/6_sleeve_near", 9.85, 2.14, 91.4, 29, 37], ["sleeve_far", "top/6_sleeve_far", 8.42, -0.17, 101.9, 29, 38]], "top/7": [["top", "top/7", 18.9, -2.9, -90, 87, 83], ["sleeve_near", "top/7_sleeve_near", 9.85, 2.14, 91.4, 29, 37], ["sleeve_far", "top/7_sleeve_far", 8.42, -0.17, 101.9, 29, 38]], "top/8": [["top", "top/8", 28.4, -2.9, -90, 87, 80]], "top/9": [["top", "top/9", 19.9, -2.9, -90, 87, 81], ["sleeve_near", "top/9_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["cap_near", "top/9_cap_near", 6.28, 5.05, 91.4, 37, 34], ["sleeve_far", "top/9_sleeve_far", 18.79, 1.51, 101.9, 34, 59, _, { sx: 0.941, sy: 1 }], ["cap_far", "top/9_cap_far", 6.77, -2.05, 101.9, 34, 36]], "top/10": [["top", "top/10", 19.9, 2.6, -90, 56, 59], ["coat", "top/10_coat", 16.35, -3.58, -90, 88, 106, _, { sx: 0.995, sy: 1.002 }], ["sleeve_near", "top/10_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/10_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/11": [["top", "top/11", 24.4, -2.9, -90, 87, 72], ["sleeve_near", "top/11_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/11_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "top/12": [["top", "top/12", 20.9, -3.4, -90, 86, 81], ["sleeve_near", "top/12_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/12_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/13": [["top", "top/13", 28.4, -2.4, -90, 88, 82], ["sleeve_near", "top/13_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/13_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/14": [["top", "top/14", 19.9, -2.9, -90, 87, 81]], "top/15": [["top", "top/15", 25.4, -2.4, -90, 90, 88], ["sleeve_near", "top/15_sleeve_near", 22.32, 3.45, 91.4, 31, 64, _], ["sleeve_far", "top/15_sleeve_far", 20.75, 1.92, 101.9, 32, 63, _]], "top/16": [["top", "top/16", 26.4, -3.4, -90, 86, 84], ["sleeve_near", "top/16_sleeve_near", 19.82, 3.38, 91.4, 31, 59, _], ["sleeve_far", "top/16_sleeve_far", 19, 0.53, 101.9, 34, 59, _]], "top/17": [["top", "top/17", 26.9, -2.9, -90, 87, 83], ["sleeve_near", "top/17_sleeve_near", 8.81, 3.62, 91.4, 34, 37], ["sleeve_far", "top/17_sleeve_far", 7.64, -1.35, 101.9, 33, 36]], "top/18": [["top", "top/18", 22.4, -2.9, -90, 89, 74], ["sleeve_near", "top/18_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/18_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "top/19": [["top", "top/19", 14.4, -3.9, -90, 89, 92], ["sleeve_near", "top/19_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/19_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "top/20": [["top", "top/20", 24.9, -2.9, -90, 87, 71], ["sleeve_near", "top/20_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/20_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/21": [["top", "top/21", 24.9, -2.9, -90, 87, 71], ["sleeve_near", "top/21_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/21_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/22": [["top", "top/22", 19.9, -2.9, -90, 87, 81], ["sleeve_near", "top/22_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/22_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/23": [["top", "top/23", 19.9, -2.9, -90, 87, 81], ["sleeve_near", "top/23_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/23_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/24": [["top", "top/24", 19.9, -2.9, -90, 87, 81], ["sleeve_near", "top/24_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/24_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/25": [["top", "top/25", 24.4, -2.4, -90, 88, 72], ["sleeve_near", "top/25_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/25_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/26": [["top", "top/26", 23.9, -3.4, -90, 92, 93]], "top/27": [["top", "top/27", 29.4, -2.9, -90, 87, 82], ["sleeve_near", "top/27_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/27_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/28": [["top", "top/28", 23.4, -2.4, -90, 86, 74]], "top/29": [["top", "top/29", 18.9, 1.1, -90, 63, 65], ["coat", "top/29_coat", 16.35, -3.58, -90, 88, 106, _, { sx: 0.995, sy: 1.002 }], ["sleeve_near", "top/29_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/29_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/30": [["top", "top/30", 28.4, -2.9, -90, 87, 80], ["sleeve_near", "top/30_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/30_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/31": [["top", "top/31", 25.4, -2.4, -90, 90, 88], ["sleeve_near", "top/31_sleeve_near", 22.32, 3.45, 91.4, 31, 64, _], ["sleeve_far", "top/31_sleeve_far", 20.75, 1.92, 101.9, 32, 63, _]], "top/32": [["top", "top/32", 28.4, -2.4, -90, 88, 82], ["sleeve_near", "top/32_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/32_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/33": [["top", "top/33", 27.9, -2.9, -90, 87, 81], ["sleeve_near", "top/33_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/33_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "top/34": [["top", "top/34", 27.9, -2.9, -90, 87, 81], ["sleeve_near", "top/34_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/34_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "top/35": [["top", "top/35", 19.9, -2.9, -90, 87, 81]], "top/36": [["top", "top/36", 24.9, -2.9, -90, 87, 71], ["sleeve_near", "top/36_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/36_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/37": [["top", "top/37", 19.9, -2.9, -90, 87, 81], ["sleeve_near", "top/37_sleeve_near", 9.85, 2.14, 91.4, 29, 37], ["sleeve_far", "top/37_sleeve_far", 8.42, -0.17, 101.9, 29, 38]], "top/38": [["top", "top/38", 29.4, -2.9, -90, 87, 82], ["sleeve_near", "top/38_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/38_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/39": [["top", "top/39", 26.9, -2.9, -90, 87, 83], ["sleeve_near", "top/39_sleeve_near", 8.81, 3.62, 91.4, 34, 37], ["sleeve_far", "top/39_sleeve_far", 7.64, -1.35, 101.9, 33, 36]], "top/40": [["top", "top/40", 25.4, -2.4, -90, 90, 88], ["sleeve_near", "top/40_sleeve_near", 22.32, 3.45, 91.4, 31, 64, _], ["sleeve_far", "top/40_sleeve_far", 20.75, 1.92, 101.9, 32, 63, _]], "top/41": [["top", "top/41", 25.9, -3.9, -90, 91, 87], ["sleeve_near", "top/41_sleeve_near", 22.32, 3.45, 91.4, 31, 64, _], ["sleeve_far", "top/41_sleeve_far", 20.75, 1.92, 101.9, 32, 63, _]], "top/42": [["top", "top/42", 19.9, -2.9, -90, 87, 81], ["sleeve_near", "top/42_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/42_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/43": [["top", "top/43", 28.9, -2.9, -90, 87, 79], ["sleeve_near", "top/43_sleeve_near", 9.85, 2.14, 91.4, 29, 37], ["sleeve_far", "top/43_sleeve_far", 8.42, -0.17, 101.9, 29, 38]], "top/44": [["top", "top/44", 24.4, -2.9, -90, 87, 72], ["sleeve_near", "top/44_sleeve_near", 22.32, 3.45, 91.4, 31, 64, _], ["sleeve_far", "top/44_sleeve_far", 20.75, 1.92, 101.9, 32, 63, _]], "top/45": [["top", "top/45", 24.4, -2.9, -90, 87, 88], ["sleeve_near", "top/45_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/45_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/46": [["top", "top/46", 24.4, -2.9, -90, 87, 72], ["sleeve_near", "top/46_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["cap_near", "top/46_cap_near", 6.28, 5.05, 91.4, 37, 34], ["sleeve_far", "top/46_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _], ["cap_far", "top/46_cap_far", 6.77, -2.05, 101.9, 34, 35]], "top/47": [["top", "top/47", 27.4, -2.4, -90, 88, 82], ["sleeve_near", "top/47_sleeve_near", 9.85, 2.14, 91.4, 29, 37], ["sleeve_far", "top/47_sleeve_far", 8.42, -0.17, 101.9, 29, 38]], "top/48": [["top", "top/48", 24.9, -2.9, -90, 87, 71], ["sleeve_near", "top/48_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/48_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/49": [["top", "top/49", 20.9, -3.4, -90, 86, 81], ["sleeve_near", "top/49_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/49_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/50": [["top", "top/50", 22.4, -2.9, -90, 89, 74], ["sleeve_near", "top/50_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/50_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "top/51": [["top", "top/51", 24.4, -2.9, -90, 87, 72], ["sleeve_near", "top/51_sleeve_near", 22.32, 3.45, 91.4, 31, 64, _], ["sleeve_far", "top/51_sleeve_far", 20.75, 1.92, 101.9, 32, 63, _]], "top/52": [["top", "top/52", 24.4, -2.9, -90, 87, 72], ["sleeve_near", "top/52_sleeve_near", 9.85, 2.14, 91.4, 29, 37], ["sleeve_far", "top/52_sleeve_far", 8.42, -0.17, 101.9, 29, 38]], "top/53": [["top", "top/53", 24.4, -2.9, -90, 87, 72], ["sleeve_near", "top/53_sleeve_near", 9.85, 2.14, 91.4, 29, 37], ["sleeve_far", "top/53_sleeve_far", 8.42, -0.17, 101.9, 29, 38]], "top/54": [["top", "top/54", 14.4, -3.9, -90, 89, 92], ["sleeve_near", "top/54_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/54_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "top/55": [["top", "top/55", 19.9, -2.9, -90, 87, 81]], "top/56": [["top", "top/56", 26.4, -3.4, -90, 86, 84], ["sleeve_near", "top/56_sleeve_near", 19.82, 3.38, 91.4, 31, 59, _], ["sleeve_far", "top/56_sleeve_far", 19, 0.53, 101.9, 34, 59, _]], "top/57": [["top", "top/57", 28.4, -2.9, -90, 87, 80], ["sleeve_near", "top/57_sleeve_near", 19.36, 1.87, 91.4, 28, 58, _], ["sleeve_far", "top/57_sleeve_far", 18.79, 1.51, 101.9, 32, 59, _]], "top/58": [["top", "top/58", 23.9, -3.4, -90, 92, 93]], "top/59": [["top", "top/59", 25.4, -2.4, -90, 90, 88], ["sleeve_near", "top/59_sleeve_near", 22.32, 3.45, 91.4, 31, 64, _], ["sleeve_far", "top/59_sleeve_far", 20.75, 1.92, 101.9, 32, 63, _]], "top/60": [["top", "top/60", 28.4, -2.9, -90, 87, 80]], "weapon/knight_sword": [["weapon", "weapon/knight_sword", 5.7, -45.7, 90, 156, 51]], "weapon/dark_blade": [["weapon", "weapon/dark_blade", 5.2, -48.7, 90, 160, 50]], "weapon/broadsword": [["weapon", "weapon/broadsword", 4.7, -49.7, 90, 160, 65]], "weapon/flame_sword": [["weapon", "weapon/flame_sword", 6.7, -57.7, 90, 174, 47]], "weapon/dagger": [["weapon", "weapon/dagger", 8.7, -32.7, 90, 112, 29]], "weapon/battle_axe": [["weapon", "weapon/battle_axe", 24.2, -25.2, 90, 115, 60]], "weapon/double_axe": [["weapon", "weapon/double_axe", 4.2, -22.7, 90, 112, 92]], "weapon/mace": [["weapon", "weapon/mace", 4.7, -47.7, 90, 144, 71]], "weapon/warhammer": [["weapon", "weapon/warhammer", 5.7, -24.2, 90, 103, 65]], "weapon/spear": [["weapon", "weapon/spear", 6.2, -43.2, 90, 147, 40]], "weapon/wizard_staff": [["weapon", "weapon/wizard_staff", 7.7, -44.2, 90, 135, 43]], "weapon/druid_staff": [["weapon", "weapon/druid_staff", 5.7, -36.7, 90, 144, 33]], "offhand/kite_shield": [["offhand", "offhand/kite_shield", 6.56, 7.12, 1.05, 85, 82]], "offhand/heater_shield": [["offhand", "offhand/heater_shield", 5.07, 6.59, 1.05, 96, 81]], "offhand/round_shield": [["offhand", "offhand/round_shield", 0.58, 6.51, 1.05, 89, 89]], "offhand/tower_shield": [["offhand", "offhand/tower_shield", -1.37, 3.48, 1.05, 109, 87]], "offhand/buckler": [["offhand", "offhand/buckler", 1.57, 6.53, 1.05, 73, 73]], "hat/great_helm": [["hat", "hat/great_helm", 43.5, -0.94, -90.18, 118, 120]], "hat/knight_helm": [["hat_low", "hat/knight_helm_low", 47.99, -3.95, -90.18, 114, 115]], "hat/winged_helm": [["hat_low", "hat/winged_helm_low", 71.99, -2.53, -90.18, 133, 83]], "hat/wizard_hat": [["hat", "hat/wizard_hat", 69.99, -2.02, -90.18, 154, 75]], "hat/ranger_hood": [["hat_low", "hat/ranger_hood_low", 47.99, -3.95, -90.18, 114, 115]], "hat/iron_helm": [["hat", "hat/iron_helm", 72.5, 0.97, -90.18, 130, 82]], "top/plate_armor": [["top", "top/plate_armor", 24.4, -2.9, -90, 87, 88], ["sleeve_near", "top/plate_armor_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/plate_armor_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "top/chainmail": [["top", "top/chainmail", 26.4, -3.9, -90, 91, 88], ["sleeve_near", "top/chainmail_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/chainmail_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "top/leather_armor": [["top", "top/leather_armor", 14.4, -3.9, -90, 89, 92], ["sleeve_near", "top/leather_armor_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/leather_armor_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "top/mage_robe": [["top", "top/mage_robe", 22.4, -2.9, -90, 89, 74], ["sleeve_near", "top/mage_robe_sleeve_near", 7.25, 6.08, 91.4, 37, 34], ["sleeve_far", "top/mage_robe_sleeve_far", 7.26, -1.95, 101.9, 34, 35]], "gloves/gauntlets": [["glove_near", "gloves/gauntlets_near", 27.37, 3.34, 92.8, 34, 35], ["glove_far", "gloves/gauntlets_far", 25.95, 2.76, 100.9, 32, 35]], "gloves/bracers": [["glove_near", "gloves/bracers_near", 19.88, 2.97, 92.8, 36, 40], ["glove_far", "gloves/bracers_far", 19.09, 3.98, 100.9, 35, 40]], "boots/plate_boots": [["boot_near", "boots/plate_boots_near", 6.3, 0.36, 180, 30, 23], ["boot_far", "boots/plate_boots_far", 5.9, 0.36, 180, 30, 23]], "boots/leather_boots": [["boot_near", "boots/leather_boots_near", 5.3, -2.4, 180, 26, 30, _], ["boot_far", "boots/leather_boots_far", 5.56, -2.4, 180, 26, 30, _]], "back/knight_cape": [["cape", "back/knight_cape", 17.3, -15.6, -90, 95, 124]], "back/mage_cape": [["cape", "back/mage_cape", 17.3, -15.6, -90, 95, 124]] };
|
|
1677
|
+
var J6 = O32({ ...k32(), skins: Object.entries(G3).map(([a5, e5]) => j32(a5, e5)), events: Object.fromEntries(["Attack", "Step", "Hit", "Die"].map((a5) => [a5, {}])), animations: R1 });
|
|
1678
|
+
var q6 = Q0({ id: "hero", data: ve2(J6), partTypes: b3, colorTargets: u32, rules: [h0({ type: "Hair", under: "Hat", variant: "HairUnderHat", rename: (a5) => a5.replace(/^hair\//, "hair_under/") }), M0({ type: "Weapon", other: "Offhand", skins: D3 })], defaultAnimation: R.idle, mix: 0.2, anchors: { body: "torso", head: "head", hand: "hand_far", gear: "weapon", offHand: "hand_near" }, blink: { animation: v0, from: 0, to: 0.2, bones: ["eyes"], slots: [], every: [2, 5] }, stance: (a5, e5) => B3(a5, e5("Weapon")), shading: { light: [-0.5, 1], skip: ["eyes/", "mouth/", "brows/", "mouth_", "brows_"] }, expressions: { faces: { Angry: { Brows: "brows/4", Mouth: "mouth/4" }, Hurt: { Mouth: "mouth/8" }, Dead: { Mouth: "mouth/10" }, Happy: { Mouth: "mouth/5" }, Sad: { Brows: "brows_emo/sad", Mouth: "mouth_emo/sad" }, Surprised: { Brows: "brows_emo/up", Mouth: "mouth/7" }, Scared: { Brows: "brows_emo/up", Mouth: "mouth_emo/scared" }, Tired: { Mouth: "mouth_emo/tired" } }, emotions: { happy: "Happy", sad: "Sad", angry: "Angry", surprised: "Surprised", scared: "Scared", tired: "Tired", hurt: "Hurt" }, speech: { type: "Mouth", visemes: { A: "mouth_talk/A", E: "mouth_talk/E", O: "mouth_talk/O", MBP: "mouth_talk/MBP", FV: "mouth_talk/FV" } }, byAnimation: { [R.punch]: "Angry", [R.stab]: "Angry", [R.swing]: "Angry", [R.hit]: "Hurt", [R.die]: "Dead", [R.fall]: "Hurt", [R.surprised]: "Surprised", ...Object.fromEntries(Object.values(h2).map((a5) => [a5, "Angry"])) } }, editor: Z3 });
|
|
1679
|
+
var A2 = (a5, e5) => ({ v: 1, parts: { Back: null, Beard: null, Boots: null, Pants: null, Gloves: null, Hat: null, Glasses: null, Offhand: null, Weapon: null, Skin: "skin/1", ...a5 }, colors: e5 });
|
|
1680
|
+
var y2 = (a5, e5, o6, r7) => ({ id: a5, label: e5, look: A2({ Eyes: "eyes/1", Brows: "brows/1", Mouth: "mouth/1", Pants: "pants/26", ...o6 }, r7) });
|
|
1681
|
+
var o5 = [y2("knight", "Knight", { Hat: "hat/knight_helm", Hair: "hair/2", Top: "top/plate_armor", Gloves: "gloves/gauntlets", Boots: "boots/plate_boots", Back: "back/knight_cape", Weapon: "weapon/knight_sword", Offhand: "offhand/kite_shield" }, { Skin: "#f6d2b0", Hair: "#6b3f2a", Brows: "#4a2a1a" }), y2("dark_knight", "Dark knight", { Hat: "hat/great_helm", Top: "top/chainmail", Gloves: "gloves/gauntlets", Boots: "boots/plate_boots", Back: "back/knight_cape", Weapon: "weapon/dark_blade", Offhand: "offhand/tower_shield" }, { Skin: "#e8b48a" }), y2("archmage", "Archmage", { Hat: "hat/wizard_hat", Hair: "hair/10", Beard: "beard/10", Top: "top/mage_robe", Gloves: "gloves/bracers", Boots: "boots/leather_boots", Back: "back/mage_cape", Weapon: "weapon/wizard_staff" }, { Skin: "#f8dcc4", Hair: "#e8e8f0", Beard: "#e8e8f0", Brows: "#d0d0dc" }), y2("berserker", "Berserker", { Hat: "hat/winged_helm", Hair: "hair/3", Beard: "beard/4", Brows: "brows/4", Top: "top/leather_armor", Gloves: "gloves/bracers", Boots: "boots/leather_boots", Weapon: "weapon/double_axe", Offhand: "offhand/round_shield" }, { Skin: "#f0c09a", Hair: "#c0602a", Beard: "#c0602a", Brows: "#8a3a18" }), y2("hunter", "Hunter", { Hat: "hat/ranger_hood", Hair: "hair/5", Eyes: "eyes/10", Top: "top/leather_armor", Gloves: "gloves/bracers", Boots: "boots/leather_boots", Weapon: "weapon/elven_bow" }, { Skin: "#e8b48a", Hair: "#e8c060", Brows: "#a8742a" }), y2("crossbowman", "Crossbowman", { Hat: "hat/iron_helm", Hair: "hair/3", Top: "top/chainmail", Gloves: "gloves/bracers", Boots: "boots/leather_boots", Weapon: "weapon/crossbow" }, { Skin: "#f0c09a", Hair: "#6b3f2a", Brows: "#4a2a1a" }), y2("gunslinger", "Gunslinger", { Hair: "hair/13", Top: "top/leather_armor", Gloves: "gloves/bracers", Boots: "boots/leather_boots", Back: "back/knight_cape", Weapon: "weapon/pistol" }, { Skin: "#c98a5e", Hair: "#2a2026", Brows: "#2a2026" }), y2("musketeer", "Musketeer", { Hat: "hat/wizard_hat", Hair: "hair/5", Top: "top/mage_robe", Boots: "boots/leather_boots", Weapon: "weapon/musket" }, { Skin: "#f8dcc4", Hair: "#b5532f", Brows: "#7a3418" }), y2("soldier", "Soldier", { Hat: "hat/iron_helm", Hair: "hair/2", Top: "top/leather_armor", Gloves: "gloves/gauntlets", Boots: "boots/plate_boots", Weapon: "weapon/rifle" }, { Skin: "#e8b48a", Hair: "#3a2a22", Brows: "#3a2a22" }), { id: "quarterback", label: "Quarterback", look: A2({ Hat: "hat/1", Hair: "hair/2", Eyes: "eyes/1", Brows: "brows/1", Mouth: "mouth/1", Top: "top/1", Pants: "pants/26", Boots: "boots/1", Back: "back/14", Weapon: "weapon/3" }, { Skin: "#f0c09a", Hair: "#3a2a22", Brows: "#3a2a22" }) }, { id: "lumberjack", label: "Lumberjack", look: A2({ Hair: "hair/3", Beard: "beard/4", Eyes: "eyes/2", Brows: "brows/4", Mouth: "mouth/1", Top: "top/5", Pants: "pants/3", Boots: "boots/3", Back: "back/1", Gloves: "gloves/10", Weapon: "weapon/3" }, { Skin: "#d2a582", Hair: "#6b3f2a", Beard: "#6b3f2a", Brows: "#4a2a1a" }) }, { id: "viking", label: "Viking", look: A2({ Hat: "hat/27", Hair: "hair/5", Beard: "beard/10", Eyes: "eyes/4", Brows: "brows/2", Mouth: "mouth/3", Top: "top/19", Pants: "pants/42", Boots: "boots/10", Weapon: "weapon/27", Offhand: "offhand/1" }, { Skin: "#fadfb3", Hair: "#e0a040", Beard: "#e0a040", Brows: "#e0a040" }) }, { id: "wizard", label: "Wizard", look: A2({ Hat: "hat/15", Hair: "hair/10", Eyes: "eyes/10", Brows: "brows/1", Mouth: "mouth/1", Glasses: "glasses/4", Top: "top/40", Pants: "pants/1", Boots: "boots/1", Weapon: "weapon/28" }, { Skin: "#c98d6a", Hair: "#f081e1", Brows: "#a04090" }) }, { id: "ranger", label: "Ranger", look: A2({ Hat: "hat/12", Hair: "hair/5", Eyes: "eyes/1", Brows: "brows/4", Mouth: "mouth/3", Top: "top/25", Pants: "pants/26", Boots: "boots/3", Back: "back/17", Gloves: "gloves/1", Weapon: "weapon/33" }, { Skin: "#9b5b3a", Hair: "#323232", Brows: "#323232" }) }, { id: "king", label: "King", look: A2({ Hat: "hat/9", Hair: "hair/13", Beard: "beard/3", Eyes: "eyes/2", Brows: "brows/2", Mouth: "mouth/1", Top: "top/40", Pants: "pants/42", Boots: "boots/10", Weapon: "weapon/36", Offhand: "offhand/8" }, { Skin: "#fadfb3", Hair: "#f2f2f2", Beard: "#f2f2f2", Brows: "#d0d0d0" }) }, { id: "camper", label: "Camper", look: A2({ Hat: "hat/2", Hair: "hair/2", Eyes: "eyes/4", Brows: "brows/1", Mouth: "mouth/5", Glasses: "glasses/2", Top: "top/25", Pants: "pants/1", Boots: "boots/3", Back: "back/1", Weapon: "weapon/14" }, { Skin: "#e8b48a", Hair: "#8a4a2a", Brows: "#5a2a1a" }) }, { id: "crusader", label: "Crusader", look: A2({ Hair: "hair/10", Eyes: "eyes/10", Brows: "brows/2", Mouth: "mouth/5", Top: "top/19", Pants: "pants/3", Boots: "boots/1", Gloves: "gloves/1", Weapon: "weapon/5", Offhand: "offhand/4" }, { Skin: "#fadfb3", Hair: "#c0402a", Brows: "#902a1a" }) }];
|
|
1682
|
+
var g1 = { art: 16, svgChars: 12e3, name: 40, description: 300 };
|
|
1683
|
+
var r5 = /* @__PURE__ */ new Set(["g", "path", "circle", "ellipse", "rect", "line", "polyline", "polygon", "defs", "clipPath", "linearGradient", "radialGradient", "stop"]);
|
|
1684
|
+
function V3(a5) {
|
|
1685
|
+
if (a5.length > g1.svgChars || /<!|<\?|javascript:|data:|https?:|url\(\s*['"]?(?!#)/i.test(a5)) return null;
|
|
1686
|
+
let e5 = a5.match(/<\/?\s*([a-zA-Z][\w:-]*)/g) ?? [];
|
|
1687
|
+
for (let o6 of e5) {
|
|
1688
|
+
let r7 = o6.replace(/^<\/?\s*/, "");
|
|
1689
|
+
if (!r5.has(r7)) return null;
|
|
1690
|
+
}
|
|
1691
|
+
return /\son\w+\s*=/i.test(a5) || /\s(xlink:)?href\s*=/i.test(a5) ? null : a5;
|
|
1692
|
+
}
|
|
1693
|
+
var z3 = (a5) => typeof a5 == "string" && /^#[0-9a-f]{6}$/i.test(a5);
|
|
1694
|
+
function s5(a5, e5) {
|
|
1695
|
+
let o6 = a5;
|
|
1696
|
+
if (typeof a5 == "string") {
|
|
1697
|
+
let A5 = h(a5);
|
|
1698
|
+
if (!A5.ok) return { ok: false, error: A5.error };
|
|
1699
|
+
o6 = A5.value;
|
|
1700
|
+
}
|
|
1701
|
+
if (!o6 || typeof o6 != "object") return { ok: false, error: u({ en: "the recipe is not an object", ru: "\u0440\u0435\u0446\u0435\u043F\u0442 \u2014 \u043D\u0435 \u043E\u0431\u044A\u0435\u043A\u0442" }) };
|
|
1702
|
+
let r7 = o6, L6 = [], C5 = new Map(e5.partTypes.filter((A5) => !A5.auto).map((A5) => [A5.id, A5])), i5 = new Set(e5.data.skins.keys()), h7 = {}, p5 = r7.look ?? r7, M2 = p5.parts;
|
|
1703
|
+
if (M2 && typeof M2 == "object") for (let [A5, j7] of Object.entries(M2)) {
|
|
1704
|
+
let s2 = C5.get(A5);
|
|
1705
|
+
if (!s2) {
|
|
1706
|
+
L6.push(u({ en: `unknown part type ${A5}`, ru: `\u043D\u0435\u0442 \u0442\u0438\u043F\u0430 \u0434\u0435\u0442\u0430\u043B\u0438 ${A5}` }));
|
|
1707
|
+
continue;
|
|
1708
|
+
}
|
|
1709
|
+
if (j7 === null) {
|
|
1710
|
+
s2.canHide && (h7[A5] = null);
|
|
1711
|
+
continue;
|
|
1712
|
+
}
|
|
1713
|
+
if (typeof j7 != "string" || !j7.startsWith(s2.skinPrefix) || !i5.has(j7)) {
|
|
1714
|
+
L6.push(u({ en: `no part ${String(j7)}`, ru: `\u043D\u0435\u0442 \u0434\u0435\u0442\u0430\u043B\u0438 ${String(j7)}` }));
|
|
1715
|
+
continue;
|
|
1716
|
+
}
|
|
1717
|
+
h7[A5] = j7;
|
|
1718
|
+
}
|
|
1719
|
+
let b5 = new Set(e5.colorTargets.map((A5) => A5.id)), $7 = {}, G5 = p5.colors;
|
|
1720
|
+
if (G5 && typeof G5 == "object") for (let [A5, j7] of Object.entries(G5)) b5.has(A5) && z3(j7) && ($7[A5] = j7);
|
|
1721
|
+
let I7 = we(e5.data), B5 = {}, F3 = r7.art;
|
|
1722
|
+
if (F3 && typeof F3 == "object") for (let [A5, j7] of Object.entries(F3)) {
|
|
1723
|
+
if (Object.keys(B5).length >= g1.art) {
|
|
1724
|
+
L6.push(u({ en: "too many pictures", ru: "\u0441\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u043D\u043E\u0433\u043E \u043A\u0430\u0440\u0442\u0438\u043D\u043E\u043A" }));
|
|
1725
|
+
break;
|
|
1726
|
+
}
|
|
1727
|
+
if (!I7.has(A5)) {
|
|
1728
|
+
L6.push(u({ en: `no picture ${A5}`, ru: `\u043D\u0435\u0442 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438 ${A5}` }));
|
|
1729
|
+
continue;
|
|
1730
|
+
}
|
|
1731
|
+
let s2 = typeof j7 == "string" ? j7 : j7?.svg, p22 = typeof s2 == "string" ? V3(s2) : null;
|
|
1732
|
+
if (!p22) {
|
|
1733
|
+
L6.push(u({ en: `picture ${A5} rejected`, ru: `\u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430 ${A5} \u043E\u0442\u043A\u043B\u043E\u043D\u0435\u043D\u0430` }));
|
|
1734
|
+
continue;
|
|
1735
|
+
}
|
|
1736
|
+
let M22 = j7?.paint;
|
|
1737
|
+
B5[A5] = z3(M22) ? { svg: p22, paint: M22 } : { svg: p22 };
|
|
1738
|
+
}
|
|
1739
|
+
let U2 = (A5, j7) => typeof A5 == "string" ? A5.trim().slice(0, j7) : "";
|
|
1740
|
+
return { ok: true, recipe: { name: U2(r7.name, g1.name) || u({ en: "Hero", ru: "\u0413\u0435\u0440\u043E\u0439" }), description: U2(r7.description, g1.description), look: { v: 1, parts: h7, colors: $7 }, art: B5 }, warnings: L6 };
|
|
1741
|
+
}
|
|
1742
|
+
|
|
1743
|
+
// ../timeline/dist/index.js
|
|
1744
|
+
var L5 = { cast: 6, lines: 40, lineChars: 220, titleChars: 80, overrides: 200, maxDuration: 180 };
|
|
1745
|
+
var V5 = (e5) => !!e5 && typeof e5 == "object" && !Array.isArray(e5);
|
|
1746
|
+
var C = (e5) => typeof e5 == "number" && Number.isFinite(e5);
|
|
1747
|
+
var z5 = (e5, n6) => typeof e5 == "string" ? e5.slice(0, n6) : void 0;
|
|
1748
|
+
var He = ["9:16", "16:9", "1:1"];
|
|
1749
|
+
var Ke = /^(lib|pack|own):[A-Za-z0-9_.:@/-]{1,120}$/;
|
|
1750
|
+
function X3(e5) {
|
|
1751
|
+
return typeof e5 == "string" && Ke.test(e5);
|
|
1752
|
+
}
|
|
1753
|
+
function Xe(e5, n6, t5) {
|
|
1754
|
+
if (!V5(e5) || typeof e5.kind != "string") return n6.push({ path: t5, message: "an override has a kind" }), null;
|
|
1755
|
+
let s2 = e5.kind, a5 = e5.at, i5 = (p5, o6) => (p5 || n6.push({ path: t5, message: o6 }), p5);
|
|
1756
|
+
switch (s2) {
|
|
1757
|
+
case "camera":
|
|
1758
|
+
return i5(C(a5) && typeof e5.move == "string", "camera: at, move") ? { kind: s2, at: a5, move: e5.move, ...C(e5.duration) ? { duration: e5.duration } : {} } : null;
|
|
1759
|
+
case "cut":
|
|
1760
|
+
return i5(C(a5) && typeof e5.shot == "string", "cut: at, shot") ? { kind: s2, at: a5, shot: e5.shot } : null;
|
|
1761
|
+
case "beat":
|
|
1762
|
+
case "react":
|
|
1763
|
+
return i5(C(e5.line) && typeof e5.beat == "string", `${s2}: line, beat`) ? { kind: s2, line: e5.line, beat: e5.beat } : null;
|
|
1764
|
+
case "emotion":
|
|
1765
|
+
return i5(C(e5.line) && n(e5.emotion), "emotion: line, emotion") ? { kind: s2, line: e5.line, emotion: e5.emotion } : null;
|
|
1766
|
+
case "pose":
|
|
1767
|
+
return i5(C(e5.actor) && C(a5) && typeof e5.pose == "string", "pose: actor, at, pose") ? { kind: s2, actor: e5.actor, at: a5, pose: e5.pose } : null;
|
|
1768
|
+
case "fx":
|
|
1769
|
+
return i5(C(a5) && typeof e5.fx == "string", "fx: at, fx") ? { kind: s2, at: a5, fx: e5.fx, ...C(e5.strength) ? { strength: e5.strength } : {}, ...C(e5.duration) ? { duration: e5.duration } : {} } : null;
|
|
1770
|
+
case "sfx":
|
|
1771
|
+
return i5(C(a5) && typeof e5.sfx == "string", "sfx: at, sfx") ? { kind: s2, at: a5, sfx: e5.sfx } : null;
|
|
1772
|
+
case "text":
|
|
1773
|
+
return i5(C(a5) && C(e5.duration) && typeof e5.text == "string", "text: at, duration, text") ? { kind: s2, at: a5, duration: e5.duration, text: e5.text.slice(0, 80), ...C(e5.y) ? { y: Math.min(1, Math.max(0, e5.y)) } : {}, ...typeof e5.style == "string" ? { style: e5.style } : {} } : null;
|
|
1774
|
+
case "shift":
|
|
1775
|
+
return i5(C(e5.line) && C(e5.delay), "shift: line, delay") ? { kind: s2, line: e5.line, delay: Math.max(-5, Math.min(10, e5.delay)) } : null;
|
|
1776
|
+
case "particles":
|
|
1777
|
+
return i5(C(a5) && typeof e5.preset == "string", "particles: at, preset") ? { kind: s2, at: a5, preset: e5.preset, ...C(e5.actor) ? { actor: e5.actor } : {}, ...C(e5.duration) ? { duration: e5.duration } : {} } : null;
|
|
1778
|
+
default:
|
|
1779
|
+
return n6.push({ path: t5, message: `unknown override ${s2}` }), null;
|
|
1780
|
+
}
|
|
1781
|
+
}
|
|
1782
|
+
function ee2(e5) {
|
|
1783
|
+
let n6 = e5;
|
|
1784
|
+
if (typeof e5 == "string") {
|
|
1785
|
+
let f = h(e5);
|
|
1786
|
+
if (!f.ok) return { ok: false, issues: [{ path: "", message: f.error }] };
|
|
1787
|
+
n6 = f.value;
|
|
1788
|
+
}
|
|
1789
|
+
let t5 = [];
|
|
1790
|
+
if (!V5(n6)) return { ok: false, issues: [{ path: "", message: "a VideoSpec is an object" }] };
|
|
1791
|
+
let s2 = n6, a5 = typeof s2.format == "string" && /^[a-z0-9-]+@\d+$/.test(s2.format) ? s2.format : null;
|
|
1792
|
+
a5 || t5.push({ path: "format", message: "format like dialogue@1" });
|
|
1793
|
+
let i5 = i.includes(s2.style) ? s2.style : null;
|
|
1794
|
+
i5 || t5.push({ path: "style", message: `style: ${i.join(", ")}` }), X3(s2.set) || t5.push({ path: "set", message: "set: an asset ref (lib:\u2026, pack:\u2026, own:\u2026)" });
|
|
1795
|
+
let p5 = [];
|
|
1796
|
+
!Array.isArray(s2.cast) || s2.cast.length === 0 || s2.cast.length > L5.cast ? t5.push({ path: "cast", message: `1..${L5.cast} cast members` }) : s2.cast.forEach((f, A5) => {
|
|
1797
|
+
let c = typeof f == "string" ? { asset: f } : f;
|
|
1798
|
+
if (!V5(c) || !X3(c.asset)) {
|
|
1799
|
+
t5.push({ path: `cast[${A5}]`, message: "a cast member names an asset ref" });
|
|
1800
|
+
return;
|
|
1801
|
+
}
|
|
1802
|
+
let y5 = {};
|
|
1803
|
+
if (V5(c.props)) for (let P5 of ["handR", "handL", "head"]) X3(c.props[P5]) && (y5[P5] = c.props[P5]);
|
|
1804
|
+
p5.push({ asset: c.asset, ...z5(c.name, 30) ? { name: z5(c.name, 30) } : {}, ...typeof c.voice == "string" ? { voice: c.voice } : {}, ...V5(c.look) ? { look: c.look } : {}, ...Object.keys(y5).length ? { props: y5 } : {}, ...typeof c.anchor == "string" ? { anchor: c.anchor } : {} });
|
|
1805
|
+
});
|
|
1806
|
+
let o6 = [];
|
|
1807
|
+
!Array.isArray(s2.lines) || s2.lines.length > L5.lines ? t5.push({ path: "lines", message: `0..${L5.lines} lines` }) : s2.lines.forEach((f, A5) => {
|
|
1808
|
+
if (!V5(f) || typeof f.text != "string" || !C(f.who)) {
|
|
1809
|
+
t5.push({ path: `lines[${A5}]`, message: "a line has who and text" });
|
|
1810
|
+
return;
|
|
1811
|
+
}
|
|
1812
|
+
let c = Math.trunc(f.who);
|
|
1813
|
+
(c < -1 || c >= Math.max(1, p5.length)) && t5.push({ path: `lines[${A5}].who`, message: "who: \u22121 (narrator) or a cast index" }), o6.push({ who: c, text: f.text.trim().slice(0, L5.lineChars), ...typeof f.beat == "string" ? { beat: f.beat } : {}, ...typeof f.react == "string" ? { react: f.react } : {}, ...n(f.emotion) ? { emotion: f.emotion } : {}, ...typeof f.voice == "string" ? { voice: f.voice } : {}, ...C(f.pause) ? { pause: Math.max(0, Math.min(3, f.pause)) } : {} });
|
|
1814
|
+
});
|
|
1815
|
+
let d5 = [];
|
|
1816
|
+
Array.isArray(s2.overrides) && s2.overrides.slice(0, L5.overrides).forEach((f, A5) => {
|
|
1817
|
+
let c = Xe(f, t5, `overrides[${A5}]`);
|
|
1818
|
+
c && d5.push(c);
|
|
1819
|
+
});
|
|
1820
|
+
let m5 = {}, l = V5(s2.assets) ? s2.assets : {};
|
|
1821
|
+
if (V5(l.voice)) for (let [f, A5] of Object.entries(l.voice)) {
|
|
1822
|
+
if (!/^\d+$/.test(f) || !V5(A5) || typeof A5.url != "string" || !C(A5.duration) || typeof A5.key != "string" || !/^https:\/\//.test(A5.url) && !/^data:audio\/(mpeg|webm|ogg)[^;,]*;base64,/.test(A5.url)) continue;
|
|
1823
|
+
let c = Array.isArray(A5.words) ? A5.words.filter((y5) => V5(y5) && typeof y5.text == "string" && C(y5.start) && C(y5.end)) : void 0;
|
|
1824
|
+
m5[f] = { url: A5.url, duration: A5.duration, key: A5.key, ...c ? { words: c } : {}, ...A5.draft === true ? { draft: true } : {} };
|
|
1825
|
+
}
|
|
1826
|
+
let w5 = oe(s2.captions) ? s2.captions : "karaoke-bold", E5 = V5(s2.cta) ? { type: s2.cta.type === "none" ? "none" : "app", ...z5(s2.cta.text, 60) ? { text: z5(s2.cta.text, 60) } : {}, ...typeof s2.cta.url == "string" && /^https:\/\//.test(s2.cta.url) ? { url: s2.cta.url } : {}, ...z5(s2.cta.code, 32) ? { code: z5(s2.cta.code, 32) } : {} } : void 0;
|
|
1827
|
+
return !a5 || !i5 || !X3(s2.set) || p5.length === 0 ? { ok: false, issues: t5 } : { ok: true, spec: { v: 1, format: a5, ...typeof s2.parent == "string" && s2.parent.length <= 64 ? { parent: s2.parent } : {}, ...z5(s2.title, L5.titleChars) ? { title: z5(s2.title, L5.titleChars) } : {}, style: i5, aspect: He.includes(s2.aspect) ? s2.aspect : "9:16", fps: s2.fps === 60 ? 60 : 30, seed: C(s2.seed) ? Math.trunc(Math.abs(s2.seed)) % 2147483647 : 1, set: s2.set, cast: p5, lines: o6, ...V5(s2.params) ? { params: s2.params } : {}, music: X3(s2.music) ? s2.music : null, ...C(s2.musicVolume) ? { musicVolume: Math.max(0, Math.min(1, s2.musicVolume)) } : {}, captions: w5, overrides: d5, assets: Object.keys(m5).length ? { voice: m5 } : {}, ...E5 ? { cta: E5 } : {}, ...s2.watermark === true ? { watermark: true } : {} }, issues: t5 };
|
|
1828
|
+
}
|
|
1829
|
+
var Qe = 4 * 1024 * 1024 * 1.37;
|
|
1830
|
+
var ne2 = false;
|
|
1831
|
+
var j5 = (e5) => typeof e5 == "string" && (/^https:\/\/[^\s]+$/.test(e5) && e5.length <= 1024 || ne2 && /^data:(image\/(png|jpeg|webp)|audio\/(mpeg|webm|ogg)[^;,]*);base64,/.test(e5) && e5.length <= Qe);
|
|
1832
|
+
var Ze2 = /^(lib|pack|own):[A-Za-z0-9_.:@/-]{1,120}$/;
|
|
1833
|
+
function et(e5, n6) {
|
|
1834
|
+
let t5 = (p5, o6) => n6.push({ level: "error", path: p5, message: o6 }), s2 = e5.background;
|
|
1835
|
+
(!s2 || !s2.gradient && !s2.image && !s2.layers?.length) && t5("set.background", "a gradient, an image or layers"), s2?.image && !j5(s2.image) && t5("set.background.image", "an https address"), s2?.depthMap && !j5(s2.depthMap) && t5("set.background.depthMap", "an https address"), s2?.layers?.forEach((p5, o6) => {
|
|
1836
|
+
(!j5(p5.image) || typeof p5.depth != "number" || p5.depth < 0 || p5.depth > 1) && t5(`set.background.layers[${o6}]`, "an https image and depth 0..1");
|
|
1837
|
+
}), Object.keys(e5.anchors ?? {}).length === 0 && t5("set.anchors", "at least one anchor (left, right, center\u2026)");
|
|
1838
|
+
for (let [p5, o6] of Object.entries(e5.anchors ?? {})) (typeof o6.x != "number" || typeof o6.z != "number" || o6.facing !== 1 && o6.facing !== -1) && t5(`set.anchors.${p5}`, "x, z and facing \xB11");
|
|
1839
|
+
let i5 = Object.entries(e5.shots ?? {});
|
|
1840
|
+
i5.length || t5("set.shots", "at least the wide shot"), "wide" in (e5.shots ?? {}) || n6.push({ level: "warning", path: "set.shots", message: "no wide shot: the first shot is used" });
|
|
1841
|
+
for (let [p5, o6] of i5) (!Array.isArray(o6.pos) || !Array.isArray(o6.target) || typeof o6.fov != "number" || o6.fov < 10 || o6.fov > 100) && t5(`set.shots.${p5}`, "pos, target and fov 10..100");
|
|
1842
|
+
for (let p5 of ["left", "right"]) p5 in (e5.anchors ?? {}) && !(`close-${p5}` in (e5.shots ?? {})) && n6.push({ level: "warning", path: "set.shots", message: `no close-${p5}: the dialogue uses the medium shot` });
|
|
1843
|
+
(e5.props ?? []).forEach((p5, o6) => {
|
|
1844
|
+
(p5.kind === "image" && !j5(p5.image) || p5.kind === "gltf" && !j5(p5.url)) && t5(`set.props[${o6}]`, "an https address");
|
|
1845
|
+
}), e5.props && e5.props.length > 64 && t5("set.props", "at most 64 props");
|
|
1846
|
+
}
|
|
1847
|
+
function ke2(e5, n6 = {}) {
|
|
1848
|
+
if (!e5 || typeof e5 != "object") return [{ level: "error", path: "", message: "not an asset" }];
|
|
1849
|
+
ne2 = !!n6.inline;
|
|
1850
|
+
try {
|
|
1851
|
+
return tt2(e5);
|
|
1852
|
+
} catch {
|
|
1853
|
+
return [{ level: "error", path: "", message: "malformed asset" }];
|
|
1854
|
+
} finally {
|
|
1855
|
+
ne2 = false;
|
|
1856
|
+
}
|
|
1857
|
+
}
|
|
1858
|
+
function tt2(e5) {
|
|
1859
|
+
let n6 = [], t5 = (a5, i5) => n6.push({ level: "error", path: a5, message: i5 }), s2 = (a5, i5) => n6.push({ level: "warning", path: a5, message: i5 });
|
|
1860
|
+
switch ((typeof e5.ref != "string" || !Ze2.test(e5.ref)) && t5("ref", "lib:\u2026, pack:\u2026 or own:\u2026"), i.includes(e5.style) || t5("style", `one of ${i.join(", ")}`), (typeof e5.title != "string" || !e5.title.trim() || e5.title.length > 60) && t5("title", "1\u201360 characters"), !Array.isArray(e5.tags) || e5.tags.length === 0 ? s2("tags", "no tags: the director will hardly find it") : (e5.tags.length > 24 || e5.tags.some((a5) => typeof a5 != "string" || a5.length > 32)) && t5("tags", "\u2264 24 tags of \u2264 32 characters"), e5.description && e5.description.length > 300 && t5("description", "\u2264 300 characters"), e5.preview && !j5(e5.preview) && t5("preview", "an https address"), e5.kind) {
|
|
1861
|
+
case "actor": {
|
|
1862
|
+
let a5 = e5.body;
|
|
1863
|
+
if (a5.type === "voxel") {
|
|
1864
|
+
let i5 = Z(a5.spec);
|
|
1865
|
+
i5.ok || t5("body.spec", i5.error);
|
|
1866
|
+
} else if (a5.type === "rig2d") {
|
|
1867
|
+
let i5 = s5({ look: a5.look, art: a5.art ?? {} }, q6);
|
|
1868
|
+
if (!i5.ok) t5("body", i5.error);
|
|
1869
|
+
else for (let p5 of i5.warnings) s2("body", p5);
|
|
1870
|
+
} else a5.type === "gltf" ? (j5(a5.url) || t5("body.url", "an https GLB"), s2("body", "the humanoid-v1 contract is checked on load (validateGltfCharacter)")) : a5.type === "cutout" ? (j5(a5.image) || t5("body.image", "an https image"), a5.mouth && (a5.mouth.x < 0 || a5.mouth.x > 1 || a5.mouth.y < 0 || a5.mouth.y > 1 || a5.mouth.w <= 0 || a5.mouth.w > 1) && t5("body.mouth", "x, y, w as shares of the picture")) : t5("body.type", "voxel | rig2d | gltf | cutout");
|
|
1871
|
+
e5.affordances?.length || s2("affordances", "say what it can do: talks, sits, holds a thing, flies"), e5.height !== void 0 && (e5.height < 0.2 || e5.height > 6) && t5("height", "0.2..6 scene units");
|
|
1872
|
+
break;
|
|
1873
|
+
}
|
|
1874
|
+
case "set":
|
|
1875
|
+
et(e5.set, n6);
|
|
1876
|
+
break;
|
|
1877
|
+
case "prop":
|
|
1878
|
+
!e5.image && !e5.gltf && t5("prop", "an image or a GLB"), e5.image && !j5(e5.image) && t5("image", "an https image"), e5.gltf && !j5(e5.gltf) && t5("gltf", "an https GLB"), (typeof e5.height != "number" || e5.height <= 0 || e5.height > 6) && t5("height", "0..6 relative to a 1.7 character");
|
|
1879
|
+
break;
|
|
1880
|
+
case "music":
|
|
1881
|
+
j5(e5.url) || t5("url", "an https audio file"), (typeof e5.duration != "number" || e5.duration <= 0 || e5.duration > 600) && t5("duration", "0..600 s");
|
|
1882
|
+
break;
|
|
1883
|
+
default:
|
|
1884
|
+
t5("kind", "actor | set | prop | music");
|
|
1885
|
+
}
|
|
1886
|
+
return n6;
|
|
1887
|
+
}
|
|
1888
|
+
var xe2 = (e5) => !e5.some((n6) => n6.level === "error");
|
|
1889
|
+
var ae2 = "v1.";
|
|
1890
|
+
var we2 = 8 * 1024 * 1024;
|
|
1891
|
+
function rt(e5) {
|
|
1892
|
+
let n6 = "";
|
|
1893
|
+
for (let t5 = 0; t5 < e5.length; t5 += 32768) n6 += String.fromCharCode(...e5.subarray(t5, t5 + 32768));
|
|
1894
|
+
return btoa(n6).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
1895
|
+
}
|
|
1896
|
+
async function Ae(e5, n6, t5) {
|
|
1897
|
+
let s2 = new Blob([e5]).stream().pipeThrough(n6).getReader(), a5 = [], i5 = 0;
|
|
1898
|
+
for (; ; ) {
|
|
1899
|
+
let { done: d5, value: m5 } = await s2.read();
|
|
1900
|
+
if (d5) break;
|
|
1901
|
+
if (i5 += m5.length, i5 > t5) throw await s2.cancel(), new Error("too large");
|
|
1902
|
+
a5.push(m5);
|
|
1903
|
+
}
|
|
1904
|
+
let p5 = new Uint8Array(i5), o6 = 0;
|
|
1905
|
+
for (let d5 of a5) p5.set(d5, o6), o6 += d5.length;
|
|
1906
|
+
return p5;
|
|
1907
|
+
}
|
|
1908
|
+
async function cs(e5) {
|
|
1909
|
+
let n6 = new TextEncoder().encode(JSON.stringify({ v: 1, spec: e5.spec, assets: e5.assets }));
|
|
1910
|
+
return ae2 + rt(await Ae(n6, new CompressionStream("deflate-raw"), we2));
|
|
1911
|
+
}
|
|
1912
|
+
function at(e5) {
|
|
1913
|
+
let n6 = e5 && typeof e5 == "object" ? e5 : null;
|
|
1914
|
+
if (!n6?.spec) return { ok: false, error: "the package has no video (spec)", issues: [] };
|
|
1915
|
+
let t5 = [], s2 = ee2(n6.spec);
|
|
1916
|
+
if (!s2.ok) return { ok: false, error: s2.issues.map((o6) => `${o6.path} ${o6.message}`).join("; "), issues: s2.issues };
|
|
1917
|
+
t5.push(...s2.issues);
|
|
1918
|
+
let a5 = [];
|
|
1919
|
+
(Array.isArray(n6.assets) ? n6.assets : []).forEach((o6, d5) => {
|
|
1920
|
+
let m5 = ke2(o6, { inline: true });
|
|
1921
|
+
t5.push(...m5.map((l) => ({ ...l, path: `assets[${d5}]${l.path ? "." + l.path : ""}` }))), xe2(m5) && a5.push(o6);
|
|
1922
|
+
});
|
|
1923
|
+
let i5 = new Set(a5.map((o6) => o6.ref)), p5 = [s2.spec.set, ...s2.spec.music ? [s2.spec.music] : [], ...s2.spec.cast.map((o6) => o6.asset)];
|
|
1924
|
+
for (let o6 of p5) !o6.startsWith("lib:") && !i5.has(o6) && t5.push({ level: "error", path: "spec", message: `${o6} is not in the package's assets` });
|
|
1925
|
+
return { ok: true, value: { spec: s2.spec, assets: a5 }, issues: t5 };
|
|
1926
|
+
}
|
|
1927
|
+
var Ce = ["position.x", "position.y", "position.z", "rotation.x", "rotation.y", "rotation.z", "scale", "scale.x", "scale.y", "opacity"];
|
|
1928
|
+
var W5 = ["shake", "zoom-punch", "flash", "flash-black", "vignette", "slowmo", "fade-in", "fade-out", "whip", "tilt"];
|
|
1929
|
+
var T5 = { maxDuration: 8, tracks: 64, keys: 32, depth: 4, repeat: 16, position: 20, scale: 5, rotation: Math.PI * 4, textChars: 80 };
|
|
1930
|
+
var pt2 = new Set(s);
|
|
1931
|
+
var $e = new Set(Ce);
|
|
1932
|
+
var ct3 = new Set(W5);
|
|
1933
|
+
var r6 = "actor";
|
|
1934
|
+
var $5 = "actor2";
|
|
1935
|
+
var x5 = (e5, n6, t5, s2) => s2 ? { target: e5, prop: n6, keys: t5, ease: s2 } : { target: e5, prop: n6, keys: t5 };
|
|
1936
|
+
var k5 = (e5, n6, t5 = 0) => ({ target: e5, pose: n6, at: t5 });
|
|
1937
|
+
var S5 = (e5, n6, t5 = 0) => ({ target: e5, emotion: n6, at: t5 });
|
|
1938
|
+
var D5 = (e5, n6, t5 = 0) => ({ target: e5, facing: n6, at: t5 });
|
|
1939
|
+
var ht3 = (e5, n6, t5, s2, a5) => ({ target: e5, path: n6, at: t5, duration: s2, ease: a5 });
|
|
1940
|
+
var q3 = (e5, n6, t5 = 0, s2) => s2 ? { target: e5, physics: n6, at: t5, duration: s2 } : { target: e5, physics: n6, at: t5 };
|
|
1941
|
+
var B = (e5, n6 = 0, t5 = 0.4, s2 = 1) => ({ target: "camera", fx: e5, at: n6, duration: t5, strength: s2 });
|
|
1942
|
+
var U = (e5, n6, t5) => ({ target: "camera", move: e5, at: n6, duration: t5 });
|
|
1943
|
+
var g5 = (e5, n6 = 0, t5) => t5 === void 0 ? { sfx: e5, at: n6 } : { sfx: e5, at: n6, gain: t5 };
|
|
1944
|
+
var b = (e5, n6 = 0, t5 = r6, s2 = "head", a5) => a5 ? { particles: e5, at: n6, on: t5, socket: s2, duration: a5 } : { particles: e5, at: n6, on: t5, socket: s2 };
|
|
1945
|
+
var oe3 = (e5, n6, t5, s2 = "title", a5 = 0.4) => ({ text: e5, at: n6, duration: t5, style: s2, y: a5 });
|
|
1946
|
+
function h5(e5, n6, t5, s2, a5, i5) {
|
|
1947
|
+
return { id: `beat:${e5}`, title: n6, duration: t5, needs: s2, tags: a5, tracks: i5 };
|
|
1948
|
+
}
|
|
1949
|
+
var ie4 = (e5, n6, t5, s2 = 0.03) => ({ repeat: [x5(e5, "position.x", [[0, s2], [0.04, -s2], [0.08, 0]])], times: t5, every: 0.08, at: n6 });
|
|
1950
|
+
var lt2 = [h5("talk", "\u0413\u043E\u0432\u043E\u0440\u0438\u0442", 2, [r6], ["talk"], [k5(r6, "talk")]), h5("talk-excited", "\u0412\u043E\u0441\u0442\u043E\u0440\u0436\u0435\u043D\u043D\u043E", 2, [r6], ["talk", "happy"], [k5(r6, "talk"), S5(r6, "happy"), q3(r6, { type: "bounce", height: 0.12, times: 3 }, 0, 1.2)]), h5("talk-angry", "\u0417\u043B\u0438\u0442\u0441\u044F", 2, [r6], ["talk", "angry"], [k5(r6, "talk"), S5(r6, "angry"), x5(r6, "position.x", [[0, 0], [0.3, 0.2]], "outBack"), b("anger", 0.2), B("zoom-punch", 0.25, 0.4, 0.4)]), h5("talk-sad", "\u0413\u0440\u0443\u0441\u0442\u043D\u043E", 2.5, [r6], ["talk", "sad"], [k5(r6, "talk"), S5(r6, "sad"), x5(r6, "position.y", [[0, 0], [0.6, -0.04]]), b("tears", 0.3, r6, "head", 1.5)]), h5("talk-scared", "\u0418\u0441\u043F\u0443\u0433\u0430\u043D\u043D\u043E", 2, [r6], ["talk", "scared"], [k5(r6, "talk"), S5(r6, "scared"), ie4(r6, 0, 10), b("sweat", 0.2)]), h5("whisper", "\u0428\u0435\u043F\u0447\u0435\u0442", 2, [r6], ["talk", "secret"], [k5(r6, "talk"), x5(r6, "position.x", [[0, 0], [0.4, 0.35]], "out"), x5(r6, "scale.y", [[0, 1], [0.4, 0.95]]), U("slow-push", 0, 2)]), h5("shout", "\u041A\u0440\u0438\u0447\u0438\u0442", 1.6, [r6], ["talk", "loud"], [k5(r6, "talk"), S5(r6, "angry"), x5(r6, "scale", [[0, 1], [0.12, 1.12], [0.5, 1]], "outBack"), B("zoom-punch", 0.1, 0.5, 0.8), B("shake", 0.1, 0.6, 0.7), g5("impact", 0.1, 0.5)]), h5("laugh", "\u0421\u043C\u0435\u0451\u0442\u0441\u044F", 2, [r6], ["happy", "reaction"], [k5(r6, "talk"), S5(r6, "happy"), { repeat: [x5(r6, "rotation.z", [[0, 0.06], [0.15, -0.06], [0.3, 0]])], times: 5, every: 0.3, at: 0 }, q3(r6, { type: "bounce", height: 0.06, times: 4 }, 0, 1.2)]), h5("cry", "\u041F\u043B\u0430\u0447\u0435\u0442", 2.5, [r6], ["sad", "reaction"], [S5(r6, "sad"), x5(r6, "position.y", [[0, 0], [0.5, -0.06]]), b("tears", 0, r6, "head", 2.2), g5("bubble", 0.4, 0.4)]), h5("shrug", "\u041F\u043E\u0436\u0438\u043C\u0430\u0435\u0442 \u043F\u043B\u0435\u0447\u0430\u043C\u0438", 1.4, [r6], ["reaction", "doubt"], [k5(r6, "idle"), x5(r6, "scale.y", [[0, 1], [0.2, 1.05], [0.7, 1]]), b("question", 0.1)]), h5("nod", "\u041A\u0438\u0432\u0430\u0435\u0442", 1.2, [r6], ["reaction", "yes"], [{ repeat: [x5(r6, "position.y", [[0, 0], [0.12, -0.04], [0.25, 0]])], times: 3, every: 0.3, at: 0 }]), h5("shake-head", "\u041C\u043E\u0442\u0430\u0435\u0442 \u0433\u043E\u043B\u043E\u0432\u043E\u0439", 1.2, [r6], ["reaction", "no"], [{ repeat: [x5(r6, "rotation.y", [[0, 0.25], [0.12, -0.25], [0.24, 0]])], times: 3, every: 0.26, at: 0 }]), h5("think", "\u0414\u0443\u043C\u0430\u0435\u0442", 2.5, [r6], ["reaction", "doubt"], [k5(r6, "idle"), b("question", 0.3), U("slow-push", 0, 2.5), g5("tick", 0.5, 0.4), g5("tick", 1.2, 0.4)]), h5("surprised", "\u0423\u0434\u0438\u0432\u0438\u043B\u0441\u044F", 1.4, [r6], ["reaction", "surprise"], [k5(r6, "surprised"), S5(r6, "surprised"), b("exclaim", 0.05), B("zoom-punch", 0.05, 0.4, 0.6), g5("boing", 0.05, 0.6)]), h5("scared-jump", "\u0418\u0441\u043F\u0443\u0433\u0430\u043B\u0441\u044F \u0438 \u043E\u0442\u043F\u0440\u044B\u0433\u043D\u0443\u043B", 1.2, [r6], ["reaction", "fear"], [k5(r6, "surprised"), x5(r6, "position.x", [[0, 0], [0.4, -1.5]], "outBack"), S5(r6, "scared"), B("shake", 0.1, 0.5, 0.3), g5("whoosh", 0, 0.6)]), h5("accuse", "\u041E\u0431\u0432\u0438\u043D\u044F\u0435\u0442", 1.8, [r6], ["talk", "angry"], [k5(r6, "point"), S5(r6, "angry"), x5(r6, "position.x", [[0, 0], [0.25, 0.25]], "outBack"), B("zoom-punch", 0.2, 0.4, 0.5)]), h5("point", "\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442", 1.5, [r6], ["gesture"], [k5(r6, "point")]), h5("wave", "\u041C\u0430\u0448\u0435\u0442", 2, [r6], ["gesture", "greeting"], [k5(r6, "wave"), S5(r6, "happy")]), h5("thank", "\u0411\u043B\u0430\u0433\u043E\u0434\u0430\u0440\u0438\u0442", 1.6, [r6], ["gesture", "happy"], [S5(r6, "happy"), x5(r6, "position.y", [[0, 0], [0.3, -0.08], [0.8, 0]]), b("hearts", 0.3, r6, "head", 0.8)]), h5("victory-dance", "\u041F\u043E\u0431\u0435\u0434\u043D\u044B\u0439 \u0442\u0430\u043D\u0435\u0446", 3, [r6], ["happy", "win"], [k5(r6, "dance"), S5(r6, "happy"), b("confetti", 0, r6, "head"), g5("sparkle", 0)]), h5("dance", "\u0422\u0430\u043D\u0446\u0443\u0435\u0442", 3, [r6], ["happy", "music"], [k5(r6, "dance"), S5(r6, "happy"), b("notes", 0.2, r6, "head", 2.5)]), h5("jump-joy", "\u041F\u0440\u044B\u0433\u0430\u0435\u0442 \u043E\u0442 \u0440\u0430\u0434\u043E\u0441\u0442\u0438", 1.6, [r6], ["happy"], [k5(r6, "jump"), S5(r6, "happy"), q3(r6, { type: "bounce", height: 0.5, times: 2 }, 0, 1.4), b("stars", 0.3)]), h5("win", "\u041F\u043E\u0431\u0435\u0434\u0430", 2, [r6], ["win", "quiz"], [S5(r6, "happy"), k5(r6, "jump"), b("confetti", 0.1), g5("correct", 0), B("flash", 0, 0.3, 0.5)]), h5("money-rain", "\u0414\u0435\u043D\u044C\u0433\u0438 \u0440\u0435\u043A\u043E\u0439", 2.5, [r6], ["win", "money"], [S5(r6, "happy"), b("coins", 0, r6, "head"), b("coins", 0.6, r6, "head"), g5("cash", 0), g5("cash", 0.6)]), h5("love", "\u0412\u043B\u044E\u0431\u0438\u043B\u0441\u044F", 2.5, [r6], ["love", "happy"], [S5(r6, "happy"), q3(r6, { type: "bounce", height: 0.1, times: 3 }, 0, 1.5), b("hearts", 0, r6, "head", 2.2), g5("sparkle", 0, 0.5)]), h5("punchline", "\u041F\u0430\u043D\u0447\u043B\u0430\u0439\u043D", 1.6, [r6], ["comedy"], [S5(r6, "happy"), B("zoom-punch", 0, 0.5, 0.7), g5("rimshot", 0.05)]), h5("fail", "\u041F\u0440\u043E\u0432\u0430\u043B", 1.8, [r6], ["fail", "quiz"], [S5(r6, "sad"), B("shake", 0, 0.5, 0.5), g5("buzzer", 0)]), h5("fall-down", "\u0423\u043F\u0430\u043B", 1.6, [r6], ["fail", "slapstick"], [k5(r6, "fall"), S5(r6, "hurt"), b("dust", 0.6, r6, "feet"), g5("thud", 0.6), B("shake", 0.6, 0.4, 0.6)]), h5("slip", "\u041F\u043E\u0441\u043A\u043E\u043B\u044C\u0437\u043D\u0443\u043B\u0441\u044F", 1.8, [r6], ["slapstick"], [x5(r6, "rotation.z", [[0, 0], [0.25, -0.5], [0.5, 0]], "out"), q3(r6, { type: "push", dx: 0.6, dy: 0, decay: 4 }, 0), k5(r6, "fall", 0.3), g5("slide-whistle", 0), g5("thud", 0.9)]), h5("faint", "\u0423\u043F\u0430\u043B \u0432 \u043E\u0431\u043C\u043E\u0440\u043E\u043A", 2, [r6], ["reaction", "slapstick"], [S5(r6, "tired"), x5(r6, "rotation.z", [[0, 0], [0.4, 0.15]]), k5(r6, "fall", 0.4), b("stars", 1, r6, "head"), g5("slide-whistle", 0.2)]), h5("hit", "\u041F\u043E\u043B\u0443\u0447\u0438\u043B \u0443\u0434\u0430\u0440", 1.2, [r6], ["fight", "reaction"], [S5(r6, "hurt"), q3(r6, { type: "push", dx: -0.7, dy: 0, decay: 6 }, 0), B("flash", 0, 0.15, 0.6), B("shake", 0, 0.4, 0.8), g5("impact", 0), b("stars", 0.1)]), h5("angry-steam", "\u041A\u0438\u043F\u0438\u0442", 2.2, [r6], ["angry"], [S5(r6, "angry"), ie4(r6, 0, 14, 0.02), b("smoke", 0, r6, "head", 2), b("anger", 0.3), g5("riser", 0, 0.5)]), h5("explode", "\u0412\u0437\u0440\u044B\u0432", 2, [r6], ["fx", "slapstick"], [B("flash", 0, 0.25, 1), B("shake", 0, 0.8, 1.2), b("sparks", 0, r6, "feet"), b("smoke", 0.05, r6, "feet", 1.2), g5("impact", 0), k5(r6, "fall", 0.1), S5(r6, "hurt", 0.1)]), h5("rain-mood", "\u0413\u0440\u0443\u0441\u0442\u043D\u044B\u0439 \u0434\u043E\u0436\u0434\u044C", 3, [r6], ["sad", "weather"], [S5(r6, "sad"), b("rain", 0, r6, "head", 3)]), h5("snow-mood", "\u0421\u043D\u0435\u0433", 3, [r6], ["weather", "calm"], [b("snow", 0, r6, "head", 3)]), h5("sleep", "\u0423\u0441\u043D\u0443\u043B", 2.5, [r6], ["tired"], [S5(r6, "tired"), k5(r6, "sit"), b("zzz", 0.4, r6, "head", 2)]), h5("sit-down", "\u0421\u0435\u043B", 1.2, [r6], ["pose"], [k5(r6, "sit")]), h5("stand-up", "\u0412\u0441\u0442\u0430\u043B", 1, [r6], ["pose"], [k5(r6, "idle")]), h5("idle", "\u0421\u0442\u043E\u0438\u0442", 1, [r6], ["pose"], [k5(r6, "idle")]), h5("enter", "\u0412\u043E\u0448\u0451\u043B", 1.6, [r6], ["enter"], [k5(r6, "walk"), x5(r6, "position.x", [[0, -4], [1.4, 0]], "linear"), k5(r6, "idle", 1.4)]), h5("enter-run", "\u0412\u0431\u0435\u0436\u0430\u043B", 1, [r6], ["enter"], [k5(r6, "run"), x5(r6, "position.x", [[0, -6], [0.8, 0]], "out"), k5(r6, "idle", 0.8), b("dust", 0.75, r6, "feet"), g5("swoosh", 0)]), h5("exit", "\u0423\u0448\u0451\u043B", 1.8, [r6], ["exit"], [D5(r6, "flip"), k5(r6, "walk", 0.1), x5(r6, "position.x", [[0.1, 0], [1.7, -4.5]], "linear")]), h5("exit-run", "\u0423\u0431\u0435\u0436\u0430\u043B", 1.1, [r6], ["exit", "fear"], [D5(r6, "flip"), k5(r6, "run", 0.05), x5(r6, "position.x", [[0.05, 0], [1, -7]], "in"), g5("whoosh", 0.05)]), h5("sneak", "\u041A\u0440\u0430\u0434\u0451\u0442\u0441\u044F", 2.4, [r6], ["move", "secret"], [k5(r6, "walk"), x5(r6, "scale.y", [[0, 1], [0.3, 0.88], [2.1, 0.88], [2.4, 1]]), x5(r6, "position.x", [[0, -2], [2.4, 0]], "linear")]), h5("look-around", "\u041E\u0433\u043B\u044F\u0434\u044B\u0432\u0430\u0435\u0442\u0441\u044F", 2, [r6], ["reaction", "doubt"], [D5(r6, "flip", 0.3), D5(r6, "flip", 1), b("question", 1.2)]), h5("turn-away", "\u041E\u0442\u0432\u0435\u0440\u043D\u0443\u043B\u0441\u044F", 0.8, [r6], ["reaction"], [D5(r6, "away")]), h5("turn-back", "\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u043B\u0441\u044F", 0.8, [r6], ["reaction"], [D5(r6, "toward")]), h5("fly-arc", "\u041F\u043E\u043B\u0451\u0442 \u043F\u043E \u0434\u0443\u0433\u0435", 2, [r6], ["fly", "fx"], [ht3(r6, { type: "arc", to: [3, 0], height: 2 }, 0, 1.8, "inOut"), b("trail", 0, r6, "feet", 1.8), g5("whoosh", 0)]), h5("fly-up", "\u0412\u0437\u043B\u0435\u0442\u0435\u043B", 1.6, [r6], ["fly"], [x5(r6, "position.y", [[0, 0], [1.4, 3]], "in"), b("trail", 0, r6, "feet", 1.4), g5("whoosh", 0)]), h5("land", "\u041F\u0440\u0438\u0437\u0435\u043C\u043B\u0438\u043B\u0441\u044F", 1.2, [r6], ["fly"], [q3(r6, { type: "fall", height: 2.5, bounce: 0.3 }, 0, 1.1), b("dust", 0.6, r6, "feet"), g5("thud", 0.55)]), h5("spin", "\u041A\u0440\u0443\u0436\u0438\u0442\u0441\u044F", 1.4, [r6], ["happy", "fx"], [x5(r6, "rotation.y", [[0, 0], [1.2, Math.PI * 2]], "inOut"), b("magic", 0.6), g5("sparkle", 0.4, 0.5)]), h5("grow", "\u0412\u044B\u0440\u043E\u0441", 1.4, [r6], ["fx", "magic"], [x5(r6, "scale", [[0, 1], [0.8, 1.6]], "outElastic"), g5("boing", 0), b("magic", 0.1)]), h5("shrink", "\u0423\u043C\u0435\u043D\u044C\u0448\u0438\u043B\u0441\u044F", 1.4, [r6], ["fx", "magic"], [x5(r6, "scale", [[0, 1], [0.8, 0.5]], "outBack"), g5("slide-whistle", 0)]), h5("vanish", "\u0418\u0441\u0447\u0435\u0437", 1.2, [r6], ["fx", "magic", "exit"], [x5(r6, "opacity", [[0, 1], [0.6, 0]]), x5(r6, "scale", [[0, 1], [0.6, 0.6]], "in"), b("magic", 0.2), g5("sparkle", 0)]), h5("appear", "\u041F\u043E\u044F\u0432\u0438\u043B\u0441\u044F", 1.2, [r6], ["fx", "magic", "enter"], [x5(r6, "opacity", [[0, 0], [0.4, 1]]), x5(r6, "scale", [[0, 0.6], [0.6, 1]], "outBack"), b("magic", 0), g5("pop", 0.05)]), h5("teleport", "\u0422\u0435\u043B\u0435\u043F\u043E\u0440\u0442", 2, [r6], ["fx", "magic", "move"], [x5(r6, "opacity", [[0, 1], [0.4, 0], [1.2, 0], [1.6, 1]]), x5(r6, "position.x", [[0.5, 0], [0.55, 1.2]], "step"), b("magic", 0.2), b("magic", 1.2), g5("sparkle", 0.1), g5("pop", 1.3)]), h5("shiver", "\u0414\u0440\u043E\u0436\u0438\u0442", 1.6, [r6], ["fear", "cold"], [S5(r6, "scared"), ie4(r6, 0, 16)]), h5("argue", "\u0421\u043F\u043E\u0440\u044F\u0442", 3, [r6, $5], ["talk", "angry", "duo"], [k5(r6, "talk"), S5(r6, "angry"), k5($5, "talk", 1.5), S5($5, "angry", 1.5), x5(r6, "position.x", [[0, 0], [0.3, 0.2]], "outBack"), x5($5, "position.x", [[1.5, 0], [1.8, 0.2]], "outBack"), b("anger", 0.3), b("anger", 1.8, $5), B("shake", 1.5, 0.4, 0.3)]), h5("punch", "\u0411\u044C\u0451\u0442", 1.4, [r6, $5], ["fight", "duo", "slapstick"], [x5(r6, "position.x", [[0, 0], [0.18, 0.7], [0.5, 0]], "out"), S5(r6, "angry"), q3($5, { type: "push", dx: -0.9, dy: 0, decay: 5 }, 0.18), S5($5, "hurt", 0.18), b("stars", 0.25, $5), B("flash", 0.18, 0.15, 0.6), B("shake", 0.18, 0.4, 0.9), g5("impact", 0.18)]), h5("hug", "\u041E\u0431\u043D\u0438\u043C\u0430\u044E\u0442\u0441\u044F", 2.4, [r6, $5], ["love", "duo"], [x5(r6, "position.x", [[0, 0], [0.6, 0.55]], "out"), x5($5, "position.x", [[0, 0], [0.6, 0.55]], "out"), S5(r6, "happy"), S5($5, "happy"), b("hearts", 0.5, r6, "head", 1.5), g5("sparkle", 0.6, 0.5)]), h5("high-five", "\u0414\u0430\u0439 \u043F\u044F\u0442\u044C", 1.4, [r6, $5], ["happy", "duo"], [x5(r6, "position.x", [[0, 0], [0.3, 0.5], [0.8, 0]], "out"), x5($5, "position.x", [[0, 0], [0.3, 0.5], [0.8, 0]], "out"), k5(r6, "wave"), k5($5, "wave"), g5("click", 0.3), b("sparks", 0.3, r6, "handR")]), h5("chase", "\u0414\u043E\u0433\u043E\u043D\u044F\u0435\u0442", 2.5, [r6, $5], ["move", "duo", "comedy"], [k5(r6, "run"), k5($5, "run"), D5($5, "away"), x5($5, "position.x", [[0, 0], [2.4, -5]], "linear"), x5(r6, "position.x", [[0.3, 0], [2.4, 2.5]], "linear"), S5($5, "scared"), S5(r6, "angry"), g5("whoosh", 0.2)]), h5("stare", "\u041F\u0435\u0440\u0435\u0433\u043B\u044F\u0434\u044B\u0432\u0430\u044E\u0442\u0441\u044F", 2.5, [r6, $5], ["duo", "drama"], [k5(r6, "idle"), k5($5, "idle"), U("slow-push", 0, 2.5), g5("tick", 0.6, 0.5), g5("tick", 1.4, 0.5)]), h5("whisper-to", "\u0428\u0435\u043F\u0447\u0435\u0442 \u043D\u0430 \u0443\u0445\u043E", 2.4, [r6, $5], ["duo", "secret"], [x5(r6, "position.x", [[0, 0], [0.5, 0.6]], "out"), k5(r6, "talk", 0.5), S5($5, "surprised", 1.6), b("exclaim", 1.6, $5)]), h5("dramatic-zoom", "\u0414\u0440\u0430\u043C\u0430\u0442\u0438\u0447\u043D\u044B\u0439 \u043D\u0430\u0435\u0437\u0434", 1.8, [r6], ["drama", "camera"], [U("push-in", 0, 1.6), B("vignette", 0, 1.8, 0.8), g5("riser", 0, 0.6)]), h5("reveal", "\u0420\u0430\u0441\u043A\u0440\u044B\u0442\u0438\u0435", 1.6, [r6], ["drama", "surprise"], [B("flash", 0, 0.3, 0.9), B("zoom-punch", 0, 0.5, 0.8), b("sparks", 0), b("exclaim", 0.1), g5("sparkle", 0)]), h5("freeze", "\u0417\u0430\u043C\u0435\u0440", 2, [r6], ["drama", "camera"], [B("slowmo", 0, 2, 1), B("vignette", 0, 2, 0.6), g5("tick", 0.3)]), h5("countdown", "\u041E\u0431\u0440\u0430\u0442\u043D\u044B\u0439 \u043E\u0442\u0441\u0447\u0451\u0442", 3, [r6], ["quiz", "text"], [oe3("3", 0, 0.9, "countdown", 0.35), oe3("2", 1, 0.9, "countdown", 0.35), oe3("1", 2, 0.9, "countdown", 0.35), g5("tick", 0), g5("tick", 1), g5("tick", 2)]), h5("title-card", "\u0417\u0430\u0441\u0442\u0430\u0432\u043A\u0430", 1.8, [r6], ["hook", "text"], [B("flash", 0, 0.25, 0.6), g5("whoosh", 0), U("slow-push", 0, 1.8)]), h5("drumroll", "\u0411\u0430\u0440\u0430\u0431\u0430\u043D\u043D\u0430\u044F \u0434\u0440\u043E\u0431\u044C", 2, [r6], ["quiz", "drama"], [g5("drumroll", 0), U("push-in", 0, 2), B("vignette", 0, 2, 0.5)]), h5("whip-cut", "\u0412\u0436\u0443\u0445-\u043F\u0435\u0440\u0435\u0445\u043E\u0434", 0.6, [r6], ["camera", "transition"], [B("whip", 0, 0.5, 1), g5("whoosh", 0, 0.6)])];
|
|
1951
|
+
var ft3 = new Map(lt2.map((e5) => [e5.id, e5]));
|
|
1952
|
+
function re2(e5, n6, t5, s2, a5, i5 = 0) {
|
|
1953
|
+
let p5 = (m5, l) => (l ? m5 === "actor" ? "actor2" : "actor" : m5) === "actor" ? s2.actor : s2.actor2, o6 = 0, d5 = (m5, l, w5, E5) => {
|
|
1954
|
+
if (!(E5 > 6)) for (let u5 of m5) if (o6++, "prop" in u5) {
|
|
1955
|
+
let f = p5(u5.target, w5);
|
|
1956
|
+
if (f === void 0) continue;
|
|
1957
|
+
e5.props.push({ actor: f, prop: u5.prop, keys: u5.keys.map(([A5, c]) => [A5 + l, c]), ease: u5.ease ?? "inOut" });
|
|
1958
|
+
} else if ("pose" in u5) {
|
|
1959
|
+
let f = p5(u5.target, w5);
|
|
1960
|
+
f !== void 0 && e5.poses.push({ actor: f, t: u5.at + l, pose: u5.pose });
|
|
1961
|
+
} else if ("emotion" in u5) {
|
|
1962
|
+
let f = p5(u5.target, w5);
|
|
1963
|
+
f !== void 0 && e5.emotions.push({ actor: f, t: u5.at + l, emotion: u5.emotion });
|
|
1964
|
+
} else if ("facing" in u5) {
|
|
1965
|
+
let f = p5(u5.target, w5);
|
|
1966
|
+
f !== void 0 && e5.facings.push({ actor: f, t: u5.at + l, facing: u5.facing });
|
|
1967
|
+
} else if ("path" in u5) {
|
|
1968
|
+
let f = p5(u5.target, w5);
|
|
1969
|
+
f !== void 0 && e5.paths.push({ actor: f, t: u5.at + l, duration: u5.duration, path: u5.path, ease: u5.ease ?? "inOut" });
|
|
1970
|
+
} else if ("physics" in u5) {
|
|
1971
|
+
let f = p5(u5.target, w5);
|
|
1972
|
+
f !== void 0 && e5.physics.push({ actor: f, t: u5.at + l, duration: u5.duration ?? n6.duration - u5.at, physics: u5.physics });
|
|
1973
|
+
} else if ("fx" in u5) e5.fx.push({ t: u5.at + l, duration: u5.duration ?? 0.4, fx: u5.fx, strength: u5.strength ?? 1 });
|
|
1974
|
+
else if ("shot" in u5) e5.cuts.push({ t: u5.at + l, shot: u5.shot });
|
|
1975
|
+
else if ("move" in u5) e5.moves.push({ t: u5.at + l, duration: u5.duration, move: u5.move });
|
|
1976
|
+
else if ("particles" in u5) {
|
|
1977
|
+
let f = u5.on ? p5(u5.on, w5) : s2.actor;
|
|
1978
|
+
e5.particles.push({ t: u5.at + l, duration: u5.duration ?? 0.6, preset: u5.particles, actor: f ?? null, socket: u5.socket ?? "head", seed: i5 + o6 * 31 + Math.round((u5.at + l) * 1e3) });
|
|
1979
|
+
} else if ("sfx" in u5) e5.sfx.push({ t: u5.at + l, id: u5.sfx, gain: u5.gain ?? 1, seed: i5 + o6 });
|
|
1980
|
+
else if ("text" in u5) e5.texts.push({ t: u5.at + l, duration: u5.duration, text: u5.text, style: u5.style ?? "title", y: u5.y ?? 0.4 });
|
|
1981
|
+
else if ("beat" in u5) {
|
|
1982
|
+
let f = a5(u5.beat);
|
|
1983
|
+
f && d5(f.tracks, l + u5.at, u5.swap ? !w5 : w5, E5 + 1);
|
|
1984
|
+
} else if ("repeat" in u5) for (let f = 0; f < u5.times; f++) d5(u5.repeat, l + u5.at + f * u5.every, w5, E5 + 1);
|
|
1985
|
+
else "group" in u5 && d5(u5.group, l + u5.at, w5, E5 + 1);
|
|
1986
|
+
};
|
|
1987
|
+
return d5(n6.tracks, t5, false, 0), t5 + n6.duration;
|
|
1988
|
+
}
|
|
1989
|
+
function yt(e5) {
|
|
1990
|
+
let n6 = (e5.match(/[\p{L}\p{N}]/gu) ?? []).length, t5 = (e5.match(/[.!?…]/g) ?? []).length, s2 = (e5.match(/[,;:—–]/g) ?? []).length;
|
|
1991
|
+
return Math.max(0.8, n6 / 13 + t5 * 0.25 + s2 * 0.12);
|
|
1992
|
+
}
|
|
1993
|
+
function bt2(e5, n6) {
|
|
1994
|
+
let t5 = e5.assets.voice?.[String(n6)];
|
|
1995
|
+
return t5?.duration && t5.duration > 0 ? t5.duration : yt(e5.lines[n6]?.text ?? "");
|
|
1996
|
+
}
|
|
1997
|
+
function I5(e5, n6, t5, s2) {
|
|
1998
|
+
let a$1 = e5.spec.lines[n6];
|
|
1999
|
+
if (!a$1) return s2;
|
|
2000
|
+
let i5 = bt2(e5.spec, n6), p5 = e5.spec.assets.voice?.[String(n6)], o6 = j(a$1.text, i5, p5?.words);
|
|
2001
|
+
e5.tl.speech.push({ actor: t5, line: n6, start: s2, end: s2 + i5, layout: o6, ...p5?.url ? { voiceUrl: p5.url } : {} });
|
|
2002
|
+
let d5 = H[e5.spec.captions];
|
|
2003
|
+
return d5 && e5.tl.captions.push(...ae(o6.words, s2, t5, d5)), a$1.emotion && t5 >= 0 && e5.tl.emotions.push({ actor: t5, t: s2, emotion: a$1.emotion }), s2 + i5;
|
|
2004
|
+
}
|
|
2005
|
+
function v5(e5, n6, t5, s2, a5) {
|
|
2006
|
+
if (!n6) return t5;
|
|
2007
|
+
let i5 = e5.lookup(n6);
|
|
2008
|
+
return !i5 || i5.needs.includes("actor2") && a5 === void 0 ? t5 : re2(e5.tl, i5, t5, a5 === void 0 ? { actor: s2 } : { actor: s2, actor2: a5 }, e5.lookup, e5.spec.seed);
|
|
2009
|
+
}
|
|
2010
|
+
var H5 = (e5, n6) => n6 in e5.shots;
|
|
2011
|
+
function F(e5, n6, t5) {
|
|
2012
|
+
let s2 = e5.tl.actors[n6];
|
|
2013
|
+
if (!s2) return R5(e5);
|
|
2014
|
+
let a5 = `close-${s2.anchorName}`;
|
|
2015
|
+
return t5 === "close" && H5(e5.set, a5) ? a5 : H5(e5.set, s2.anchorName) ? s2.anchorName : H5(e5.set, a5) ? a5 : R5(e5);
|
|
2016
|
+
}
|
|
2017
|
+
function R5(e5) {
|
|
2018
|
+
return H5(e5.set, "wide") ? "wide" : H5(e5.set, "two-shot") ? "two-shot" : Object.keys(e5.set.shots)[0] ?? "wide";
|
|
2019
|
+
}
|
|
2020
|
+
function G(e5) {
|
|
2021
|
+
return H5(e5.set, "two-shot") ? "two-shot" : R5(e5);
|
|
2022
|
+
}
|
|
2023
|
+
function K3(e5) {
|
|
2024
|
+
switch (e5) {
|
|
2025
|
+
case "happy":
|
|
2026
|
+
return "beat:talk-excited";
|
|
2027
|
+
case "angry":
|
|
2028
|
+
return "beat:talk-angry";
|
|
2029
|
+
case "sad":
|
|
2030
|
+
case "tired":
|
|
2031
|
+
return "beat:talk-sad";
|
|
2032
|
+
case "scared":
|
|
2033
|
+
case "surprised":
|
|
2034
|
+
return "beat:talk-scared";
|
|
2035
|
+
default:
|
|
2036
|
+
return "beat:talk";
|
|
2037
|
+
}
|
|
2038
|
+
}
|
|
2039
|
+
var Re2 = ["beat:nod", "beat:shrug", "beat:think", "beat:surprised", "beat:shake-head", "beat:laugh"];
|
|
2040
|
+
function J3(e5, n6) {
|
|
2041
|
+
return n6[Math.floor(e5() * n6.length) % n6.length];
|
|
2042
|
+
}
|
|
2043
|
+
function N5(e5, n6, t5, s2 = 1.6) {
|
|
2044
|
+
return n6.trim() ? (e5.tl.texts.push({ t: t5, duration: s2, text: n6, style: "title", y: 0.3 }), v5(e5, "beat:title-card", t5, 0), t5 + s2 * 0.85) : t5;
|
|
2045
|
+
}
|
|
2046
|
+
function _5(e5, n6) {
|
|
2047
|
+
let t5 = e5.spec.cta;
|
|
2048
|
+
if (!t5 || t5.type === "none") return n6;
|
|
2049
|
+
let s2 = t5.text?.trim() || "\u25B6";
|
|
2050
|
+
return e5.tl.cta = { text: s2, ...t5.url ? { url: t5.url } : {}, ...t5.code ? { code: t5.code } : {} }, e5.tl.texts.push({ t: n6, duration: 2.2, text: s2, style: "cta", y: 0.72 }), e5.tl.sfx.push({ t: n6, id: "sparkle", gain: 0.6, seed: e5.spec.seed }), e5.tl.fx.push({ t: n6, duration: 0.3, fx: "flash", strength: 0.4 }), n6 + 2.2;
|
|
2051
|
+
}
|
|
2052
|
+
var Me = { id: "dialogue@1", title: "\u0414\u0438\u0430\u043B\u043E\u0433 \u0434\u0432\u043E\u0438\u0445", description: "\u0414\u0432\u0430 \u043F\u0435\u0440\u0441\u043E\u043D\u0430\u0436\u0430 \u0441\u043F\u043E\u0440\u044F\u0442, \u0448\u0443\u0442\u044F\u0442 \u0438\u043B\u0438 \u0432\u044B\u044F\u0441\u043D\u044F\u044E\u0442 \u043E\u0442\u043D\u043E\u0448\u0435\u043D\u0438\u044F; \u043F\u0430\u043D\u0447\u043B\u0430\u0439\u043D \u0432 \u043A\u043E\u043D\u0446\u0435.", minCast: 2, maxCast: 2, narrator: false, params: { type: "object", properties: { punchline: { type: "boolean", description: "the last line is a punchline (rimshot + reaction)" }, enter: { type: "boolean", description: "the characters walk in at the start" } } }, directorHint: "4\u201310 short lines (\u2264 90 chars), alternating who = 0 and who = 1. The first line is the hook \u2014 it must grab attention in 2 seconds. The last line is the punchline. Give each line an emotion and, when it fits, a beat (accuse, shout, whisper, laugh, scared-jump\u2026) and a listener react.", build(e5) {
|
|
2053
|
+
let { spec: n6, tl: t5 } = e5, s2 = n6.params?.enter === true, a5 = 0;
|
|
2054
|
+
if (t5.cuts.push({ t: 0, shot: R5(e5) }), s2 ? (v5(e5, "beat:enter", 0, 0), v5(e5, "beat:enter-run", 0.3, 1), a5 = 1.6) : (v5(e5, "beat:idle", 0, 0), v5(e5, "beat:idle", 0, 1)), n6.title && (a5 = N5(e5, n6.title, a5)), n6.lines.forEach((i5, p5) => {
|
|
2055
|
+
let o6 = Math.max(0, Math.min(1, i5.who)), d5 = o6 === 0 ? 1 : 0, m5 = p5 === 0 ? F(e5, o6, "close") : p5 % 3 === 2 ? G(e5) : F(e5, o6, p5 % 2 ? "medium" : "close");
|
|
2056
|
+
t5.cuts.push({ t: a5, shot: m5 }), p5 === 0 && t5.fx.push({ t: a5, duration: 0.45, fx: "zoom-punch", strength: 0.6 });
|
|
2057
|
+
let l = i5.beat ?? K3(i5.emotion), w5 = v5(e5, l, a5, o6, d5), E5 = I5(e5, p5, o6, a5 + 0.05), u5 = E5 - a5, f = i5.react ?? (p5 % 2 === 1 ? J3(e5.rng, Re2) : void 0);
|
|
2058
|
+
f && v5(e5, f, a5 + u5 * 0.55, d5, o6), a5 = Math.max(E5, a5 + Math.min(w5 - a5, u5 + 0.6)) + 0.2 + (i5.pause ?? 0);
|
|
2059
|
+
}), n6.params?.punchline !== false && n6.lines.length > 0) {
|
|
2060
|
+
let i5 = n6.lines[n6.lines.length - 1], p5 = Math.max(0, Math.min(1, i5.who));
|
|
2061
|
+
t5.cuts.push({ t: a5, shot: G(e5) }), v5(e5, "beat:punchline", a5, p5), v5(e5, J3(e5.rng, ["beat:laugh", "beat:faint", "beat:fall-down", "beat:surprised"]), a5 + 0.1, p5 === 0 ? 1 : 0), a5 += 1.6;
|
|
2062
|
+
}
|
|
2063
|
+
_5(e5, a5);
|
|
2064
|
+
} };
|
|
2065
|
+
var Fe = ["A", "B", "C", "D"];
|
|
2066
|
+
var Ie = { id: "quiz@1", title: "\u041A\u0432\u0438\u0437", description: "\u0412\u043E\u043F\u0440\u043E\u0441\u044B \u0441 \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u0430\u043C\u0438, \u043E\u0442\u0441\u0447\u0451\u0442 \u0438 \u043E\u0442\u0432\u0435\u0442; \u0433\u0435\u0440\u043E\u0439 \u0443\u0433\u0430\u0434\u044B\u0432\u0430\u0435\u0442 \u0432\u043C\u0435\u0441\u0442\u0435 \u0441\u043E \u0437\u0440\u0438\u0442\u0435\u043B\u0435\u043C.", minCast: 1, maxCast: 2, narrator: true, params: { type: "object", properties: { questions: { type: "array", description: "1\u20135 questions", items: { type: "object", properties: { q: { type: "string", maxLength: 90 }, options: { type: "array", items: { type: "string", maxLength: 28 } }, answer: { type: "integer", minimum: 0, maximum: 3 }, hostRight: { type: "boolean" } }, required: ["q", "options", "answer"] } } }, required: ["questions"] }, directorHint: "params.questions \u2014 1..5 questions with 2\u20134 short options and the answer index. lines[i] reads question i (who = -1 or the host 0). Optional extra lines after them for the outro.", build(e5) {
|
|
2067
|
+
let { spec: n6, tl: t5 } = e5, s2 = Array.isArray(n6.params?.questions) ? n6.params.questions : [], a5 = 0, i5 = 0;
|
|
2068
|
+
t5.cuts.push({ t: 0, shot: R5(e5) });
|
|
2069
|
+
for (let p5 of t5.actors) v5(e5, "beat:idle", 0, p5.index);
|
|
2070
|
+
i5 = N5(e5, n6.title || "\u041A\u0412\u0418\u0417", i5), s2.forEach((p5, o6) => {
|
|
2071
|
+
let d5 = Array.isArray(p5.options) ? p5.options.filter((y5) => typeof y5 == "string").slice(0, 4) : [], m5 = typeof p5.answer == "number" ? p5.answer : 0;
|
|
2072
|
+
t5.cuts.push({ t: i5, shot: F(e5, a5, "medium") }), t5.texts.push({ t: i5, duration: 0.9, text: `${o6 + 1}/${s2.length}`, style: "rank", y: 0.14 });
|
|
2073
|
+
let l = n6.lines[o6], w5 = typeof p5.q == "string" ? p5.q : l?.text ?? "", E5 = l ? I5(e5, o6, l.who >= 0 ? Math.min(l.who, t5.actors.length - 1) : -1, i5 + 0.2) : i5 + 2, u5 = E5 - i5 + 3.6;
|
|
2074
|
+
t5.texts.push({ t: i5 + 0.1, duration: u5, text: w5, style: "question", y: 0.2 }), d5.forEach((y5, P5) => t5.texts.push({ t: i5 + 0.4 + P5 * 0.15, duration: u5 - 0.4 - P5 * 0.15, text: `${Fe[P5]} ${y5}`, style: "option", y: 0.36 + P5 * 0.08 })), v5(e5, "beat:think", i5 + 0.4, a5);
|
|
2075
|
+
let f = E5 + 0.2;
|
|
2076
|
+
v5(e5, "beat:countdown", f, a5);
|
|
2077
|
+
let A5 = f + 3, c = d5[m5];
|
|
2078
|
+
c && t5.texts.push({ t: A5, duration: 1.8, text: `${Fe[m5]} ${c}`, style: "correct", y: 0.36 + m5 * 0.08 }), t5.cuts.push({ t: A5, shot: F(e5, a5, "close") }), v5(e5, p5.hostRight === false ? "beat:fail" : "beat:win", A5, a5), i5 = A5 + 2.1;
|
|
2079
|
+
});
|
|
2080
|
+
for (let p5 = s2.length; p5 < n6.lines.length; p5++) {
|
|
2081
|
+
let o6 = n6.lines[p5];
|
|
2082
|
+
t5.cuts.push({ t: i5, shot: R5(e5) }), i5 = I5(e5, p5, o6.who >= 0 ? Math.min(o6.who, t5.actors.length - 1) : -1, i5) + 0.3;
|
|
2083
|
+
}
|
|
2084
|
+
_5(e5, i5);
|
|
2085
|
+
} };
|
|
2086
|
+
var Le = { id: "story@1", title: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0441 \u0440\u0430\u0441\u0441\u043A\u0430\u0437\u0447\u0438\u043A\u043E\u043C", description: "\u0420\u0430\u0441\u0441\u043A\u0430\u0437\u0447\u0438\u043A \u0432\u0435\u0434\u0451\u0442 \u0441\u044E\u0436\u0435\u0442, \u0433\u0435\u0440\u043E\u0438 \u0440\u0430\u0437\u044B\u0433\u0440\u044B\u0432\u0430\u044E\u0442 \u0435\u0433\u043E; \u043F\u043E\u0434\u0445\u043E\u0434\u0438\u0442 \u0434\u043B\u044F \u0441\u043A\u0430\u0437\u043E\u043A, \u043B\u0430\u0439\u0444\u0445\u0430\u043A\u043E\u0432 \u0438 \xAB\u043A\u0430\u043A \u044D\u0442\u043E \u0431\u044B\u043B\u043E\xBB.", minCast: 1, maxCast: 4, narrator: true, params: { type: "object", properties: { focus: { type: "array", items: { type: "integer", minimum: 0, maximum: 3 } } } }, directorHint: "5\u201312 lines. Narrator lines have who = -1 and carry the plot; a hero speaks with who = its index. Give every narrator line a beat \u2014 what the focused hero does while it is told (enter, fly-arc, fall-down, surprised, sneak\u2026); params.focus[i] says which hero acts for line i.", build(e5) {
|
|
2087
|
+
let { spec: n6, tl: t5 } = e5, s2 = Array.isArray(n6.params?.focus) ? n6.params.focus : [], a5 = 0;
|
|
2088
|
+
t5.cuts.push({ t: 0, shot: R5(e5) });
|
|
2089
|
+
for (let o6 of t5.actors) v5(e5, "beat:idle", 0, o6.index);
|
|
2090
|
+
n6.title && (a5 = N5(e5, n6.title, a5));
|
|
2091
|
+
let i5 = t5.actors.length, p5 = (o6) => i5 > 1 ? (o6 + 1) % i5 : void 0;
|
|
2092
|
+
n6.lines.forEach((o6, d5) => {
|
|
2093
|
+
if (o6.who < 0) {
|
|
2094
|
+
let m5 = typeof s2[d5] == "number" ? Math.max(0, Math.min(i5 - 1, s2[d5])) : d5 % i5, l = d5 % 3 === 0 ? R5(e5) : F(e5, m5, "medium");
|
|
2095
|
+
t5.cuts.push({ t: a5, shot: l }), t5.moves.push({ t: a5, duration: 3, move: d5 === n6.lines.length - 1 ? "push-in" : "slow-push" });
|
|
2096
|
+
let w5 = v5(e5, o6.beat ?? "beat:idle", a5 + 0.1, m5, p5(m5));
|
|
2097
|
+
o6.emotion && t5.emotions.push({ actor: m5, t: a5, emotion: o6.emotion });
|
|
2098
|
+
let E5 = I5(e5, d5, -1, a5 + 0.05);
|
|
2099
|
+
a5 = Math.max(E5, w5 - 0.4) + 0.25 + (o6.pause ?? 0);
|
|
2100
|
+
} else {
|
|
2101
|
+
let m5 = Math.max(0, Math.min(i5 - 1, o6.who));
|
|
2102
|
+
t5.cuts.push({ t: a5, shot: F(e5, m5, "close") });
|
|
2103
|
+
let l = v5(e5, o6.beat ?? K3(o6.emotion), a5, m5, p5(m5)), w5 = I5(e5, d5, m5, a5 + 0.05);
|
|
2104
|
+
o6.react && p5(m5) !== void 0 && v5(e5, o6.react, a5 + (w5 - a5) * 0.6, p5(m5), m5), a5 = Math.max(w5, Math.min(l, w5 + 0.6)) + 0.2 + (o6.pause ?? 0);
|
|
2105
|
+
}
|
|
2106
|
+
}), t5.cuts.push({ t: a5, shot: R5(e5) }), _5(e5, a5 + 0.2);
|
|
2107
|
+
} };
|
|
2108
|
+
var kt = ["beat:surprised", "beat:laugh", "beat:think", "beat:jump-joy", "beat:shrug", "beat:love", "beat:scared-jump"];
|
|
2109
|
+
var Ve2 = { id: "top5@1", title: "\u0422\u043E\u043F-5", description: "\u0420\u0435\u0439\u0442\u0438\u043D\u0433 \u043E\u0442 \u043F\u044F\u0442\u043E\u0433\u043E \u043A \u043F\u0435\u0440\u0432\u043E\u043C\u0443: \u043A\u0430\u0436\u0434\u044B\u0439 \u043F\u0443\u043D\u043A\u0442 \u2014 \u043D\u043E\u043C\u0435\u0440, \u0444\u0440\u0430\u0437\u0430 \u0438 \u0440\u0435\u0430\u043A\u0446\u0438\u044F \u0433\u0435\u0440\u043E\u044F.", minCast: 1, maxCast: 2, narrator: true, params: { type: "object", properties: { items: { type: "array", description: "the items from the LAST place to the FIRST (3\u201310)", items: { type: "object", properties: { title: { type: "string", maxLength: 40 }, react: { type: "string" } }, required: ["title"] } } }, required: ["items"] }, directorHint: "params.items \u2014 3..10 places from the last to the first, each with a short title. lines[i] reads item i (who = -1 narrator, or 0 \u2014 the host hero); add one more line at the end for the outro if you want.", build(e5) {
|
|
2110
|
+
let { spec: n6, tl: t5 } = e5, s2 = Array.isArray(n6.params?.items) ? n6.params.items : [], a5 = 0, i5 = 0;
|
|
2111
|
+
t5.cuts.push({ t: 0, shot: R5(e5) });
|
|
2112
|
+
for (let o6 of t5.actors) v5(e5, "beat:idle", 0, o6.index);
|
|
2113
|
+
i5 = N5(e5, n6.title || `\u0422\u041E\u041F-${s2.length}`, i5);
|
|
2114
|
+
let p5 = s2.length;
|
|
2115
|
+
s2.forEach((o6, d5) => {
|
|
2116
|
+
let m5 = p5 - d5, l = m5 === 1;
|
|
2117
|
+
l && (t5.cuts.push({ t: i5, shot: G(e5) }), v5(e5, "beat:drumroll", i5, a5), i5 += 2), v5(e5, "beat:whip-cut", i5, a5), t5.texts.push({ t: i5, duration: 1.2, text: `#${m5}`, style: "rank", y: 0.22 }), typeof o6.title == "string" && t5.texts.push({ t: i5 + 0.25, duration: 2.4, text: o6.title, style: "item", y: 0.32 }), t5.cuts.push({ t: i5, shot: d5 % 2 ? F(e5, a5, "close") : F(e5, a5, "medium") }), l && v5(e5, "beat:reveal", i5, a5);
|
|
2118
|
+
let w5 = n6.lines[d5], E5 = w5 ? I5(e5, d5, w5.who >= 0 ? Math.min(w5.who, t5.actors.length - 1) : -1, i5 + 0.4) : i5 + 2.4, u5 = typeof o6.react == "string" ? o6.react : w5?.beat ?? (l ? "beat:victory-dance" : J3(e5.rng, kt));
|
|
2119
|
+
v5(e5, u5, i5 + 0.5, a5, t5.actors.length > 1 ? 1 : void 0), i5 = Math.max(E5, i5 + 2.6) + 0.2;
|
|
2120
|
+
});
|
|
2121
|
+
for (let o6 = p5; o6 < n6.lines.length; o6++) {
|
|
2122
|
+
let d5 = n6.lines[o6];
|
|
2123
|
+
t5.cuts.push({ t: i5, shot: R5(e5) }), i5 = I5(e5, o6, d5.who >= 0 ? Math.min(d5.who, t5.actors.length - 1) : -1, i5) + 0.3;
|
|
2124
|
+
}
|
|
2125
|
+
_5(e5, i5);
|
|
2126
|
+
} };
|
|
2127
|
+
var ce2 = ["slow-push", "push-in", "orbit-left", "dolly-zoom"];
|
|
2128
|
+
var Oe2 = { id: "whatif@1", title: "\u0427\u0442\u043E \u0435\u0441\u043B\u0438", description: "\u0411\u0435\u0437\u0443\u043C\u043D\u0430\u044F \u043F\u043E\u0441\u044B\u043B\u043A\u0430 \u0438 \u043D\u0430\u0440\u0430\u0441\u0442\u0430\u044E\u0449\u0438\u0435 \u043F\u043E\u0441\u043B\u0435\u0434\u0441\u0442\u0432\u0438\u044F; \u0444\u0438\u043D\u0430\u043B \u2014 \u0432\u0437\u0440\u044B\u0432 \u0438\u043B\u0438 \u043D\u0435\u043E\u0436\u0438\u0434\u0430\u043D\u043D\u044B\u0439 \u043F\u043E\u0432\u043E\u0440\u043E\u0442.", minCast: 1, maxCast: 3, narrator: true, params: { type: "object", properties: { premise: { type: "string", maxLength: 80, description: "the what-if question shown big at the start" }, finale: { type: "string", enum: ["explode", "reveal", "punchline", "victory-dance"] } }, required: ["premise"] }, directorHint: "params.premise \u2014 the what-if question (\u2264 80 chars). 4\u20138 lines, each a bigger consequence than the last (who = -1 narrator, or heroes reacting). Give each line a beat that SHOWS it (fly-arc, grow, explode, money-rain\u2026). params.finale picks the ending.", build(e5) {
|
|
2129
|
+
let { spec: n6, tl: t5 } = e5, s2 = typeof n6.params?.premise == "string" ? n6.params.premise : n6.title ?? "", a5 = t5.actors.length, i5 = 0;
|
|
2130
|
+
t5.cuts.push({ t: 0, shot: R5(e5) });
|
|
2131
|
+
for (let o6 of t5.actors) v5(e5, "beat:idle", 0, o6.index);
|
|
2132
|
+
s2 && (t5.texts.push({ t: 0, duration: 0.8, text: "\u0427\u0422\u041E \u0415\u0421\u041B\u0418\u2026", style: "rank", y: 0.2 }), t5.texts.push({ t: 0.5, duration: 2, text: s2, style: "title", y: 0.32 }), v5(e5, "beat:title-card", 0, 0), i5 = 2.3), n6.lines.forEach((o6, d5) => {
|
|
2133
|
+
let m5 = o6.who >= 0 ? Math.min(o6.who, a5 - 1) : d5 % a5, l = Math.min(ce2.length - 1, Math.floor(d5 / Math.max(1, n6.lines.length - 1) * ce2.length));
|
|
2134
|
+
t5.cuts.push({ t: i5, shot: d5 % 2 ? F(e5, m5, "close") : F(e5, m5, "medium") }), t5.moves.push({ t: i5, duration: 2.5, move: ce2[l] }), l >= 2 && t5.fx.push({ t: i5, duration: 0.4, fx: "zoom-punch", strength: 0.3 + 0.2 * l });
|
|
2135
|
+
let w5 = v5(e5, o6.beat ?? (o6.who >= 0 ? K3(o6.emotion) : "beat:surprised"), i5 + 0.1, m5, a5 > 1 ? (m5 + 1) % a5 : void 0);
|
|
2136
|
+
o6.emotion && t5.emotions.push({ actor: m5, t: i5, emotion: o6.emotion });
|
|
2137
|
+
let E5 = I5(e5, d5, o6.who >= 0 ? m5 : -1, i5 + 0.05);
|
|
2138
|
+
i5 = Math.max(E5, w5 - 0.5) + 0.25 + (o6.pause ?? 0);
|
|
2139
|
+
});
|
|
2140
|
+
let p5 = typeof n6.params?.finale == "string" ? n6.params.finale : "explode";
|
|
2141
|
+
t5.cuts.push({ t: i5, shot: R5(e5) }), i5 = v5(e5, `beat:${p5}`, i5, 0, a5 > 1 ? 1 : void 0), _5(e5, i5 + 0.1);
|
|
2142
|
+
} };
|
|
2143
|
+
var ue = /* @__PURE__ */ new Map();
|
|
2144
|
+
function xt(e5) {
|
|
2145
|
+
ue.set(e5.id, e5);
|
|
2146
|
+
}
|
|
2147
|
+
for (let e5 of [Me, Le, Ve2, Ie, Oe2]) xt(e5);
|
|
2148
|
+
var St2 = new Set(s);
|
|
2149
|
+
var vt2 = new Set(W5);
|
|
2150
|
+
var _e2 = ["library", "combine", "own", "ai-asset", "ai-clip"];
|
|
2151
|
+
var ze = ["voxel-character", "rig2d-character", "image-actor", "background", "prop", "music", "three-d"];
|
|
2152
|
+
var pr2 = { type: "object", required: ["spec", "plan"], properties: { spec: { type: "object", required: ["format", "style", "set", "cast", "lines", "captions"], properties: { format: { type: "string", maxLength: 24 }, title: { type: "string", maxLength: 80 }, style: { type: "string", maxLength: 24 }, aspect: { type: "string", enum: ["9:16", "16:9", "1:1"] }, set: { type: "string", maxLength: 120 }, cast: { type: "array", items: { type: "object", required: ["asset"], properties: { asset: { type: "string", maxLength: 120 }, name: { type: "string", maxLength: 30 }, voice: { type: "string", maxLength: 40 } } } }, lines: { type: "array", items: { type: "object", required: ["who", "text"], properties: { who: { type: "number", minimum: -1, maximum: 5 }, text: { type: "string", maxLength: 220 }, beat: { type: "string", maxLength: 40 }, react: { type: "string", maxLength: 40 }, emotion: { type: "string", enum: ["neutral", "happy", "sad", "angry", "surprised", "scared", "tired", "hurt"] } } } }, params: { type: "object" }, music: { type: "string", maxLength: 120 }, captions: { type: "string", maxLength: 24 } } }, plan: { type: "array", items: { type: "object", required: ["slot", "step"], properties: { slot: { type: "string", maxLength: 40 }, step: { type: "string", enum: [..._e2] }, ref: { type: "string", maxLength: 120 }, note: { type: "string", maxLength: 120 }, generate: { type: "object", required: ["kind", "prompt"], properties: { kind: { type: "string", enum: [...ze] }, prompt: { type: "string", maxLength: 400 } } } } } } } };
|
|
2153
|
+
|
|
2154
|
+
// src/video.ts
|
|
49
2155
|
var readOnly = (title) => ({
|
|
50
2156
|
title,
|
|
51
2157
|
readOnlyHint: true,
|
|
@@ -53,18 +2159,84 @@ var readOnly = (title) => ({
|
|
|
53
2159
|
idempotentHint: true,
|
|
54
2160
|
openWorldHint: false
|
|
55
2161
|
});
|
|
2162
|
+
var VIDEO_TOOLS = [
|
|
2163
|
+
{
|
|
2164
|
+
name: "validate_asset",
|
|
2165
|
+
title: "Validate a video asset",
|
|
2166
|
+
annotations: readOnly("Validate a video asset"),
|
|
2167
|
+
description: "Check one asset of the iDos Games video studio (actor, set, prop or music \u2014 e.g. the answer of the platform MCP's generate_asset, or one you wrote) against the asset contract the studio itself uses: ref, style, title and tags, and the body \u2014 a voxel CharacterSpec, a 2D rig recipe (parts, colours, its own SVG art), a cut-out picture, a scene's anchors and camera shots, https addresses. Returns ok and the issues (error = the studio will drop the asset, warning = it works but the AI director will hardly pick it). Free, offline.",
|
|
2168
|
+
inputSchema: {
|
|
2169
|
+
type: "object",
|
|
2170
|
+
properties: { asset: { type: "object", description: "The asset JSON." } },
|
|
2171
|
+
required: ["asset"]
|
|
2172
|
+
}
|
|
2173
|
+
},
|
|
2174
|
+
{
|
|
2175
|
+
name: "validate_video",
|
|
2176
|
+
title: "Validate a video package",
|
|
2177
|
+
annotations: readOnly("Validate a video package"),
|
|
2178
|
+
description: "Check a video PACKAGE of the iDos Games video studio ({ spec, assets } \u2014 what the platform MCP's plan_video and generate_asset return) exactly as the studio will open it: the VideoSpec (format, style, set, cast, lines, captions, overrides), every asset, and that each own:/pack: ref of the spec is among the package's assets (lib: refs are the studio library \u2014 see search_assets on the platform MCP). With title_id it also returns the link that opens the package in that app's editor (https://{titleId}.idos.games/#videodata=\u2026) \u2014 rebuild the link after you edit the package. Free, offline.",
|
|
2179
|
+
inputSchema: {
|
|
2180
|
+
type: "object",
|
|
2181
|
+
properties: {
|
|
2182
|
+
package: { type: "object", description: "{ spec, assets } \u2014 a VideoSpec and the assets it uses." },
|
|
2183
|
+
title_id: { type: "string", description: "The app with the video studio, for the link (optional)." }
|
|
2184
|
+
},
|
|
2185
|
+
required: ["package"]
|
|
2186
|
+
}
|
|
2187
|
+
}
|
|
2188
|
+
];
|
|
2189
|
+
var TITLE_ID = /^([A-Z0-9]{8})(-DEV)?$/;
|
|
2190
|
+
function titleOrigin(titleId) {
|
|
2191
|
+
const m5 = TITLE_ID.exec(titleId);
|
|
2192
|
+
return m5 ? `https://${m5[1].toLowerCase()}${m5[2] ? "-dev" : ""}.idos.games` : null;
|
|
2193
|
+
}
|
|
2194
|
+
async function callVideoTool(name, args) {
|
|
2195
|
+
switch (name) {
|
|
2196
|
+
case "validate_asset": {
|
|
2197
|
+
const asset = args?.["asset"];
|
|
2198
|
+
if (!asset || typeof asset !== "object") return { ok: false, error: "validate_asset requires an 'asset' object." };
|
|
2199
|
+
const issues = ke2(asset, { inline: true });
|
|
2200
|
+
return { ok: true, value: { ok: !issues.some((i5) => i5.level === "error"), issues } };
|
|
2201
|
+
}
|
|
2202
|
+
case "validate_video": {
|
|
2203
|
+
const pkg = args?.["package"];
|
|
2204
|
+
if (!pkg || typeof pkg !== "object") return { ok: false, error: "validate_video requires a 'package' object." };
|
|
2205
|
+
const r7 = at(pkg);
|
|
2206
|
+
if (!r7.ok) return { ok: true, value: { ok: false, error: r7.error, issues: r7.issues } };
|
|
2207
|
+
const errors = r7.issues.filter((i5) => "level" in i5 && i5.level === "error");
|
|
2208
|
+
const dropped = (Array.isArray(pkg.assets) ? pkg.assets.length : 0) - r7.value.assets.length;
|
|
2209
|
+
const titleId = typeof args?.["title_id"] === "string" ? args["title_id"].trim() : "";
|
|
2210
|
+
const origin = titleId ? titleOrigin(titleId) : null;
|
|
2211
|
+
const link = origin ? `${origin}/#videodata=${await cs(r7.value)}` : null;
|
|
2212
|
+
return { ok: true, value: { ok: errors.length === 0, issues: r7.issues, droppedAssets: dropped, link } };
|
|
2213
|
+
}
|
|
2214
|
+
default:
|
|
2215
|
+
return null;
|
|
2216
|
+
}
|
|
2217
|
+
}
|
|
2218
|
+
|
|
2219
|
+
// src/server.ts
|
|
2220
|
+
var SERVER_VERSION = true ? "0.1.38" : "0.0.0-dev";
|
|
2221
|
+
var readOnly2 = (title) => ({
|
|
2222
|
+
title,
|
|
2223
|
+
readOnlyHint: true,
|
|
2224
|
+
destructiveHint: false,
|
|
2225
|
+
idempotentHint: true,
|
|
2226
|
+
openWorldHint: false
|
|
2227
|
+
});
|
|
56
2228
|
var TOOLS = [
|
|
57
2229
|
{
|
|
58
2230
|
name: "list_modules",
|
|
59
2231
|
title: "List game modules",
|
|
60
|
-
annotations:
|
|
2232
|
+
annotations: readOnly2("List game modules"),
|
|
61
2233
|
description: "List the composable iDosGames modules in the catalog. Each entry has id, name, type (template = a complete ready-to-run game to start FROM, e.g. voxelcraft; feature = a capability to add on top), engine, genre, a short summary, what it 'provides' (its features), tags, preview media, a live demo url, and its dependency count. Read 'provides' to reuse a ready module instead of building the feature from scratch, then get_module to pull its source. Entries may also carry 'sharedUi' ({provides, requires, drawsOwn}: shared chrome roles currency-bar | wallet | status | account | menu | modes \u2014 the project's base (sign-in + the lobby, see get_host_scaffold) provides currency-bar, wallet, account, menu and modes, and a game hides its own copies automatically) and 'inBase' (true: a system installed with the base in every new project \u2014 only profile, inventory, invite, friends and quests; its screen is a tab of the lobby; every other system is added only when the app needs it) and 'uses' (a game's modules: install them together with the game) and 'events' ({emits: [{topic, when, payload}], listens: [{topic, why}]}). To react to another module's event, copy its payload descriptor into your own defineTopic(topic, shape(payload)) \u2014 never import another module.",
|
|
62
2234
|
inputSchema: { type: "object", properties: {} }
|
|
63
2235
|
},
|
|
64
2236
|
{
|
|
65
2237
|
name: "get_module",
|
|
66
2238
|
title: "Get module source",
|
|
67
|
-
annotations:
|
|
2239
|
+
annotations: readOnly2("Get module source"),
|
|
68
2240
|
description: "Get one module's full source (a map of files) plus install instructions. Write each file under src/modules/{id}/, install its dependencies, and register it in src/modules.ts. Requires a host scaffold in the project (see get_host_scaffold). Its module.ts declares 'sharedUi' (roles it draws for every mode or needs) and its module.meta.json declares 'events' (topics it emits with their payload shapes, and topics it listens to).",
|
|
69
2241
|
inputSchema: {
|
|
70
2242
|
type: "object",
|
|
@@ -77,14 +2249,14 @@ var TOOLS = [
|
|
|
77
2249
|
{
|
|
78
2250
|
name: "list_skills",
|
|
79
2251
|
title: "List SDK skills",
|
|
80
|
-
annotations:
|
|
2252
|
+
annotations: readOnly2("List SDK skills"),
|
|
81
2253
|
description: "List available skills (name + description). Skills are instructions for working with @idosgames/core services, the module contract, and composition. Use get_skill to load one.",
|
|
82
2254
|
inputSchema: { type: "object", properties: {} }
|
|
83
2255
|
},
|
|
84
2256
|
{
|
|
85
2257
|
name: "get_skill",
|
|
86
2258
|
title: "Get SDK skill",
|
|
87
|
-
annotations:
|
|
2259
|
+
annotations: readOnly2("Get SDK skill"),
|
|
88
2260
|
description: "Get one skill's full SKILL.md content and its reference files. Load the relevant skill before writing code against that part of the SDK.",
|
|
89
2261
|
inputSchema: {
|
|
90
2262
|
type: "object",
|
|
@@ -100,28 +2272,29 @@ var TOOLS = [
|
|
|
100
2272
|
{
|
|
101
2273
|
name: "get_host_scaffold",
|
|
102
2274
|
title: "Get project scaffold",
|
|
103
|
-
annotations:
|
|
2275
|
+
annotations: readOnly2("Get project scaffold"),
|
|
104
2276
|
description: "Get the base every NEW project starts from \u2014 the host shell with sign-in and the lobby (index.html, main.tsx, src/app.config.ts, the wallet files, empty src/modules.ts, config; the lobby and sign-in come from @idosgames/app-shell). Write these to the project root, then add modules with get_module: the systems with inBase (profile, inventory, invite, friends, quests, mailbox), the game(s) with the modules each game 'uses', and any other system the app needs.",
|
|
105
2277
|
inputSchema: { type: "object", properties: {} }
|
|
106
2278
|
},
|
|
107
2279
|
{
|
|
108
2280
|
name: "get_manifest",
|
|
109
2281
|
title: "Get runtime package versions",
|
|
110
|
-
annotations:
|
|
2282
|
+
annotations: readOnly2("Get runtime package versions"),
|
|
111
2283
|
description: "Get the @idosgames runtime packages and their exact versions (core, wallet, module-sdk, react, app-shell). Install these so a seeded host/module resolves its imports.",
|
|
112
2284
|
inputSchema: { type: "object", properties: {} }
|
|
113
2285
|
},
|
|
114
2286
|
{
|
|
115
2287
|
name: "search",
|
|
116
2288
|
title: "Search modules and skills",
|
|
117
|
-
annotations:
|
|
2289
|
+
annotations: readOnly2("Search modules and skills"),
|
|
118
2290
|
description: "Keyword search across modules and skills. Matches a module on its id, name, type, engine, genre, summary, description, what it 'provides', and tags \u2014 so you can find a ready module by the feature you need (e.g. 'dice board', 'idle income', 'voxel building') rather than by name. Skills match on name and description. Returns the matching catalog entries.",
|
|
119
2291
|
inputSchema: {
|
|
120
2292
|
type: "object",
|
|
121
2293
|
properties: { query: { type: "string", description: "Free-text query" } },
|
|
122
2294
|
required: ["query"]
|
|
123
2295
|
}
|
|
124
|
-
}
|
|
2296
|
+
},
|
|
2297
|
+
...VIDEO_TOOLS
|
|
125
2298
|
];
|
|
126
2299
|
var json = (value) => ({
|
|
127
2300
|
content: [{ type: "text", text: JSON.stringify(value, null, 2) }]
|
|
@@ -131,14 +2304,15 @@ var fail = (message) => ({
|
|
|
131
2304
|
isError: true
|
|
132
2305
|
});
|
|
133
2306
|
function argString(args, key) {
|
|
134
|
-
const
|
|
135
|
-
return typeof
|
|
2307
|
+
const v7 = args?.[key];
|
|
2308
|
+
return typeof v7 === "string" && v7.trim() ? v7.trim() : null;
|
|
136
2309
|
}
|
|
137
2310
|
var SERVER_INSTRUCTIONS = [
|
|
138
2311
|
"This MCP serves the iDosGames CODE registry. Use it to WRITE a game's source:",
|
|
139
2312
|
"get_host_scaffold (the host shell for a new project), list_modules / search / get_module (composable",
|
|
140
2313
|
"game/app module source you write under src/modules/{id}/), get_manifest (exact @idosgames/* runtime",
|
|
141
2314
|
"versions), and list_skills / get_skill (how to code against @idosgames/core and the module contract).",
|
|
2315
|
+
"validate_asset / validate_video check a video-studio asset or video package with the studio's own code (free, offline).",
|
|
142
2316
|
"It does NOT read or change any live Title's data.",
|
|
143
2317
|
"To configure a live Title's settings (TitlePublicConfiguration) or generate assets",
|
|
144
2318
|
"(image / audio / 3D / video / text), that is a SEPARATE server \u2014 the iDosGames Title-configuration MCP:",
|
|
@@ -189,7 +2363,7 @@ function createServer() {
|
|
|
189
2363
|
...mod,
|
|
190
2364
|
instructions: [
|
|
191
2365
|
`Write each file to src/modules/${id}/{path}.`,
|
|
192
|
-
`Install dependencies: ${Object.entries(mod.dependencies).map(([
|
|
2366
|
+
`Install dependencies: ${Object.entries(mod.dependencies).map(([n6, v7]) => `${n6}@${v7}`).join(", ")}.`,
|
|
193
2367
|
`Register in src/modules.ts: import { ${exportName} } from "./modules/${id}"; and add ${exportName} to the modules array.`
|
|
194
2368
|
].join(" ")
|
|
195
2369
|
});
|
|
@@ -222,29 +2396,32 @@ function createServer() {
|
|
|
222
2396
|
if (!query) return fail("search requires a 'query'.");
|
|
223
2397
|
const tokens = query.toLowerCase().split(/\s+/).filter(Boolean);
|
|
224
2398
|
const index = await getIndex();
|
|
225
|
-
const hit = (text) => tokens.every((
|
|
2399
|
+
const hit = (text) => tokens.every((t5) => text.includes(t5));
|
|
226
2400
|
const modules = index.modules.filter(
|
|
227
|
-
(
|
|
2401
|
+
(m5) => hit(
|
|
228
2402
|
[
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
(
|
|
237
|
-
(
|
|
2403
|
+
m5.id,
|
|
2404
|
+
m5.name,
|
|
2405
|
+
m5.type,
|
|
2406
|
+
m5.engine,
|
|
2407
|
+
m5.genre ?? "",
|
|
2408
|
+
m5.summary ?? "",
|
|
2409
|
+
m5.description ?? "",
|
|
2410
|
+
(m5.provides ?? []).join(" "),
|
|
2411
|
+
(m5.tags ?? []).join(" ")
|
|
238
2412
|
].join(" ").toLowerCase()
|
|
239
2413
|
)
|
|
240
2414
|
);
|
|
241
2415
|
const skills = index.skills.filter(
|
|
242
|
-
(
|
|
2416
|
+
(s2) => hit(`${s2.name} ${s2.description}`.toLowerCase())
|
|
243
2417
|
);
|
|
244
2418
|
return json({ modules, skills });
|
|
245
2419
|
}
|
|
246
|
-
default:
|
|
2420
|
+
default: {
|
|
2421
|
+
const video = await callVideoTool(name, args);
|
|
2422
|
+
if (video) return video.ok ? json(video.value) : fail(video.error);
|
|
247
2423
|
return fail(`Unknown tool: ${name}`);
|
|
2424
|
+
}
|
|
248
2425
|
}
|
|
249
2426
|
} catch (err) {
|
|
250
2427
|
return fail(err instanceof Error ? err.message : String(err));
|