diff --git a/acts.html b/acts.html index 3ab2cc8..641a202 100644 --- a/acts.html +++ b/acts.html @@ -41,6 +41,7 @@

d2web · 暗黑破坏神 2

— + 战网完整流程 (Battle.net)
+ + + + + + + I背包 · A角色 · T技能 · Q任务 · V小站 · ~腰带 · R奔跑 · W换手 +
+
正在加载地图…
+ +
+ + + + + diff --git a/public/ui/frontend/avatars/char-ai-tn.png b/public/ui/frontend/avatars/char-ai-tn.png new file mode 100644 index 0000000..319a5af Binary files /dev/null and b/public/ui/frontend/avatars/char-ai-tn.png differ diff --git a/public/ui/frontend/avatars/char-am-tn.png b/public/ui/frontend/avatars/char-am-tn.png new file mode 100644 index 0000000..620ab70 Binary files /dev/null and b/public/ui/frontend/avatars/char-am-tn.png differ diff --git a/public/ui/frontend/avatars/char-ba-tn.png b/public/ui/frontend/avatars/char-ba-tn.png new file mode 100644 index 0000000..bb2647d Binary files /dev/null and b/public/ui/frontend/avatars/char-ba-tn.png differ diff --git a/public/ui/frontend/avatars/char-dz-tn.png b/public/ui/frontend/avatars/char-dz-tn.png new file mode 100644 index 0000000..e31f7aa Binary files /dev/null and b/public/ui/frontend/avatars/char-dz-tn.png differ diff --git a/public/ui/frontend/avatars/char-ne-tn.png b/public/ui/frontend/avatars/char-ne-tn.png new file mode 100644 index 0000000..eed0ac0 Binary files /dev/null and b/public/ui/frontend/avatars/char-ne-tn.png differ diff --git a/public/ui/frontend/avatars/char-pa-tn.png b/public/ui/frontend/avatars/char-pa-tn.png new file mode 100644 index 0000000..e42b1a3 Binary files /dev/null and b/public/ui/frontend/avatars/char-pa-tn.png differ diff --git a/public/ui/frontend/avatars/char-so-tn.png b/public/ui/frontend/avatars/char-so-tn.png new file mode 100644 index 0000000..4df6dc1 Binary files /dev/null and b/public/ui/frontend/avatars/char-so-tn.png differ diff --git a/public/ui/frontend/bg-char-create.png b/public/ui/frontend/bg-char-create.png new file mode 100644 index 0000000..8a2e64a Binary files /dev/null and b/public/ui/frontend/bg-char-create.png differ diff --git a/public/ui/frontend/bg-char-select.png b/public/ui/frontend/bg-char-select.png new file mode 100644 index 0000000..a802fa5 Binary files /dev/null and b/public/ui/frontend/bg-char-select.png differ diff --git a/public/ui/frontend/bg-main-menu.png b/public/ui/frontend/bg-main-menu.png new file mode 100644 index 0000000..7d04ca2 Binary files /dev/null and b/public/ui/frontend/bg-main-menu.png differ diff --git a/public/ui/frontend/bg-waiting-room.png b/public/ui/frontend/bg-waiting-room.png new file mode 100644 index 0000000..5ebbee6 Binary files /dev/null and b/public/ui/frontend/bg-waiting-room.png differ diff --git a/public/ui/frontend/btn-3wide.png b/public/ui/frontend/btn-3wide.png new file mode 100644 index 0000000..abfb26a Binary files /dev/null and b/public/ui/frontend/btn-3wide.png differ diff --git a/public/ui/frontend/btn-chatleft.png b/public/ui/frontend/btn-chatleft.png new file mode 100644 index 0000000..854bd6e Binary files /dev/null and b/public/ui/frontend/btn-chatleft.png differ diff --git a/public/ui/frontend/btn-create-cancel.png b/public/ui/frontend/btn-create-cancel.png new file mode 100644 index 0000000..9bd5a75 Binary files /dev/null and b/public/ui/frontend/btn-create-cancel.png differ diff --git a/public/ui/frontend/btn-create-game.png b/public/ui/frontend/btn-create-game.png new file mode 100644 index 0000000..9a0a0b7 Binary files /dev/null and b/public/ui/frontend/btn-create-game.png differ diff --git a/public/ui/frontend/btn-game.png b/public/ui/frontend/btn-game.png new file mode 100644 index 0000000..76d7fab Binary files /dev/null and b/public/ui/frontend/btn-game.png differ diff --git a/public/ui/frontend/btn-medium.png b/public/ui/frontend/btn-medium.png new file mode 100644 index 0000000..2cf92e9 Binary files /dev/null and b/public/ui/frontend/btn-medium.png differ diff --git a/public/ui/frontend/btn-narrow.png b/public/ui/frontend/btn-narrow.png new file mode 100644 index 0000000..7770b5f Binary files /dev/null and b/public/ui/frontend/btn-narrow.png differ diff --git a/public/ui/frontend/btn-realm-thin.png b/public/ui/frontend/btn-realm-thin.png new file mode 100644 index 0000000..179f5dc Binary files /dev/null and b/public/ui/frontend/btn-realm-thin.png differ diff --git a/public/ui/frontend/btn-short.png b/public/ui/frontend/btn-short.png new file mode 100644 index 0000000..d1ed948 Binary files /dev/null and b/public/ui/frontend/btn-short.png differ diff --git a/public/ui/frontend/btn-tall.png b/public/ui/frontend/btn-tall.png new file mode 100644 index 0000000..9c5224d Binary files /dev/null and b/public/ui/frontend/btn-tall.png differ diff --git a/public/ui/frontend/btn-wide.png b/public/ui/frontend/btn-wide.png new file mode 100644 index 0000000..abfb26a Binary files /dev/null and b/public/ui/frontend/btn-wide.png differ diff --git a/public/ui/frontend/btn-wide02.png b/public/ui/frontend/btn-wide02.png new file mode 100644 index 0000000..f429021 Binary files /dev/null and b/public/ui/frontend/btn-wide02.png differ diff --git a/public/ui/frontend/campfire/am-bw.png b/public/ui/frontend/campfire/am-bw.png new file mode 100644 index 0000000..863f254 Binary files /dev/null and b/public/ui/frontend/campfire/am-bw.png differ diff --git a/public/ui/frontend/campfire/am-fw.png b/public/ui/frontend/campfire/am-fw.png new file mode 100644 index 0000000..7eda2f1 Binary files /dev/null and b/public/ui/frontend/campfire/am-fw.png differ diff --git a/public/ui/frontend/campfire/am-nu1.png b/public/ui/frontend/campfire/am-nu1.png new file mode 100644 index 0000000..8a2b6f1 Binary files /dev/null and b/public/ui/frontend/campfire/am-nu1.png differ diff --git a/public/ui/frontend/campfire/am-nu2.png b/public/ui/frontend/campfire/am-nu2.png new file mode 100644 index 0000000..25d4cf8 Binary files /dev/null and b/public/ui/frontend/campfire/am-nu2.png differ diff --git a/public/ui/frontend/campfire/am-nu3.png b/public/ui/frontend/campfire/am-nu3.png new file mode 100644 index 0000000..94f08ed Binary files /dev/null and b/public/ui/frontend/campfire/am-nu3.png differ diff --git a/public/ui/frontend/campfire/as-bw.png b/public/ui/frontend/campfire/as-bw.png new file mode 100644 index 0000000..3cd9e30 Binary files /dev/null and b/public/ui/frontend/campfire/as-bw.png differ diff --git a/public/ui/frontend/campfire/as-fw.png b/public/ui/frontend/campfire/as-fw.png new file mode 100644 index 0000000..11d81f7 Binary files /dev/null and b/public/ui/frontend/campfire/as-fw.png differ diff --git a/public/ui/frontend/campfire/as-nu1.png b/public/ui/frontend/campfire/as-nu1.png new file mode 100644 index 0000000..d051e37 Binary files /dev/null and b/public/ui/frontend/campfire/as-nu1.png differ diff --git a/public/ui/frontend/campfire/as-nu2.png b/public/ui/frontend/campfire/as-nu2.png new file mode 100644 index 0000000..e7a489e Binary files /dev/null and b/public/ui/frontend/campfire/as-nu2.png differ diff --git a/public/ui/frontend/campfire/as-nu3.png b/public/ui/frontend/campfire/as-nu3.png new file mode 100644 index 0000000..da504f9 Binary files /dev/null and b/public/ui/frontend/campfire/as-nu3.png differ diff --git a/public/ui/frontend/campfire/ba-bw.png b/public/ui/frontend/campfire/ba-bw.png new file mode 100644 index 0000000..a50f03c Binary files /dev/null and b/public/ui/frontend/campfire/ba-bw.png differ diff --git a/public/ui/frontend/campfire/ba-fw.png b/public/ui/frontend/campfire/ba-fw.png new file mode 100644 index 0000000..9479aae Binary files /dev/null and b/public/ui/frontend/campfire/ba-fw.png differ diff --git a/public/ui/frontend/campfire/ba-nu1.png b/public/ui/frontend/campfire/ba-nu1.png new file mode 100644 index 0000000..26c0278 Binary files /dev/null and b/public/ui/frontend/campfire/ba-nu1.png differ diff --git a/public/ui/frontend/campfire/ba-nu2.png b/public/ui/frontend/campfire/ba-nu2.png new file mode 100644 index 0000000..a1a90bc Binary files /dev/null and b/public/ui/frontend/campfire/ba-nu2.png differ diff --git a/public/ui/frontend/campfire/ba-nu3.png b/public/ui/frontend/campfire/ba-nu3.png new file mode 100644 index 0000000..7a27dfa Binary files /dev/null and b/public/ui/frontend/campfire/ba-nu3.png differ diff --git a/public/ui/frontend/campfire/dz-bw.png b/public/ui/frontend/campfire/dz-bw.png new file mode 100644 index 0000000..a67162f Binary files /dev/null and b/public/ui/frontend/campfire/dz-bw.png differ diff --git a/public/ui/frontend/campfire/dz-fw.png b/public/ui/frontend/campfire/dz-fw.png new file mode 100644 index 0000000..455a4c6 Binary files /dev/null and b/public/ui/frontend/campfire/dz-fw.png differ diff --git a/public/ui/frontend/campfire/dz-nu1.png b/public/ui/frontend/campfire/dz-nu1.png new file mode 100644 index 0000000..7460b5f Binary files /dev/null and b/public/ui/frontend/campfire/dz-nu1.png differ diff --git a/public/ui/frontend/campfire/dz-nu2.png b/public/ui/frontend/campfire/dz-nu2.png new file mode 100644 index 0000000..c43aa89 Binary files /dev/null and b/public/ui/frontend/campfire/dz-nu2.png differ diff --git a/public/ui/frontend/campfire/dz-nu3.png b/public/ui/frontend/campfire/dz-nu3.png new file mode 100644 index 0000000..1de6170 Binary files /dev/null and b/public/ui/frontend/campfire/dz-nu3.png differ diff --git a/public/ui/frontend/campfire/fire-strip.png b/public/ui/frontend/campfire/fire-strip.png new file mode 100644 index 0000000..1381261 Binary files /dev/null and b/public/ui/frontend/campfire/fire-strip.png differ diff --git a/public/ui/frontend/campfire/ne-bw-ov.png b/public/ui/frontend/campfire/ne-bw-ov.png new file mode 100644 index 0000000..671e74e Binary files /dev/null and b/public/ui/frontend/campfire/ne-bw-ov.png differ diff --git a/public/ui/frontend/campfire/ne-bw.png b/public/ui/frontend/campfire/ne-bw.png new file mode 100644 index 0000000..2addeb2 Binary files /dev/null and b/public/ui/frontend/campfire/ne-bw.png differ diff --git a/public/ui/frontend/campfire/ne-fw-ov.png b/public/ui/frontend/campfire/ne-fw-ov.png new file mode 100644 index 0000000..89e2f3e Binary files /dev/null and b/public/ui/frontend/campfire/ne-fw-ov.png differ diff --git a/public/ui/frontend/campfire/ne-fw.png b/public/ui/frontend/campfire/ne-fw.png new file mode 100644 index 0000000..1df635d Binary files /dev/null and b/public/ui/frontend/campfire/ne-fw.png differ diff --git a/public/ui/frontend/campfire/ne-nu1.png b/public/ui/frontend/campfire/ne-nu1.png new file mode 100644 index 0000000..add7675 Binary files /dev/null and b/public/ui/frontend/campfire/ne-nu1.png differ diff --git a/public/ui/frontend/campfire/ne-nu2.png b/public/ui/frontend/campfire/ne-nu2.png new file mode 100644 index 0000000..e0c34e5 Binary files /dev/null and b/public/ui/frontend/campfire/ne-nu2.png differ diff --git a/public/ui/frontend/campfire/ne-nu3-ov.png b/public/ui/frontend/campfire/ne-nu3-ov.png new file mode 100644 index 0000000..3d01700 Binary files /dev/null and b/public/ui/frontend/campfire/ne-nu3-ov.png differ diff --git a/public/ui/frontend/campfire/ne-nu3.png b/public/ui/frontend/campfire/ne-nu3.png new file mode 100644 index 0000000..18b30f6 Binary files /dev/null and b/public/ui/frontend/campfire/ne-nu3.png differ diff --git a/public/ui/frontend/campfire/pa-bw.png b/public/ui/frontend/campfire/pa-bw.png new file mode 100644 index 0000000..b8cb02e Binary files /dev/null and b/public/ui/frontend/campfire/pa-bw.png differ diff --git a/public/ui/frontend/campfire/pa-fw.png b/public/ui/frontend/campfire/pa-fw.png new file mode 100644 index 0000000..e7823aa Binary files /dev/null and b/public/ui/frontend/campfire/pa-fw.png differ diff --git a/public/ui/frontend/campfire/pa-nu1.png b/public/ui/frontend/campfire/pa-nu1.png new file mode 100644 index 0000000..4cbde2d Binary files /dev/null and b/public/ui/frontend/campfire/pa-nu1.png differ diff --git a/public/ui/frontend/campfire/pa-nu2.png b/public/ui/frontend/campfire/pa-nu2.png new file mode 100644 index 0000000..2b47473 Binary files /dev/null and b/public/ui/frontend/campfire/pa-nu2.png differ diff --git a/public/ui/frontend/campfire/pa-nu3.png b/public/ui/frontend/campfire/pa-nu3.png new file mode 100644 index 0000000..baea16d Binary files /dev/null and b/public/ui/frontend/campfire/pa-nu3.png differ diff --git a/public/ui/frontend/campfire/so-bw-ov.png b/public/ui/frontend/campfire/so-bw-ov.png new file mode 100644 index 0000000..16c58fa Binary files /dev/null and b/public/ui/frontend/campfire/so-bw-ov.png differ diff --git a/public/ui/frontend/campfire/so-bw.png b/public/ui/frontend/campfire/so-bw.png new file mode 100644 index 0000000..7cc41b4 Binary files /dev/null and b/public/ui/frontend/campfire/so-bw.png differ diff --git a/public/ui/frontend/campfire/so-fw-ov.png b/public/ui/frontend/campfire/so-fw-ov.png new file mode 100644 index 0000000..3446251 Binary files /dev/null and b/public/ui/frontend/campfire/so-fw-ov.png differ diff --git a/public/ui/frontend/campfire/so-fw.png b/public/ui/frontend/campfire/so-fw.png new file mode 100644 index 0000000..3157457 Binary files /dev/null and b/public/ui/frontend/campfire/so-fw.png differ diff --git a/public/ui/frontend/campfire/so-nu1.png b/public/ui/frontend/campfire/so-nu1.png new file mode 100644 index 0000000..7166ea0 Binary files /dev/null and b/public/ui/frontend/campfire/so-nu1.png differ diff --git a/public/ui/frontend/campfire/so-nu2.png b/public/ui/frontend/campfire/so-nu2.png new file mode 100644 index 0000000..0ce1950 Binary files /dev/null and b/public/ui/frontend/campfire/so-nu2.png differ diff --git a/public/ui/frontend/campfire/so-nu3-ov.png b/public/ui/frontend/campfire/so-nu3-ov.png new file mode 100644 index 0000000..2003c1d Binary files /dev/null and b/public/ui/frontend/campfire/so-nu3-ov.png differ diff --git a/public/ui/frontend/campfire/so-nu3.png b/public/ui/frontend/campfire/so-nu3.png new file mode 100644 index 0000000..eee6df5 Binary files /dev/null and b/public/ui/frontend/campfire/so-nu3.png differ diff --git a/public/ui/frontend/charselectbox.png b/public/ui/frontend/charselectbox.png new file mode 100644 index 0000000..b76eb2b Binary files /dev/null and b/public/ui/frontend/charselectbox.png differ diff --git a/public/ui/frontend/clickbox.png b/public/ui/frontend/clickbox.png new file mode 100644 index 0000000..6eb4a2e Binary files /dev/null and b/public/ui/frontend/clickbox.png differ diff --git a/public/ui/frontend/create-game-bg.png b/public/ui/frontend/create-game-bg.png new file mode 100644 index 0000000..32679a4 Binary files /dev/null and b/public/ui/frontend/create-game-bg.png differ diff --git a/public/ui/frontend/fonts/font16-c0.png b/public/ui/frontend/fonts/font16-c0.png new file mode 100644 index 0000000..f9b6021 Binary files /dev/null and b/public/ui/frontend/fonts/font16-c0.png differ diff --git a/public/ui/frontend/fonts/font16-c1.png b/public/ui/frontend/fonts/font16-c1.png new file mode 100644 index 0000000..dc65a62 Binary files /dev/null and b/public/ui/frontend/fonts/font16-c1.png differ diff --git a/public/ui/frontend/fonts/font16-c2.png b/public/ui/frontend/fonts/font16-c2.png new file mode 100644 index 0000000..3fb901c Binary files /dev/null and b/public/ui/frontend/fonts/font16-c2.png differ diff --git a/public/ui/frontend/fonts/font16-c3.png b/public/ui/frontend/fonts/font16-c3.png new file mode 100644 index 0000000..70a22fe Binary files /dev/null and b/public/ui/frontend/fonts/font16-c3.png differ diff --git a/public/ui/frontend/fonts/font16-c4.png b/public/ui/frontend/fonts/font16-c4.png new file mode 100644 index 0000000..f4c5e3e Binary files /dev/null and b/public/ui/frontend/fonts/font16-c4.png differ diff --git a/public/ui/frontend/fonts/font16-c5.png b/public/ui/frontend/fonts/font16-c5.png new file mode 100644 index 0000000..aeee899 Binary files /dev/null and b/public/ui/frontend/fonts/font16-c5.png differ diff --git a/public/ui/frontend/fonts/font16-c7.png b/public/ui/frontend/fonts/font16-c7.png new file mode 100644 index 0000000..34be5a9 Binary files /dev/null and b/public/ui/frontend/fonts/font16-c7.png differ diff --git a/public/ui/frontend/fonts/font16-c8.png b/public/ui/frontend/fonts/font16-c8.png new file mode 100644 index 0000000..b9d1374 Binary files /dev/null and b/public/ui/frontend/fonts/font16-c8.png differ diff --git a/public/ui/frontend/fonts/font16-c9.png b/public/ui/frontend/fonts/font16-c9.png new file mode 100644 index 0000000..ff87c56 Binary files /dev/null and b/public/ui/frontend/fonts/font16-c9.png differ diff --git a/public/ui/frontend/fonts/font24-c0.png b/public/ui/frontend/fonts/font24-c0.png new file mode 100644 index 0000000..6ef6dad Binary files /dev/null and b/public/ui/frontend/fonts/font24-c0.png differ diff --git a/public/ui/frontend/fonts/font24-c1.png b/public/ui/frontend/fonts/font24-c1.png new file mode 100644 index 0000000..6687742 Binary files /dev/null and b/public/ui/frontend/fonts/font24-c1.png differ diff --git a/public/ui/frontend/fonts/font24-c2.png b/public/ui/frontend/fonts/font24-c2.png new file mode 100644 index 0000000..9c1d23c Binary files /dev/null and b/public/ui/frontend/fonts/font24-c2.png differ diff --git a/public/ui/frontend/fonts/font24-c3.png b/public/ui/frontend/fonts/font24-c3.png new file mode 100644 index 0000000..4135300 Binary files /dev/null and b/public/ui/frontend/fonts/font24-c3.png differ diff --git a/public/ui/frontend/fonts/font24-c4.png b/public/ui/frontend/fonts/font24-c4.png new file mode 100644 index 0000000..2e031a7 Binary files /dev/null and b/public/ui/frontend/fonts/font24-c4.png differ diff --git a/public/ui/frontend/fonts/font24-c5.png b/public/ui/frontend/fonts/font24-c5.png new file mode 100644 index 0000000..bf4ef79 Binary files /dev/null and b/public/ui/frontend/fonts/font24-c5.png differ diff --git a/public/ui/frontend/fonts/font24-c7.png b/public/ui/frontend/fonts/font24-c7.png new file mode 100644 index 0000000..12b15f8 Binary files /dev/null and b/public/ui/frontend/fonts/font24-c7.png differ diff --git a/public/ui/frontend/fonts/font24-c8.png b/public/ui/frontend/fonts/font24-c8.png new file mode 100644 index 0000000..a8c5d4c Binary files /dev/null and b/public/ui/frontend/fonts/font24-c8.png differ diff --git a/public/ui/frontend/fonts/font24-c9.png b/public/ui/frontend/fonts/font24-c9.png new file mode 100644 index 0000000..315b7f0 Binary files /dev/null and b/public/ui/frontend/fonts/font24-c9.png differ diff --git a/public/ui/frontend/fonts/font30-c0.png b/public/ui/frontend/fonts/font30-c0.png new file mode 100644 index 0000000..fe4daf6 Binary files /dev/null and b/public/ui/frontend/fonts/font30-c0.png differ diff --git a/public/ui/frontend/fonts/font30-c1.png b/public/ui/frontend/fonts/font30-c1.png new file mode 100644 index 0000000..b20e075 Binary files /dev/null and b/public/ui/frontend/fonts/font30-c1.png differ diff --git a/public/ui/frontend/fonts/font30-c2.png b/public/ui/frontend/fonts/font30-c2.png new file mode 100644 index 0000000..fcb8633 Binary files /dev/null and b/public/ui/frontend/fonts/font30-c2.png differ diff --git a/public/ui/frontend/fonts/font30-c3.png b/public/ui/frontend/fonts/font30-c3.png new file mode 100644 index 0000000..59ef290 Binary files /dev/null and b/public/ui/frontend/fonts/font30-c3.png differ diff --git a/public/ui/frontend/fonts/font30-c4.png b/public/ui/frontend/fonts/font30-c4.png new file mode 100644 index 0000000..58890f7 Binary files /dev/null and b/public/ui/frontend/fonts/font30-c4.png differ diff --git a/public/ui/frontend/fonts/font30-c5.png b/public/ui/frontend/fonts/font30-c5.png new file mode 100644 index 0000000..9d98c99 Binary files /dev/null and b/public/ui/frontend/fonts/font30-c5.png differ diff --git a/public/ui/frontend/fonts/font30-c7.png b/public/ui/frontend/fonts/font30-c7.png new file mode 100644 index 0000000..68204c1 Binary files /dev/null and b/public/ui/frontend/fonts/font30-c7.png differ diff --git a/public/ui/frontend/fonts/font30-c8.png b/public/ui/frontend/fonts/font30-c8.png new file mode 100644 index 0000000..8ae7360 Binary files /dev/null and b/public/ui/frontend/fonts/font30-c8.png differ diff --git a/public/ui/frontend/fonts/font30-c9.png b/public/ui/frontend/fonts/font30-c9.png new file mode 100644 index 0000000..793da81 Binary files /dev/null and b/public/ui/frontend/fonts/font30-c9.png differ diff --git a/public/ui/frontend/fonts/font42-c0.png b/public/ui/frontend/fonts/font42-c0.png new file mode 100644 index 0000000..5f226d8 Binary files /dev/null and b/public/ui/frontend/fonts/font42-c0.png differ diff --git a/public/ui/frontend/fonts/font42-c1.png b/public/ui/frontend/fonts/font42-c1.png new file mode 100644 index 0000000..70749df Binary files /dev/null and b/public/ui/frontend/fonts/font42-c1.png differ diff --git a/public/ui/frontend/fonts/font42-c2.png b/public/ui/frontend/fonts/font42-c2.png new file mode 100644 index 0000000..944f2d5 Binary files /dev/null and b/public/ui/frontend/fonts/font42-c2.png differ diff --git a/public/ui/frontend/fonts/font42-c3.png b/public/ui/frontend/fonts/font42-c3.png new file mode 100644 index 0000000..c2ecf99 Binary files /dev/null and b/public/ui/frontend/fonts/font42-c3.png differ diff --git a/public/ui/frontend/fonts/font42-c4.png b/public/ui/frontend/fonts/font42-c4.png new file mode 100644 index 0000000..ca7b69f Binary files /dev/null and b/public/ui/frontend/fonts/font42-c4.png differ diff --git a/public/ui/frontend/fonts/font42-c5.png b/public/ui/frontend/fonts/font42-c5.png new file mode 100644 index 0000000..bd4a51d Binary files /dev/null and b/public/ui/frontend/fonts/font42-c5.png differ diff --git a/public/ui/frontend/fonts/font42-c7.png b/public/ui/frontend/fonts/font42-c7.png new file mode 100644 index 0000000..ac4f92a Binary files /dev/null and b/public/ui/frontend/fonts/font42-c7.png differ diff --git a/public/ui/frontend/fonts/font42-c8.png b/public/ui/frontend/fonts/font42-c8.png new file mode 100644 index 0000000..fdc10b1 Binary files /dev/null and b/public/ui/frontend/fonts/font42-c8.png differ diff --git a/public/ui/frontend/fonts/font42-c9.png b/public/ui/frontend/fonts/font42-c9.png new file mode 100644 index 0000000..0af3387 Binary files /dev/null and b/public/ui/frontend/fonts/font42-c9.png differ diff --git a/public/ui/frontend/fonts/font6-c0.png b/public/ui/frontend/fonts/font6-c0.png new file mode 100644 index 0000000..6a1b0b8 Binary files /dev/null and b/public/ui/frontend/fonts/font6-c0.png differ diff --git a/public/ui/frontend/fonts/font6-c1.png b/public/ui/frontend/fonts/font6-c1.png new file mode 100644 index 0000000..d206d7d Binary files /dev/null and b/public/ui/frontend/fonts/font6-c1.png differ diff --git a/public/ui/frontend/fonts/font6-c2.png b/public/ui/frontend/fonts/font6-c2.png new file mode 100644 index 0000000..0e601b5 Binary files /dev/null and b/public/ui/frontend/fonts/font6-c2.png differ diff --git a/public/ui/frontend/fonts/font6-c3.png b/public/ui/frontend/fonts/font6-c3.png new file mode 100644 index 0000000..19233eb Binary files /dev/null and b/public/ui/frontend/fonts/font6-c3.png differ diff --git a/public/ui/frontend/fonts/font6-c4.png b/public/ui/frontend/fonts/font6-c4.png new file mode 100644 index 0000000..bdf828a Binary files /dev/null and b/public/ui/frontend/fonts/font6-c4.png differ diff --git a/public/ui/frontend/fonts/font6-c5.png b/public/ui/frontend/fonts/font6-c5.png new file mode 100644 index 0000000..3ebd579 Binary files /dev/null and b/public/ui/frontend/fonts/font6-c5.png differ diff --git a/public/ui/frontend/fonts/font6-c7.png b/public/ui/frontend/fonts/font6-c7.png new file mode 100644 index 0000000..50ea7f8 Binary files /dev/null and b/public/ui/frontend/fonts/font6-c7.png differ diff --git a/public/ui/frontend/fonts/font6-c8.png b/public/ui/frontend/fonts/font6-c8.png new file mode 100644 index 0000000..913836d Binary files /dev/null and b/public/ui/frontend/fonts/font6-c8.png differ diff --git a/public/ui/frontend/fonts/font6-c9.png b/public/ui/frontend/fonts/font6-c9.png new file mode 100644 index 0000000..92d51b4 Binary files /dev/null and b/public/ui/frontend/fonts/font6-c9.png differ diff --git a/public/ui/frontend/fonts/font8-c0.png b/public/ui/frontend/fonts/font8-c0.png new file mode 100644 index 0000000..9411a6f Binary files /dev/null and b/public/ui/frontend/fonts/font8-c0.png differ diff --git a/public/ui/frontend/fonts/font8-c1.png b/public/ui/frontend/fonts/font8-c1.png new file mode 100644 index 0000000..8f6d87a Binary files /dev/null and b/public/ui/frontend/fonts/font8-c1.png differ diff --git a/public/ui/frontend/fonts/font8-c2.png b/public/ui/frontend/fonts/font8-c2.png new file mode 100644 index 0000000..193714c Binary files /dev/null and b/public/ui/frontend/fonts/font8-c2.png differ diff --git a/public/ui/frontend/fonts/font8-c3.png b/public/ui/frontend/fonts/font8-c3.png new file mode 100644 index 0000000..0e60d77 Binary files /dev/null and b/public/ui/frontend/fonts/font8-c3.png differ diff --git a/public/ui/frontend/fonts/font8-c4.png b/public/ui/frontend/fonts/font8-c4.png new file mode 100644 index 0000000..d0b0491 Binary files /dev/null and b/public/ui/frontend/fonts/font8-c4.png differ diff --git a/public/ui/frontend/fonts/font8-c5.png b/public/ui/frontend/fonts/font8-c5.png new file mode 100644 index 0000000..83ae233 Binary files /dev/null and b/public/ui/frontend/fonts/font8-c5.png differ diff --git a/public/ui/frontend/fonts/font8-c7.png b/public/ui/frontend/fonts/font8-c7.png new file mode 100644 index 0000000..b05ffd4 Binary files /dev/null and b/public/ui/frontend/fonts/font8-c7.png differ diff --git a/public/ui/frontend/fonts/font8-c8.png b/public/ui/frontend/fonts/font8-c8.png new file mode 100644 index 0000000..673e72a Binary files /dev/null and b/public/ui/frontend/fonts/font8-c8.png differ diff --git a/public/ui/frontend/fonts/font8-c9.png b/public/ui/frontend/fonts/font8-c9.png new file mode 100644 index 0000000..1ffb7ae Binary files /dev/null and b/public/ui/frontend/fonts/font8-c9.png differ diff --git a/public/ui/frontend/fonts/fontexocet10-c0.png b/public/ui/frontend/fonts/fontexocet10-c0.png new file mode 100644 index 0000000..fce45ca Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet10-c0.png differ diff --git a/public/ui/frontend/fonts/fontexocet10-c1.png b/public/ui/frontend/fonts/fontexocet10-c1.png new file mode 100644 index 0000000..f7eadb4 Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet10-c1.png differ diff --git a/public/ui/frontend/fonts/fontexocet10-c2.png b/public/ui/frontend/fonts/fontexocet10-c2.png new file mode 100644 index 0000000..bc80bcf Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet10-c2.png differ diff --git a/public/ui/frontend/fonts/fontexocet10-c3.png b/public/ui/frontend/fonts/fontexocet10-c3.png new file mode 100644 index 0000000..ed246a2 Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet10-c3.png differ diff --git a/public/ui/frontend/fonts/fontexocet10-c4.png b/public/ui/frontend/fonts/fontexocet10-c4.png new file mode 100644 index 0000000..7b76b1b Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet10-c4.png differ diff --git a/public/ui/frontend/fonts/fontexocet10-c5.png b/public/ui/frontend/fonts/fontexocet10-c5.png new file mode 100644 index 0000000..422a603 Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet10-c5.png differ diff --git a/public/ui/frontend/fonts/fontexocet10-c7.png b/public/ui/frontend/fonts/fontexocet10-c7.png new file mode 100644 index 0000000..f431533 Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet10-c7.png differ diff --git a/public/ui/frontend/fonts/fontexocet10-c8.png b/public/ui/frontend/fonts/fontexocet10-c8.png new file mode 100644 index 0000000..9a44516 Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet10-c8.png differ diff --git a/public/ui/frontend/fonts/fontexocet10-c9.png b/public/ui/frontend/fonts/fontexocet10-c9.png new file mode 100644 index 0000000..4c1cf0c Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet10-c9.png differ diff --git a/public/ui/frontend/fonts/fontexocet8-c0.png b/public/ui/frontend/fonts/fontexocet8-c0.png new file mode 100644 index 0000000..8913afc Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet8-c0.png differ diff --git a/public/ui/frontend/fonts/fontexocet8-c1.png b/public/ui/frontend/fonts/fontexocet8-c1.png new file mode 100644 index 0000000..9cc8b07 Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet8-c1.png differ diff --git a/public/ui/frontend/fonts/fontexocet8-c2.png b/public/ui/frontend/fonts/fontexocet8-c2.png new file mode 100644 index 0000000..9a7d276 Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet8-c2.png differ diff --git a/public/ui/frontend/fonts/fontexocet8-c3.png b/public/ui/frontend/fonts/fontexocet8-c3.png new file mode 100644 index 0000000..138d6a0 Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet8-c3.png differ diff --git a/public/ui/frontend/fonts/fontexocet8-c4.png b/public/ui/frontend/fonts/fontexocet8-c4.png new file mode 100644 index 0000000..cbd081d Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet8-c4.png differ diff --git a/public/ui/frontend/fonts/fontexocet8-c5.png b/public/ui/frontend/fonts/fontexocet8-c5.png new file mode 100644 index 0000000..4cd7193 Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet8-c5.png differ diff --git a/public/ui/frontend/fonts/fontexocet8-c7.png b/public/ui/frontend/fonts/fontexocet8-c7.png new file mode 100644 index 0000000..d8b8a61 Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet8-c7.png differ diff --git a/public/ui/frontend/fonts/fontexocet8-c8.png b/public/ui/frontend/fonts/fontexocet8-c8.png new file mode 100644 index 0000000..a96e46b Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet8-c8.png differ diff --git a/public/ui/frontend/fonts/fontexocet8-c9.png b/public/ui/frontend/fonts/fontexocet8-c9.png new file mode 100644 index 0000000..86c29c9 Binary files /dev/null and b/public/ui/frontend/fonts/fontexocet8-c9.png differ diff --git a/public/ui/frontend/fonts/fontformal10-c0.png b/public/ui/frontend/fonts/fontformal10-c0.png new file mode 100644 index 0000000..4848fc7 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal10-c0.png differ diff --git a/public/ui/frontend/fonts/fontformal10-c1.png b/public/ui/frontend/fonts/fontformal10-c1.png new file mode 100644 index 0000000..9fe9d6d Binary files /dev/null and b/public/ui/frontend/fonts/fontformal10-c1.png differ diff --git a/public/ui/frontend/fonts/fontformal10-c2.png b/public/ui/frontend/fonts/fontformal10-c2.png new file mode 100644 index 0000000..8ab745b Binary files /dev/null and b/public/ui/frontend/fonts/fontformal10-c2.png differ diff --git a/public/ui/frontend/fonts/fontformal10-c3.png b/public/ui/frontend/fonts/fontformal10-c3.png new file mode 100644 index 0000000..c65d6ab Binary files /dev/null and b/public/ui/frontend/fonts/fontformal10-c3.png differ diff --git a/public/ui/frontend/fonts/fontformal10-c4.png b/public/ui/frontend/fonts/fontformal10-c4.png new file mode 100644 index 0000000..915e15f Binary files /dev/null and b/public/ui/frontend/fonts/fontformal10-c4.png differ diff --git a/public/ui/frontend/fonts/fontformal10-c5.png b/public/ui/frontend/fonts/fontformal10-c5.png new file mode 100644 index 0000000..cd060a9 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal10-c5.png differ diff --git a/public/ui/frontend/fonts/fontformal10-c7.png b/public/ui/frontend/fonts/fontformal10-c7.png new file mode 100644 index 0000000..81cdaa0 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal10-c7.png differ diff --git a/public/ui/frontend/fonts/fontformal10-c8.png b/public/ui/frontend/fonts/fontformal10-c8.png new file mode 100644 index 0000000..15fe48d Binary files /dev/null and b/public/ui/frontend/fonts/fontformal10-c8.png differ diff --git a/public/ui/frontend/fonts/fontformal10-c9.png b/public/ui/frontend/fonts/fontformal10-c9.png new file mode 100644 index 0000000..3e7b4ce Binary files /dev/null and b/public/ui/frontend/fonts/fontformal10-c9.png differ diff --git a/public/ui/frontend/fonts/fontformal11-c0.png b/public/ui/frontend/fonts/fontformal11-c0.png new file mode 100644 index 0000000..8baaf67 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal11-c0.png differ diff --git a/public/ui/frontend/fonts/fontformal11-c1.png b/public/ui/frontend/fonts/fontformal11-c1.png new file mode 100644 index 0000000..3b34e07 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal11-c1.png differ diff --git a/public/ui/frontend/fonts/fontformal11-c2.png b/public/ui/frontend/fonts/fontformal11-c2.png new file mode 100644 index 0000000..cf67e1f Binary files /dev/null and b/public/ui/frontend/fonts/fontformal11-c2.png differ diff --git a/public/ui/frontend/fonts/fontformal11-c3.png b/public/ui/frontend/fonts/fontformal11-c3.png new file mode 100644 index 0000000..9b53207 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal11-c3.png differ diff --git a/public/ui/frontend/fonts/fontformal11-c4.png b/public/ui/frontend/fonts/fontformal11-c4.png new file mode 100644 index 0000000..3eb92ff Binary files /dev/null and b/public/ui/frontend/fonts/fontformal11-c4.png differ diff --git a/public/ui/frontend/fonts/fontformal11-c5.png b/public/ui/frontend/fonts/fontformal11-c5.png new file mode 100644 index 0000000..b81fb73 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal11-c5.png differ diff --git a/public/ui/frontend/fonts/fontformal11-c7.png b/public/ui/frontend/fonts/fontformal11-c7.png new file mode 100644 index 0000000..873670e Binary files /dev/null and b/public/ui/frontend/fonts/fontformal11-c7.png differ diff --git a/public/ui/frontend/fonts/fontformal11-c8.png b/public/ui/frontend/fonts/fontformal11-c8.png new file mode 100644 index 0000000..3e4d362 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal11-c8.png differ diff --git a/public/ui/frontend/fonts/fontformal11-c9.png b/public/ui/frontend/fonts/fontformal11-c9.png new file mode 100644 index 0000000..f5987d8 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal11-c9.png differ diff --git a/public/ui/frontend/fonts/fontformal12-c0.png b/public/ui/frontend/fonts/fontformal12-c0.png new file mode 100644 index 0000000..7b21de5 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal12-c0.png differ diff --git a/public/ui/frontend/fonts/fontformal12-c1.png b/public/ui/frontend/fonts/fontformal12-c1.png new file mode 100644 index 0000000..35e91a4 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal12-c1.png differ diff --git a/public/ui/frontend/fonts/fontformal12-c2.png b/public/ui/frontend/fonts/fontformal12-c2.png new file mode 100644 index 0000000..8c19342 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal12-c2.png differ diff --git a/public/ui/frontend/fonts/fontformal12-c3.png b/public/ui/frontend/fonts/fontformal12-c3.png new file mode 100644 index 0000000..c423135 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal12-c3.png differ diff --git a/public/ui/frontend/fonts/fontformal12-c4.png b/public/ui/frontend/fonts/fontformal12-c4.png new file mode 100644 index 0000000..ebdc06d Binary files /dev/null and b/public/ui/frontend/fonts/fontformal12-c4.png differ diff --git a/public/ui/frontend/fonts/fontformal12-c5.png b/public/ui/frontend/fonts/fontformal12-c5.png new file mode 100644 index 0000000..b29e324 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal12-c5.png differ diff --git a/public/ui/frontend/fonts/fontformal12-c7.png b/public/ui/frontend/fonts/fontformal12-c7.png new file mode 100644 index 0000000..0fd738f Binary files /dev/null and b/public/ui/frontend/fonts/fontformal12-c7.png differ diff --git a/public/ui/frontend/fonts/fontformal12-c8.png b/public/ui/frontend/fonts/fontformal12-c8.png new file mode 100644 index 0000000..c47ee99 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal12-c8.png differ diff --git a/public/ui/frontend/fonts/fontformal12-c9.png b/public/ui/frontend/fonts/fontformal12-c9.png new file mode 100644 index 0000000..dd11192 Binary files /dev/null and b/public/ui/frontend/fonts/fontformal12-c9.png differ diff --git a/public/ui/frontend/fonts/fontridiculous-c0.png b/public/ui/frontend/fonts/fontridiculous-c0.png new file mode 100644 index 0000000..2f002bf Binary files /dev/null and b/public/ui/frontend/fonts/fontridiculous-c0.png differ diff --git a/public/ui/frontend/fonts/fontridiculous-c1.png b/public/ui/frontend/fonts/fontridiculous-c1.png new file mode 100644 index 0000000..741ad39 Binary files /dev/null and b/public/ui/frontend/fonts/fontridiculous-c1.png differ diff --git a/public/ui/frontend/fonts/fontridiculous-c2.png b/public/ui/frontend/fonts/fontridiculous-c2.png new file mode 100644 index 0000000..8999f11 Binary files /dev/null and b/public/ui/frontend/fonts/fontridiculous-c2.png differ diff --git a/public/ui/frontend/fonts/fontridiculous-c3.png b/public/ui/frontend/fonts/fontridiculous-c3.png new file mode 100644 index 0000000..246df89 Binary files /dev/null and b/public/ui/frontend/fonts/fontridiculous-c3.png differ diff --git a/public/ui/frontend/fonts/fontridiculous-c4.png b/public/ui/frontend/fonts/fontridiculous-c4.png new file mode 100644 index 0000000..b582ff2 Binary files /dev/null and b/public/ui/frontend/fonts/fontridiculous-c4.png differ diff --git a/public/ui/frontend/fonts/fontridiculous-c5.png b/public/ui/frontend/fonts/fontridiculous-c5.png new file mode 100644 index 0000000..7d08c16 Binary files /dev/null and b/public/ui/frontend/fonts/fontridiculous-c5.png differ diff --git a/public/ui/frontend/fonts/fontridiculous-c7.png b/public/ui/frontend/fonts/fontridiculous-c7.png new file mode 100644 index 0000000..d4a5c31 Binary files /dev/null and b/public/ui/frontend/fonts/fontridiculous-c7.png differ diff --git a/public/ui/frontend/fonts/fontridiculous-c8.png b/public/ui/frontend/fonts/fontridiculous-c8.png new file mode 100644 index 0000000..0bda1e3 Binary files /dev/null and b/public/ui/frontend/fonts/fontridiculous-c8.png differ diff --git a/public/ui/frontend/fonts/fontridiculous-c9.png b/public/ui/frontend/fonts/fontridiculous-c9.png new file mode 100644 index 0000000..4a8b8df Binary files /dev/null and b/public/ui/frontend/fonts/fontridiculous-c9.png differ diff --git a/public/ui/frontend/fonts/metrics.json b/public/ui/frontend/fonts/metrics.json new file mode 100644 index 0000000..e02e6d8 --- /dev/null +++ b/public/ui/frontend/fonts/metrics.json @@ -0,0 +1,27758 @@ +{ + "font6": { + "name": "font6", + "lineHeight": 7, + "capHeight": 20, + "atlasWidth": 256, + "atlasHeight": 256, + "glyphs": [ + { + "code": 0, + "width": 7, + "height": 7, + "x": 0, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 1, + "width": 7, + "height": 7, + "x": 16, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 2, + "width": 7, + "height": 7, + "x": 32, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 3, + "width": 7, + "height": 7, + "x": 48, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 4, + "width": 7, + "height": 7, + "x": 64, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 5, + "width": 7, + "height": 7, + "x": 80, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 6, + "width": 7, + "height": 7, + "x": 96, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 7, + "width": 7, + "height": 7, + "x": 112, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 8, + "width": 7, + "height": 7, + "x": 128, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 9, + "width": 7, + "height": 7, + "x": 144, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 10, + "width": 7, + "height": 7, + "x": 160, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 11, + "width": 7, + "height": 7, + "x": 176, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 12, + "width": 7, + "height": 7, + "x": 192, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 13, + "width": 7, + "height": 7, + "x": 208, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 14, + "width": 7, + "height": 7, + "x": 224, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 15, + "width": 7, + "height": 7, + "x": 240, + "y": 0, + "frameW": 9, + "frameH": 11 + }, + { + "code": 16, + "width": 7, + "height": 7, + "x": 0, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 17, + "width": 7, + "height": 7, + "x": 16, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 18, + "width": 7, + "height": 7, + "x": 32, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 19, + "width": 7, + "height": 7, + "x": 48, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 20, + "width": 7, + "height": 7, + "x": 64, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 21, + "width": 7, + "height": 7, + "x": 80, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 22, + "width": 7, + "height": 7, + "x": 96, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 23, + "width": 7, + "height": 7, + "x": 112, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 24, + "width": 7, + "height": 7, + "x": 128, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 25, + "width": 7, + "height": 7, + "x": 144, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 26, + "width": 7, + "height": 7, + "x": 160, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 27, + "width": 7, + "height": 7, + "x": 176, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 28, + "width": 7, + "height": 7, + "x": 192, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 29, + "width": 7, + "height": 7, + "x": 208, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 30, + "width": 7, + "height": 7, + "x": 224, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 31, + "width": 7, + "height": 7, + "x": 240, + "y": 16, + "frameW": 9, + "frameH": 11 + }, + { + "code": 32, + "width": 5, + "height": 7, + "x": 0, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 33, + "width": 5, + "height": 7, + "x": 16, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 34, + "width": 4, + "height": 7, + "x": 32, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 35, + "width": 7, + "height": 7, + "x": 48, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 36, + "width": 6, + "height": 7, + "x": 64, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 37, + "width": 9, + "height": 7, + "x": 80, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 38, + "width": 7, + "height": 7, + "x": 96, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 39, + "width": 2, + "height": 7, + "x": 112, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 40, + "width": 3, + "height": 7, + "x": 128, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 41, + "width": 3, + "height": 7, + "x": 144, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 42, + "width": 5, + "height": 7, + "x": 160, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 43, + "width": 6, + "height": 7, + "x": 176, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 44, + "width": 3, + "height": 7, + "x": 192, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 45, + "width": 4, + "height": 7, + "x": 208, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 46, + "width": 3, + "height": 7, + "x": 224, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 47, + "width": 4, + "height": 7, + "x": 240, + "y": 32, + "frameW": 9, + "frameH": 11 + }, + { + "code": 48, + "width": 7, + "height": 7, + "x": 0, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 49, + "width": 4, + "height": 7, + "x": 16, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 50, + "width": 5, + "height": 7, + "x": 32, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 51, + "width": 5, + "height": 7, + "x": 48, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 52, + "width": 6, + "height": 7, + "x": 64, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 53, + "width": 5, + "height": 7, + "x": 80, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 54, + "width": 5, + "height": 7, + "x": 96, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 55, + "width": 5, + "height": 7, + "x": 112, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 56, + "width": 5, + "height": 7, + "x": 128, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 57, + "width": 6, + "height": 7, + "x": 144, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 58, + "width": 3, + "height": 7, + "x": 160, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 59, + "width": 3, + "height": 7, + "x": 176, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 60, + "width": 6, + "height": 7, + "x": 192, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 61, + "width": 7, + "height": 7, + "x": 208, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 62, + "width": 6, + "height": 7, + "x": 224, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 63, + "width": 6, + "height": 7, + "x": 240, + "y": 48, + "frameW": 9, + "frameH": 11 + }, + { + "code": 64, + "width": 9, + "height": 7, + "x": 0, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 65, + "width": 6, + "height": 7, + "x": 16, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 66, + "width": 6, + "height": 7, + "x": 32, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 67, + "width": 7, + "height": 7, + "x": 48, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 68, + "width": 7, + "height": 7, + "x": 64, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 69, + "width": 6, + "height": 7, + "x": 80, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 70, + "width": 6, + "height": 7, + "x": 96, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 71, + "width": 7, + "height": 7, + "x": 112, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 72, + "width": 7, + "height": 7, + "x": 128, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 73, + "width": 4, + "height": 7, + "x": 144, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 74, + "width": 5, + "height": 7, + "x": 160, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 75, + "width": 7, + "height": 7, + "x": 176, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 76, + "width": 5, + "height": 7, + "x": 192, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 77, + "width": 8, + "height": 7, + "x": 208, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 78, + "width": 7, + "height": 7, + "x": 224, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 79, + "width": 7, + "height": 7, + "x": 240, + "y": 64, + "frameW": 9, + "frameH": 11 + }, + { + "code": 80, + "width": 6, + "height": 7, + "x": 0, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 81, + "width": 7, + "height": 7, + "x": 16, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 82, + "width": 7, + "height": 7, + "x": 32, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 83, + "width": 5, + "height": 7, + "x": 48, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 84, + "width": 6, + "height": 7, + "x": 64, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 85, + "width": 7, + "height": 7, + "x": 80, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 86, + "width": 7, + "height": 7, + "x": 96, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 87, + "width": 9, + "height": 7, + "x": 112, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 88, + "width": 6, + "height": 7, + "x": 128, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 89, + "width": 6, + "height": 7, + "x": 144, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 90, + "width": 6, + "height": 7, + "x": 160, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 91, + "width": 3, + "height": 7, + "x": 176, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 92, + "width": 4, + "height": 7, + "x": 192, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 93, + "width": 3, + "height": 7, + "x": 208, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 94, + "width": 6, + "height": 7, + "x": 224, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 95, + "width": 6, + "height": 7, + "x": 240, + "y": 80, + "frameW": 9, + "frameH": 11 + }, + { + "code": 96, + "width": 3, + "height": 7, + "x": 0, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 97, + "width": 7, + "height": 7, + "x": 16, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 98, + "width": 6, + "height": 7, + "x": 32, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 99, + "width": 5, + "height": 7, + "x": 48, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 100, + "width": 6, + "height": 7, + "x": 64, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 101, + "width": 6, + "height": 7, + "x": 80, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 102, + "width": 5, + "height": 7, + "x": 96, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 103, + "width": 6, + "height": 7, + "x": 112, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 104, + "width": 7, + "height": 7, + "x": 128, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 105, + "width": 4, + "height": 7, + "x": 144, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 106, + "width": 5, + "height": 7, + "x": 160, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 107, + "width": 7, + "height": 7, + "x": 176, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 108, + "width": 4, + "height": 7, + "x": 192, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 109, + "width": 8, + "height": 7, + "x": 208, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 110, + "width": 6, + "height": 7, + "x": 224, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 111, + "width": 6, + "height": 7, + "x": 240, + "y": 96, + "frameW": 9, + "frameH": 11 + }, + { + "code": 112, + "width": 6, + "height": 7, + "x": 0, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 113, + "width": 6, + "height": 7, + "x": 16, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 114, + "width": 5, + "height": 7, + "x": 32, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 115, + "width": 6, + "height": 7, + "x": 48, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 116, + "width": 5, + "height": 7, + "x": 64, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 117, + "width": 6, + "height": 7, + "x": 80, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 118, + "width": 6, + "height": 7, + "x": 96, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 119, + "width": 9, + "height": 7, + "x": 112, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 120, + "width": 6, + "height": 7, + "x": 128, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 121, + "width": 7, + "height": 7, + "x": 144, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 122, + "width": 5, + "height": 7, + "x": 160, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 123, + "width": 4, + "height": 7, + "x": 176, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 124, + "width": 2, + "height": 7, + "x": 192, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 125, + "width": 5, + "height": 7, + "x": 208, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 126, + "width": 7, + "height": 7, + "x": 224, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 127, + "width": 7, + "height": 7, + "x": 240, + "y": 112, + "frameW": 9, + "frameH": 11 + }, + { + "code": 128, + "width": 7, + "height": 7, + "x": 0, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 129, + "width": 7, + "height": 7, + "x": 16, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 130, + "width": 7, + "height": 7, + "x": 32, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 131, + "width": 7, + "height": 7, + "x": 48, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 132, + "width": 7, + "height": 7, + "x": 64, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 133, + "width": 7, + "height": 7, + "x": 80, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 134, + "width": 7, + "height": 7, + "x": 96, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 135, + "width": 7, + "height": 7, + "x": 112, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 136, + "width": 7, + "height": 7, + "x": 128, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 137, + "width": 7, + "height": 7, + "x": 144, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 138, + "width": 7, + "height": 7, + "x": 160, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 139, + "width": 7, + "height": 7, + "x": 176, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 140, + "width": 7, + "height": 7, + "x": 192, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 141, + "width": 7, + "height": 7, + "x": 208, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 142, + "width": 7, + "height": 7, + "x": 224, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 143, + "width": 7, + "height": 7, + "x": 240, + "y": 128, + "frameW": 9, + "frameH": 11 + }, + { + "code": 144, + "width": 7, + "height": 7, + "x": 0, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 145, + "width": 2, + "height": 7, + "x": 16, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 146, + "width": 2, + "height": 7, + "x": 32, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 147, + "width": 7, + "height": 7, + "x": 48, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 148, + "width": 7, + "height": 7, + "x": 64, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 149, + "width": 7, + "height": 7, + "x": 80, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 150, + "width": 7, + "height": 7, + "x": 96, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 151, + "width": 7, + "height": 7, + "x": 112, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 152, + "width": 7, + "height": 7, + "x": 128, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 153, + "width": 7, + "height": 7, + "x": 144, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 154, + "width": 7, + "height": 7, + "x": 160, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 155, + "width": 7, + "height": 7, + "x": 176, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 156, + "width": 7, + "height": 7, + "x": 192, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 157, + "width": 7, + "height": 7, + "x": 208, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 158, + "width": 7, + "height": 7, + "x": 224, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 159, + "width": 7, + "height": 7, + "x": 240, + "y": 144, + "frameW": 9, + "frameH": 11 + }, + { + "code": 160, + "width": 5, + "height": 7, + "x": 0, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 161, + "width": 5, + "height": 7, + "x": 16, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 162, + "width": 6, + "height": 7, + "x": 32, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 163, + "width": 6, + "height": 7, + "x": 48, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 164, + "width": 6, + "height": 7, + "x": 64, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 165, + "width": 6, + "height": 7, + "x": 80, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 166, + "width": 2, + "height": 7, + "x": 96, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 167, + "width": 5, + "height": 7, + "x": 112, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 168, + "width": 5, + "height": 7, + "x": 128, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 169, + "width": 8, + "height": 7, + "x": 144, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 170, + "width": 5, + "height": 7, + "x": 160, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 171, + "width": 5, + "height": 7, + "x": 176, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 172, + "width": 5, + "height": 7, + "x": 192, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 173, + "width": 5, + "height": 7, + "x": 208, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 174, + "width": 8, + "height": 7, + "x": 224, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 175, + "width": 4, + "height": 7, + "x": 240, + "y": 160, + "frameW": 9, + "frameH": 11 + }, + { + "code": 176, + "width": 4, + "height": 7, + "x": 0, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 177, + "width": 6, + "height": 7, + "x": 16, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 178, + "width": 4, + "height": 7, + "x": 32, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 179, + "width": 4, + "height": 7, + "x": 48, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 180, + "width": 3, + "height": 7, + "x": 64, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 181, + "width": 7, + "height": 7, + "x": 80, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 182, + "width": 5, + "height": 7, + "x": 96, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 183, + "width": 5, + "height": 7, + "x": 112, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 184, + "width": 4, + "height": 7, + "x": 128, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 185, + "width": 3, + "height": 7, + "x": 144, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 186, + "width": 5, + "height": 7, + "x": 160, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 187, + "width": 5, + "height": 7, + "x": 176, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 188, + "width": 9, + "height": 7, + "x": 192, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 189, + "width": 8, + "height": 7, + "x": 208, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 190, + "width": 9, + "height": 7, + "x": 224, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 191, + "width": 6, + "height": 7, + "x": 240, + "y": 176, + "frameW": 9, + "frameH": 11 + }, + { + "code": 192, + "width": 7, + "height": 7, + "x": 0, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 193, + "width": 7, + "height": 7, + "x": 16, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 194, + "width": 7, + "height": 7, + "x": 32, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 195, + "width": 7, + "height": 7, + "x": 48, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 196, + "width": 7, + "height": 7, + "x": 64, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 197, + "width": 7, + "height": 7, + "x": 80, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 198, + "width": 9, + "height": 7, + "x": 96, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 199, + "width": 7, + "height": 7, + "x": 112, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 200, + "width": 6, + "height": 7, + "x": 128, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 201, + "width": 6, + "height": 7, + "x": 144, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 202, + "width": 6, + "height": 7, + "x": 160, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 203, + "width": 6, + "height": 7, + "x": 176, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 204, + "width": 4, + "height": 7, + "x": 192, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 205, + "width": 4, + "height": 7, + "x": 208, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 206, + "width": 4, + "height": 7, + "x": 224, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 207, + "width": 4, + "height": 7, + "x": 240, + "y": 192, + "frameW": 9, + "frameH": 11 + }, + { + "code": 208, + "width": 7, + "height": 7, + "x": 0, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 209, + "width": 7, + "height": 7, + "x": 16, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 210, + "width": 7, + "height": 7, + "x": 32, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 211, + "width": 7, + "height": 7, + "x": 48, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 212, + "width": 7, + "height": 7, + "x": 64, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 213, + "width": 7, + "height": 7, + "x": 80, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 214, + "width": 7, + "height": 7, + "x": 96, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 215, + "width": 6, + "height": 7, + "x": 112, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 216, + "width": 7, + "height": 7, + "x": 128, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 217, + "width": 7, + "height": 7, + "x": 144, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 218, + "width": 7, + "height": 7, + "x": 160, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 219, + "width": 7, + "height": 7, + "x": 176, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 220, + "width": 7, + "height": 7, + "x": 192, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 221, + "width": 7, + "height": 7, + "x": 208, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 222, + "width": 6, + "height": 7, + "x": 224, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 223, + "width": 8, + "height": 7, + "x": 240, + "y": 208, + "frameW": 9, + "frameH": 11 + }, + { + "code": 224, + "width": 6, + "height": 7, + "x": 0, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 225, + "width": 6, + "height": 7, + "x": 16, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 226, + "width": 6, + "height": 7, + "x": 32, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 227, + "width": 6, + "height": 7, + "x": 48, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 228, + "width": 6, + "height": 7, + "x": 64, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 229, + "width": 6, + "height": 7, + "x": 80, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 230, + "width": 9, + "height": 7, + "x": 96, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 231, + "width": 5, + "height": 7, + "x": 112, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 232, + "width": 6, + "height": 7, + "x": 128, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 233, + "width": 6, + "height": 7, + "x": 144, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 234, + "width": 6, + "height": 7, + "x": 160, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 235, + "width": 6, + "height": 7, + "x": 176, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 236, + "width": 3, + "height": 7, + "x": 192, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 237, + "width": 3, + "height": 7, + "x": 208, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 238, + "width": 3, + "height": 7, + "x": 224, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 239, + "width": 5, + "height": 7, + "x": 240, + "y": 224, + "frameW": 9, + "frameH": 11 + }, + { + "code": 240, + "width": 6, + "height": 7, + "x": 0, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 241, + "width": 6, + "height": 7, + "x": 16, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 242, + "width": 6, + "height": 7, + "x": 32, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 243, + "width": 6, + "height": 7, + "x": 48, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 244, + "width": 6, + "height": 7, + "x": 64, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 245, + "width": 6, + "height": 7, + "x": 80, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 246, + "width": 6, + "height": 7, + "x": 96, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 247, + "width": 6, + "height": 7, + "x": 112, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 248, + "width": 6, + "height": 7, + "x": 128, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 249, + "width": 6, + "height": 7, + "x": 144, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 250, + "width": 6, + "height": 7, + "x": 160, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 251, + "width": 6, + "height": 7, + "x": 176, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 252, + "width": 6, + "height": 7, + "x": 192, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 253, + "width": 7, + "height": 7, + "x": 208, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 254, + "width": 7, + "height": 7, + "x": 224, + "y": 240, + "frameW": 9, + "frameH": 11 + }, + { + "code": 255, + "width": 7, + "height": 7, + "x": 240, + "y": 240, + "frameW": 9, + "frameH": 11 + } + ] + }, + "font8": { + "name": "font8", + "lineHeight": 14, + "capHeight": 8, + "atlasWidth": 256, + "atlasHeight": 256, + "glyphs": [ + { + "code": 0, + "width": 8, + "height": 14, + "x": 0, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 1, + "width": 8, + "height": 14, + "x": 16, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 2, + "width": 8, + "height": 14, + "x": 32, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 3, + "width": 8, + "height": 14, + "x": 48, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 4, + "width": 8, + "height": 14, + "x": 64, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 5, + "width": 8, + "height": 14, + "x": 80, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 6, + "width": 8, + "height": 14, + "x": 96, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 7, + "width": 8, + "height": 14, + "x": 112, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 8, + "width": 8, + "height": 14, + "x": 128, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 9, + "width": 8, + "height": 14, + "x": 144, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 10, + "width": 8, + "height": 14, + "x": 160, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 11, + "width": 8, + "height": 14, + "x": 176, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 12, + "width": 8, + "height": 14, + "x": 192, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 13, + "width": 8, + "height": 14, + "x": 208, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 14, + "width": 8, + "height": 14, + "x": 224, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 15, + "width": 8, + "height": 14, + "x": 240, + "y": 0, + "frameW": 15, + "frameH": 14 + }, + { + "code": 16, + "width": 8, + "height": 14, + "x": 0, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 17, + "width": 8, + "height": 14, + "x": 16, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 18, + "width": 8, + "height": 14, + "x": 32, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 19, + "width": 8, + "height": 14, + "x": 48, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 20, + "width": 8, + "height": 14, + "x": 64, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 21, + "width": 8, + "height": 14, + "x": 80, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 22, + "width": 8, + "height": 14, + "x": 96, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 23, + "width": 8, + "height": 14, + "x": 112, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 24, + "width": 8, + "height": 14, + "x": 128, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 25, + "width": 8, + "height": 14, + "x": 144, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 26, + "width": 8, + "height": 14, + "x": 160, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 27, + "width": 8, + "height": 14, + "x": 176, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 28, + "width": 8, + "height": 14, + "x": 192, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 29, + "width": 8, + "height": 14, + "x": 208, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 30, + "width": 8, + "height": 14, + "x": 224, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 31, + "width": 8, + "height": 14, + "x": 240, + "y": 16, + "frameW": 15, + "frameH": 14 + }, + { + "code": 32, + "width": 4, + "height": 14, + "x": 0, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 33, + "width": 4, + "height": 14, + "x": 16, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 34, + "width": 4, + "height": 14, + "x": 32, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 35, + "width": 9, + "height": 14, + "x": 48, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 36, + "width": 7, + "height": 14, + "x": 64, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 37, + "width": 10, + "height": 14, + "x": 80, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 38, + "width": 8, + "height": 14, + "x": 96, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 39, + "width": 3, + "height": 14, + "x": 112, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 40, + "width": 5, + "height": 14, + "x": 128, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 41, + "width": 5, + "height": 14, + "x": 144, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 42, + "width": 7, + "height": 14, + "x": 160, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 43, + "width": 10, + "height": 14, + "x": 176, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 44, + "width": 4, + "height": 14, + "x": 192, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 45, + "width": 4, + "height": 14, + "x": 208, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 46, + "width": 4, + "height": 14, + "x": 224, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 47, + "width": 4, + "height": 14, + "x": 240, + "y": 32, + "frameW": 15, + "frameH": 14 + }, + { + "code": 48, + "width": 7, + "height": 14, + "x": 0, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 49, + "width": 7, + "height": 14, + "x": 16, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 50, + "width": 7, + "height": 14, + "x": 32, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 51, + "width": 7, + "height": 14, + "x": 48, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 52, + "width": 7, + "height": 14, + "x": 64, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 53, + "width": 7, + "height": 14, + "x": 80, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 54, + "width": 7, + "height": 14, + "x": 96, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 55, + "width": 7, + "height": 14, + "x": 112, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 56, + "width": 7, + "height": 14, + "x": 128, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 57, + "width": 7, + "height": 14, + "x": 144, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 58, + "width": 4, + "height": 14, + "x": 160, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 59, + "width": 4, + "height": 14, + "x": 176, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 60, + "width": 10, + "height": 14, + "x": 192, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 61, + "width": 10, + "height": 14, + "x": 208, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 62, + "width": 10, + "height": 14, + "x": 224, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 63, + "width": 7, + "height": 14, + "x": 240, + "y": 48, + "frameW": 15, + "frameH": 14 + }, + { + "code": 64, + "width": 12, + "height": 14, + "x": 0, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 65, + "width": 8, + "height": 14, + "x": 16, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 66, + "width": 8, + "height": 14, + "x": 32, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 67, + "width": 9, + "height": 14, + "x": 48, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 68, + "width": 9, + "height": 14, + "x": 64, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 69, + "width": 8, + "height": 14, + "x": 80, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 70, + "width": 7, + "height": 14, + "x": 96, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 71, + "width": 9, + "height": 14, + "x": 112, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 72, + "width": 9, + "height": 14, + "x": 128, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 73, + "width": 4, + "height": 14, + "x": 144, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 74, + "width": 4, + "height": 14, + "x": 160, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 75, + "width": 8, + "height": 14, + "x": 176, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 76, + "width": 6, + "height": 14, + "x": 192, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 77, + "width": 11, + "height": 14, + "x": 208, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 78, + "width": 9, + "height": 14, + "x": 224, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 79, + "width": 9, + "height": 14, + "x": 240, + "y": 64, + "frameW": 15, + "frameH": 14 + }, + { + "code": 80, + "width": 8, + "height": 14, + "x": 0, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 81, + "width": 9, + "height": 14, + "x": 16, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 82, + "width": 8, + "height": 14, + "x": 32, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 83, + "width": 8, + "height": 14, + "x": 48, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 84, + "width": 7, + "height": 14, + "x": 64, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 85, + "width": 9, + "height": 14, + "x": 80, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 86, + "width": 8, + "height": 14, + "x": 96, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 87, + "width": 12, + "height": 14, + "x": 112, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 88, + "width": 8, + "height": 14, + "x": 128, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 89, + "width": 8, + "height": 14, + "x": 144, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 90, + "width": 8, + "height": 14, + "x": 160, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 91, + "width": 5, + "height": 14, + "x": 176, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 92, + "width": 4, + "height": 14, + "x": 192, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 93, + "width": 5, + "height": 14, + "x": 208, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 94, + "width": 12, + "height": 14, + "x": 224, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 95, + "width": 7, + "height": 14, + "x": 240, + "y": 80, + "frameW": 15, + "frameH": 14 + }, + { + "code": 96, + "width": 7, + "height": 14, + "x": 0, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 97, + "width": 8, + "height": 14, + "x": 16, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 98, + "width": 8, + "height": 14, + "x": 32, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 99, + "width": 7, + "height": 14, + "x": 48, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 100, + "width": 8, + "height": 14, + "x": 64, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 101, + "width": 7, + "height": 14, + "x": 80, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 102, + "width": 5, + "height": 14, + "x": 96, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 103, + "width": 8, + "height": 14, + "x": 112, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 104, + "width": 7, + "height": 14, + "x": 128, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 105, + "width": 4, + "height": 14, + "x": 144, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 106, + "width": 4, + "height": 14, + "x": 160, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 107, + "width": 7, + "height": 14, + "x": 176, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 108, + "width": 4, + "height": 14, + "x": 192, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 109, + "width": 12, + "height": 14, + "x": 208, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 110, + "width": 8, + "height": 14, + "x": 224, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 111, + "width": 7, + "height": 14, + "x": 240, + "y": 96, + "frameW": 15, + "frameH": 14 + }, + { + "code": 112, + "width": 8, + "height": 14, + "x": 0, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 113, + "width": 8, + "height": 14, + "x": 16, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 114, + "width": 6, + "height": 14, + "x": 32, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 115, + "width": 7, + "height": 14, + "x": 48, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 116, + "width": 5, + "height": 14, + "x": 64, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 117, + "width": 8, + "height": 14, + "x": 80, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 118, + "width": 7, + "height": 14, + "x": 96, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 119, + "width": 10, + "height": 14, + "x": 112, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 120, + "width": 7, + "height": 14, + "x": 128, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 121, + "width": 7, + "height": 14, + "x": 144, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 122, + "width": 7, + "height": 14, + "x": 160, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 123, + "width": 7, + "height": 14, + "x": 176, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 124, + "width": 7, + "height": 14, + "x": 192, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 125, + "width": 7, + "height": 14, + "x": 208, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 126, + "width": 10, + "height": 14, + "x": 224, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 127, + "width": 8, + "height": 14, + "x": 240, + "y": 112, + "frameW": 15, + "frameH": 14 + }, + { + "code": 128, + "width": 8, + "height": 14, + "x": 0, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 129, + "width": 8, + "height": 14, + "x": 16, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 130, + "width": 4, + "height": 14, + "x": 32, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 131, + "width": 7, + "height": 14, + "x": 48, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 132, + "width": 6, + "height": 14, + "x": 64, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 133, + "width": 12, + "height": 14, + "x": 80, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 134, + "width": 7, + "height": 14, + "x": 96, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 135, + "width": 7, + "height": 14, + "x": 112, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 136, + "width": 7, + "height": 14, + "x": 128, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 137, + "width": 15, + "height": 14, + "x": 144, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 138, + "width": 8, + "height": 14, + "x": 160, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 139, + "width": 4, + "height": 14, + "x": 176, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 140, + "width": 12, + "height": 14, + "x": 192, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 141, + "width": 8, + "height": 14, + "x": 208, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 142, + "width": 8, + "height": 14, + "x": 224, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 143, + "width": 8, + "height": 14, + "x": 240, + "y": 128, + "frameW": 15, + "frameH": 14 + }, + { + "code": 144, + "width": 8, + "height": 14, + "x": 0, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 145, + "width": 4, + "height": 14, + "x": 16, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 146, + "width": 4, + "height": 14, + "x": 32, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 147, + "width": 6, + "height": 14, + "x": 48, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 148, + "width": 6, + "height": 14, + "x": 64, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 149, + "width": 7, + "height": 14, + "x": 80, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 150, + "width": 7, + "height": 14, + "x": 96, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 151, + "width": 12, + "height": 14, + "x": 112, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 152, + "width": 7, + "height": 14, + "x": 128, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 153, + "width": 10, + "height": 14, + "x": 144, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 154, + "width": 7, + "height": 14, + "x": 160, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 155, + "width": 4, + "height": 14, + "x": 176, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 156, + "width": 12, + "height": 14, + "x": 192, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 157, + "width": 8, + "height": 14, + "x": 208, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 158, + "width": 7, + "height": 14, + "x": 224, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 159, + "width": 8, + "height": 14, + "x": 240, + "y": 144, + "frameW": 15, + "frameH": 14 + }, + { + "code": 160, + "width": 7, + "height": 14, + "x": 0, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 161, + "width": 4, + "height": 14, + "x": 16, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 162, + "width": 7, + "height": 14, + "x": 32, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 163, + "width": 7, + "height": 14, + "x": 48, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 164, + "width": 8, + "height": 14, + "x": 64, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 165, + "width": 7, + "height": 14, + "x": 80, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 166, + "width": 7, + "height": 14, + "x": 96, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 167, + "width": 7, + "height": 14, + "x": 112, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 168, + "width": 7, + "height": 14, + "x": 128, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 169, + "width": 10, + "height": 14, + "x": 144, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 170, + "width": 6, + "height": 14, + "x": 160, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 171, + "width": 6, + "height": 14, + "x": 176, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 172, + "width": 10, + "height": 14, + "x": 192, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 173, + "width": 4, + "height": 14, + "x": 208, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 174, + "width": 10, + "height": 14, + "x": 224, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 175, + "width": 7, + "height": 14, + "x": 240, + "y": 160, + "frameW": 15, + "frameH": 14 + }, + { + "code": 176, + "width": 5, + "height": 14, + "x": 0, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 177, + "width": 10, + "height": 14, + "x": 16, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 178, + "width": 5, + "height": 14, + "x": 32, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 179, + "width": 5, + "height": 14, + "x": 48, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 180, + "width": 7, + "height": 14, + "x": 64, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 181, + "width": 7, + "height": 14, + "x": 80, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 182, + "width": 7, + "height": 14, + "x": 96, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 183, + "width": 4, + "height": 14, + "x": 112, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 184, + "width": 7, + "height": 14, + "x": 128, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 185, + "width": 5, + "height": 14, + "x": 144, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 186, + "width": 6, + "height": 14, + "x": 160, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 187, + "width": 6, + "height": 14, + "x": 176, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 188, + "width": 11, + "height": 14, + "x": 192, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 189, + "width": 11, + "height": 14, + "x": 208, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 190, + "width": 11, + "height": 14, + "x": 224, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 191, + "width": 7, + "height": 14, + "x": 240, + "y": 176, + "frameW": 15, + "frameH": 14 + }, + { + "code": 192, + "width": 8, + "height": 14, + "x": 0, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 193, + "width": 8, + "height": 14, + "x": 16, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 194, + "width": 8, + "height": 14, + "x": 32, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 195, + "width": 8, + "height": 14, + "x": 48, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 196, + "width": 8, + "height": 14, + "x": 64, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 197, + "width": 8, + "height": 14, + "x": 80, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 198, + "width": 11, + "height": 14, + "x": 96, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 199, + "width": 9, + "height": 14, + "x": 112, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 200, + "width": 8, + "height": 14, + "x": 128, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 201, + "width": 8, + "height": 14, + "x": 144, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 202, + "width": 8, + "height": 14, + "x": 160, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 203, + "width": 8, + "height": 14, + "x": 176, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 204, + "width": 4, + "height": 14, + "x": 192, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 205, + "width": 4, + "height": 14, + "x": 208, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 206, + "width": 4, + "height": 14, + "x": 224, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 207, + "width": 4, + "height": 14, + "x": 240, + "y": 192, + "frameW": 15, + "frameH": 14 + }, + { + "code": 208, + "width": 9, + "height": 14, + "x": 0, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 209, + "width": 9, + "height": 14, + "x": 16, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 210, + "width": 9, + "height": 14, + "x": 32, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 211, + "width": 9, + "height": 14, + "x": 48, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 212, + "width": 9, + "height": 14, + "x": 64, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 213, + "width": 9, + "height": 14, + "x": 80, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 214, + "width": 9, + "height": 14, + "x": 96, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 215, + "width": 10, + "height": 14, + "x": 112, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 216, + "width": 9, + "height": 14, + "x": 128, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 217, + "width": 9, + "height": 14, + "x": 144, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 218, + "width": 9, + "height": 14, + "x": 160, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 219, + "width": 9, + "height": 14, + "x": 176, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 220, + "width": 9, + "height": 14, + "x": 192, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 221, + "width": 8, + "height": 14, + "x": 208, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 222, + "width": 8, + "height": 14, + "x": 224, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 223, + "width": 8, + "height": 14, + "x": 240, + "y": 208, + "frameW": 15, + "frameH": 14 + }, + { + "code": 224, + "width": 8, + "height": 14, + "x": 0, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 225, + "width": 8, + "height": 14, + "x": 16, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 226, + "width": 8, + "height": 14, + "x": 32, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 227, + "width": 8, + "height": 14, + "x": 48, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 228, + "width": 8, + "height": 14, + "x": 64, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 229, + "width": 8, + "height": 14, + "x": 80, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 230, + "width": 11, + "height": 14, + "x": 96, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 231, + "width": 7, + "height": 14, + "x": 112, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 232, + "width": 7, + "height": 14, + "x": 128, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 233, + "width": 7, + "height": 14, + "x": 144, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 234, + "width": 7, + "height": 14, + "x": 160, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 235, + "width": 7, + "height": 14, + "x": 176, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 236, + "width": 4, + "height": 14, + "x": 192, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 237, + "width": 4, + "height": 14, + "x": 208, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 238, + "width": 4, + "height": 14, + "x": 224, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 239, + "width": 4, + "height": 14, + "x": 240, + "y": 224, + "frameW": 15, + "frameH": 14 + }, + { + "code": 240, + "width": 7, + "height": 14, + "x": 0, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 241, + "width": 8, + "height": 14, + "x": 16, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 242, + "width": 7, + "height": 14, + "x": 32, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 243, + "width": 7, + "height": 14, + "x": 48, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 244, + "width": 7, + "height": 14, + "x": 64, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 245, + "width": 7, + "height": 14, + "x": 80, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 246, + "width": 7, + "height": 14, + "x": 96, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 247, + "width": 10, + "height": 14, + "x": 112, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 248, + "width": 7, + "height": 14, + "x": 128, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 249, + "width": 8, + "height": 14, + "x": 144, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 250, + "width": 8, + "height": 14, + "x": 160, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 251, + "width": 8, + "height": 14, + "x": 176, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 252, + "width": 8, + "height": 14, + "x": 192, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 253, + "width": 7, + "height": 14, + "x": 208, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 254, + "width": 7, + "height": 14, + "x": 224, + "y": 240, + "frameW": 15, + "frameH": 14 + }, + { + "code": 255, + "width": 7, + "height": 14, + "x": 240, + "y": 240, + "frameW": 15, + "frameH": 14 + } + ] + }, + "font16": { + "name": "font16", + "lineHeight": 10, + "capHeight": 20, + "atlasWidth": 256, + "atlasHeight": 256, + "glyphs": [ + { + "code": 0, + "width": 12, + "height": 10, + "x": 0, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 1, + "width": 12, + "height": 10, + "x": 16, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 2, + "width": 12, + "height": 10, + "x": 32, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 3, + "width": 12, + "height": 10, + "x": 48, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 4, + "width": 12, + "height": 10, + "x": 64, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 5, + "width": 12, + "height": 10, + "x": 80, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 6, + "width": 12, + "height": 10, + "x": 96, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 7, + "width": 12, + "height": 10, + "x": 112, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 8, + "width": 12, + "height": 10, + "x": 128, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 9, + "width": 12, + "height": 10, + "x": 144, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 10, + "width": 12, + "height": 10, + "x": 160, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 11, + "width": 12, + "height": 10, + "x": 176, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 12, + "width": 12, + "height": 10, + "x": 192, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 13, + "width": 12, + "height": 10, + "x": 208, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 14, + "width": 12, + "height": 10, + "x": 224, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 15, + "width": 12, + "height": 10, + "x": 240, + "y": 0, + "frameW": 14, + "frameH": 16 + }, + { + "code": 16, + "width": 12, + "height": 10, + "x": 0, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 17, + "width": 12, + "height": 10, + "x": 16, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 18, + "width": 12, + "height": 10, + "x": 32, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 19, + "width": 12, + "height": 10, + "x": 48, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 20, + "width": 12, + "height": 10, + "x": 64, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 21, + "width": 12, + "height": 10, + "x": 80, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 22, + "width": 12, + "height": 10, + "x": 96, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 23, + "width": 12, + "height": 10, + "x": 112, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 24, + "width": 12, + "height": 10, + "x": 128, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 25, + "width": 12, + "height": 10, + "x": 144, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 26, + "width": 12, + "height": 10, + "x": 160, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 27, + "width": 12, + "height": 10, + "x": 176, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 28, + "width": 12, + "height": 10, + "x": 192, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 29, + "width": 12, + "height": 10, + "x": 208, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 30, + "width": 12, + "height": 10, + "x": 224, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 31, + "width": 12, + "height": 10, + "x": 240, + "y": 16, + "frameW": 14, + "frameH": 16 + }, + { + "code": 32, + "width": 8, + "height": 10, + "x": 0, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 33, + "width": 8, + "height": 10, + "x": 16, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 34, + "width": 7, + "height": 10, + "x": 32, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 35, + "width": 8, + "height": 10, + "x": 48, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 36, + "width": 8, + "height": 10, + "x": 64, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 37, + "width": 13, + "height": 10, + "x": 80, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 38, + "width": 12, + "height": 10, + "x": 96, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 39, + "width": 4, + "height": 10, + "x": 112, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 40, + "width": 5, + "height": 10, + "x": 128, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 41, + "width": 5, + "height": 10, + "x": 144, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 42, + "width": 6, + "height": 10, + "x": 160, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 43, + "width": 8, + "height": 10, + "x": 176, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 44, + "width": 5, + "height": 10, + "x": 192, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 45, + "width": 5, + "height": 10, + "x": 208, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 46, + "width": 5, + "height": 10, + "x": 224, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 47, + "width": 9, + "height": 10, + "x": 240, + "y": 32, + "frameW": 14, + "frameH": 16 + }, + { + "code": 48, + "width": 12, + "height": 10, + "x": 0, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 49, + "width": 5, + "height": 10, + "x": 16, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 50, + "width": 9, + "height": 10, + "x": 32, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 51, + "width": 8, + "height": 10, + "x": 48, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 52, + "width": 9, + "height": 10, + "x": 64, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 53, + "width": 9, + "height": 10, + "x": 80, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 54, + "width": 8, + "height": 10, + "x": 96, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 55, + "width": 8, + "height": 10, + "x": 112, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 56, + "width": 7, + "height": 10, + "x": 128, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 57, + "width": 8, + "height": 10, + "x": 144, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 58, + "width": 5, + "height": 10, + "x": 160, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 59, + "width": 5, + "height": 10, + "x": 176, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 60, + "width": 6, + "height": 10, + "x": 192, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 61, + "width": 7, + "height": 10, + "x": 208, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 62, + "width": 6, + "height": 10, + "x": 224, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 63, + "width": 8, + "height": 10, + "x": 240, + "y": 48, + "frameW": 14, + "frameH": 16 + }, + { + "code": 64, + "width": 11, + "height": 10, + "x": 0, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 65, + "width": 12, + "height": 10, + "x": 16, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 66, + "width": 7, + "height": 10, + "x": 32, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 67, + "width": 9, + "height": 10, + "x": 48, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 68, + "width": 10, + "height": 10, + "x": 64, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 69, + "width": 8, + "height": 10, + "x": 80, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 70, + "width": 8, + "height": 10, + "x": 96, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 71, + "width": 10, + "height": 10, + "x": 112, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 72, + "width": 9, + "height": 10, + "x": 128, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 73, + "width": 5, + "height": 10, + "x": 144, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 74, + "width": 5, + "height": 10, + "x": 160, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 75, + "width": 9, + "height": 10, + "x": 176, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 76, + "width": 8, + "height": 10, + "x": 192, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 77, + "width": 12, + "height": 10, + "x": 208, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 78, + "width": 10, + "height": 10, + "x": 224, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 79, + "width": 11, + "height": 10, + "x": 240, + "y": 64, + "frameW": 14, + "frameH": 16 + }, + { + "code": 80, + "width": 9, + "height": 10, + "x": 0, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 81, + "width": 12, + "height": 10, + "x": 16, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 82, + "width": 10, + "height": 10, + "x": 32, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 83, + "width": 7, + "height": 10, + "x": 48, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 84, + "width": 11, + "height": 10, + "x": 64, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 85, + "width": 12, + "height": 10, + "x": 80, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 86, + "width": 13, + "height": 10, + "x": 96, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 87, + "width": 16, + "height": 10, + "x": 112, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 88, + "width": 12, + "height": 10, + "x": 128, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 89, + "width": 12, + "height": 10, + "x": 144, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 90, + "width": 10, + "height": 10, + "x": 160, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 91, + "width": 5, + "height": 10, + "x": 176, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 92, + "width": 9, + "height": 10, + "x": 192, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 93, + "width": 5, + "height": 10, + "x": 208, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 94, + "width": 5, + "height": 10, + "x": 224, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 95, + "width": 9, + "height": 10, + "x": 240, + "y": 80, + "frameW": 14, + "frameH": 16 + }, + { + "code": 96, + "width": 5, + "height": 10, + "x": 0, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 97, + "width": 10, + "height": 10, + "x": 16, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 98, + "width": 7, + "height": 10, + "x": 32, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 99, + "width": 8, + "height": 10, + "x": 48, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 100, + "width": 8, + "height": 10, + "x": 64, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 101, + "width": 7, + "height": 10, + "x": 80, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 102, + "width": 7, + "height": 10, + "x": 96, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 103, + "width": 9, + "height": 10, + "x": 112, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 104, + "width": 7, + "height": 10, + "x": 128, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 105, + "width": 4, + "height": 10, + "x": 144, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 106, + "width": 4, + "height": 10, + "x": 160, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 107, + "width": 8, + "height": 10, + "x": 176, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 108, + "width": 7, + "height": 10, + "x": 192, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 109, + "width": 10, + "height": 10, + "x": 208, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 110, + "width": 9, + "height": 10, + "x": 224, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 111, + "width": 10, + "height": 10, + "x": 240, + "y": 96, + "frameW": 14, + "frameH": 16 + }, + { + "code": 112, + "width": 7, + "height": 10, + "x": 0, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 113, + "width": 10, + "height": 10, + "x": 16, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 114, + "width": 9, + "height": 10, + "x": 32, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 115, + "width": 7, + "height": 10, + "x": 48, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 116, + "width": 9, + "height": 10, + "x": 64, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 117, + "width": 10, + "height": 10, + "x": 80, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 118, + "width": 10, + "height": 10, + "x": 96, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 119, + "width": 13, + "height": 10, + "x": 112, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 120, + "width": 10, + "height": 10, + "x": 128, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 121, + "width": 10, + "height": 10, + "x": 144, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 122, + "width": 7, + "height": 10, + "x": 160, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 123, + "width": 6, + "height": 10, + "x": 176, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 124, + "width": 3, + "height": 10, + "x": 192, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 125, + "width": 6, + "height": 10, + "x": 208, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 126, + "width": 6, + "height": 10, + "x": 224, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 127, + "width": 12, + "height": 10, + "x": 240, + "y": 112, + "frameW": 14, + "frameH": 16 + }, + { + "code": 128, + "width": 12, + "height": 10, + "x": 0, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 129, + "width": 12, + "height": 10, + "x": 16, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 130, + "width": 12, + "height": 10, + "x": 32, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 131, + "width": 12, + "height": 10, + "x": 48, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 132, + "width": 12, + "height": 10, + "x": 64, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 133, + "width": 12, + "height": 10, + "x": 80, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 134, + "width": 12, + "height": 10, + "x": 96, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 135, + "width": 12, + "height": 10, + "x": 112, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 136, + "width": 12, + "height": 10, + "x": 128, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 137, + "width": 12, + "height": 10, + "x": 144, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 138, + "width": 12, + "height": 10, + "x": 160, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 139, + "width": 12, + "height": 10, + "x": 176, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 140, + "width": 12, + "height": 10, + "x": 192, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 141, + "width": 12, + "height": 10, + "x": 208, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 142, + "width": 12, + "height": 10, + "x": 224, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 143, + "width": 12, + "height": 10, + "x": 240, + "y": 128, + "frameW": 14, + "frameH": 16 + }, + { + "code": 144, + "width": 12, + "height": 10, + "x": 0, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 145, + "width": 5, + "height": 10, + "x": 16, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 146, + "width": 6, + "height": 10, + "x": 32, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 147, + "width": 12, + "height": 10, + "x": 48, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 148, + "width": 12, + "height": 10, + "x": 64, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 149, + "width": 12, + "height": 10, + "x": 80, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 150, + "width": 12, + "height": 10, + "x": 96, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 151, + "width": 12, + "height": 10, + "x": 112, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 152, + "width": 12, + "height": 10, + "x": 128, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 153, + "width": 12, + "height": 10, + "x": 144, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 154, + "width": 12, + "height": 10, + "x": 160, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 155, + "width": 12, + "height": 10, + "x": 176, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 156, + "width": 12, + "height": 10, + "x": 192, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 157, + "width": 12, + "height": 10, + "x": 208, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 158, + "width": 12, + "height": 10, + "x": 224, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 159, + "width": 12, + "height": 10, + "x": 240, + "y": 144, + "frameW": 14, + "frameH": 16 + }, + { + "code": 160, + "width": 8, + "height": 10, + "x": 0, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 161, + "width": 8, + "height": 10, + "x": 16, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 162, + "width": 7, + "height": 10, + "x": 32, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 163, + "width": 8, + "height": 10, + "x": 48, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 164, + "width": 7, + "height": 10, + "x": 64, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 165, + "width": 12, + "height": 10, + "x": 80, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 166, + "width": 3, + "height": 10, + "x": 96, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 167, + "width": 6, + "height": 10, + "x": 112, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 168, + "width": 6, + "height": 10, + "x": 128, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 169, + "width": 11, + "height": 10, + "x": 144, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 170, + "width": 9, + "height": 10, + "x": 160, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 171, + "width": 7, + "height": 10, + "x": 176, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 172, + "width": 10, + "height": 10, + "x": 192, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 173, + "width": 4, + "height": 10, + "x": 208, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 174, + "width": 11, + "height": 10, + "x": 224, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 175, + "width": 9, + "height": 10, + "x": 240, + "y": 160, + "frameW": 14, + "frameH": 16 + }, + { + "code": 176, + "width": 7, + "height": 10, + "x": 0, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 177, + "width": 9, + "height": 10, + "x": 16, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 178, + "width": 7, + "height": 10, + "x": 32, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 179, + "width": 7, + "height": 10, + "x": 48, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 180, + "width": 5, + "height": 10, + "x": 64, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 181, + "width": 13, + "height": 10, + "x": 80, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 182, + "width": 9, + "height": 10, + "x": 96, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 183, + "width": 7, + "height": 10, + "x": 112, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 184, + "width": 7, + "height": 10, + "x": 128, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 185, + "width": 3, + "height": 10, + "x": 144, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 186, + "width": 8, + "height": 10, + "x": 160, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 187, + "width": 8, + "height": 10, + "x": 176, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 188, + "width": 11, + "height": 10, + "x": 192, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 189, + "width": 13, + "height": 10, + "x": 208, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 190, + "width": 12, + "height": 10, + "x": 224, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 191, + "width": 8, + "height": 10, + "x": 240, + "y": 176, + "frameW": 14, + "frameH": 16 + }, + { + "code": 192, + "width": 12, + "height": 10, + "x": 0, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 193, + "width": 12, + "height": 10, + "x": 16, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 194, + "width": 12, + "height": 10, + "x": 32, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 195, + "width": 12, + "height": 10, + "x": 48, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 196, + "width": 12, + "height": 10, + "x": 64, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 197, + "width": 12, + "height": 10, + "x": 80, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 198, + "width": 11, + "height": 10, + "x": 96, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 199, + "width": 10, + "height": 10, + "x": 112, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 200, + "width": 8, + "height": 10, + "x": 128, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 201, + "width": 7, + "height": 10, + "x": 144, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 202, + "width": 8, + "height": 10, + "x": 160, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 203, + "width": 8, + "height": 10, + "x": 176, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 204, + "width": 5, + "height": 10, + "x": 192, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 205, + "width": 5, + "height": 10, + "x": 208, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 206, + "width": 5, + "height": 10, + "x": 224, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 207, + "width": 7, + "height": 10, + "x": 240, + "y": 192, + "frameW": 14, + "frameH": 16 + }, + { + "code": 208, + "width": 11, + "height": 10, + "x": 0, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 209, + "width": 11, + "height": 10, + "x": 16, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 210, + "width": 11, + "height": 10, + "x": 32, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 211, + "width": 11, + "height": 10, + "x": 48, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 212, + "width": 11, + "height": 10, + "x": 64, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 213, + "width": 12, + "height": 10, + "x": 80, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 214, + "width": 11, + "height": 10, + "x": 96, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 215, + "width": 10, + "height": 10, + "x": 112, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 216, + "width": 11, + "height": 10, + "x": 128, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 217, + "width": 13, + "height": 10, + "x": 144, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 218, + "width": 13, + "height": 10, + "x": 160, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 219, + "width": 13, + "height": 10, + "x": 176, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 220, + "width": 12, + "height": 10, + "x": 192, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 221, + "width": 12, + "height": 10, + "x": 208, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 222, + "width": 8, + "height": 10, + "x": 224, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 223, + "width": 9, + "height": 10, + "x": 240, + "y": 208, + "frameW": 14, + "frameH": 16 + }, + { + "code": 224, + "width": 11, + "height": 10, + "x": 0, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 225, + "width": 10, + "height": 10, + "x": 16, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 226, + "width": 10, + "height": 10, + "x": 32, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 227, + "width": 10, + "height": 10, + "x": 48, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 228, + "width": 10, + "height": 10, + "x": 64, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 229, + "width": 10, + "height": 10, + "x": 80, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 230, + "width": 10, + "height": 10, + "x": 96, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 231, + "width": 8, + "height": 10, + "x": 112, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 232, + "width": 7, + "height": 10, + "x": 128, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 233, + "width": 6, + "height": 10, + "x": 144, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 234, + "width": 7, + "height": 10, + "x": 160, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 235, + "width": 7, + "height": 10, + "x": 176, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 236, + "width": 4, + "height": 10, + "x": 192, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 237, + "width": 5, + "height": 10, + "x": 208, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 238, + "width": 4, + "height": 10, + "x": 224, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 239, + "width": 5, + "height": 10, + "x": 240, + "y": 224, + "frameW": 14, + "frameH": 16 + }, + { + "code": 240, + "width": 8, + "height": 10, + "x": 0, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 241, + "width": 9, + "height": 10, + "x": 16, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 242, + "width": 10, + "height": 10, + "x": 32, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 243, + "width": 9, + "height": 10, + "x": 48, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 244, + "width": 9, + "height": 10, + "x": 64, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 245, + "width": 10, + "height": 10, + "x": 80, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 246, + "width": 10, + "height": 10, + "x": 96, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 247, + "width": 8, + "height": 10, + "x": 112, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 248, + "width": 10, + "height": 10, + "x": 128, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 249, + "width": 10, + "height": 10, + "x": 144, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 250, + "width": 10, + "height": 10, + "x": 160, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 251, + "width": 10, + "height": 10, + "x": 176, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 252, + "width": 10, + "height": 10, + "x": 192, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 253, + "width": 10, + "height": 10, + "x": 208, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 254, + "width": 7, + "height": 10, + "x": 224, + "y": 240, + "frameW": 14, + "frameH": 16 + }, + { + "code": 255, + "width": 10, + "height": 10, + "x": 240, + "y": 240, + "frameW": 14, + "frameH": 16 + } + ] + }, + "font24": { + "name": "font24", + "lineHeight": 15, + "capHeight": 20, + "atlasWidth": 352, + "atlasHeight": 416, + "glyphs": [ + { + "code": 0, + "width": 17, + "height": 15, + "x": 0, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 1, + "width": 17, + "height": 15, + "x": 22, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 2, + "width": 17, + "height": 15, + "x": 44, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 3, + "width": 17, + "height": 15, + "x": 66, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 4, + "width": 17, + "height": 15, + "x": 88, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 5, + "width": 17, + "height": 15, + "x": 110, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 6, + "width": 17, + "height": 15, + "x": 132, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 7, + "width": 17, + "height": 15, + "x": 154, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 8, + "width": 17, + "height": 15, + "x": 176, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 9, + "width": 17, + "height": 15, + "x": 198, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 10, + "width": 17, + "height": 15, + "x": 220, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 11, + "width": 17, + "height": 15, + "x": 242, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 12, + "width": 17, + "height": 15, + "x": 264, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 13, + "width": 17, + "height": 15, + "x": 286, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 14, + "width": 17, + "height": 15, + "x": 308, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 15, + "width": 17, + "height": 15, + "x": 330, + "y": 0, + "frameW": 22, + "frameH": 26 + }, + { + "code": 16, + "width": 17, + "height": 15, + "x": 0, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 17, + "width": 17, + "height": 15, + "x": 22, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 18, + "width": 17, + "height": 15, + "x": 44, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 19, + "width": 17, + "height": 15, + "x": 66, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 20, + "width": 17, + "height": 15, + "x": 88, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 21, + "width": 17, + "height": 15, + "x": 110, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 22, + "width": 17, + "height": 15, + "x": 132, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 23, + "width": 17, + "height": 15, + "x": 154, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 24, + "width": 17, + "height": 15, + "x": 176, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 25, + "width": 17, + "height": 15, + "x": 198, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 26, + "width": 17, + "height": 15, + "x": 220, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 27, + "width": 17, + "height": 15, + "x": 242, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 28, + "width": 17, + "height": 15, + "x": 264, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 29, + "width": 17, + "height": 15, + "x": 286, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 30, + "width": 17, + "height": 15, + "x": 308, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 31, + "width": 17, + "height": 15, + "x": 330, + "y": 26, + "frameW": 22, + "frameH": 26 + }, + { + "code": 32, + "width": 12, + "height": 15, + "x": 0, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 33, + "width": 12, + "height": 15, + "x": 22, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 34, + "width": 11, + "height": 15, + "x": 44, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 35, + "width": 11, + "height": 15, + "x": 66, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 36, + "width": 11, + "height": 15, + "x": 88, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 37, + "width": 18, + "height": 15, + "x": 110, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 38, + "width": 17, + "height": 15, + "x": 132, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 39, + "width": 6, + "height": 15, + "x": 154, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 40, + "width": 8, + "height": 15, + "x": 176, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 41, + "width": 7, + "height": 15, + "x": 198, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 42, + "width": 8, + "height": 15, + "x": 220, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 43, + "width": 10, + "height": 15, + "x": 242, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 44, + "width": 6, + "height": 15, + "x": 264, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 45, + "width": 8, + "height": 15, + "x": 286, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 46, + "width": 6, + "height": 15, + "x": 308, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 47, + "width": 12, + "height": 15, + "x": 330, + "y": 52, + "frameW": 22, + "frameH": 26 + }, + { + "code": 48, + "width": 17, + "height": 15, + "x": 0, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 49, + "width": 8, + "height": 15, + "x": 22, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 50, + "width": 12, + "height": 15, + "x": 44, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 51, + "width": 12, + "height": 15, + "x": 66, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 52, + "width": 13, + "height": 15, + "x": 88, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 53, + "width": 12, + "height": 15, + "x": 110, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 54, + "width": 12, + "height": 15, + "x": 132, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 55, + "width": 12, + "height": 15, + "x": 154, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 56, + "width": 11, + "height": 15, + "x": 176, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 57, + "width": 12, + "height": 15, + "x": 198, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 58, + "width": 6, + "height": 15, + "x": 220, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 59, + "width": 8, + "height": 15, + "x": 242, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 60, + "width": 9, + "height": 15, + "x": 264, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 61, + "width": 9, + "height": 15, + "x": 286, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 62, + "width": 9, + "height": 15, + "x": 308, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 63, + "width": 12, + "height": 15, + "x": 330, + "y": 78, + "frameW": 22, + "frameH": 26 + }, + { + "code": 64, + "width": 17, + "height": 15, + "x": 0, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 65, + "width": 18, + "height": 15, + "x": 22, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 66, + "width": 12, + "height": 15, + "x": 44, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 67, + "width": 15, + "height": 15, + "x": 66, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 68, + "width": 15, + "height": 15, + "x": 88, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 69, + "width": 12, + "height": 15, + "x": 110, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 70, + "width": 12, + "height": 15, + "x": 132, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 71, + "width": 14, + "height": 15, + "x": 154, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 72, + "width": 14, + "height": 15, + "x": 176, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 73, + "width": 7, + "height": 15, + "x": 198, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 74, + "width": 7, + "height": 15, + "x": 220, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 75, + "width": 14, + "height": 15, + "x": 242, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 76, + "width": 11, + "height": 15, + "x": 264, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 77, + "width": 17, + "height": 15, + "x": 286, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 78, + "width": 15, + "height": 15, + "x": 308, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 79, + "width": 17, + "height": 15, + "x": 330, + "y": 104, + "frameW": 22, + "frameH": 26 + }, + { + "code": 80, + "width": 12, + "height": 15, + "x": 0, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 81, + "width": 17, + "height": 15, + "x": 22, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 82, + "width": 15, + "height": 15, + "x": 44, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 83, + "width": 11, + "height": 15, + "x": 66, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 84, + "width": 16, + "height": 15, + "x": 88, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 85, + "width": 18, + "height": 15, + "x": 110, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 86, + "width": 18, + "height": 15, + "x": 132, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 87, + "width": 24, + "height": 15, + "x": 154, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 88, + "width": 18, + "height": 15, + "x": 176, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 89, + "width": 18, + "height": 15, + "x": 198, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 90, + "width": 13, + "height": 15, + "x": 220, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 91, + "width": 7, + "height": 15, + "x": 242, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 92, + "width": 12, + "height": 15, + "x": 264, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 93, + "width": 7, + "height": 15, + "x": 286, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 94, + "width": 8, + "height": 15, + "x": 308, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 95, + "width": 10, + "height": 15, + "x": 330, + "y": 130, + "frameW": 22, + "frameH": 26 + }, + { + "code": 96, + "width": 7, + "height": 15, + "x": 0, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 97, + "width": 14, + "height": 15, + "x": 22, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 98, + "width": 11, + "height": 15, + "x": 44, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 99, + "width": 11, + "height": 15, + "x": 66, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 100, + "width": 13, + "height": 15, + "x": 88, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 101, + "width": 9, + "height": 15, + "x": 110, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 102, + "width": 10, + "height": 15, + "x": 132, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 103, + "width": 11, + "height": 15, + "x": 154, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 104, + "width": 11, + "height": 15, + "x": 176, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 105, + "width": 6, + "height": 15, + "x": 198, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 106, + "width": 6, + "height": 15, + "x": 220, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 107, + "width": 11, + "height": 15, + "x": 242, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 108, + "width": 10, + "height": 15, + "x": 264, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 109, + "width": 15, + "height": 15, + "x": 286, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 110, + "width": 13, + "height": 15, + "x": 308, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 111, + "width": 13, + "height": 15, + "x": 330, + "y": 156, + "frameW": 22, + "frameH": 26 + }, + { + "code": 112, + "width": 10, + "height": 15, + "x": 0, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 113, + "width": 14, + "height": 15, + "x": 22, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 114, + "width": 13, + "height": 15, + "x": 44, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 115, + "width": 9, + "height": 15, + "x": 66, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 116, + "width": 14, + "height": 15, + "x": 88, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 117, + "width": 15, + "height": 15, + "x": 110, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 118, + "width": 15, + "height": 15, + "x": 132, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 119, + "width": 20, + "height": 15, + "x": 154, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 120, + "width": 14, + "height": 15, + "x": 176, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 121, + "width": 14, + "height": 15, + "x": 198, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 122, + "width": 12, + "height": 15, + "x": 220, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 123, + "width": 9, + "height": 15, + "x": 242, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 124, + "width": 4, + "height": 15, + "x": 264, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 125, + "width": 10, + "height": 15, + "x": 286, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 126, + "width": 9, + "height": 15, + "x": 308, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 127, + "width": 17, + "height": 15, + "x": 330, + "y": 182, + "frameW": 22, + "frameH": 26 + }, + { + "code": 128, + "width": 17, + "height": 15, + "x": 0, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 129, + "width": 17, + "height": 15, + "x": 22, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 130, + "width": 17, + "height": 15, + "x": 44, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 131, + "width": 17, + "height": 15, + "x": 66, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 132, + "width": 17, + "height": 15, + "x": 88, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 133, + "width": 17, + "height": 15, + "x": 110, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 134, + "width": 17, + "height": 15, + "x": 132, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 135, + "width": 17, + "height": 15, + "x": 154, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 136, + "width": 17, + "height": 15, + "x": 176, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 137, + "width": 17, + "height": 15, + "x": 198, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 138, + "width": 17, + "height": 15, + "x": 220, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 139, + "width": 17, + "height": 15, + "x": 242, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 140, + "width": 17, + "height": 15, + "x": 264, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 141, + "width": 17, + "height": 15, + "x": 286, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 142, + "width": 17, + "height": 15, + "x": 308, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 143, + "width": 17, + "height": 15, + "x": 330, + "y": 208, + "frameW": 22, + "frameH": 26 + }, + { + "code": 144, + "width": 17, + "height": 15, + "x": 0, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 145, + "width": 7, + "height": 15, + "x": 22, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 146, + "width": 7, + "height": 15, + "x": 44, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 147, + "width": 17, + "height": 15, + "x": 66, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 148, + "width": 17, + "height": 15, + "x": 88, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 149, + "width": 17, + "height": 15, + "x": 110, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 150, + "width": 17, + "height": 15, + "x": 132, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 151, + "width": 17, + "height": 15, + "x": 154, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 152, + "width": 17, + "height": 15, + "x": 176, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 153, + "width": 17, + "height": 15, + "x": 198, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 154, + "width": 17, + "height": 15, + "x": 220, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 155, + "width": 17, + "height": 15, + "x": 242, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 156, + "width": 17, + "height": 15, + "x": 264, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 157, + "width": 17, + "height": 15, + "x": 286, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 158, + "width": 17, + "height": 15, + "x": 308, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 159, + "width": 17, + "height": 15, + "x": 330, + "y": 234, + "frameW": 22, + "frameH": 26 + }, + { + "code": 160, + "width": 12, + "height": 15, + "x": 0, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 161, + "width": 12, + "height": 15, + "x": 22, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 162, + "width": 10, + "height": 15, + "x": 44, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 163, + "width": 12, + "height": 15, + "x": 66, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 164, + "width": 11, + "height": 15, + "x": 88, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 165, + "width": 17, + "height": 15, + "x": 110, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 166, + "width": 4, + "height": 15, + "x": 132, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 167, + "width": 10, + "height": 15, + "x": 154, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 168, + "width": 9, + "height": 15, + "x": 176, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 169, + "width": 16, + "height": 15, + "x": 198, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 170, + "width": 12, + "height": 15, + "x": 220, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 171, + "width": 11, + "height": 15, + "x": 242, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 172, + "width": 15, + "height": 15, + "x": 264, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 173, + "width": 8, + "height": 15, + "x": 286, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 174, + "width": 17, + "height": 15, + "x": 308, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 175, + "width": 8, + "height": 15, + "x": 330, + "y": 260, + "frameW": 22, + "frameH": 26 + }, + { + "code": 176, + "width": 9, + "height": 15, + "x": 0, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 177, + "width": 11, + "height": 15, + "x": 22, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 178, + "width": 9, + "height": 15, + "x": 44, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 179, + "width": 9, + "height": 15, + "x": 66, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 180, + "width": 7, + "height": 15, + "x": 88, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 181, + "width": 19, + "height": 15, + "x": 110, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 182, + "width": 11, + "height": 15, + "x": 132, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 183, + "width": 11, + "height": 15, + "x": 154, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 184, + "width": 12, + "height": 15, + "x": 176, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 185, + "width": 5, + "height": 15, + "x": 198, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 186, + "width": 11, + "height": 15, + "x": 220, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 187, + "width": 11, + "height": 15, + "x": 242, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 188, + "width": 16, + "height": 15, + "x": 264, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 189, + "width": 16, + "height": 15, + "x": 286, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 190, + "width": 18, + "height": 15, + "x": 308, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 191, + "width": 12, + "height": 15, + "x": 330, + "y": 286, + "frameW": 22, + "frameH": 26 + }, + { + "code": 192, + "width": 18, + "height": 15, + "x": 0, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 193, + "width": 18, + "height": 15, + "x": 22, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 194, + "width": 17, + "height": 15, + "x": 44, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 195, + "width": 17, + "height": 15, + "x": 66, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 196, + "width": 18, + "height": 15, + "x": 88, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 197, + "width": 17, + "height": 15, + "x": 110, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 198, + "width": 17, + "height": 15, + "x": 132, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 199, + "width": 14, + "height": 15, + "x": 154, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 200, + "width": 11, + "height": 15, + "x": 176, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 201, + "width": 11, + "height": 15, + "x": 198, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 202, + "width": 11, + "height": 15, + "x": 220, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 203, + "width": 11, + "height": 15, + "x": 242, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 204, + "width": 8, + "height": 15, + "x": 264, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 205, + "width": 7, + "height": 15, + "x": 286, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 206, + "width": 7, + "height": 15, + "x": 308, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 207, + "width": 8, + "height": 15, + "x": 330, + "y": 312, + "frameW": 22, + "frameH": 26 + }, + { + "code": 208, + "width": 16, + "height": 15, + "x": 0, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 209, + "width": 16, + "height": 15, + "x": 22, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 210, + "width": 17, + "height": 15, + "x": 44, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 211, + "width": 17, + "height": 15, + "x": 66, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 212, + "width": 17, + "height": 15, + "x": 88, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 213, + "width": 16, + "height": 15, + "x": 110, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 214, + "width": 17, + "height": 15, + "x": 132, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 215, + "width": 12, + "height": 15, + "x": 154, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 216, + "width": 16, + "height": 15, + "x": 176, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 217, + "width": 18, + "height": 15, + "x": 198, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 218, + "width": 18, + "height": 15, + "x": 220, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 219, + "width": 18, + "height": 15, + "x": 242, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 220, + "width": 19, + "height": 15, + "x": 264, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 221, + "width": 17, + "height": 15, + "x": 286, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 222, + "width": 12, + "height": 15, + "x": 308, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 223, + "width": 13, + "height": 15, + "x": 330, + "y": 338, + "frameW": 22, + "frameH": 26 + }, + { + "code": 224, + "width": 15, + "height": 15, + "x": 0, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 225, + "width": 15, + "height": 15, + "x": 22, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 226, + "width": 14, + "height": 15, + "x": 44, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 227, + "width": 14, + "height": 15, + "x": 66, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 228, + "width": 15, + "height": 15, + "x": 88, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 229, + "width": 15, + "height": 15, + "x": 110, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 230, + "width": 14, + "height": 15, + "x": 132, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 231, + "width": 12, + "height": 15, + "x": 154, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 232, + "width": 9, + "height": 15, + "x": 176, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 233, + "width": 9, + "height": 15, + "x": 198, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 234, + "width": 9, + "height": 15, + "x": 220, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 235, + "width": 9, + "height": 15, + "x": 242, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 236, + "width": 6, + "height": 15, + "x": 264, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 237, + "width": 6, + "height": 15, + "x": 286, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 238, + "width": 7, + "height": 15, + "x": 308, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 239, + "width": 7, + "height": 15, + "x": 330, + "y": 364, + "frameW": 22, + "frameH": 26 + }, + { + "code": 240, + "width": 11, + "height": 15, + "x": 0, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 241, + "width": 13, + "height": 15, + "x": 22, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 242, + "width": 15, + "height": 15, + "x": 44, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 243, + "width": 14, + "height": 15, + "x": 66, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 244, + "width": 14, + "height": 15, + "x": 88, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 245, + "width": 14, + "height": 15, + "x": 110, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 246, + "width": 14, + "height": 15, + "x": 132, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 247, + "width": 11, + "height": 15, + "x": 154, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 248, + "width": 14, + "height": 15, + "x": 176, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 249, + "width": 15, + "height": 15, + "x": 198, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 250, + "width": 15, + "height": 15, + "x": 220, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 251, + "width": 15, + "height": 15, + "x": 242, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 252, + "width": 15, + "height": 15, + "x": 264, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 253, + "width": 15, + "height": 15, + "x": 286, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 254, + "width": 10, + "height": 15, + "x": 308, + "y": 390, + "frameW": 22, + "frameH": 26 + }, + { + "code": 255, + "width": 15, + "height": 15, + "x": 330, + "y": 390, + "frameW": 22, + "frameH": 26 + } + ] + }, + "font30": { + "name": "font30", + "lineHeight": 19, + "capHeight": 20, + "atlasWidth": 464, + "atlasHeight": 480, + "glyphs": [ + { + "code": 0, + "width": 22, + "height": 19, + "x": 0, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 1, + "width": 22, + "height": 19, + "x": 29, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 2, + "width": 22, + "height": 19, + "x": 58, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 3, + "width": 22, + "height": 19, + "x": 87, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 4, + "width": 22, + "height": 19, + "x": 116, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 5, + "width": 22, + "height": 19, + "x": 145, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 6, + "width": 22, + "height": 19, + "x": 174, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 7, + "width": 22, + "height": 19, + "x": 203, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 8, + "width": 22, + "height": 19, + "x": 232, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 9, + "width": 22, + "height": 19, + "x": 261, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 10, + "width": 22, + "height": 19, + "x": 290, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 11, + "width": 22, + "height": 19, + "x": 319, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 12, + "width": 22, + "height": 19, + "x": 348, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 13, + "width": 22, + "height": 19, + "x": 377, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 14, + "width": 22, + "height": 19, + "x": 406, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 15, + "width": 22, + "height": 19, + "x": 435, + "y": 0, + "frameW": 29, + "frameH": 30 + }, + { + "code": 16, + "width": 22, + "height": 19, + "x": 0, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 17, + "width": 22, + "height": 19, + "x": 29, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 18, + "width": 22, + "height": 19, + "x": 58, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 19, + "width": 22, + "height": 19, + "x": 87, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 20, + "width": 22, + "height": 19, + "x": 116, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 21, + "width": 22, + "height": 19, + "x": 145, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 22, + "width": 22, + "height": 19, + "x": 174, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 23, + "width": 22, + "height": 19, + "x": 203, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 24, + "width": 22, + "height": 19, + "x": 232, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 25, + "width": 22, + "height": 19, + "x": 261, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 26, + "width": 22, + "height": 19, + "x": 290, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 27, + "width": 22, + "height": 19, + "x": 319, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 28, + "width": 22, + "height": 19, + "x": 348, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 29, + "width": 22, + "height": 19, + "x": 377, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 30, + "width": 22, + "height": 19, + "x": 406, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 31, + "width": 22, + "height": 19, + "x": 435, + "y": 30, + "frameW": 29, + "frameH": 30 + }, + { + "code": 32, + "width": 16, + "height": 19, + "x": 0, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 33, + "width": 16, + "height": 19, + "x": 29, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 34, + "width": 14, + "height": 19, + "x": 58, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 35, + "width": 14, + "height": 19, + "x": 87, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 36, + "width": 15, + "height": 19, + "x": 116, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 37, + "width": 23, + "height": 19, + "x": 145, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 38, + "width": 21, + "height": 19, + "x": 174, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 39, + "width": 8, + "height": 19, + "x": 203, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 40, + "width": 10, + "height": 19, + "x": 232, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 41, + "width": 9, + "height": 19, + "x": 261, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 42, + "width": 11, + "height": 19, + "x": 290, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 43, + "width": 12, + "height": 19, + "x": 319, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 44, + "width": 8, + "height": 19, + "x": 348, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 45, + "width": 10, + "height": 19, + "x": 377, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 46, + "width": 8, + "height": 19, + "x": 406, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 47, + "width": 16, + "height": 19, + "x": 435, + "y": 60, + "frameW": 29, + "frameH": 30 + }, + { + "code": 48, + "width": 22, + "height": 19, + "x": 0, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 49, + "width": 9, + "height": 19, + "x": 29, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 50, + "width": 15, + "height": 19, + "x": 58, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 51, + "width": 15, + "height": 19, + "x": 87, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 52, + "width": 16, + "height": 19, + "x": 116, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 53, + "width": 15, + "height": 19, + "x": 145, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 54, + "width": 14, + "height": 19, + "x": 174, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 55, + "width": 15, + "height": 19, + "x": 203, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 56, + "width": 15, + "height": 19, + "x": 232, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 57, + "width": 14, + "height": 19, + "x": 261, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 58, + "width": 8, + "height": 19, + "x": 290, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 59, + "width": 8, + "height": 19, + "x": 319, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 60, + "width": 10, + "height": 19, + "x": 348, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 61, + "width": 12, + "height": 19, + "x": 377, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 62, + "width": 10, + "height": 19, + "x": 406, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 63, + "width": 15, + "height": 19, + "x": 435, + "y": 90, + "frameW": 29, + "frameH": 30 + }, + { + "code": 64, + "width": 21, + "height": 19, + "x": 0, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 65, + "width": 22, + "height": 19, + "x": 29, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 66, + "width": 15, + "height": 19, + "x": 58, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 67, + "width": 17, + "height": 19, + "x": 87, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 68, + "width": 18, + "height": 19, + "x": 116, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 69, + "width": 15, + "height": 19, + "x": 145, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 70, + "width": 15, + "height": 19, + "x": 174, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 71, + "width": 17, + "height": 19, + "x": 203, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 72, + "width": 16, + "height": 19, + "x": 232, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 73, + "width": 8, + "height": 19, + "x": 261, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 74, + "width": 8, + "height": 19, + "x": 290, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 75, + "width": 17, + "height": 19, + "x": 319, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 76, + "width": 14, + "height": 19, + "x": 348, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 77, + "width": 22, + "height": 19, + "x": 377, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 78, + "width": 19, + "height": 19, + "x": 406, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 79, + "width": 21, + "height": 19, + "x": 435, + "y": 120, + "frameW": 29, + "frameH": 30 + }, + { + "code": 80, + "width": 14, + "height": 19, + "x": 0, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 81, + "width": 21, + "height": 19, + "x": 29, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 82, + "width": 18, + "height": 19, + "x": 58, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 83, + "width": 14, + "height": 19, + "x": 87, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 84, + "width": 20, + "height": 19, + "x": 116, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 85, + "width": 23, + "height": 19, + "x": 145, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 86, + "width": 23, + "height": 19, + "x": 174, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 87, + "width": 31, + "height": 19, + "x": 203, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 88, + "width": 22, + "height": 19, + "x": 232, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 89, + "width": 22, + "height": 19, + "x": 261, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 90, + "width": 16, + "height": 19, + "x": 290, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 91, + "width": 9, + "height": 19, + "x": 319, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 92, + "width": 16, + "height": 19, + "x": 348, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 93, + "width": 8, + "height": 19, + "x": 377, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 94, + "width": 10, + "height": 19, + "x": 406, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 95, + "width": 15, + "height": 19, + "x": 435, + "y": 150, + "frameW": 29, + "frameH": 30 + }, + { + "code": 96, + "width": 8, + "height": 19, + "x": 0, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 97, + "width": 19, + "height": 19, + "x": 29, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 98, + "width": 12, + "height": 19, + "x": 58, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 99, + "width": 15, + "height": 19, + "x": 87, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 100, + "width": 16, + "height": 19, + "x": 116, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 101, + "width": 13, + "height": 19, + "x": 145, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 102, + "width": 12, + "height": 19, + "x": 174, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 103, + "width": 15, + "height": 19, + "x": 203, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 104, + "width": 14, + "height": 19, + "x": 232, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 105, + "width": 7, + "height": 19, + "x": 261, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 106, + "width": 8, + "height": 19, + "x": 290, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 107, + "width": 14, + "height": 19, + "x": 319, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 108, + "width": 12, + "height": 19, + "x": 348, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 109, + "width": 19, + "height": 19, + "x": 377, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 110, + "width": 16, + "height": 19, + "x": 406, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 111, + "width": 18, + "height": 19, + "x": 435, + "y": 180, + "frameW": 29, + "frameH": 30 + }, + { + "code": 112, + "width": 13, + "height": 19, + "x": 0, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 113, + "width": 18, + "height": 19, + "x": 29, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 114, + "width": 16, + "height": 19, + "x": 58, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 115, + "width": 13, + "height": 19, + "x": 87, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 116, + "width": 17, + "height": 19, + "x": 116, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 117, + "width": 19, + "height": 19, + "x": 145, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 118, + "width": 19, + "height": 19, + "x": 174, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 119, + "width": 24, + "height": 19, + "x": 203, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 120, + "width": 18, + "height": 19, + "x": 232, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 121, + "width": 19, + "height": 19, + "x": 261, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 122, + "width": 14, + "height": 19, + "x": 290, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 123, + "width": 12, + "height": 19, + "x": 319, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 124, + "width": 6, + "height": 19, + "x": 348, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 125, + "width": 12, + "height": 19, + "x": 377, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 126, + "width": 11, + "height": 19, + "x": 406, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 127, + "width": 21, + "height": 19, + "x": 435, + "y": 210, + "frameW": 29, + "frameH": 30 + }, + { + "code": 128, + "width": 21, + "height": 19, + "x": 0, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 129, + "width": 21, + "height": 19, + "x": 29, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 130, + "width": 21, + "height": 19, + "x": 58, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 131, + "width": 21, + "height": 19, + "x": 87, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 132, + "width": 21, + "height": 19, + "x": 116, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 133, + "width": 21, + "height": 19, + "x": 145, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 134, + "width": 21, + "height": 19, + "x": 174, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 135, + "width": 21, + "height": 19, + "x": 203, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 136, + "width": 21, + "height": 19, + "x": 232, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 137, + "width": 21, + "height": 19, + "x": 261, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 138, + "width": 21, + "height": 19, + "x": 290, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 139, + "width": 21, + "height": 19, + "x": 319, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 140, + "width": 21, + "height": 19, + "x": 348, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 141, + "width": 21, + "height": 19, + "x": 377, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 142, + "width": 21, + "height": 19, + "x": 406, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 143, + "width": 21, + "height": 19, + "x": 435, + "y": 240, + "frameW": 29, + "frameH": 30 + }, + { + "code": 144, + "width": 21, + "height": 19, + "x": 0, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 145, + "width": 8, + "height": 19, + "x": 29, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 146, + "width": 8, + "height": 19, + "x": 58, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 147, + "width": 21, + "height": 19, + "x": 87, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 148, + "width": 21, + "height": 19, + "x": 116, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 149, + "width": 21, + "height": 19, + "x": 145, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 150, + "width": 21, + "height": 19, + "x": 174, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 151, + "width": 21, + "height": 19, + "x": 203, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 152, + "width": 21, + "height": 19, + "x": 232, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 153, + "width": 21, + "height": 19, + "x": 261, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 154, + "width": 21, + "height": 19, + "x": 290, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 155, + "width": 21, + "height": 19, + "x": 319, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 156, + "width": 21, + "height": 19, + "x": 348, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 157, + "width": 21, + "height": 19, + "x": 377, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 158, + "width": 21, + "height": 19, + "x": 406, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 159, + "width": 21, + "height": 19, + "x": 435, + "y": 270, + "frameW": 29, + "frameH": 30 + }, + { + "code": 160, + "width": 16, + "height": 19, + "x": 0, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 161, + "width": 16, + "height": 19, + "x": 29, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 162, + "width": 13, + "height": 19, + "x": 58, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 163, + "width": 14, + "height": 19, + "x": 87, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 164, + "width": 14, + "height": 19, + "x": 116, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 165, + "width": 22, + "height": 19, + "x": 145, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 166, + "width": 7, + "height": 19, + "x": 174, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 167, + "width": 12, + "height": 19, + "x": 203, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 168, + "width": 10, + "height": 19, + "x": 232, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 169, + "width": 21, + "height": 19, + "x": 261, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 170, + "width": 14, + "height": 19, + "x": 290, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 171, + "width": 14, + "height": 19, + "x": 319, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 172, + "width": 18, + "height": 19, + "x": 348, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 173, + "width": 10, + "height": 19, + "x": 377, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 174, + "width": 21, + "height": 19, + "x": 406, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 175, + "width": 10, + "height": 19, + "x": 435, + "y": 300, + "frameW": 29, + "frameH": 30 + }, + { + "code": 176, + "width": 11, + "height": 19, + "x": 0, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 177, + "width": 15, + "height": 19, + "x": 29, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 178, + "width": 11, + "height": 19, + "x": 58, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 179, + "width": 11, + "height": 19, + "x": 87, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 180, + "width": 9, + "height": 19, + "x": 116, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 181, + "width": 24, + "height": 19, + "x": 145, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 182, + "width": 15, + "height": 19, + "x": 174, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 183, + "width": 14, + "height": 19, + "x": 203, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 184, + "width": 15, + "height": 19, + "x": 232, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 185, + "width": 7, + "height": 19, + "x": 261, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 186, + "width": 14, + "height": 19, + "x": 290, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 187, + "width": 13, + "height": 19, + "x": 319, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 188, + "width": 20, + "height": 19, + "x": 348, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 189, + "width": 20, + "height": 19, + "x": 377, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 190, + "width": 22, + "height": 19, + "x": 406, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 191, + "width": 15, + "height": 19, + "x": 435, + "y": 330, + "frameW": 29, + "frameH": 30 + }, + { + "code": 192, + "width": 22, + "height": 19, + "x": 0, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 193, + "width": 23, + "height": 19, + "x": 29, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 194, + "width": 22, + "height": 19, + "x": 58, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 195, + "width": 22, + "height": 19, + "x": 87, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 196, + "width": 22, + "height": 19, + "x": 116, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 197, + "width": 22, + "height": 19, + "x": 145, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 198, + "width": 21, + "height": 19, + "x": 174, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 199, + "width": 17, + "height": 19, + "x": 203, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 200, + "width": 15, + "height": 19, + "x": 232, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 201, + "width": 15, + "height": 19, + "x": 261, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 202, + "width": 15, + "height": 19, + "x": 290, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 203, + "width": 15, + "height": 19, + "x": 319, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 204, + "width": 9, + "height": 19, + "x": 348, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 205, + "width": 9, + "height": 19, + "x": 377, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 206, + "width": 9, + "height": 19, + "x": 406, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 207, + "width": 10, + "height": 19, + "x": 435, + "y": 360, + "frameW": 29, + "frameH": 30 + }, + { + "code": 208, + "width": 18, + "height": 19, + "x": 0, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 209, + "width": 19, + "height": 19, + "x": 29, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 210, + "width": 21, + "height": 19, + "x": 58, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 211, + "width": 21, + "height": 19, + "x": 87, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 212, + "width": 20, + "height": 19, + "x": 116, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 213, + "width": 21, + "height": 19, + "x": 145, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 214, + "width": 21, + "height": 19, + "x": 174, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 215, + "width": 15, + "height": 19, + "x": 203, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 216, + "width": 21, + "height": 19, + "x": 232, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 217, + "width": 23, + "height": 19, + "x": 261, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 218, + "width": 24, + "height": 19, + "x": 290, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 219, + "width": 23, + "height": 19, + "x": 319, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 220, + "width": 23, + "height": 19, + "x": 348, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 221, + "width": 22, + "height": 19, + "x": 377, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 222, + "width": 14, + "height": 19, + "x": 406, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 223, + "width": 16, + "height": 19, + "x": 435, + "y": 390, + "frameW": 29, + "frameH": 30 + }, + { + "code": 224, + "width": 18, + "height": 19, + "x": 0, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 225, + "width": 18, + "height": 19, + "x": 29, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 226, + "width": 18, + "height": 19, + "x": 58, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 227, + "width": 18, + "height": 19, + "x": 87, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 228, + "width": 18, + "height": 19, + "x": 116, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 229, + "width": 19, + "height": 19, + "x": 145, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 230, + "width": 18, + "height": 19, + "x": 174, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 231, + "width": 15, + "height": 19, + "x": 203, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 232, + "width": 13, + "height": 19, + "x": 232, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 233, + "width": 12, + "height": 19, + "x": 261, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 234, + "width": 12, + "height": 19, + "x": 290, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 235, + "width": 12, + "height": 19, + "x": 319, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 236, + "width": 8, + "height": 19, + "x": 348, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 237, + "width": 8, + "height": 19, + "x": 377, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 238, + "width": 9, + "height": 19, + "x": 406, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 239, + "width": 9, + "height": 19, + "x": 435, + "y": 420, + "frameW": 29, + "frameH": 30 + }, + { + "code": 240, + "width": 14, + "height": 19, + "x": 0, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 241, + "width": 16, + "height": 19, + "x": 29, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 242, + "width": 18, + "height": 19, + "x": 58, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 243, + "width": 18, + "height": 19, + "x": 87, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 244, + "width": 18, + "height": 19, + "x": 116, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 245, + "width": 18, + "height": 19, + "x": 145, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 246, + "width": 18, + "height": 19, + "x": 174, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 247, + "width": 14, + "height": 19, + "x": 203, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 248, + "width": 18, + "height": 19, + "x": 232, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 249, + "width": 19, + "height": 19, + "x": 261, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 250, + "width": 19, + "height": 19, + "x": 290, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 251, + "width": 19, + "height": 19, + "x": 319, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 252, + "width": 19, + "height": 19, + "x": 348, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 253, + "width": 18, + "height": 19, + "x": 377, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 254, + "width": 12, + "height": 19, + "x": 406, + "y": 450, + "frameW": 29, + "frameH": 30 + }, + { + "code": 255, + "width": 18, + "height": 19, + "x": 435, + "y": 450, + "frameW": 29, + "frameH": 30 + } + ] + }, + "font42": { + "name": "font42", + "lineHeight": 27, + "capHeight": 20, + "atlasWidth": 624, + "atlasHeight": 656, + "glyphs": [ + { + "code": 0, + "width": 29, + "height": 27, + "x": 0, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 1, + "width": 29, + "height": 27, + "x": 39, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 2, + "width": 29, + "height": 27, + "x": 78, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 3, + "width": 29, + "height": 27, + "x": 117, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 4, + "width": 29, + "height": 27, + "x": 156, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 5, + "width": 29, + "height": 27, + "x": 195, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 6, + "width": 29, + "height": 27, + "x": 234, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 7, + "width": 29, + "height": 27, + "x": 273, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 8, + "width": 29, + "height": 27, + "x": 312, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 9, + "width": 29, + "height": 27, + "x": 351, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 10, + "width": 29, + "height": 27, + "x": 390, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 11, + "width": 29, + "height": 27, + "x": 429, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 12, + "width": 29, + "height": 27, + "x": 468, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 13, + "width": 29, + "height": 27, + "x": 507, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 14, + "width": 29, + "height": 27, + "x": 546, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 15, + "width": 29, + "height": 27, + "x": 585, + "y": 0, + "frameW": 39, + "frameH": 41 + }, + { + "code": 16, + "width": 29, + "height": 27, + "x": 0, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 17, + "width": 29, + "height": 27, + "x": 39, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 18, + "width": 29, + "height": 27, + "x": 78, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 19, + "width": 29, + "height": 27, + "x": 117, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 20, + "width": 29, + "height": 27, + "x": 156, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 21, + "width": 29, + "height": 27, + "x": 195, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 22, + "width": 29, + "height": 27, + "x": 234, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 23, + "width": 29, + "height": 27, + "x": 273, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 24, + "width": 29, + "height": 27, + "x": 312, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 25, + "width": 29, + "height": 27, + "x": 351, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 26, + "width": 29, + "height": 27, + "x": 390, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 27, + "width": 29, + "height": 27, + "x": 429, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 28, + "width": 29, + "height": 27, + "x": 468, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 29, + "width": 29, + "height": 27, + "x": 507, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 30, + "width": 29, + "height": 27, + "x": 546, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 31, + "width": 29, + "height": 27, + "x": 585, + "y": 41, + "frameW": 39, + "frameH": 41 + }, + { + "code": 32, + "width": 21, + "height": 27, + "x": 0, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 33, + "width": 21, + "height": 27, + "x": 39, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 34, + "width": 18, + "height": 27, + "x": 78, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 35, + "width": 19, + "height": 27, + "x": 117, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 36, + "width": 19, + "height": 27, + "x": 156, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 37, + "width": 31, + "height": 27, + "x": 195, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 38, + "width": 28, + "height": 27, + "x": 234, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 39, + "width": 10, + "height": 27, + "x": 273, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 40, + "width": 12, + "height": 27, + "x": 312, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 41, + "width": 12, + "height": 27, + "x": 351, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 42, + "width": 14, + "height": 27, + "x": 390, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 43, + "width": 16, + "height": 27, + "x": 429, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 44, + "width": 11, + "height": 27, + "x": 468, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 45, + "width": 13, + "height": 27, + "x": 507, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 46, + "width": 10, + "height": 27, + "x": 546, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 47, + "width": 21, + "height": 27, + "x": 585, + "y": 82, + "frameW": 39, + "frameH": 41 + }, + { + "code": 48, + "width": 29, + "height": 27, + "x": 0, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 49, + "width": 12, + "height": 27, + "x": 39, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 50, + "width": 21, + "height": 27, + "x": 78, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 51, + "width": 20, + "height": 27, + "x": 117, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 52, + "width": 22, + "height": 27, + "x": 156, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 53, + "width": 20, + "height": 27, + "x": 195, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 54, + "width": 19, + "height": 27, + "x": 234, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 55, + "width": 20, + "height": 27, + "x": 273, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 56, + "width": 19, + "height": 27, + "x": 312, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 57, + "width": 20, + "height": 27, + "x": 351, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 58, + "width": 10, + "height": 27, + "x": 390, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 59, + "width": 11, + "height": 27, + "x": 429, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 60, + "width": 13, + "height": 27, + "x": 468, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 61, + "width": 15, + "height": 27, + "x": 507, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 62, + "width": 13, + "height": 27, + "x": 546, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 63, + "width": 19, + "height": 27, + "x": 585, + "y": 123, + "frameW": 39, + "frameH": 41 + }, + { + "code": 64, + "width": 28, + "height": 27, + "x": 0, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 65, + "width": 30, + "height": 27, + "x": 39, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 66, + "width": 20, + "height": 27, + "x": 78, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 67, + "width": 23, + "height": 27, + "x": 117, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 68, + "width": 24, + "height": 27, + "x": 156, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 69, + "width": 20, + "height": 27, + "x": 195, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 70, + "width": 19, + "height": 27, + "x": 234, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 71, + "width": 23, + "height": 27, + "x": 273, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 72, + "width": 22, + "height": 27, + "x": 312, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 73, + "width": 11, + "height": 27, + "x": 351, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 74, + "width": 11, + "height": 27, + "x": 390, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 75, + "width": 23, + "height": 27, + "x": 429, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 76, + "width": 19, + "height": 27, + "x": 468, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 77, + "width": 30, + "height": 27, + "x": 507, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 78, + "width": 26, + "height": 27, + "x": 546, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 79, + "width": 28, + "height": 27, + "x": 585, + "y": 164, + "frameW": 39, + "frameH": 41 + }, + { + "code": 80, + "width": 20, + "height": 27, + "x": 0, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 81, + "width": 28, + "height": 27, + "x": 39, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 82, + "width": 25, + "height": 27, + "x": 78, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 83, + "width": 19, + "height": 27, + "x": 117, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 84, + "width": 28, + "height": 27, + "x": 156, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 85, + "width": 31, + "height": 27, + "x": 195, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 86, + "width": 31, + "height": 27, + "x": 234, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 87, + "width": 41, + "height": 27, + "x": 273, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 88, + "width": 29, + "height": 27, + "x": 312, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 89, + "width": 29, + "height": 27, + "x": 351, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 90, + "width": 22, + "height": 27, + "x": 390, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 91, + "width": 11, + "height": 27, + "x": 429, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 92, + "width": 21, + "height": 27, + "x": 468, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 93, + "width": 11, + "height": 27, + "x": 507, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 94, + "width": 12, + "height": 27, + "x": 546, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 95, + "width": 21, + "height": 27, + "x": 585, + "y": 205, + "frameW": 39, + "frameH": 41 + }, + { + "code": 96, + "width": 12, + "height": 27, + "x": 0, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 97, + "width": 26, + "height": 27, + "x": 39, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 98, + "width": 17, + "height": 27, + "x": 78, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 99, + "width": 20, + "height": 27, + "x": 117, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 100, + "width": 21, + "height": 27, + "x": 156, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 101, + "width": 17, + "height": 27, + "x": 195, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 102, + "width": 17, + "height": 27, + "x": 234, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 103, + "width": 20, + "height": 27, + "x": 273, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 104, + "width": 19, + "height": 27, + "x": 312, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 105, + "width": 10, + "height": 27, + "x": 351, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 106, + "width": 10, + "height": 27, + "x": 390, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 107, + "width": 19, + "height": 27, + "x": 429, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 108, + "width": 17, + "height": 27, + "x": 468, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 109, + "width": 24, + "height": 27, + "x": 507, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 110, + "width": 21, + "height": 27, + "x": 546, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 111, + "width": 23, + "height": 27, + "x": 585, + "y": 246, + "frameW": 39, + "frameH": 41 + }, + { + "code": 112, + "width": 17, + "height": 27, + "x": 0, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 113, + "width": 24, + "height": 27, + "x": 39, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 114, + "width": 21, + "height": 27, + "x": 78, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 115, + "width": 16, + "height": 27, + "x": 117, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 116, + "width": 23, + "height": 27, + "x": 156, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 117, + "width": 25, + "height": 27, + "x": 195, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 118, + "width": 26, + "height": 27, + "x": 234, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 119, + "width": 33, + "height": 27, + "x": 273, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 120, + "width": 24, + "height": 27, + "x": 312, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 121, + "width": 24, + "height": 27, + "x": 351, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 122, + "width": 18, + "height": 27, + "x": 390, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 123, + "width": 16, + "height": 27, + "x": 429, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 124, + "width": 7, + "height": 27, + "x": 468, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 125, + "width": 15, + "height": 27, + "x": 507, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 126, + "width": 13, + "height": 27, + "x": 546, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 127, + "width": 29, + "height": 27, + "x": 585, + "y": 287, + "frameW": 39, + "frameH": 41 + }, + { + "code": 128, + "width": 29, + "height": 27, + "x": 0, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 129, + "width": 29, + "height": 27, + "x": 39, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 130, + "width": 29, + "height": 27, + "x": 78, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 131, + "width": 29, + "height": 27, + "x": 117, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 132, + "width": 29, + "height": 27, + "x": 156, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 133, + "width": 29, + "height": 27, + "x": 195, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 134, + "width": 29, + "height": 27, + "x": 234, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 135, + "width": 29, + "height": 27, + "x": 273, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 136, + "width": 29, + "height": 27, + "x": 312, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 137, + "width": 29, + "height": 27, + "x": 351, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 138, + "width": 29, + "height": 27, + "x": 390, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 139, + "width": 29, + "height": 27, + "x": 429, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 140, + "width": 29, + "height": 27, + "x": 468, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 141, + "width": 29, + "height": 27, + "x": 507, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 142, + "width": 29, + "height": 27, + "x": 546, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 143, + "width": 29, + "height": 27, + "x": 585, + "y": 328, + "frameW": 39, + "frameH": 41 + }, + { + "code": 144, + "width": 29, + "height": 27, + "x": 0, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 145, + "width": 12, + "height": 27, + "x": 39, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 146, + "width": 11, + "height": 27, + "x": 78, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 147, + "width": 29, + "height": 27, + "x": 117, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 148, + "width": 29, + "height": 27, + "x": 156, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 149, + "width": 29, + "height": 27, + "x": 195, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 150, + "width": 29, + "height": 27, + "x": 234, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 151, + "width": 29, + "height": 27, + "x": 273, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 152, + "width": 29, + "height": 27, + "x": 312, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 153, + "width": 29, + "height": 27, + "x": 351, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 154, + "width": 29, + "height": 27, + "x": 390, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 155, + "width": 29, + "height": 27, + "x": 429, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 156, + "width": 29, + "height": 27, + "x": 468, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 157, + "width": 29, + "height": 27, + "x": 507, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 158, + "width": 29, + "height": 27, + "x": 546, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 159, + "width": 29, + "height": 27, + "x": 585, + "y": 369, + "frameW": 39, + "frameH": 41 + }, + { + "code": 160, + "width": 21, + "height": 27, + "x": 0, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 161, + "width": 21, + "height": 27, + "x": 39, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 162, + "width": 18, + "height": 27, + "x": 78, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 163, + "width": 20, + "height": 27, + "x": 117, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 164, + "width": 19, + "height": 27, + "x": 156, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 165, + "width": 29, + "height": 27, + "x": 195, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 166, + "width": 6, + "height": 27, + "x": 234, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 167, + "width": 16, + "height": 27, + "x": 273, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 168, + "width": 14, + "height": 27, + "x": 312, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 169, + "width": 28, + "height": 27, + "x": 351, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 170, + "width": 19, + "height": 27, + "x": 390, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 171, + "width": 17, + "height": 27, + "x": 429, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 172, + "width": 24, + "height": 27, + "x": 468, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 173, + "width": 13, + "height": 27, + "x": 507, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 174, + "width": 28, + "height": 27, + "x": 546, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 175, + "width": 13, + "height": 27, + "x": 585, + "y": 410, + "frameW": 39, + "frameH": 41 + }, + { + "code": 176, + "width": 14, + "height": 27, + "x": 0, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 177, + "width": 20, + "height": 27, + "x": 39, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 178, + "width": 15, + "height": 27, + "x": 78, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 179, + "width": 14, + "height": 27, + "x": 117, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 180, + "width": 11, + "height": 27, + "x": 156, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 181, + "width": 32, + "height": 27, + "x": 195, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 182, + "width": 20, + "height": 27, + "x": 234, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 183, + "width": 20, + "height": 27, + "x": 273, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 184, + "width": 19, + "height": 27, + "x": 312, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 185, + "width": 9, + "height": 27, + "x": 351, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 186, + "width": 18, + "height": 27, + "x": 390, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 187, + "width": 18, + "height": 27, + "x": 429, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 188, + "width": 27, + "height": 27, + "x": 468, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 189, + "width": 25, + "height": 27, + "x": 507, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 190, + "width": 30, + "height": 27, + "x": 546, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 191, + "width": 19, + "height": 27, + "x": 585, + "y": 451, + "frameW": 39, + "frameH": 41 + }, + { + "code": 192, + "width": 29, + "height": 27, + "x": 0, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 193, + "width": 30, + "height": 27, + "x": 39, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 194, + "width": 30, + "height": 27, + "x": 78, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 195, + "width": 30, + "height": 27, + "x": 117, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 196, + "width": 30, + "height": 27, + "x": 156, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 197, + "width": 30, + "height": 27, + "x": 195, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 198, + "width": 29, + "height": 27, + "x": 234, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 199, + "width": 23, + "height": 27, + "x": 273, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 200, + "width": 19, + "height": 27, + "x": 312, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 201, + "width": 18, + "height": 27, + "x": 351, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 202, + "width": 19, + "height": 27, + "x": 390, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 203, + "width": 19, + "height": 27, + "x": 429, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 204, + "width": 13, + "height": 27, + "x": 468, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 205, + "width": 13, + "height": 27, + "x": 507, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 206, + "width": 13, + "height": 27, + "x": 546, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 207, + "width": 14, + "height": 27, + "x": 585, + "y": 492, + "frameW": 39, + "frameH": 41 + }, + { + "code": 208, + "width": 25, + "height": 27, + "x": 0, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 209, + "width": 26, + "height": 27, + "x": 39, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 210, + "width": 28, + "height": 27, + "x": 78, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 211, + "width": 28, + "height": 27, + "x": 117, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 212, + "width": 29, + "height": 27, + "x": 156, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 213, + "width": 29, + "height": 27, + "x": 195, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 214, + "width": 29, + "height": 27, + "x": 234, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 215, + "width": 20, + "height": 27, + "x": 273, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 216, + "width": 28, + "height": 27, + "x": 312, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 217, + "width": 30, + "height": 27, + "x": 351, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 218, + "width": 31, + "height": 27, + "x": 390, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 219, + "width": 31, + "height": 27, + "x": 429, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 220, + "width": 32, + "height": 27, + "x": 468, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 221, + "width": 30, + "height": 27, + "x": 507, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 222, + "width": 19, + "height": 27, + "x": 546, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 223, + "width": 22, + "height": 27, + "x": 585, + "y": 533, + "frameW": 39, + "frameH": 41 + }, + { + "code": 224, + "width": 26, + "height": 27, + "x": 0, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 225, + "width": 25, + "height": 27, + "x": 39, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 226, + "width": 25, + "height": 27, + "x": 78, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 227, + "width": 25, + "height": 27, + "x": 117, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 228, + "width": 25, + "height": 27, + "x": 156, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 229, + "width": 25, + "height": 27, + "x": 195, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 230, + "width": 24, + "height": 27, + "x": 234, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 231, + "width": 20, + "height": 27, + "x": 273, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 232, + "width": 16, + "height": 27, + "x": 312, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 233, + "width": 16, + "height": 27, + "x": 351, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 234, + "width": 16, + "height": 27, + "x": 390, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 235, + "width": 15, + "height": 27, + "x": 429, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 236, + "width": 11, + "height": 27, + "x": 468, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 237, + "width": 11, + "height": 27, + "x": 507, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 238, + "width": 11, + "height": 27, + "x": 546, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 239, + "width": 11, + "height": 27, + "x": 585, + "y": 574, + "frameW": 39, + "frameH": 41 + }, + { + "code": 240, + "width": 18, + "height": 27, + "x": 0, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 241, + "width": 22, + "height": 27, + "x": 39, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 242, + "width": 24, + "height": 27, + "x": 78, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 243, + "width": 24, + "height": 27, + "x": 117, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 244, + "width": 24, + "height": 27, + "x": 156, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 245, + "width": 24, + "height": 27, + "x": 195, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 246, + "width": 24, + "height": 27, + "x": 234, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 247, + "width": 18, + "height": 27, + "x": 273, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 248, + "width": 24, + "height": 27, + "x": 312, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 249, + "width": 25, + "height": 27, + "x": 351, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 250, + "width": 25, + "height": 27, + "x": 390, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 251, + "width": 26, + "height": 27, + "x": 429, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 252, + "width": 26, + "height": 27, + "x": 468, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 253, + "width": 24, + "height": 27, + "x": 507, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 254, + "width": 16, + "height": 27, + "x": 546, + "y": 615, + "frameW": 39, + "frameH": 41 + }, + { + "code": 255, + "width": 24, + "height": 27, + "x": 585, + "y": 615, + "frameW": 39, + "frameH": 41 + } + ] + }, + "fontexocet8": { + "name": "fontexocet8", + "lineHeight": 13, + "capHeight": 8, + "atlasWidth": 256, + "atlasHeight": 256, + "glyphs": [ + { + "code": 0, + "width": 8, + "height": 13, + "x": 0, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 1, + "width": 8, + "height": 13, + "x": 16, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 2, + "width": 8, + "height": 13, + "x": 32, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 3, + "width": 8, + "height": 13, + "x": 48, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 4, + "width": 8, + "height": 13, + "x": 64, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 5, + "width": 8, + "height": 13, + "x": 80, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 6, + "width": 8, + "height": 13, + "x": 96, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 7, + "width": 8, + "height": 13, + "x": 112, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 8, + "width": 8, + "height": 13, + "x": 128, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 9, + "width": 8, + "height": 13, + "x": 144, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 10, + "width": 8, + "height": 13, + "x": 160, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 11, + "width": 8, + "height": 13, + "x": 176, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 12, + "width": 8, + "height": 13, + "x": 192, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 13, + "width": 8, + "height": 13, + "x": 208, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 14, + "width": 8, + "height": 13, + "x": 224, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 15, + "width": 8, + "height": 13, + "x": 240, + "y": 0, + "frameW": 13, + "frameH": 13 + }, + { + "code": 16, + "width": 8, + "height": 13, + "x": 0, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 17, + "width": 8, + "height": 13, + "x": 16, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 18, + "width": 8, + "height": 13, + "x": 32, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 19, + "width": 8, + "height": 13, + "x": 48, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 20, + "width": 8, + "height": 13, + "x": 64, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 21, + "width": 8, + "height": 13, + "x": 80, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 22, + "width": 8, + "height": 13, + "x": 96, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 23, + "width": 8, + "height": 13, + "x": 112, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 24, + "width": 8, + "height": 13, + "x": 128, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 25, + "width": 8, + "height": 13, + "x": 144, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 26, + "width": 8, + "height": 13, + "x": 160, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 27, + "width": 8, + "height": 13, + "x": 176, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 28, + "width": 8, + "height": 13, + "x": 192, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 29, + "width": 8, + "height": 13, + "x": 208, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 30, + "width": 8, + "height": 13, + "x": 224, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 31, + "width": 8, + "height": 13, + "x": 240, + "y": 16, + "frameW": 13, + "frameH": 13 + }, + { + "code": 32, + "width": 4, + "height": 13, + "x": 0, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 33, + "width": 4, + "height": 13, + "x": 16, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 34, + "width": 6, + "height": 13, + "x": 32, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 35, + "width": 6, + "height": 13, + "x": 48, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 36, + "width": 7, + "height": 13, + "x": 64, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 37, + "width": 9, + "height": 13, + "x": 80, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 38, + "width": 8, + "height": 13, + "x": 96, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 39, + "width": 4, + "height": 13, + "x": 112, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 40, + "width": 5, + "height": 13, + "x": 128, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 41, + "width": 5, + "height": 13, + "x": 144, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 42, + "width": 5, + "height": 13, + "x": 160, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 43, + "width": 7, + "height": 13, + "x": 176, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 44, + "width": 4, + "height": 13, + "x": 192, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 45, + "width": 6, + "height": 13, + "x": 208, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 46, + "width": 4, + "height": 13, + "x": 224, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 47, + "width": 5, + "height": 13, + "x": 240, + "y": 32, + "frameW": 13, + "frameH": 13 + }, + { + "code": 48, + "width": 9, + "height": 13, + "x": 0, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 49, + "width": 5, + "height": 13, + "x": 16, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 50, + "width": 7, + "height": 13, + "x": 32, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 51, + "width": 7, + "height": 13, + "x": 48, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 52, + "width": 7, + "height": 13, + "x": 64, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 53, + "width": 7, + "height": 13, + "x": 80, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 54, + "width": 7, + "height": 13, + "x": 96, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 55, + "width": 7, + "height": 13, + "x": 112, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 56, + "width": 7, + "height": 13, + "x": 128, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 57, + "width": 7, + "height": 13, + "x": 144, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 58, + "width": 4, + "height": 13, + "x": 160, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 59, + "width": 4, + "height": 13, + "x": 176, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 60, + "width": 7, + "height": 13, + "x": 192, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 61, + "width": 6, + "height": 13, + "x": 208, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 62, + "width": 7, + "height": 13, + "x": 224, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 63, + "width": 7, + "height": 13, + "x": 240, + "y": 48, + "frameW": 13, + "frameH": 13 + }, + { + "code": 64, + "width": 9, + "height": 13, + "x": 0, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 65, + "width": 9, + "height": 13, + "x": 16, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 66, + "width": 7, + "height": 13, + "x": 32, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 67, + "width": 8, + "height": 13, + "x": 48, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 68, + "width": 8, + "height": 13, + "x": 64, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 69, + "width": 7, + "height": 13, + "x": 80, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 70, + "width": 7, + "height": 13, + "x": 96, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 71, + "width": 8, + "height": 13, + "x": 112, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 72, + "width": 8, + "height": 13, + "x": 128, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 73, + "width": 5, + "height": 13, + "x": 144, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 74, + "width": 5, + "height": 13, + "x": 160, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 75, + "width": 8, + "height": 13, + "x": 176, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 76, + "width": 7, + "height": 13, + "x": 192, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 77, + "width": 11, + "height": 13, + "x": 208, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 78, + "width": 9, + "height": 13, + "x": 224, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 79, + "width": 9, + "height": 13, + "x": 240, + "y": 64, + "frameW": 13, + "frameH": 13 + }, + { + "code": 80, + "width": 7, + "height": 13, + "x": 0, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 81, + "width": 9, + "height": 13, + "x": 16, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 82, + "width": 8, + "height": 13, + "x": 32, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 83, + "width": 7, + "height": 13, + "x": 48, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 84, + "width": 8, + "height": 13, + "x": 64, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 85, + "width": 10, + "height": 13, + "x": 80, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 86, + "width": 9, + "height": 13, + "x": 96, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 87, + "width": 12, + "height": 13, + "x": 112, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 88, + "width": 9, + "height": 13, + "x": 128, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 89, + "width": 9, + "height": 13, + "x": 144, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 90, + "width": 7, + "height": 13, + "x": 160, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 91, + "width": 5, + "height": 13, + "x": 176, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 92, + "width": 5, + "height": 13, + "x": 192, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 93, + "width": 5, + "height": 13, + "x": 208, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 94, + "width": 5, + "height": 13, + "x": 224, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 95, + "width": 5, + "height": 13, + "x": 240, + "y": 80, + "frameW": 13, + "frameH": 13 + }, + { + "code": 96, + "width": 4, + "height": 13, + "x": 0, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 97, + "width": 9, + "height": 13, + "x": 16, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 98, + "width": 7, + "height": 13, + "x": 32, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 99, + "width": 8, + "height": 13, + "x": 48, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 100, + "width": 8, + "height": 13, + "x": 64, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 101, + "width": 7, + "height": 13, + "x": 80, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 102, + "width": 7, + "height": 13, + "x": 96, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 103, + "width": 8, + "height": 13, + "x": 112, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 104, + "width": 8, + "height": 13, + "x": 128, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 105, + "width": 5, + "height": 13, + "x": 144, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 106, + "width": 5, + "height": 13, + "x": 160, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 107, + "width": 8, + "height": 13, + "x": 176, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 108, + "width": 7, + "height": 13, + "x": 192, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 109, + "width": 11, + "height": 13, + "x": 208, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 110, + "width": 9, + "height": 13, + "x": 224, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 111, + "width": 9, + "height": 13, + "x": 240, + "y": 96, + "frameW": 13, + "frameH": 13 + }, + { + "code": 112, + "width": 7, + "height": 13, + "x": 0, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 113, + "width": 9, + "height": 13, + "x": 16, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 114, + "width": 8, + "height": 13, + "x": 32, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 115, + "width": 7, + "height": 13, + "x": 48, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 116, + "width": 9, + "height": 13, + "x": 64, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 117, + "width": 10, + "height": 13, + "x": 80, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 118, + "width": 9, + "height": 13, + "x": 96, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 119, + "width": 12, + "height": 13, + "x": 112, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 120, + "width": 9, + "height": 13, + "x": 128, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 121, + "width": 9, + "height": 13, + "x": 144, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 122, + "width": 7, + "height": 13, + "x": 160, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 123, + "width": 5, + "height": 13, + "x": 176, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 124, + "width": 3, + "height": 13, + "x": 192, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 125, + "width": 5, + "height": 13, + "x": 208, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 126, + "width": 5, + "height": 13, + "x": 224, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 127, + "width": 8, + "height": 13, + "x": 240, + "y": 112, + "frameW": 13, + "frameH": 13 + }, + { + "code": 128, + "width": 8, + "height": 13, + "x": 0, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 129, + "width": 8, + "height": 13, + "x": 16, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 130, + "width": 4, + "height": 13, + "x": 32, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 131, + "width": 6, + "height": 13, + "x": 48, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 132, + "width": 6, + "height": 13, + "x": 64, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 133, + "width": 11, + "height": 13, + "x": 80, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 134, + "width": 6, + "height": 13, + "x": 96, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 135, + "width": 7, + "height": 13, + "x": 112, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 136, + "width": 5, + "height": 13, + "x": 128, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 137, + "width": 12, + "height": 13, + "x": 144, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 138, + "width": 7, + "height": 13, + "x": 160, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 139, + "width": 7, + "height": 13, + "x": 176, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 140, + "width": 13, + "height": 13, + "x": 192, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 141, + "width": 8, + "height": 13, + "x": 208, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 142, + "width": 7, + "height": 13, + "x": 224, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 143, + "width": 8, + "height": 13, + "x": 240, + "y": 128, + "frameW": 13, + "frameH": 13 + }, + { + "code": 144, + "width": 8, + "height": 13, + "x": 0, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 145, + "width": 4, + "height": 13, + "x": 16, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 146, + "width": 4, + "height": 13, + "x": 32, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 147, + "width": 6, + "height": 13, + "x": 48, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 148, + "width": 6, + "height": 13, + "x": 64, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 149, + "width": 5, + "height": 13, + "x": 80, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 150, + "width": 4, + "height": 13, + "x": 96, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 151, + "width": 9, + "height": 13, + "x": 112, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 152, + "width": 3, + "height": 13, + "x": 128, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 153, + "width": 11, + "height": 13, + "x": 144, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 154, + "width": 7, + "height": 13, + "x": 160, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 155, + "width": 7, + "height": 13, + "x": 176, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 156, + "width": 13, + "height": 13, + "x": 192, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 157, + "width": 8, + "height": 13, + "x": 208, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 158, + "width": 7, + "height": 13, + "x": 224, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 159, + "width": 9, + "height": 13, + "x": 240, + "y": 144, + "frameW": 13, + "frameH": 13 + }, + { + "code": 160, + "width": 4, + "height": 13, + "x": 0, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 161, + "width": 4, + "height": 13, + "x": 16, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 162, + "width": 6, + "height": 13, + "x": 32, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 163, + "width": 7, + "height": 13, + "x": 48, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 164, + "width": 7, + "height": 13, + "x": 64, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 165, + "width": 9, + "height": 13, + "x": 80, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 166, + "width": 3, + "height": 13, + "x": 96, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 167, + "width": 6, + "height": 13, + "x": 112, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 168, + "width": 3, + "height": 13, + "x": 128, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 169, + "width": 9, + "height": 13, + "x": 144, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 170, + "width": 6, + "height": 13, + "x": 160, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 171, + "width": 7, + "height": 13, + "x": 176, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 172, + "width": 6, + "height": 13, + "x": 192, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 173, + "width": 8, + "height": 13, + "x": 208, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 174, + "width": 9, + "height": 13, + "x": 224, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 175, + "width": 2, + "height": 13, + "x": 240, + "y": 160, + "frameW": 13, + "frameH": 13 + }, + { + "code": 176, + "width": 4, + "height": 13, + "x": 0, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 177, + "width": 6, + "height": 13, + "x": 16, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 178, + "width": 5, + "height": 13, + "x": 32, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 179, + "width": 4, + "height": 13, + "x": 48, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 180, + "width": 5, + "height": 13, + "x": 64, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 181, + "width": 10, + "height": 13, + "x": 80, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 182, + "width": 7, + "height": 13, + "x": 96, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 183, + "width": 7, + "height": 13, + "x": 112, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 184, + "width": 8, + "height": 13, + "x": 128, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 185, + "width": 4, + "height": 13, + "x": 144, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 186, + "width": 6, + "height": 13, + "x": 160, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 187, + "width": 7, + "height": 13, + "x": 176, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 188, + "width": 9, + "height": 13, + "x": 192, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 189, + "width": 9, + "height": 13, + "x": 208, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 190, + "width": 10, + "height": 13, + "x": 224, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 191, + "width": 7, + "height": 13, + "x": 240, + "y": 176, + "frameW": 13, + "frameH": 13 + }, + { + "code": 192, + "width": 9, + "height": 13, + "x": 0, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 193, + "width": 9, + "height": 13, + "x": 16, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 194, + "width": 9, + "height": 13, + "x": 32, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 195, + "width": 9, + "height": 13, + "x": 48, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 196, + "width": 9, + "height": 13, + "x": 64, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 197, + "width": 9, + "height": 13, + "x": 80, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 198, + "width": 10, + "height": 13, + "x": 96, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 199, + "width": 8, + "height": 13, + "x": 112, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 200, + "width": 7, + "height": 13, + "x": 128, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 201, + "width": 7, + "height": 13, + "x": 144, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 202, + "width": 7, + "height": 13, + "x": 160, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 203, + "width": 7, + "height": 13, + "x": 176, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 204, + "width": 5, + "height": 13, + "x": 192, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 205, + "width": 5, + "height": 13, + "x": 208, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 206, + "width": 5, + "height": 13, + "x": 224, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 207, + "width": 5, + "height": 13, + "x": 240, + "y": 192, + "frameW": 13, + "frameH": 13 + }, + { + "code": 208, + "width": 9, + "height": 13, + "x": 0, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 209, + "width": 9, + "height": 13, + "x": 16, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 210, + "width": 9, + "height": 13, + "x": 32, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 211, + "width": 9, + "height": 13, + "x": 48, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 212, + "width": 9, + "height": 13, + "x": 64, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 213, + "width": 9, + "height": 13, + "x": 80, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 214, + "width": 9, + "height": 13, + "x": 96, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 215, + "width": 7, + "height": 13, + "x": 112, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 216, + "width": 9, + "height": 13, + "x": 128, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 217, + "width": 10, + "height": 13, + "x": 144, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 218, + "width": 10, + "height": 13, + "x": 160, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 219, + "width": 10, + "height": 13, + "x": 176, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 220, + "width": 10, + "height": 13, + "x": 192, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 221, + "width": 9, + "height": 13, + "x": 208, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 222, + "width": 7, + "height": 13, + "x": 224, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 223, + "width": 8, + "height": 13, + "x": 240, + "y": 208, + "frameW": 13, + "frameH": 13 + }, + { + "code": 224, + "width": 9, + "height": 13, + "x": 0, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 225, + "width": 9, + "height": 13, + "x": 16, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 226, + "width": 9, + "height": 13, + "x": 32, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 227, + "width": 9, + "height": 13, + "x": 48, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 228, + "width": 9, + "height": 13, + "x": 64, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 229, + "width": 9, + "height": 13, + "x": 80, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 230, + "width": 10, + "height": 13, + "x": 96, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 231, + "width": 8, + "height": 13, + "x": 112, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 232, + "width": 7, + "height": 13, + "x": 128, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 233, + "width": 7, + "height": 13, + "x": 144, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 234, + "width": 7, + "height": 13, + "x": 160, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 235, + "width": 7, + "height": 13, + "x": 176, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 236, + "width": 5, + "height": 13, + "x": 192, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 237, + "width": 5, + "height": 13, + "x": 208, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 238, + "width": 5, + "height": 13, + "x": 224, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 239, + "width": 5, + "height": 13, + "x": 240, + "y": 224, + "frameW": 13, + "frameH": 13 + }, + { + "code": 240, + "width": 9, + "height": 13, + "x": 0, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 241, + "width": 9, + "height": 13, + "x": 16, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 242, + "width": 9, + "height": 13, + "x": 32, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 243, + "width": 9, + "height": 13, + "x": 48, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 244, + "width": 9, + "height": 13, + "x": 64, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 245, + "width": 9, + "height": 13, + "x": 80, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 246, + "width": 9, + "height": 13, + "x": 96, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 247, + "width": 6, + "height": 13, + "x": 112, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 248, + "width": 9, + "height": 13, + "x": 128, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 249, + "width": 10, + "height": 13, + "x": 144, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 250, + "width": 10, + "height": 13, + "x": 160, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 251, + "width": 10, + "height": 13, + "x": 176, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 252, + "width": 10, + "height": 13, + "x": 192, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 253, + "width": 9, + "height": 13, + "x": 208, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 254, + "width": 7, + "height": 13, + "x": 224, + "y": 240, + "frameW": 13, + "frameH": 13 + }, + { + "code": 255, + "width": 9, + "height": 13, + "x": 240, + "y": 240, + "frameW": 13, + "frameH": 13 + } + ] + }, + "fontexocet10": { + "name": "fontexocet10", + "lineHeight": 10, + "capHeight": 20, + "atlasWidth": 272, + "atlasHeight": 288, + "glyphs": [ + { + "code": 0, + "width": 13, + "height": 10, + "x": 0, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 1, + "width": 13, + "height": 10, + "x": 17, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 2, + "width": 13, + "height": 10, + "x": 34, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 3, + "width": 13, + "height": 10, + "x": 51, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 4, + "width": 13, + "height": 10, + "x": 68, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 5, + "width": 13, + "height": 10, + "x": 85, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 6, + "width": 13, + "height": 10, + "x": 102, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 7, + "width": 13, + "height": 10, + "x": 119, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 8, + "width": 13, + "height": 10, + "x": 136, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 9, + "width": 13, + "height": 10, + "x": 153, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 10, + "width": 13, + "height": 10, + "x": 170, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 11, + "width": 13, + "height": 10, + "x": 187, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 12, + "width": 13, + "height": 10, + "x": 204, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 13, + "width": 13, + "height": 10, + "x": 221, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 14, + "width": 13, + "height": 10, + "x": 238, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 15, + "width": 13, + "height": 10, + "x": 255, + "y": 0, + "frameW": 17, + "frameH": 18 + }, + { + "code": 16, + "width": 13, + "height": 10, + "x": 0, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 17, + "width": 13, + "height": 10, + "x": 17, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 18, + "width": 13, + "height": 10, + "x": 34, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 19, + "width": 13, + "height": 10, + "x": 51, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 20, + "width": 13, + "height": 10, + "x": 68, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 21, + "width": 13, + "height": 10, + "x": 85, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 22, + "width": 13, + "height": 10, + "x": 102, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 23, + "width": 13, + "height": 10, + "x": 119, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 24, + "width": 13, + "height": 10, + "x": 136, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 25, + "width": 13, + "height": 10, + "x": 153, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 26, + "width": 13, + "height": 10, + "x": 170, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 27, + "width": 13, + "height": 10, + "x": 187, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 28, + "width": 13, + "height": 10, + "x": 204, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 29, + "width": 13, + "height": 10, + "x": 221, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 30, + "width": 13, + "height": 10, + "x": 238, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 31, + "width": 13, + "height": 10, + "x": 255, + "y": 18, + "frameW": 17, + "frameH": 18 + }, + { + "code": 32, + "width": 9, + "height": 10, + "x": 0, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 33, + "width": 9, + "height": 10, + "x": 17, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 34, + "width": 10, + "height": 10, + "x": 34, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 35, + "width": 9, + "height": 10, + "x": 51, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 36, + "width": 9, + "height": 10, + "x": 68, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 37, + "width": 14, + "height": 10, + "x": 85, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 38, + "width": 13, + "height": 10, + "x": 102, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 39, + "width": 6, + "height": 10, + "x": 119, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 40, + "width": 7, + "height": 10, + "x": 136, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 41, + "width": 7, + "height": 10, + "x": 153, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 42, + "width": 7, + "height": 10, + "x": 170, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 43, + "width": 11, + "height": 10, + "x": 187, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 44, + "width": 6, + "height": 10, + "x": 204, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 45, + "width": 9, + "height": 10, + "x": 221, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 46, + "width": 5, + "height": 10, + "x": 238, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 47, + "width": 9, + "height": 10, + "x": 255, + "y": 36, + "frameW": 17, + "frameH": 18 + }, + { + "code": 48, + "width": 13, + "height": 10, + "x": 0, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 49, + "width": 6, + "height": 10, + "x": 17, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 50, + "width": 9, + "height": 10, + "x": 34, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 51, + "width": 9, + "height": 10, + "x": 51, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 52, + "width": 9, + "height": 10, + "x": 68, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 53, + "width": 9, + "height": 10, + "x": 85, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 54, + "width": 9, + "height": 10, + "x": 102, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 55, + "width": 10, + "height": 10, + "x": 119, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 56, + "width": 8, + "height": 10, + "x": 136, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 57, + "width": 9, + "height": 10, + "x": 153, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 58, + "width": 6, + "height": 10, + "x": 170, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 59, + "width": 6, + "height": 10, + "x": 187, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 60, + "width": 9, + "height": 10, + "x": 204, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 61, + "width": 10, + "height": 10, + "x": 221, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 62, + "width": 9, + "height": 10, + "x": 238, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 63, + "width": 9, + "height": 10, + "x": 255, + "y": 54, + "frameW": 17, + "frameH": 18 + }, + { + "code": 64, + "width": 12, + "height": 10, + "x": 0, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 65, + "width": 13, + "height": 10, + "x": 17, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 66, + "width": 9, + "height": 10, + "x": 34, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 67, + "width": 10, + "height": 10, + "x": 51, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 68, + "width": 11, + "height": 10, + "x": 68, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 69, + "width": 9, + "height": 10, + "x": 85, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 70, + "width": 9, + "height": 10, + "x": 102, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 71, + "width": 10, + "height": 10, + "x": 119, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 72, + "width": 11, + "height": 10, + "x": 136, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 73, + "width": 6, + "height": 10, + "x": 153, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 74, + "width": 7, + "height": 10, + "x": 170, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 75, + "width": 12, + "height": 10, + "x": 187, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 76, + "width": 9, + "height": 10, + "x": 204, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 77, + "width": 15, + "height": 10, + "x": 221, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 78, + "width": 11, + "height": 10, + "x": 238, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 79, + "width": 12, + "height": 10, + "x": 255, + "y": 72, + "frameW": 17, + "frameH": 18 + }, + { + "code": 80, + "width": 9, + "height": 10, + "x": 0, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 81, + "width": 12, + "height": 10, + "x": 17, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 82, + "width": 12, + "height": 10, + "x": 34, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 83, + "width": 9, + "height": 10, + "x": 51, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 84, + "width": 12, + "height": 10, + "x": 68, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 85, + "width": 14, + "height": 10, + "x": 85, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 86, + "width": 14, + "height": 10, + "x": 102, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 87, + "width": 18, + "height": 10, + "x": 119, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 88, + "width": 14, + "height": 10, + "x": 136, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 89, + "width": 13, + "height": 10, + "x": 153, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 90, + "width": 10, + "height": 10, + "x": 170, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 91, + "width": 6, + "height": 10, + "x": 187, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 92, + "width": 10, + "height": 10, + "x": 204, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 93, + "width": 6, + "height": 10, + "x": 221, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 94, + "width": 8, + "height": 10, + "x": 238, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 95, + "width": 10, + "height": 10, + "x": 255, + "y": 90, + "frameW": 17, + "frameH": 18 + }, + { + "code": 96, + "width": 7, + "height": 10, + "x": 0, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 97, + "width": 11, + "height": 10, + "x": 17, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 98, + "width": 8, + "height": 10, + "x": 34, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 99, + "width": 9, + "height": 10, + "x": 51, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 100, + "width": 10, + "height": 10, + "x": 68, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 101, + "width": 8, + "height": 10, + "x": 85, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 102, + "width": 8, + "height": 10, + "x": 102, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 103, + "width": 9, + "height": 10, + "x": 119, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 104, + "width": 10, + "height": 10, + "x": 136, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 105, + "width": 5, + "height": 10, + "x": 153, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 106, + "width": 7, + "height": 10, + "x": 170, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 107, + "width": 11, + "height": 10, + "x": 187, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 108, + "width": 8, + "height": 10, + "x": 204, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 109, + "width": 13, + "height": 10, + "x": 221, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 110, + "width": 10, + "height": 10, + "x": 238, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 111, + "width": 11, + "height": 10, + "x": 255, + "y": 108, + "frameW": 17, + "frameH": 18 + }, + { + "code": 112, + "width": 8, + "height": 10, + "x": 0, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 113, + "width": 11, + "height": 10, + "x": 17, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 114, + "width": 10, + "height": 10, + "x": 34, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 115, + "width": 8, + "height": 10, + "x": 51, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 116, + "width": 11, + "height": 10, + "x": 68, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 117, + "width": 12, + "height": 10, + "x": 85, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 118, + "width": 12, + "height": 10, + "x": 102, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 119, + "width": 17, + "height": 10, + "x": 119, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 120, + "width": 13, + "height": 10, + "x": 136, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 121, + "width": 11, + "height": 10, + "x": 153, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 122, + "width": 9, + "height": 10, + "x": 170, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 123, + "width": 7, + "height": 10, + "x": 187, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 124, + "width": 3, + "height": 10, + "x": 204, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 125, + "width": 7, + "height": 10, + "x": 221, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 126, + "width": 7, + "height": 10, + "x": 238, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 127, + "width": 12, + "height": 10, + "x": 255, + "y": 126, + "frameW": 17, + "frameH": 18 + }, + { + "code": 128, + "width": 12, + "height": 10, + "x": 0, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 129, + "width": 12, + "height": 10, + "x": 17, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 130, + "width": 12, + "height": 10, + "x": 34, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 131, + "width": 12, + "height": 10, + "x": 51, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 132, + "width": 12, + "height": 10, + "x": 68, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 133, + "width": 12, + "height": 10, + "x": 85, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 134, + "width": 12, + "height": 10, + "x": 102, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 135, + "width": 12, + "height": 10, + "x": 119, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 136, + "width": 12, + "height": 10, + "x": 136, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 137, + "width": 12, + "height": 10, + "x": 153, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 138, + "width": 12, + "height": 10, + "x": 170, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 139, + "width": 12, + "height": 10, + "x": 187, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 140, + "width": 12, + "height": 10, + "x": 204, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 141, + "width": 12, + "height": 10, + "x": 221, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 142, + "width": 12, + "height": 10, + "x": 238, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 143, + "width": 12, + "height": 10, + "x": 255, + "y": 144, + "frameW": 17, + "frameH": 18 + }, + { + "code": 144, + "width": 12, + "height": 10, + "x": 0, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 145, + "width": 7, + "height": 10, + "x": 17, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 146, + "width": 7, + "height": 10, + "x": 34, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 147, + "width": 12, + "height": 10, + "x": 51, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 148, + "width": 12, + "height": 10, + "x": 68, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 149, + "width": 12, + "height": 10, + "x": 85, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 150, + "width": 12, + "height": 10, + "x": 102, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 151, + "width": 12, + "height": 10, + "x": 119, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 152, + "width": 12, + "height": 10, + "x": 136, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 153, + "width": 12, + "height": 10, + "x": 153, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 154, + "width": 12, + "height": 10, + "x": 170, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 155, + "width": 12, + "height": 10, + "x": 187, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 156, + "width": 12, + "height": 10, + "x": 204, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 157, + "width": 12, + "height": 10, + "x": 221, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 158, + "width": 12, + "height": 10, + "x": 238, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 159, + "width": 12, + "height": 10, + "x": 255, + "y": 162, + "frameW": 17, + "frameH": 18 + }, + { + "code": 160, + "width": 9, + "height": 10, + "x": 0, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 161, + "width": 9, + "height": 10, + "x": 17, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 162, + "width": 8, + "height": 10, + "x": 34, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 163, + "width": 10, + "height": 10, + "x": 51, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 164, + "width": 9, + "height": 10, + "x": 68, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 165, + "width": 14, + "height": 10, + "x": 85, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 166, + "width": 3, + "height": 10, + "x": 102, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 167, + "width": 7, + "height": 10, + "x": 119, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 168, + "width": 7, + "height": 10, + "x": 136, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 169, + "width": 12, + "height": 10, + "x": 153, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 170, + "width": 8, + "height": 10, + "x": 170, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 171, + "width": 9, + "height": 10, + "x": 187, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 172, + "width": 12, + "height": 10, + "x": 204, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 173, + "width": 8, + "height": 10, + "x": 221, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 174, + "width": 12, + "height": 10, + "x": 238, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 175, + "width": 11, + "height": 10, + "x": 255, + "y": 180, + "frameW": 17, + "frameH": 18 + }, + { + "code": 176, + "width": 6, + "height": 10, + "x": 0, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 177, + "width": 11, + "height": 10, + "x": 17, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 178, + "width": 5, + "height": 10, + "x": 34, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 179, + "width": 5, + "height": 10, + "x": 51, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 180, + "width": 6, + "height": 10, + "x": 68, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 181, + "width": 14, + "height": 10, + "x": 85, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 182, + "width": 10, + "height": 10, + "x": 102, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 183, + "width": 8, + "height": 10, + "x": 119, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 184, + "width": 8, + "height": 10, + "x": 136, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 185, + "width": 5, + "height": 10, + "x": 153, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 186, + "width": 9, + "height": 10, + "x": 170, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 187, + "width": 9, + "height": 10, + "x": 187, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 188, + "width": 12, + "height": 10, + "x": 204, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 189, + "width": 12, + "height": 10, + "x": 221, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 190, + "width": 13, + "height": 10, + "x": 238, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 191, + "width": 9, + "height": 10, + "x": 255, + "y": 198, + "frameW": 17, + "frameH": 18 + }, + { + "code": 192, + "width": 14, + "height": 10, + "x": 0, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 193, + "width": 14, + "height": 10, + "x": 17, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 194, + "width": 14, + "height": 10, + "x": 34, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 195, + "width": 14, + "height": 10, + "x": 51, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 196, + "width": 14, + "height": 10, + "x": 68, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 197, + "width": 14, + "height": 10, + "x": 85, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 198, + "width": 15, + "height": 10, + "x": 102, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 199, + "width": 10, + "height": 10, + "x": 119, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 200, + "width": 9, + "height": 10, + "x": 136, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 201, + "width": 9, + "height": 10, + "x": 153, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 202, + "width": 9, + "height": 10, + "x": 170, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 203, + "width": 9, + "height": 10, + "x": 187, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 204, + "width": 7, + "height": 10, + "x": 204, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 205, + "width": 7, + "height": 10, + "x": 221, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 206, + "width": 6, + "height": 10, + "x": 238, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 207, + "width": 8, + "height": 10, + "x": 255, + "y": 216, + "frameW": 17, + "frameH": 18 + }, + { + "code": 208, + "width": 11, + "height": 10, + "x": 0, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 209, + "width": 11, + "height": 10, + "x": 17, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 210, + "width": 12, + "height": 10, + "x": 34, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 211, + "width": 12, + "height": 10, + "x": 51, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 212, + "width": 12, + "height": 10, + "x": 68, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 213, + "width": 12, + "height": 10, + "x": 85, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 214, + "width": 12, + "height": 10, + "x": 102, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 215, + "width": 9, + "height": 10, + "x": 119, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 216, + "width": 13, + "height": 10, + "x": 136, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 217, + "width": 14, + "height": 10, + "x": 153, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 218, + "width": 14, + "height": 10, + "x": 170, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 219, + "width": 14, + "height": 10, + "x": 187, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 220, + "width": 14, + "height": 10, + "x": 204, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 221, + "width": 14, + "height": 10, + "x": 221, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 222, + "width": 9, + "height": 10, + "x": 238, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 223, + "width": 10, + "height": 10, + "x": 255, + "y": 234, + "frameW": 17, + "frameH": 18 + }, + { + "code": 224, + "width": 14, + "height": 10, + "x": 0, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 225, + "width": 14, + "height": 10, + "x": 17, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 226, + "width": 14, + "height": 10, + "x": 34, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 227, + "width": 14, + "height": 10, + "x": 51, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 228, + "width": 14, + "height": 10, + "x": 68, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 229, + "width": 14, + "height": 10, + "x": 85, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 230, + "width": 15, + "height": 10, + "x": 102, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 231, + "width": 10, + "height": 10, + "x": 119, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 232, + "width": 9, + "height": 10, + "x": 136, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 233, + "width": 9, + "height": 10, + "x": 153, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 234, + "width": 9, + "height": 10, + "x": 170, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 235, + "width": 9, + "height": 10, + "x": 187, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 236, + "width": 6, + "height": 10, + "x": 204, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 237, + "width": 7, + "height": 10, + "x": 221, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 238, + "width": 6, + "height": 10, + "x": 238, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 239, + "width": 7, + "height": 10, + "x": 255, + "y": 252, + "frameW": 17, + "frameH": 18 + }, + { + "code": 240, + "width": 11, + "height": 10, + "x": 0, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 241, + "width": 11, + "height": 10, + "x": 17, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 242, + "width": 12, + "height": 10, + "x": 34, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 243, + "width": 12, + "height": 10, + "x": 51, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 244, + "width": 12, + "height": 10, + "x": 68, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 245, + "width": 12, + "height": 10, + "x": 85, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 246, + "width": 12, + "height": 10, + "x": 102, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 247, + "width": 9, + "height": 10, + "x": 119, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 248, + "width": 13, + "height": 10, + "x": 136, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 249, + "width": 14, + "height": 10, + "x": 153, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 250, + "width": 14, + "height": 10, + "x": 170, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 251, + "width": 14, + "height": 10, + "x": 187, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 252, + "width": 14, + "height": 10, + "x": 204, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 253, + "width": 14, + "height": 10, + "x": 221, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 254, + "width": 9, + "height": 10, + "x": 238, + "y": 270, + "frameW": 17, + "frameH": 18 + }, + { + "code": 255, + "width": 14, + "height": 10, + "x": 255, + "y": 270, + "frameW": 17, + "frameH": 18 + } + ] + }, + "fontformal10": { + "name": "fontformal10", + "lineHeight": 15, + "capHeight": 9, + "atlasWidth": 256, + "atlasHeight": 256, + "glyphs": [ + { + "code": 0, + "width": 7, + "height": 15, + "x": 0, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 1, + "width": 7, + "height": 15, + "x": 16, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 2, + "width": 7, + "height": 15, + "x": 32, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 3, + "width": 7, + "height": 15, + "x": 48, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 4, + "width": 7, + "height": 15, + "x": 64, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 5, + "width": 7, + "height": 15, + "x": 80, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 6, + "width": 7, + "height": 15, + "x": 96, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 7, + "width": 7, + "height": 15, + "x": 112, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 8, + "width": 7, + "height": 15, + "x": 128, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 9, + "width": 7, + "height": 15, + "x": 144, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 10, + "width": 7, + "height": 15, + "x": 160, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 11, + "width": 7, + "height": 15, + "x": 176, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 12, + "width": 7, + "height": 15, + "x": 192, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 13, + "width": 7, + "height": 15, + "x": 208, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 14, + "width": 7, + "height": 15, + "x": 224, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 15, + "width": 7, + "height": 15, + "x": 240, + "y": 0, + "frameW": 15, + "frameH": 15 + }, + { + "code": 16, + "width": 7, + "height": 15, + "x": 0, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 17, + "width": 7, + "height": 15, + "x": 16, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 18, + "width": 7, + "height": 15, + "x": 32, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 19, + "width": 7, + "height": 15, + "x": 48, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 20, + "width": 7, + "height": 15, + "x": 64, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 21, + "width": 7, + "height": 15, + "x": 80, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 22, + "width": 7, + "height": 15, + "x": 96, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 23, + "width": 7, + "height": 15, + "x": 112, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 24, + "width": 7, + "height": 15, + "x": 128, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 25, + "width": 7, + "height": 15, + "x": 144, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 26, + "width": 7, + "height": 15, + "x": 160, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 27, + "width": 7, + "height": 15, + "x": 176, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 28, + "width": 7, + "height": 15, + "x": 192, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 29, + "width": 7, + "height": 15, + "x": 208, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 30, + "width": 7, + "height": 15, + "x": 224, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 31, + "width": 7, + "height": 15, + "x": 240, + "y": 16, + "frameW": 15, + "frameH": 15 + }, + { + "code": 32, + "width": 3, + "height": 15, + "x": 0, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 33, + "width": 4, + "height": 15, + "x": 16, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 34, + "width": 4, + "height": 15, + "x": 32, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 35, + "width": 9, + "height": 15, + "x": 48, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 36, + "width": 7, + "height": 15, + "x": 64, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 37, + "width": 10, + "height": 15, + "x": 80, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 38, + "width": 8, + "height": 15, + "x": 96, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 39, + "width": 2, + "height": 15, + "x": 112, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 40, + "width": 4, + "height": 15, + "x": 128, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 41, + "width": 4, + "height": 15, + "x": 144, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 42, + "width": 6, + "height": 15, + "x": 160, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 43, + "width": 10, + "height": 15, + "x": 176, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 44, + "width": 3, + "height": 15, + "x": 192, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 45, + "width": 4, + "height": 15, + "x": 208, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 46, + "width": 3, + "height": 15, + "x": 224, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 47, + "width": 3, + "height": 15, + "x": 240, + "y": 32, + "frameW": 15, + "frameH": 15 + }, + { + "code": 48, + "width": 7, + "height": 15, + "x": 0, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 49, + "width": 7, + "height": 15, + "x": 16, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 50, + "width": 7, + "height": 15, + "x": 32, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 51, + "width": 7, + "height": 15, + "x": 48, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 52, + "width": 7, + "height": 15, + "x": 64, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 53, + "width": 7, + "height": 15, + "x": 80, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 54, + "width": 7, + "height": 15, + "x": 96, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 55, + "width": 7, + "height": 15, + "x": 112, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 56, + "width": 7, + "height": 15, + "x": 128, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 57, + "width": 7, + "height": 15, + "x": 144, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 58, + "width": 3, + "height": 15, + "x": 160, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 59, + "width": 3, + "height": 15, + "x": 176, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 60, + "width": 10, + "height": 15, + "x": 192, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 61, + "width": 10, + "height": 15, + "x": 208, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 62, + "width": 10, + "height": 15, + "x": 224, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 63, + "width": 6, + "height": 15, + "x": 240, + "y": 48, + "frameW": 15, + "frameH": 15 + }, + { + "code": 64, + "width": 12, + "height": 15, + "x": 0, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 65, + "width": 8, + "height": 15, + "x": 16, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 66, + "width": 8, + "height": 15, + "x": 32, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 67, + "width": 8, + "height": 15, + "x": 48, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 68, + "width": 9, + "height": 15, + "x": 64, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 69, + "width": 7, + "height": 15, + "x": 80, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 70, + "width": 7, + "height": 15, + "x": 96, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 71, + "width": 9, + "height": 15, + "x": 112, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 72, + "width": 9, + "height": 15, + "x": 128, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 73, + "width": 4, + "height": 15, + "x": 144, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 74, + "width": 4, + "height": 15, + "x": 160, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 75, + "width": 8, + "height": 15, + "x": 176, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 76, + "width": 6, + "height": 15, + "x": 192, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 77, + "width": 11, + "height": 15, + "x": 208, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 78, + "width": 9, + "height": 15, + "x": 224, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 79, + "width": 9, + "height": 15, + "x": 240, + "y": 64, + "frameW": 15, + "frameH": 15 + }, + { + "code": 80, + "width": 7, + "height": 15, + "x": 0, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 81, + "width": 9, + "height": 15, + "x": 16, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 82, + "width": 8, + "height": 15, + "x": 32, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 83, + "width": 7, + "height": 15, + "x": 48, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 84, + "width": 7, + "height": 15, + "x": 64, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 85, + "width": 8, + "height": 15, + "x": 80, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 86, + "width": 8, + "height": 15, + "x": 96, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 87, + "width": 12, + "height": 15, + "x": 112, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 88, + "width": 8, + "height": 15, + "x": 128, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 89, + "width": 8, + "height": 15, + "x": 144, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 90, + "width": 7, + "height": 15, + "x": 160, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 91, + "width": 4, + "height": 15, + "x": 176, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 92, + "width": 3, + "height": 15, + "x": 192, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 93, + "width": 4, + "height": 15, + "x": 208, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 94, + "width": 12, + "height": 15, + "x": 224, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 95, + "width": 6, + "height": 15, + "x": 240, + "y": 80, + "frameW": 15, + "frameH": 15 + }, + { + "code": 96, + "width": 6, + "height": 15, + "x": 0, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 97, + "width": 7, + "height": 15, + "x": 16, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 98, + "width": 7, + "height": 15, + "x": 32, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 99, + "width": 6, + "height": 15, + "x": 48, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 100, + "width": 7, + "height": 15, + "x": 64, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 101, + "width": 7, + "height": 15, + "x": 80, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 102, + "width": 5, + "height": 15, + "x": 96, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 103, + "width": 7, + "height": 15, + "x": 112, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 104, + "width": 7, + "height": 15, + "x": 128, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 105, + "width": 3, + "height": 15, + "x": 144, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 106, + "width": 3, + "height": 15, + "x": 160, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 107, + "width": 6, + "height": 15, + "x": 176, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 108, + "width": 3, + "height": 15, + "x": 192, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 109, + "width": 11, + "height": 15, + "x": 208, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 110, + "width": 7, + "height": 15, + "x": 224, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 111, + "width": 7, + "height": 15, + "x": 240, + "y": 96, + "frameW": 15, + "frameH": 15 + }, + { + "code": 112, + "width": 7, + "height": 15, + "x": 0, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 113, + "width": 7, + "height": 15, + "x": 16, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 114, + "width": 5, + "height": 15, + "x": 32, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 115, + "width": 6, + "height": 15, + "x": 48, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 116, + "width": 5, + "height": 15, + "x": 64, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 117, + "width": 7, + "height": 15, + "x": 80, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 118, + "width": 6, + "height": 15, + "x": 96, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 119, + "width": 9, + "height": 15, + "x": 112, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 120, + "width": 7, + "height": 15, + "x": 128, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 121, + "width": 6, + "height": 15, + "x": 144, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 122, + "width": 6, + "height": 15, + "x": 160, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 123, + "width": 6, + "height": 15, + "x": 176, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 124, + "width": 6, + "height": 15, + "x": 192, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 125, + "width": 6, + "height": 15, + "x": 208, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 126, + "width": 10, + "height": 15, + "x": 224, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 127, + "width": 7, + "height": 15, + "x": 240, + "y": 112, + "frameW": 15, + "frameH": 15 + }, + { + "code": 128, + "width": 7, + "height": 15, + "x": 0, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 129, + "width": 7, + "height": 15, + "x": 16, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 130, + "width": 3, + "height": 15, + "x": 32, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 131, + "width": 7, + "height": 15, + "x": 48, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 132, + "width": 5, + "height": 15, + "x": 64, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 133, + "width": 12, + "height": 15, + "x": 80, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 134, + "width": 6, + "height": 15, + "x": 96, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 135, + "width": 6, + "height": 15, + "x": 112, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 136, + "width": 6, + "height": 15, + "x": 128, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 137, + "width": 15, + "height": 15, + "x": 144, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 138, + "width": 7, + "height": 15, + "x": 160, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 139, + "width": 3, + "height": 15, + "x": 176, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 140, + "width": 12, + "height": 15, + "x": 192, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 141, + "width": 7, + "height": 15, + "x": 208, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 142, + "width": 7, + "height": 15, + "x": 224, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 143, + "width": 7, + "height": 15, + "x": 240, + "y": 128, + "frameW": 15, + "frameH": 15 + }, + { + "code": 144, + "width": 7, + "height": 15, + "x": 0, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 145, + "width": 3, + "height": 15, + "x": 16, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 146, + "width": 3, + "height": 15, + "x": 32, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 147, + "width": 5, + "height": 15, + "x": 48, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 148, + "width": 5, + "height": 15, + "x": 64, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 149, + "width": 7, + "height": 15, + "x": 80, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 150, + "width": 6, + "height": 15, + "x": 96, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 151, + "width": 12, + "height": 15, + "x": 112, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 152, + "width": 6, + "height": 15, + "x": 128, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 153, + "width": 10, + "height": 15, + "x": 144, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 154, + "width": 6, + "height": 15, + "x": 160, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 155, + "width": 3, + "height": 15, + "x": 176, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 156, + "width": 11, + "height": 15, + "x": 192, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 157, + "width": 7, + "height": 15, + "x": 208, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 158, + "width": 6, + "height": 15, + "x": 224, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 159, + "width": 8, + "height": 15, + "x": 240, + "y": 144, + "frameW": 15, + "frameH": 15 + }, + { + "code": 160, + "width": 7, + "height": 15, + "x": 0, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 161, + "width": 4, + "height": 15, + "x": 16, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 162, + "width": 7, + "height": 15, + "x": 32, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 163, + "width": 7, + "height": 15, + "x": 48, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 164, + "width": 7, + "height": 15, + "x": 64, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 165, + "width": 7, + "height": 15, + "x": 80, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 166, + "width": 6, + "height": 15, + "x": 96, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 167, + "width": 6, + "height": 15, + "x": 112, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 168, + "width": 6, + "height": 15, + "x": 128, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 169, + "width": 10, + "height": 15, + "x": 144, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 170, + "width": 5, + "height": 15, + "x": 160, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 171, + "width": 6, + "height": 15, + "x": 176, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 172, + "width": 10, + "height": 15, + "x": 192, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 173, + "width": 4, + "height": 15, + "x": 208, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 174, + "width": 10, + "height": 15, + "x": 224, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 175, + "width": 6, + "height": 15, + "x": 240, + "y": 160, + "frameW": 15, + "frameH": 15 + }, + { + "code": 176, + "width": 4, + "height": 15, + "x": 0, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 177, + "width": 10, + "height": 15, + "x": 16, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 178, + "width": 4, + "height": 15, + "x": 32, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 179, + "width": 4, + "height": 15, + "x": 48, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 180, + "width": 6, + "height": 15, + "x": 64, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 181, + "width": 7, + "height": 15, + "x": 80, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 182, + "width": 6, + "height": 15, + "x": 96, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 183, + "width": 3, + "height": 15, + "x": 112, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 184, + "width": 6, + "height": 15, + "x": 128, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 185, + "width": 4, + "height": 15, + "x": 144, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 186, + "width": 5, + "height": 15, + "x": 160, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 187, + "width": 6, + "height": 15, + "x": 176, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 188, + "width": 11, + "height": 15, + "x": 192, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 189, + "width": 11, + "height": 15, + "x": 208, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 190, + "width": 11, + "height": 15, + "x": 224, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 191, + "width": 6, + "height": 15, + "x": 240, + "y": 176, + "frameW": 15, + "frameH": 15 + }, + { + "code": 192, + "width": 8, + "height": 15, + "x": 0, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 193, + "width": 8, + "height": 15, + "x": 16, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 194, + "width": 8, + "height": 15, + "x": 32, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 195, + "width": 8, + "height": 15, + "x": 48, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 196, + "width": 8, + "height": 15, + "x": 64, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 197, + "width": 8, + "height": 15, + "x": 80, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 198, + "width": 11, + "height": 15, + "x": 96, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 199, + "width": 8, + "height": 15, + "x": 112, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 200, + "width": 7, + "height": 15, + "x": 128, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 201, + "width": 7, + "height": 15, + "x": 144, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 202, + "width": 7, + "height": 15, + "x": 160, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 203, + "width": 7, + "height": 15, + "x": 176, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 204, + "width": 4, + "height": 15, + "x": 192, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 205, + "width": 4, + "height": 15, + "x": 208, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 206, + "width": 4, + "height": 15, + "x": 224, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 207, + "width": 4, + "height": 15, + "x": 240, + "y": 192, + "frameW": 15, + "frameH": 15 + }, + { + "code": 208, + "width": 9, + "height": 15, + "x": 0, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 209, + "width": 9, + "height": 15, + "x": 16, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 210, + "width": 9, + "height": 15, + "x": 32, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 211, + "width": 9, + "height": 15, + "x": 48, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 212, + "width": 9, + "height": 15, + "x": 64, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 213, + "width": 9, + "height": 15, + "x": 80, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 214, + "width": 9, + "height": 15, + "x": 96, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 215, + "width": 10, + "height": 15, + "x": 112, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 216, + "width": 9, + "height": 15, + "x": 128, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 217, + "width": 8, + "height": 15, + "x": 144, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 218, + "width": 8, + "height": 15, + "x": 160, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 219, + "width": 8, + "height": 15, + "x": 176, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 220, + "width": 8, + "height": 15, + "x": 192, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 221, + "width": 8, + "height": 15, + "x": 208, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 222, + "width": 7, + "height": 15, + "x": 224, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 223, + "width": 8, + "height": 15, + "x": 240, + "y": 208, + "frameW": 15, + "frameH": 15 + }, + { + "code": 224, + "width": 7, + "height": 15, + "x": 0, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 225, + "width": 7, + "height": 15, + "x": 16, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 226, + "width": 7, + "height": 15, + "x": 32, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 227, + "width": 7, + "height": 15, + "x": 48, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 228, + "width": 7, + "height": 15, + "x": 64, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 229, + "width": 7, + "height": 15, + "x": 80, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 230, + "width": 11, + "height": 15, + "x": 96, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 231, + "width": 6, + "height": 15, + "x": 112, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 232, + "width": 7, + "height": 15, + "x": 128, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 233, + "width": 7, + "height": 15, + "x": 144, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 234, + "width": 7, + "height": 15, + "x": 160, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 235, + "width": 7, + "height": 15, + "x": 176, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 236, + "width": 3, + "height": 15, + "x": 192, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 237, + "width": 3, + "height": 15, + "x": 208, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 238, + "width": 3, + "height": 15, + "x": 224, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 239, + "width": 3, + "height": 15, + "x": 240, + "y": 224, + "frameW": 15, + "frameH": 15 + }, + { + "code": 240, + "width": 7, + "height": 15, + "x": 0, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 241, + "width": 7, + "height": 15, + "x": 16, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 242, + "width": 7, + "height": 15, + "x": 32, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 243, + "width": 7, + "height": 15, + "x": 48, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 244, + "width": 7, + "height": 15, + "x": 64, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 245, + "width": 7, + "height": 15, + "x": 80, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 246, + "width": 7, + "height": 15, + "x": 96, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 247, + "width": 10, + "height": 15, + "x": 112, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 248, + "width": 7, + "height": 15, + "x": 128, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 249, + "width": 7, + "height": 15, + "x": 144, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 250, + "width": 7, + "height": 15, + "x": 160, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 251, + "width": 7, + "height": 15, + "x": 176, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 252, + "width": 7, + "height": 15, + "x": 192, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 253, + "width": 6, + "height": 15, + "x": 208, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 254, + "width": 7, + "height": 15, + "x": 224, + "y": 240, + "frameW": 15, + "frameH": 15 + }, + { + "code": 255, + "width": 6, + "height": 15, + "x": 240, + "y": 240, + "frameW": 15, + "frameH": 15 + } + ] + }, + "fontformal11": { + "name": "fontformal11", + "lineHeight": 16, + "capHeight": 1, + "atlasWidth": 288, + "atlasHeight": 256, + "glyphs": [ + { + "code": 0, + "width": 9, + "height": 16, + "x": 0, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 1, + "width": 9, + "height": 16, + "x": 18, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 2, + "width": 9, + "height": 16, + "x": 36, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 3, + "width": 9, + "height": 16, + "x": 54, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 4, + "width": 9, + "height": 16, + "x": 72, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 5, + "width": 9, + "height": 16, + "x": 90, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 6, + "width": 9, + "height": 16, + "x": 108, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 7, + "width": 9, + "height": 16, + "x": 126, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 8, + "width": 9, + "height": 16, + "x": 144, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 9, + "width": 9, + "height": 16, + "x": 162, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 10, + "width": 9, + "height": 16, + "x": 180, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 11, + "width": 9, + "height": 16, + "x": 198, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 12, + "width": 9, + "height": 16, + "x": 216, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 13, + "width": 9, + "height": 16, + "x": 234, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 14, + "width": 9, + "height": 16, + "x": 252, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 15, + "width": 9, + "height": 16, + "x": 270, + "y": 0, + "frameW": 18, + "frameH": 16 + }, + { + "code": 16, + "width": 9, + "height": 16, + "x": 0, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 17, + "width": 9, + "height": 16, + "x": 18, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 18, + "width": 9, + "height": 16, + "x": 36, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 19, + "width": 9, + "height": 16, + "x": 54, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 20, + "width": 9, + "height": 16, + "x": 72, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 21, + "width": 9, + "height": 16, + "x": 90, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 22, + "width": 9, + "height": 16, + "x": 108, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 23, + "width": 9, + "height": 16, + "x": 126, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 24, + "width": 9, + "height": 16, + "x": 144, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 25, + "width": 9, + "height": 16, + "x": 162, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 26, + "width": 9, + "height": 16, + "x": 180, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 27, + "width": 9, + "height": 16, + "x": 198, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 28, + "width": 9, + "height": 16, + "x": 216, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 29, + "width": 9, + "height": 16, + "x": 234, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 30, + "width": 9, + "height": 16, + "x": 252, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 31, + "width": 9, + "height": 16, + "x": 270, + "y": 16, + "frameW": 18, + "frameH": 16 + }, + { + "code": 32, + "width": 5, + "height": 16, + "x": 0, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 33, + "width": 5, + "height": 16, + "x": 18, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 34, + "width": 5, + "height": 16, + "x": 36, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 35, + "width": 11, + "height": 16, + "x": 54, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 36, + "width": 8, + "height": 16, + "x": 72, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 37, + "width": 12, + "height": 16, + "x": 90, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 38, + "width": 10, + "height": 16, + "x": 108, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 39, + "width": 3, + "height": 16, + "x": 126, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 40, + "width": 5, + "height": 16, + "x": 144, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 41, + "width": 5, + "height": 16, + "x": 162, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 42, + "width": 8, + "height": 16, + "x": 180, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 43, + "width": 12, + "height": 16, + "x": 198, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 44, + "width": 5, + "height": 16, + "x": 216, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 45, + "width": 5, + "height": 16, + "x": 234, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 46, + "width": 5, + "height": 16, + "x": 252, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 47, + "width": 5, + "height": 16, + "x": 270, + "y": 32, + "frameW": 18, + "frameH": 16 + }, + { + "code": 48, + "width": 8, + "height": 16, + "x": 0, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 49, + "width": 8, + "height": 16, + "x": 18, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 50, + "width": 8, + "height": 16, + "x": 36, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 51, + "width": 8, + "height": 16, + "x": 54, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 52, + "width": 8, + "height": 16, + "x": 72, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 53, + "width": 8, + "height": 16, + "x": 90, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 54, + "width": 8, + "height": 16, + "x": 108, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 55, + "width": 8, + "height": 16, + "x": 126, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 56, + "width": 8, + "height": 16, + "x": 144, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 57, + "width": 8, + "height": 16, + "x": 162, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 58, + "width": 5, + "height": 16, + "x": 180, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 59, + "width": 5, + "height": 16, + "x": 198, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 60, + "width": 12, + "height": 16, + "x": 216, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 61, + "width": 12, + "height": 16, + "x": 234, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 62, + "width": 12, + "height": 16, + "x": 252, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 63, + "width": 8, + "height": 16, + "x": 270, + "y": 48, + "frameW": 18, + "frameH": 16 + }, + { + "code": 64, + "width": 14, + "height": 16, + "x": 0, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 65, + "width": 10, + "height": 16, + "x": 18, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 66, + "width": 9, + "height": 16, + "x": 36, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 67, + "width": 10, + "height": 16, + "x": 54, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 68, + "width": 10, + "height": 16, + "x": 72, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 69, + "width": 9, + "height": 16, + "x": 90, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 70, + "width": 8, + "height": 16, + "x": 108, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 71, + "width": 11, + "height": 16, + "x": 126, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 72, + "width": 11, + "height": 16, + "x": 144, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 73, + "width": 5, + "height": 16, + "x": 162, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 74, + "width": 5, + "height": 16, + "x": 180, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 75, + "width": 9, + "height": 16, + "x": 198, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 76, + "width": 7, + "height": 16, + "x": 216, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 77, + "width": 13, + "height": 16, + "x": 234, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 78, + "width": 11, + "height": 16, + "x": 252, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 79, + "width": 11, + "height": 16, + "x": 270, + "y": 64, + "frameW": 18, + "frameH": 16 + }, + { + "code": 80, + "width": 9, + "height": 16, + "x": 0, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 81, + "width": 11, + "height": 16, + "x": 18, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 82, + "width": 9, + "height": 16, + "x": 36, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 83, + "width": 9, + "height": 16, + "x": 54, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 84, + "width": 9, + "height": 16, + "x": 72, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 85, + "width": 10, + "height": 16, + "x": 90, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 86, + "width": 10, + "height": 16, + "x": 108, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 87, + "width": 14, + "height": 16, + "x": 126, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 88, + "width": 9, + "height": 16, + "x": 144, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 89, + "width": 9, + "height": 16, + "x": 162, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 90, + "width": 9, + "height": 16, + "x": 180, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 91, + "width": 5, + "height": 16, + "x": 198, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 92, + "width": 5, + "height": 16, + "x": 216, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 93, + "width": 5, + "height": 16, + "x": 234, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 94, + "width": 14, + "height": 16, + "x": 252, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 95, + "width": 8, + "height": 16, + "x": 270, + "y": 80, + "frameW": 18, + "frameH": 16 + }, + { + "code": 96, + "width": 8, + "height": 16, + "x": 0, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 97, + "width": 9, + "height": 16, + "x": 18, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 98, + "width": 9, + "height": 16, + "x": 36, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 99, + "width": 8, + "height": 16, + "x": 54, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 100, + "width": 9, + "height": 16, + "x": 72, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 101, + "width": 8, + "height": 16, + "x": 90, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 102, + "width": 6, + "height": 16, + "x": 108, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 103, + "width": 9, + "height": 16, + "x": 126, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 104, + "width": 9, + "height": 16, + "x": 144, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 105, + "width": 4, + "height": 16, + "x": 162, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 106, + "width": 4, + "height": 16, + "x": 180, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 107, + "width": 8, + "height": 16, + "x": 198, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 108, + "width": 4, + "height": 16, + "x": 216, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 109, + "width": 13, + "height": 16, + "x": 234, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 110, + "width": 9, + "height": 16, + "x": 252, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 111, + "width": 9, + "height": 16, + "x": 270, + "y": 96, + "frameW": 18, + "frameH": 16 + }, + { + "code": 112, + "width": 9, + "height": 16, + "x": 0, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 113, + "width": 9, + "height": 16, + "x": 18, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 114, + "width": 7, + "height": 16, + "x": 36, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 115, + "width": 8, + "height": 16, + "x": 54, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 116, + "width": 6, + "height": 16, + "x": 72, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 117, + "width": 9, + "height": 16, + "x": 90, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 118, + "width": 8, + "height": 16, + "x": 108, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 119, + "width": 11, + "height": 16, + "x": 126, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 120, + "width": 8, + "height": 16, + "x": 144, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 121, + "width": 8, + "height": 16, + "x": 162, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 122, + "width": 8, + "height": 16, + "x": 180, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 123, + "width": 8, + "height": 16, + "x": 198, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 124, + "width": 8, + "height": 16, + "x": 216, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 125, + "width": 8, + "height": 16, + "x": 234, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 126, + "width": 12, + "height": 16, + "x": 252, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 127, + "width": 9, + "height": 16, + "x": 270, + "y": 112, + "frameW": 18, + "frameH": 16 + }, + { + "code": 128, + "width": 9, + "height": 16, + "x": 0, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 129, + "width": 9, + "height": 16, + "x": 18, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 130, + "width": 5, + "height": 16, + "x": 36, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 131, + "width": 8, + "height": 16, + "x": 54, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 132, + "width": 7, + "height": 16, + "x": 72, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 133, + "width": 14, + "height": 16, + "x": 90, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 134, + "width": 8, + "height": 16, + "x": 108, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 135, + "width": 8, + "height": 16, + "x": 126, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 136, + "width": 8, + "height": 16, + "x": 144, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 137, + "width": 18, + "height": 16, + "x": 162, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 138, + "width": 9, + "height": 16, + "x": 180, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 139, + "width": 5, + "height": 16, + "x": 198, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 140, + "width": 14, + "height": 16, + "x": 216, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 141, + "width": 9, + "height": 16, + "x": 234, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 142, + "width": 9, + "height": 16, + "x": 252, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 143, + "width": 9, + "height": 16, + "x": 270, + "y": 128, + "frameW": 18, + "frameH": 16 + }, + { + "code": 144, + "width": 9, + "height": 16, + "x": 0, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 145, + "width": 5, + "height": 16, + "x": 18, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 146, + "width": 5, + "height": 16, + "x": 36, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 147, + "width": 7, + "height": 16, + "x": 54, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 148, + "width": 7, + "height": 16, + "x": 72, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 149, + "width": 9, + "height": 16, + "x": 90, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 150, + "width": 8, + "height": 16, + "x": 108, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 151, + "width": 14, + "height": 16, + "x": 126, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 152, + "width": 8, + "height": 16, + "x": 144, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 153, + "width": 12, + "height": 16, + "x": 162, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 154, + "width": 8, + "height": 16, + "x": 180, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 155, + "width": 5, + "height": 16, + "x": 198, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 156, + "width": 13, + "height": 16, + "x": 216, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 157, + "width": 9, + "height": 16, + "x": 234, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 158, + "width": 8, + "height": 16, + "x": 252, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 159, + "width": 9, + "height": 16, + "x": 270, + "y": 144, + "frameW": 18, + "frameH": 16 + }, + { + "code": 160, + "width": 8, + "height": 16, + "x": 0, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 161, + "width": 5, + "height": 16, + "x": 18, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 162, + "width": 8, + "height": 16, + "x": 36, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 163, + "width": 8, + "height": 16, + "x": 54, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 164, + "width": 9, + "height": 16, + "x": 72, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 165, + "width": 8, + "height": 16, + "x": 90, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 166, + "width": 8, + "height": 16, + "x": 108, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 167, + "width": 8, + "height": 16, + "x": 126, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 168, + "width": 8, + "height": 16, + "x": 144, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 169, + "width": 12, + "height": 16, + "x": 162, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 170, + "width": 7, + "height": 16, + "x": 180, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 171, + "width": 7, + "height": 16, + "x": 198, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 172, + "width": 12, + "height": 16, + "x": 216, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 173, + "width": 5, + "height": 16, + "x": 234, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 174, + "width": 12, + "height": 16, + "x": 252, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 175, + "width": 8, + "height": 16, + "x": 270, + "y": 160, + "frameW": 18, + "frameH": 16 + }, + { + "code": 176, + "width": 5, + "height": 16, + "x": 0, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 177, + "width": 12, + "height": 16, + "x": 18, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 178, + "width": 6, + "height": 16, + "x": 36, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 179, + "width": 6, + "height": 16, + "x": 54, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 180, + "width": 8, + "height": 16, + "x": 72, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 181, + "width": 8, + "height": 16, + "x": 90, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 182, + "width": 8, + "height": 16, + "x": 108, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 183, + "width": 5, + "height": 16, + "x": 126, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 184, + "width": 8, + "height": 16, + "x": 144, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 185, + "width": 6, + "height": 16, + "x": 162, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 186, + "width": 7, + "height": 16, + "x": 180, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 187, + "width": 7, + "height": 16, + "x": 198, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 188, + "width": 12, + "height": 16, + "x": 216, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 189, + "width": 12, + "height": 16, + "x": 234, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 190, + "width": 12, + "height": 16, + "x": 252, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 191, + "width": 8, + "height": 16, + "x": 270, + "y": 176, + "frameW": 18, + "frameH": 16 + }, + { + "code": 192, + "width": 10, + "height": 16, + "x": 0, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 193, + "width": 10, + "height": 16, + "x": 18, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 194, + "width": 10, + "height": 16, + "x": 36, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 195, + "width": 10, + "height": 16, + "x": 54, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 196, + "width": 10, + "height": 16, + "x": 72, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 197, + "width": 10, + "height": 16, + "x": 90, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 198, + "width": 13, + "height": 16, + "x": 108, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 199, + "width": 10, + "height": 16, + "x": 126, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 200, + "width": 9, + "height": 16, + "x": 144, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 201, + "width": 9, + "height": 16, + "x": 162, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 202, + "width": 9, + "height": 16, + "x": 180, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 203, + "width": 9, + "height": 16, + "x": 198, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 204, + "width": 5, + "height": 16, + "x": 216, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 205, + "width": 5, + "height": 16, + "x": 234, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 206, + "width": 5, + "height": 16, + "x": 252, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 207, + "width": 5, + "height": 16, + "x": 270, + "y": 192, + "frameW": 18, + "frameH": 16 + }, + { + "code": 208, + "width": 11, + "height": 16, + "x": 0, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 209, + "width": 11, + "height": 16, + "x": 18, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 210, + "width": 11, + "height": 16, + "x": 36, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 211, + "width": 11, + "height": 16, + "x": 54, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 212, + "width": 11, + "height": 16, + "x": 72, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 213, + "width": 11, + "height": 16, + "x": 90, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 214, + "width": 11, + "height": 16, + "x": 108, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 215, + "width": 12, + "height": 16, + "x": 126, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 216, + "width": 11, + "height": 16, + "x": 144, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 217, + "width": 10, + "height": 16, + "x": 162, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 218, + "width": 10, + "height": 16, + "x": 180, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 219, + "width": 10, + "height": 16, + "x": 198, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 220, + "width": 10, + "height": 16, + "x": 216, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 221, + "width": 9, + "height": 16, + "x": 234, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 222, + "width": 9, + "height": 16, + "x": 252, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 223, + "width": 9, + "height": 16, + "x": 270, + "y": 208, + "frameW": 18, + "frameH": 16 + }, + { + "code": 224, + "width": 9, + "height": 16, + "x": 0, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 225, + "width": 9, + "height": 16, + "x": 18, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 226, + "width": 9, + "height": 16, + "x": 36, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 227, + "width": 9, + "height": 16, + "x": 54, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 228, + "width": 9, + "height": 16, + "x": 72, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 229, + "width": 9, + "height": 16, + "x": 90, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 230, + "width": 13, + "height": 16, + "x": 108, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 231, + "width": 8, + "height": 16, + "x": 126, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 232, + "width": 8, + "height": 16, + "x": 144, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 233, + "width": 8, + "height": 16, + "x": 162, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 234, + "width": 8, + "height": 16, + "x": 180, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 235, + "width": 8, + "height": 16, + "x": 198, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 236, + "width": 4, + "height": 16, + "x": 216, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 237, + "width": 4, + "height": 16, + "x": 234, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 238, + "width": 4, + "height": 16, + "x": 252, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 239, + "width": 4, + "height": 16, + "x": 270, + "y": 224, + "frameW": 18, + "frameH": 16 + }, + { + "code": 240, + "width": 9, + "height": 16, + "x": 0, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 241, + "width": 9, + "height": 16, + "x": 18, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 242, + "width": 9, + "height": 16, + "x": 36, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 243, + "width": 9, + "height": 16, + "x": 54, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 244, + "width": 9, + "height": 16, + "x": 72, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 245, + "width": 9, + "height": 16, + "x": 90, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 246, + "width": 9, + "height": 16, + "x": 108, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 247, + "width": 12, + "height": 16, + "x": 126, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 248, + "width": 9, + "height": 16, + "x": 144, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 249, + "width": 9, + "height": 16, + "x": 162, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 250, + "width": 9, + "height": 16, + "x": 180, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 251, + "width": 9, + "height": 16, + "x": 198, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 252, + "width": 9, + "height": 16, + "x": 216, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 253, + "width": 8, + "height": 16, + "x": 234, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 254, + "width": 9, + "height": 16, + "x": 252, + "y": 240, + "frameW": 18, + "frameH": 16 + }, + { + "code": 255, + "width": 8, + "height": 16, + "x": 270, + "y": 240, + "frameW": 18, + "frameH": 16 + } + ] + }, + "fontformal12": { + "name": "fontformal12", + "lineHeight": 20, + "capHeight": 12, + "atlasWidth": 560, + "atlasHeight": 480, + "glyphs": [ + { + "code": 0, + "width": 11, + "height": 20, + "x": 0, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 1, + "width": 11, + "height": 20, + "x": 35, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 2, + "width": 11, + "height": 20, + "x": 70, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 3, + "width": 11, + "height": 20, + "x": 105, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 4, + "width": 11, + "height": 20, + "x": 140, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 5, + "width": 11, + "height": 20, + "x": 175, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 6, + "width": 11, + "height": 20, + "x": 210, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 7, + "width": 11, + "height": 20, + "x": 245, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 8, + "width": 11, + "height": 20, + "x": 280, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 9, + "width": 11, + "height": 20, + "x": 315, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 10, + "width": 11, + "height": 20, + "x": 350, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 11, + "width": 11, + "height": 20, + "x": 385, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 12, + "width": 11, + "height": 20, + "x": 420, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 13, + "width": 11, + "height": 20, + "x": 455, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 14, + "width": 11, + "height": 20, + "x": 490, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 15, + "width": 11, + "height": 20, + "x": 525, + "y": 0, + "frameW": 35, + "frameH": 30 + }, + { + "code": 16, + "width": 11, + "height": 20, + "x": 0, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 17, + "width": 11, + "height": 20, + "x": 35, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 18, + "width": 11, + "height": 20, + "x": 70, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 19, + "width": 11, + "height": 20, + "x": 105, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 20, + "width": 11, + "height": 20, + "x": 140, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 21, + "width": 11, + "height": 20, + "x": 175, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 22, + "width": 11, + "height": 20, + "x": 210, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 23, + "width": 11, + "height": 20, + "x": 245, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 24, + "width": 11, + "height": 20, + "x": 280, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 25, + "width": 11, + "height": 20, + "x": 315, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 26, + "width": 11, + "height": 20, + "x": 350, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 27, + "width": 11, + "height": 20, + "x": 385, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 28, + "width": 11, + "height": 20, + "x": 420, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 29, + "width": 11, + "height": 20, + "x": 455, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 30, + "width": 11, + "height": 20, + "x": 490, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 31, + "width": 11, + "height": 20, + "x": 525, + "y": 30, + "frameW": 35, + "frameH": 30 + }, + { + "code": 32, + "width": 6, + "height": 20, + "x": 0, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 33, + "width": 6, + "height": 20, + "x": 35, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 34, + "width": 6, + "height": 20, + "x": 70, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 35, + "width": 13, + "height": 20, + "x": 105, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 36, + "width": 10, + "height": 20, + "x": 140, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 37, + "width": 15, + "height": 20, + "x": 175, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 38, + "width": 12, + "height": 20, + "x": 210, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 39, + "width": 3, + "height": 20, + "x": 245, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 40, + "width": 6, + "height": 20, + "x": 280, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 41, + "width": 6, + "height": 20, + "x": 315, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 42, + "width": 9, + "height": 20, + "x": 350, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 43, + "width": 14, + "height": 20, + "x": 385, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 44, + "width": 6, + "height": 20, + "x": 420, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 45, + "width": 6, + "height": 20, + "x": 455, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 46, + "width": 6, + "height": 20, + "x": 490, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 47, + "width": 5, + "height": 20, + "x": 525, + "y": 60, + "frameW": 35, + "frameH": 30 + }, + { + "code": 48, + "width": 10, + "height": 20, + "x": 0, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 49, + "width": 10, + "height": 20, + "x": 35, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 50, + "width": 10, + "height": 20, + "x": 70, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 51, + "width": 10, + "height": 20, + "x": 105, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 52, + "width": 10, + "height": 20, + "x": 140, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 53, + "width": 10, + "height": 20, + "x": 175, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 54, + "width": 10, + "height": 20, + "x": 210, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 55, + "width": 10, + "height": 20, + "x": 245, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 56, + "width": 10, + "height": 20, + "x": 280, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 57, + "width": 10, + "height": 20, + "x": 315, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 58, + "width": 6, + "height": 20, + "x": 350, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 59, + "width": 6, + "height": 20, + "x": 385, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 60, + "width": 14, + "height": 20, + "x": 420, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 61, + "width": 14, + "height": 20, + "x": 455, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 62, + "width": 14, + "height": 20, + "x": 490, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 63, + "width": 9, + "height": 20, + "x": 525, + "y": 90, + "frameW": 35, + "frameH": 30 + }, + { + "code": 64, + "width": 17, + "height": 20, + "x": 0, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 65, + "width": 12, + "height": 20, + "x": 35, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 66, + "width": 11, + "height": 20, + "x": 70, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 67, + "width": 12, + "height": 20, + "x": 105, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 68, + "width": 12, + "height": 20, + "x": 140, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 69, + "width": 11, + "height": 20, + "x": 175, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 70, + "width": 10, + "height": 20, + "x": 210, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 71, + "width": 13, + "height": 20, + "x": 245, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 72, + "width": 13, + "height": 20, + "x": 280, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 73, + "width": 6, + "height": 20, + "x": 315, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 74, + "width": 6, + "height": 20, + "x": 350, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 75, + "width": 11, + "height": 20, + "x": 385, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 76, + "width": 9, + "height": 20, + "x": 420, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 77, + "width": 15, + "height": 20, + "x": 455, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 78, + "width": 13, + "height": 20, + "x": 490, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 79, + "width": 13, + "height": 20, + "x": 525, + "y": 120, + "frameW": 35, + "frameH": 30 + }, + { + "code": 80, + "width": 10, + "height": 20, + "x": 0, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 81, + "width": 13, + "height": 20, + "x": 35, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 82, + "width": 11, + "height": 20, + "x": 70, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 83, + "width": 10, + "height": 20, + "x": 105, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 84, + "width": 10, + "height": 20, + "x": 140, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 85, + "width": 12, + "height": 20, + "x": 175, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 86, + "width": 12, + "height": 20, + "x": 210, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 87, + "width": 16, + "height": 20, + "x": 245, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 88, + "width": 11, + "height": 20, + "x": 280, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 89, + "width": 11, + "height": 20, + "x": 315, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 90, + "width": 11, + "height": 20, + "x": 350, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 91, + "width": 6, + "height": 20, + "x": 385, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 92, + "width": 5, + "height": 20, + "x": 420, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 93, + "width": 6, + "height": 20, + "x": 455, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 94, + "width": 17, + "height": 20, + "x": 490, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 95, + "width": 9, + "height": 20, + "x": 525, + "y": 150, + "frameW": 35, + "frameH": 30 + }, + { + "code": 96, + "width": 9, + "height": 20, + "x": 0, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 97, + "width": 11, + "height": 20, + "x": 35, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 98, + "width": 11, + "height": 20, + "x": 70, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 99, + "width": 9, + "height": 20, + "x": 105, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 100, + "width": 11, + "height": 20, + "x": 140, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 101, + "width": 10, + "height": 20, + "x": 175, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 102, + "width": 7, + "height": 20, + "x": 210, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 103, + "width": 11, + "height": 20, + "x": 245, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 104, + "width": 10, + "height": 20, + "x": 280, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 105, + "width": 5, + "height": 20, + "x": 315, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 106, + "width": 5, + "height": 20, + "x": 350, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 107, + "width": 10, + "height": 20, + "x": 385, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 108, + "width": 5, + "height": 20, + "x": 420, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 109, + "width": 16, + "height": 20, + "x": 455, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 110, + "width": 11, + "height": 20, + "x": 490, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 111, + "width": 10, + "height": 20, + "x": 525, + "y": 180, + "frameW": 35, + "frameH": 30 + }, + { + "code": 112, + "width": 11, + "height": 20, + "x": 0, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 113, + "width": 11, + "height": 20, + "x": 35, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 114, + "width": 8, + "height": 20, + "x": 70, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 115, + "width": 9, + "height": 20, + "x": 105, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 116, + "width": 7, + "height": 20, + "x": 140, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 117, + "width": 11, + "height": 20, + "x": 175, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 118, + "width": 9, + "height": 20, + "x": 210, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 119, + "width": 13, + "height": 20, + "x": 245, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 120, + "width": 10, + "height": 20, + "x": 280, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 121, + "width": 10, + "height": 20, + "x": 315, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 122, + "width": 9, + "height": 20, + "x": 350, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 123, + "width": 9, + "height": 20, + "x": 385, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 124, + "width": 9, + "height": 20, + "x": 420, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 125, + "width": 9, + "height": 20, + "x": 455, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 126, + "width": 14, + "height": 20, + "x": 490, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 127, + "width": 11, + "height": 20, + "x": 525, + "y": 210, + "frameW": 35, + "frameH": 30 + }, + { + "code": 128, + "width": 11, + "height": 20, + "x": 0, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 129, + "width": 11, + "height": 20, + "x": 35, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 130, + "width": 6, + "height": 20, + "x": 70, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 131, + "width": 10, + "height": 20, + "x": 105, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 132, + "width": 8, + "height": 20, + "x": 140, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 133, + "width": 17, + "height": 20, + "x": 175, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 134, + "width": 9, + "height": 20, + "x": 210, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 135, + "width": 9, + "height": 20, + "x": 245, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 136, + "width": 9, + "height": 20, + "x": 280, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 137, + "width": 22, + "height": 20, + "x": 315, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 138, + "width": 10, + "height": 20, + "x": 350, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 139, + "width": 6, + "height": 20, + "x": 385, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 140, + "width": 17, + "height": 20, + "x": 420, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 141, + "width": 11, + "height": 20, + "x": 455, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 142, + "width": 11, + "height": 20, + "x": 490, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 143, + "width": 11, + "height": 20, + "x": 525, + "y": 240, + "frameW": 35, + "frameH": 30 + }, + { + "code": 144, + "width": 11, + "height": 20, + "x": 0, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 145, + "width": 6, + "height": 20, + "x": 35, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 146, + "width": 6, + "height": 20, + "x": 70, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 147, + "width": 8, + "height": 20, + "x": 105, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 148, + "width": 8, + "height": 20, + "x": 140, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 149, + "width": 10, + "height": 20, + "x": 175, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 150, + "width": 9, + "height": 20, + "x": 210, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 151, + "width": 17, + "height": 20, + "x": 245, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 152, + "width": 9, + "height": 20, + "x": 280, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 153, + "width": 14, + "height": 20, + "x": 315, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 154, + "width": 9, + "height": 20, + "x": 350, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 155, + "width": 6, + "height": 20, + "x": 385, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 156, + "width": 16, + "height": 20, + "x": 420, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 157, + "width": 11, + "height": 20, + "x": 455, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 158, + "width": 9, + "height": 20, + "x": 490, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 159, + "width": 11, + "height": 20, + "x": 525, + "y": 270, + "frameW": 35, + "frameH": 30 + }, + { + "code": 160, + "width": 10, + "height": 20, + "x": 0, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 161, + "width": 6, + "height": 20, + "x": 35, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 162, + "width": 10, + "height": 20, + "x": 70, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 163, + "width": 10, + "height": 20, + "x": 105, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 164, + "width": 11, + "height": 20, + "x": 140, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 165, + "width": 10, + "height": 20, + "x": 175, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 166, + "width": 9, + "height": 20, + "x": 210, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 167, + "width": 9, + "height": 20, + "x": 245, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 168, + "width": 9, + "height": 20, + "x": 280, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 169, + "width": 14, + "height": 20, + "x": 315, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 170, + "width": 8, + "height": 20, + "x": 350, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 171, + "width": 8, + "height": 20, + "x": 385, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 172, + "width": 14, + "height": 20, + "x": 420, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 173, + "width": 6, + "height": 20, + "x": 455, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 174, + "width": 14, + "height": 20, + "x": 490, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 175, + "width": 9, + "height": 20, + "x": 525, + "y": 300, + "frameW": 35, + "frameH": 30 + }, + { + "code": 176, + "width": 6, + "height": 20, + "x": 0, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 177, + "width": 14, + "height": 20, + "x": 35, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 178, + "width": 7, + "height": 20, + "x": 70, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 179, + "width": 7, + "height": 20, + "x": 105, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 180, + "width": 9, + "height": 20, + "x": 140, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 181, + "width": 10, + "height": 20, + "x": 175, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 182, + "width": 9, + "height": 20, + "x": 210, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 183, + "width": 6, + "height": 20, + "x": 245, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 184, + "width": 9, + "height": 20, + "x": 280, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 185, + "width": 7, + "height": 20, + "x": 315, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 186, + "width": 8, + "height": 20, + "x": 350, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 187, + "width": 8, + "height": 20, + "x": 385, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 188, + "width": 15, + "height": 20, + "x": 420, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 189, + "width": 15, + "height": 20, + "x": 455, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 190, + "width": 15, + "height": 20, + "x": 490, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 191, + "width": 9, + "height": 20, + "x": 525, + "y": 330, + "frameW": 35, + "frameH": 30 + }, + { + "code": 192, + "width": 12, + "height": 20, + "x": 0, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 193, + "width": 12, + "height": 20, + "x": 35, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 194, + "width": 12, + "height": 20, + "x": 70, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 195, + "width": 12, + "height": 20, + "x": 105, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 196, + "width": 12, + "height": 20, + "x": 140, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 197, + "width": 12, + "height": 20, + "x": 175, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 198, + "width": 16, + "height": 20, + "x": 210, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 199, + "width": 12, + "height": 20, + "x": 245, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 200, + "width": 11, + "height": 20, + "x": 280, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 201, + "width": 11, + "height": 20, + "x": 315, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 202, + "width": 11, + "height": 20, + "x": 350, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 203, + "width": 11, + "height": 20, + "x": 385, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 204, + "width": 6, + "height": 20, + "x": 420, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 205, + "width": 6, + "height": 20, + "x": 455, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 206, + "width": 6, + "height": 20, + "x": 490, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 207, + "width": 6, + "height": 20, + "x": 525, + "y": 360, + "frameW": 35, + "frameH": 30 + }, + { + "code": 208, + "width": 13, + "height": 20, + "x": 0, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 209, + "width": 13, + "height": 20, + "x": 35, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 210, + "width": 13, + "height": 20, + "x": 70, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 211, + "width": 13, + "height": 20, + "x": 105, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 212, + "width": 13, + "height": 20, + "x": 140, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 213, + "width": 13, + "height": 20, + "x": 175, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 214, + "width": 13, + "height": 20, + "x": 210, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 215, + "width": 14, + "height": 20, + "x": 245, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 216, + "width": 13, + "height": 20, + "x": 280, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 217, + "width": 12, + "height": 20, + "x": 315, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 218, + "width": 12, + "height": 20, + "x": 350, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 219, + "width": 12, + "height": 20, + "x": 385, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 220, + "width": 12, + "height": 20, + "x": 420, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 221, + "width": 11, + "height": 20, + "x": 455, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 222, + "width": 10, + "height": 20, + "x": 490, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 223, + "width": 11, + "height": 20, + "x": 525, + "y": 390, + "frameW": 35, + "frameH": 30 + }, + { + "code": 224, + "width": 11, + "height": 20, + "x": 0, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 225, + "width": 11, + "height": 20, + "x": 35, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 226, + "width": 11, + "height": 20, + "x": 70, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 227, + "width": 11, + "height": 20, + "x": 105, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 228, + "width": 11, + "height": 20, + "x": 140, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 229, + "width": 11, + "height": 20, + "x": 175, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 230, + "width": 16, + "height": 20, + "x": 210, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 231, + "width": 9, + "height": 20, + "x": 245, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 232, + "width": 10, + "height": 20, + "x": 280, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 233, + "width": 10, + "height": 20, + "x": 315, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 234, + "width": 10, + "height": 20, + "x": 350, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 235, + "width": 10, + "height": 20, + "x": 385, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 236, + "width": 5, + "height": 20, + "x": 420, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 237, + "width": 5, + "height": 20, + "x": 455, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 238, + "width": 5, + "height": 20, + "x": 490, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 239, + "width": 5, + "height": 20, + "x": 525, + "y": 420, + "frameW": 35, + "frameH": 30 + }, + { + "code": 240, + "width": 10, + "height": 20, + "x": 0, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 241, + "width": 11, + "height": 20, + "x": 35, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 242, + "width": 10, + "height": 20, + "x": 70, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 243, + "width": 10, + "height": 20, + "x": 105, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 244, + "width": 10, + "height": 20, + "x": 140, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 245, + "width": 10, + "height": 20, + "x": 175, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 246, + "width": 10, + "height": 20, + "x": 210, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 247, + "width": 14, + "height": 20, + "x": 245, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 248, + "width": 10, + "height": 20, + "x": 280, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 249, + "width": 11, + "height": 20, + "x": 315, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 250, + "width": 11, + "height": 20, + "x": 350, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 251, + "width": 11, + "height": 20, + "x": 385, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 252, + "width": 11, + "height": 20, + "x": 420, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 253, + "width": 10, + "height": 20, + "x": 455, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 254, + "width": 10, + "height": 20, + "x": 490, + "y": 450, + "frameW": 35, + "frameH": 30 + }, + { + "code": 255, + "width": 10, + "height": 20, + "x": 525, + "y": 450, + "frameW": 35, + "frameH": 30 + } + ] + }, + "fontridiculous": { + "name": "fontridiculous", + "lineHeight": 7, + "capHeight": 20, + "atlasWidth": 256, + "atlasHeight": 256, + "glyphs": [ + { + "code": 0, + "width": 10, + "height": 7, + "x": 0, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 1, + "width": 10, + "height": 7, + "x": 16, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 2, + "width": 10, + "height": 7, + "x": 32, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 3, + "width": 10, + "height": 7, + "x": 48, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 4, + "width": 10, + "height": 7, + "x": 64, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 5, + "width": 10, + "height": 7, + "x": 80, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 6, + "width": 10, + "height": 7, + "x": 96, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 7, + "width": 10, + "height": 7, + "x": 112, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 8, + "width": 10, + "height": 7, + "x": 128, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 9, + "width": 10, + "height": 7, + "x": 144, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 10, + "width": 10, + "height": 7, + "x": 160, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 11, + "width": 10, + "height": 7, + "x": 176, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 12, + "width": 10, + "height": 7, + "x": 192, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 13, + "width": 10, + "height": 7, + "x": 208, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 14, + "width": 10, + "height": 7, + "x": 224, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 15, + "width": 10, + "height": 7, + "x": 240, + "y": 0, + "frameW": 12, + "frameH": 14 + }, + { + "code": 16, + "width": 10, + "height": 7, + "x": 0, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 17, + "width": 10, + "height": 7, + "x": 16, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 18, + "width": 10, + "height": 7, + "x": 32, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 19, + "width": 10, + "height": 7, + "x": 48, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 20, + "width": 10, + "height": 7, + "x": 64, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 21, + "width": 10, + "height": 7, + "x": 80, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 22, + "width": 10, + "height": 7, + "x": 96, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 23, + "width": 10, + "height": 7, + "x": 112, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 24, + "width": 10, + "height": 7, + "x": 128, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 25, + "width": 10, + "height": 7, + "x": 144, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 26, + "width": 10, + "height": 7, + "x": 160, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 27, + "width": 10, + "height": 7, + "x": 176, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 28, + "width": 10, + "height": 7, + "x": 192, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 29, + "width": 10, + "height": 7, + "x": 208, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 30, + "width": 10, + "height": 7, + "x": 224, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 31, + "width": 10, + "height": 7, + "x": 240, + "y": 16, + "frameW": 12, + "frameH": 14 + }, + { + "code": 32, + "width": 7, + "height": 7, + "x": 0, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 33, + "width": 7, + "height": 7, + "x": 16, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 34, + "width": 6, + "height": 7, + "x": 32, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 35, + "width": 7, + "height": 7, + "x": 48, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 36, + "width": 6, + "height": 7, + "x": 64, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 37, + "width": 10, + "height": 7, + "x": 80, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 38, + "width": 9, + "height": 7, + "x": 96, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 39, + "width": 4, + "height": 7, + "x": 112, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 40, + "width": 5, + "height": 7, + "x": 128, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 41, + "width": 5, + "height": 7, + "x": 144, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 42, + "width": 5, + "height": 7, + "x": 160, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 43, + "width": 8, + "height": 7, + "x": 176, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 44, + "width": 4, + "height": 7, + "x": 192, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 45, + "width": 7, + "height": 7, + "x": 208, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 46, + "width": 4, + "height": 7, + "x": 224, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 47, + "width": 7, + "height": 7, + "x": 240, + "y": 32, + "frameW": 12, + "frameH": 14 + }, + { + "code": 48, + "width": 10, + "height": 7, + "x": 0, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 49, + "width": 5, + "height": 7, + "x": 16, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 50, + "width": 6, + "height": 7, + "x": 32, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 51, + "width": 6, + "height": 7, + "x": 48, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 52, + "width": 8, + "height": 7, + "x": 64, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 53, + "width": 6, + "height": 7, + "x": 80, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 54, + "width": 6, + "height": 7, + "x": 96, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 55, + "width": 8, + "height": 7, + "x": 112, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 56, + "width": 6, + "height": 7, + "x": 128, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 57, + "width": 6, + "height": 7, + "x": 144, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 58, + "width": 4, + "height": 7, + "x": 160, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 59, + "width": 4, + "height": 7, + "x": 176, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 60, + "width": 6, + "height": 7, + "x": 192, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 61, + "width": 6, + "height": 7, + "x": 208, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 62, + "width": 7, + "height": 7, + "x": 224, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 63, + "width": 7, + "height": 7, + "x": 240, + "y": 48, + "frameW": 12, + "frameH": 14 + }, + { + "code": 64, + "width": 9, + "height": 7, + "x": 0, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 65, + "width": 8, + "height": 7, + "x": 16, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 66, + "width": 7, + "height": 7, + "x": 32, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 67, + "width": 8, + "height": 7, + "x": 48, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 68, + "width": 8, + "height": 7, + "x": 64, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 69, + "width": 7, + "height": 7, + "x": 80, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 70, + "width": 7, + "height": 7, + "x": 96, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 71, + "width": 8, + "height": 7, + "x": 112, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 72, + "width": 9, + "height": 7, + "x": 128, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 73, + "width": 5, + "height": 7, + "x": 144, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 74, + "width": 5, + "height": 7, + "x": 160, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 75, + "width": 8, + "height": 7, + "x": 176, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 76, + "width": 7, + "height": 7, + "x": 192, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 77, + "width": 11, + "height": 7, + "x": 208, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 78, + "width": 8, + "height": 7, + "x": 224, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 79, + "width": 9, + "height": 7, + "x": 240, + "y": 64, + "frameW": 12, + "frameH": 14 + }, + { + "code": 80, + "width": 7, + "height": 7, + "x": 0, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 81, + "width": 9, + "height": 7, + "x": 16, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 82, + "width": 9, + "height": 7, + "x": 32, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 83, + "width": 7, + "height": 7, + "x": 48, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 84, + "width": 8, + "height": 7, + "x": 64, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 85, + "width": 10, + "height": 7, + "x": 80, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 86, + "width": 10, + "height": 7, + "x": 96, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 87, + "width": 12, + "height": 7, + "x": 112, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 88, + "width": 10, + "height": 7, + "x": 128, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 89, + "width": 9, + "height": 7, + "x": 144, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 90, + "width": 8, + "height": 7, + "x": 160, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 91, + "width": 4, + "height": 7, + "x": 176, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 92, + "width": 7, + "height": 7, + "x": 192, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 93, + "width": 4, + "height": 7, + "x": 208, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 94, + "width": 8, + "height": 7, + "x": 224, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 95, + "width": 8, + "height": 7, + "x": 240, + "y": 80, + "frameW": 12, + "frameH": 14 + }, + { + "code": 96, + "width": 6, + "height": 7, + "x": 0, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 97, + "width": 10, + "height": 7, + "x": 16, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 98, + "width": 7, + "height": 7, + "x": 32, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 99, + "width": 8, + "height": 7, + "x": 48, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 100, + "width": 8, + "height": 7, + "x": 64, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 101, + "width": 7, + "height": 7, + "x": 80, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 102, + "width": 8, + "height": 7, + "x": 96, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 103, + "width": 8, + "height": 7, + "x": 112, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 104, + "width": 8, + "height": 7, + "x": 128, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 105, + "width": 5, + "height": 7, + "x": 144, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 106, + "width": 5, + "height": 7, + "x": 160, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 107, + "width": 9, + "height": 7, + "x": 176, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 108, + "width": 7, + "height": 7, + "x": 192, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 109, + "width": 12, + "height": 7, + "x": 208, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 110, + "width": 9, + "height": 7, + "x": 224, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 111, + "width": 10, + "height": 7, + "x": 240, + "y": 96, + "frameW": 12, + "frameH": 14 + }, + { + "code": 112, + "width": 7, + "height": 7, + "x": 0, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 113, + "width": 9, + "height": 7, + "x": 16, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 114, + "width": 9, + "height": 7, + "x": 32, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 115, + "width": 6, + "height": 7, + "x": 48, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 116, + "width": 10, + "height": 7, + "x": 64, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 117, + "width": 10, + "height": 7, + "x": 80, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 118, + "width": 10, + "height": 7, + "x": 96, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 119, + "width": 13, + "height": 7, + "x": 112, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 120, + "width": 11, + "height": 7, + "x": 128, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 121, + "width": 10, + "height": 7, + "x": 144, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 122, + "width": 8, + "height": 7, + "x": 160, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 123, + "width": 6, + "height": 7, + "x": 176, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 124, + "width": 2, + "height": 7, + "x": 192, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 125, + "width": 6, + "height": 7, + "x": 208, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 126, + "width": 6, + "height": 7, + "x": 224, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 127, + "width": 10, + "height": 7, + "x": 240, + "y": 112, + "frameW": 12, + "frameH": 14 + }, + { + "code": 128, + "width": 10, + "height": 7, + "x": 0, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 129, + "width": 10, + "height": 7, + "x": 16, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 130, + "width": 10, + "height": 7, + "x": 32, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 131, + "width": 10, + "height": 7, + "x": 48, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 132, + "width": 10, + "height": 7, + "x": 64, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 133, + "width": 10, + "height": 7, + "x": 80, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 134, + "width": 10, + "height": 7, + "x": 96, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 135, + "width": 10, + "height": 7, + "x": 112, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 136, + "width": 10, + "height": 7, + "x": 128, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 137, + "width": 10, + "height": 7, + "x": 144, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 138, + "width": 10, + "height": 7, + "x": 160, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 139, + "width": 10, + "height": 7, + "x": 176, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 140, + "width": 10, + "height": 7, + "x": 192, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 141, + "width": 10, + "height": 7, + "x": 208, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 142, + "width": 10, + "height": 7, + "x": 224, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 143, + "width": 10, + "height": 7, + "x": 240, + "y": 128, + "frameW": 12, + "frameH": 14 + }, + { + "code": 144, + "width": 10, + "height": 7, + "x": 0, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 145, + "width": 5, + "height": 7, + "x": 16, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 146, + "width": 5, + "height": 7, + "x": 32, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 147, + "width": 10, + "height": 7, + "x": 48, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 148, + "width": 10, + "height": 7, + "x": 64, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 149, + "width": 10, + "height": 7, + "x": 80, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 150, + "width": 10, + "height": 7, + "x": 96, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 151, + "width": 10, + "height": 7, + "x": 112, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 152, + "width": 10, + "height": 7, + "x": 128, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 153, + "width": 10, + "height": 7, + "x": 144, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 154, + "width": 10, + "height": 7, + "x": 160, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 155, + "width": 10, + "height": 7, + "x": 176, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 156, + "width": 10, + "height": 7, + "x": 192, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 157, + "width": 10, + "height": 7, + "x": 208, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 158, + "width": 10, + "height": 7, + "x": 224, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 159, + "width": 10, + "height": 7, + "x": 240, + "y": 144, + "frameW": 12, + "frameH": 14 + }, + { + "code": 160, + "width": 7, + "height": 7, + "x": 0, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 161, + "width": 7, + "height": 7, + "x": 16, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 162, + "width": 6, + "height": 7, + "x": 32, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 163, + "width": 7, + "height": 7, + "x": 48, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 164, + "width": 6, + "height": 7, + "x": 64, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 165, + "width": 10, + "height": 7, + "x": 80, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 166, + "width": 4, + "height": 7, + "x": 96, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 167, + "width": 6, + "height": 7, + "x": 112, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 168, + "width": 6, + "height": 7, + "x": 128, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 169, + "width": 10, + "height": 7, + "x": 144, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 170, + "width": 8, + "height": 7, + "x": 160, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 171, + "width": 8, + "height": 7, + "x": 176, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 172, + "width": 9, + "height": 7, + "x": 192, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 173, + "width": 6, + "height": 7, + "x": 208, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 174, + "width": 10, + "height": 7, + "x": 224, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 175, + "width": 10, + "height": 7, + "x": 240, + "y": 160, + "frameW": 12, + "frameH": 14 + }, + { + "code": 176, + "width": 5, + "height": 7, + "x": 0, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 177, + "width": 8, + "height": 7, + "x": 16, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 178, + "width": 5, + "height": 7, + "x": 32, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 179, + "width": 4, + "height": 7, + "x": 48, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 180, + "width": 5, + "height": 7, + "x": 64, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 181, + "width": 10, + "height": 7, + "x": 80, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 182, + "width": 9, + "height": 7, + "x": 96, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 183, + "width": 6, + "height": 7, + "x": 112, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 184, + "width": 7, + "height": 7, + "x": 128, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 185, + "width": 4, + "height": 7, + "x": 144, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 186, + "width": 7, + "height": 7, + "x": 160, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 187, + "width": 7, + "height": 7, + "x": 176, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 188, + "width": 10, + "height": 7, + "x": 192, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 189, + "width": 10, + "height": 7, + "x": 208, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 190, + "width": 10, + "height": 7, + "x": 224, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 191, + "width": 6, + "height": 7, + "x": 240, + "y": 176, + "frameW": 12, + "frameH": 14 + }, + { + "code": 192, + "width": 8, + "height": 7, + "x": 0, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 193, + "width": 8, + "height": 7, + "x": 16, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 194, + "width": 9, + "height": 7, + "x": 32, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 195, + "width": 8, + "height": 7, + "x": 48, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 196, + "width": 8, + "height": 7, + "x": 64, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 197, + "width": 8, + "height": 7, + "x": 80, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 198, + "width": 11, + "height": 7, + "x": 96, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 199, + "width": 8, + "height": 7, + "x": 112, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 200, + "width": 7, + "height": 7, + "x": 128, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 201, + "width": 7, + "height": 7, + "x": 144, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 202, + "width": 7, + "height": 7, + "x": 160, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 203, + "width": 7, + "height": 7, + "x": 176, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 204, + "width": 6, + "height": 7, + "x": 192, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 205, + "width": 6, + "height": 7, + "x": 208, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 206, + "width": 5, + "height": 7, + "x": 224, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 207, + "width": 6, + "height": 7, + "x": 240, + "y": 192, + "frameW": 12, + "frameH": 14 + }, + { + "code": 208, + "width": 9, + "height": 7, + "x": 0, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 209, + "width": 9, + "height": 7, + "x": 16, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 210, + "width": 10, + "height": 7, + "x": 32, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 211, + "width": 10, + "height": 7, + "x": 48, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 212, + "width": 10, + "height": 7, + "x": 64, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 213, + "width": 10, + "height": 7, + "x": 80, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 214, + "width": 10, + "height": 7, + "x": 96, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 215, + "width": 8, + "height": 7, + "x": 112, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 216, + "width": 10, + "height": 7, + "x": 128, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 217, + "width": 10, + "height": 7, + "x": 144, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 218, + "width": 10, + "height": 7, + "x": 160, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 219, + "width": 10, + "height": 7, + "x": 176, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 220, + "width": 10, + "height": 7, + "x": 192, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 221, + "width": 10, + "height": 7, + "x": 208, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 222, + "width": 7, + "height": 7, + "x": 224, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 223, + "width": 8, + "height": 7, + "x": 240, + "y": 208, + "frameW": 12, + "frameH": 14 + }, + { + "code": 224, + "width": 10, + "height": 7, + "x": 0, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 225, + "width": 10, + "height": 7, + "x": 16, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 226, + "width": 10, + "height": 7, + "x": 32, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 227, + "width": 10, + "height": 7, + "x": 48, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 228, + "width": 10, + "height": 7, + "x": 64, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 229, + "width": 10, + "height": 7, + "x": 80, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 230, + "width": 11, + "height": 7, + "x": 96, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 231, + "width": 8, + "height": 7, + "x": 112, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 232, + "width": 7, + "height": 7, + "x": 128, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 233, + "width": 7, + "height": 7, + "x": 144, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 234, + "width": 7, + "height": 7, + "x": 160, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 235, + "width": 7, + "height": 7, + "x": 176, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 236, + "width": 5, + "height": 7, + "x": 192, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 237, + "width": 6, + "height": 7, + "x": 208, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 238, + "width": 5, + "height": 7, + "x": 224, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 239, + "width": 6, + "height": 7, + "x": 240, + "y": 224, + "frameW": 12, + "frameH": 14 + }, + { + "code": 240, + "width": 8, + "height": 7, + "x": 0, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 241, + "width": 9, + "height": 7, + "x": 16, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 242, + "width": 10, + "height": 7, + "x": 32, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 243, + "width": 10, + "height": 7, + "x": 48, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 244, + "width": 10, + "height": 7, + "x": 64, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 245, + "width": 10, + "height": 7, + "x": 80, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 246, + "width": 10, + "height": 7, + "x": 96, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 247, + "width": 9, + "height": 7, + "x": 112, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 248, + "width": 10, + "height": 7, + "x": 128, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 249, + "width": 10, + "height": 7, + "x": 144, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 250, + "width": 10, + "height": 7, + "x": 160, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 251, + "width": 10, + "height": 7, + "x": 176, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 252, + "width": 10, + "height": 7, + "x": 192, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 253, + "width": 10, + "height": 7, + "x": 208, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 254, + "width": 7, + "height": 7, + "x": 224, + "y": 240, + "frameW": 12, + "frameH": 14 + }, + { + "code": 255, + "width": 10, + "height": 7, + "x": 240, + "y": 240, + "frameW": 12, + "frameH": 14 + } + ] + } +} \ No newline at end of file diff --git a/public/ui/frontend/gembutton.png b/public/ui/frontend/gembutton.png new file mode 100644 index 0000000..60c7133 Binary files /dev/null and b/public/ui/frontend/gembutton.png differ diff --git a/public/ui/frontend/grey-level-box.png b/public/ui/frontend/grey-level-box.png new file mode 100644 index 0000000..927a032 Binary files /dev/null and b/public/ui/frontend/grey-level-box.png differ diff --git a/public/ui/frontend/joingameclickbox.png b/public/ui/frontend/joingameclickbox.png new file mode 100644 index 0000000..3d22056 Binary files /dev/null and b/public/ui/frontend/joingameclickbox.png differ diff --git a/public/ui/frontend/loading-door-strip.png b/public/ui/frontend/loading-door-strip.png new file mode 100644 index 0000000..aa242a0 Binary files /dev/null and b/public/ui/frontend/loading-door-strip.png differ diff --git a/public/ui/frontend/logo-bnet-black.png b/public/ui/frontend/logo-bnet-black.png new file mode 100644 index 0000000..c82b1b0 Binary files /dev/null and b/public/ui/frontend/logo-bnet-black.png differ diff --git a/public/ui/frontend/logo-bnet-fire.png b/public/ui/frontend/logo-bnet-fire.png new file mode 100644 index 0000000..1ff1318 Binary files /dev/null and b/public/ui/frontend/logo-bnet-fire.png differ diff --git a/public/ui/frontend/logo-bnet-strip.png b/public/ui/frontend/logo-bnet-strip.png new file mode 100644 index 0000000..62ceb84 Binary files /dev/null and b/public/ui/frontend/logo-bnet-strip.png differ diff --git a/public/ui/frontend/logo-main-black.png b/public/ui/frontend/logo-main-black.png new file mode 100644 index 0000000..f029553 Binary files /dev/null and b/public/ui/frontend/logo-main-black.png differ diff --git a/public/ui/frontend/logo-main-fire.png b/public/ui/frontend/logo-main-fire.png new file mode 100644 index 0000000..8eb8880 Binary files /dev/null and b/public/ui/frontend/logo-main-fire.png differ diff --git a/public/ui/frontend/logo-main-strip.png b/public/ui/frontend/logo-main-strip.png new file mode 100644 index 0000000..62ceb84 Binary files /dev/null and b/public/ui/frontend/logo-main-strip.png differ diff --git a/public/ui/frontend/manifest.json b/public/ui/frontend/manifest.json new file mode 100644 index 0000000..f6c14e9 --- /dev/null +++ b/public/ui/frontend/manifest.json @@ -0,0 +1,13585 @@ +{ + "version": "1.13c", + "decodedDc6Count": 90, + "animStrips": { + "logoMainBlack": { + "file": "logo-main-black.png", + "width": 2028, + "height": 614, + "frameCount": 30, + "frames": [ + { + "x": 0, + "y": 0, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 338, + "y": 0, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 676, + "y": 0, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1014, + "y": 0, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1352, + "y": 0, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1690, + "y": 0, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 0, + "y": 123, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 338, + "y": 123, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 676, + "y": 123, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1014, + "y": 123, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1352, + "y": 123, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1690, + "y": 123, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 0, + "y": 246, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 338, + "y": 246, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 676, + "y": 246, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1014, + "y": 246, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1352, + "y": 246, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1690, + "y": 246, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 0, + "y": 369, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 338, + "y": 369, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 676, + "y": 369, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1014, + "y": 369, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1352, + "y": 369, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1690, + "y": 369, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 0, + "y": 492, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 338, + "y": 492, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 676, + "y": 492, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1014, + "y": 492, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1352, + "y": 492, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + }, + { + "x": 1690, + "y": 492, + "w": 337, + "h": 122, + "anchorX": -169, + "anchorY": -75 + } + ] + }, + "logoMainFire": { + "file": "logo-main-fire.png", + "width": 1791, + "height": 974, + "frameCount": 30, + "frames": [ + { + "x": 0, + "y": 0, + "w": 348, + "h": 156, + "anchorX": -174, + "anchorY": -103 + }, + { + "x": 349, + "y": 0, + "w": 347, + "h": 156, + "anchorX": -174, + "anchorY": -103 + }, + { + "x": 697, + "y": 0, + "w": 348, + "h": 150, + "anchorX": -174, + "anchorY": -97 + }, + { + "x": 1046, + "y": 0, + "w": 352, + "h": 156, + "anchorX": -176, + "anchorY": -103 + }, + { + "x": 1399, + "y": 0, + "w": 355, + "h": 157, + "anchorX": -178, + "anchorY": -103 + }, + { + "x": 0, + "y": 158, + "w": 357, + "h": 156, + "anchorX": -177, + "anchorY": -103 + }, + { + "x": 358, + "y": 158, + "w": 357, + "h": 164, + "anchorX": -178, + "anchorY": -111 + }, + { + "x": 716, + "y": 158, + "w": 355, + "h": 163, + "anchorX": -178, + "anchorY": -110 + }, + { + "x": 1072, + "y": 158, + "w": 353, + "h": 156, + "anchorX": -175, + "anchorY": -103 + }, + { + "x": 1426, + "y": 158, + "w": 351, + "h": 156, + "anchorX": -174, + "anchorY": -103 + }, + { + "x": 0, + "y": 323, + "w": 354, + "h": 156, + "anchorX": -175, + "anchorY": -103 + }, + { + "x": 355, + "y": 323, + "w": 357, + "h": 156, + "anchorX": -177, + "anchorY": -103 + }, + { + "x": 713, + "y": 323, + "w": 354, + "h": 156, + "anchorX": -177, + "anchorY": -103 + }, + { + "x": 1068, + "y": 323, + "w": 356, + "h": 156, + "anchorX": -178, + "anchorY": -103 + }, + { + "x": 1425, + "y": 323, + "w": 360, + "h": 156, + "anchorX": -180, + "anchorY": -103 + }, + { + "x": 0, + "y": 480, + "w": 354, + "h": 158, + "anchorX": -177, + "anchorY": -105 + }, + { + "x": 355, + "y": 480, + "w": 352, + "h": 163, + "anchorX": -176, + "anchorY": -110 + }, + { + "x": 708, + "y": 480, + "w": 350, + "h": 164, + "anchorX": -175, + "anchorY": -111 + }, + { + "x": 1059, + "y": 480, + "w": 351, + "h": 156, + "anchorX": -176, + "anchorY": -103 + }, + { + "x": 1411, + "y": 480, + "w": 354, + "h": 156, + "anchorX": -177, + "anchorY": -103 + }, + { + "x": 0, + "y": 645, + "w": 354, + "h": 156, + "anchorX": -178, + "anchorY": -103 + }, + { + "x": 355, + "y": 645, + "w": 350, + "h": 156, + "anchorX": -175, + "anchorY": -103 + }, + { + "x": 706, + "y": 645, + "w": 352, + "h": 156, + "anchorX": -176, + "anchorY": -103 + }, + { + "x": 1059, + "y": 645, + "w": 356, + "h": 157, + "anchorX": -178, + "anchorY": -103 + }, + { + "x": 1416, + "y": 645, + "w": 360, + "h": 156, + "anchorX": -180, + "anchorY": -103 + }, + { + "x": 0, + "y": 803, + "w": 359, + "h": 156, + "anchorX": -180, + "anchorY": -103 + }, + { + "x": 360, + "y": 803, + "w": 359, + "h": 169, + "anchorX": -180, + "anchorY": -110 + }, + { + "x": 720, + "y": 803, + "w": 357, + "h": 171, + "anchorX": -179, + "anchorY": -110 + }, + { + "x": 1078, + "y": 803, + "w": 358, + "h": 156, + "anchorX": -179, + "anchorY": -103 + }, + { + "x": 1437, + "y": 803, + "w": 353, + "h": 156, + "anchorX": -175, + "anchorY": -103 + } + ] + }, + "logoBnetBlack": { + "file": "logo-bnet-black.png", + "width": 1962, + "height": 83, + "frameCount": 30, + "frames": [ + { + "x": 0, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 109, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 218, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 327, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 436, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 545, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 654, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 763, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 872, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 981, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 1090, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 1199, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 1308, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 1417, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 1526, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 1635, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 1744, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 1853, + "y": 0, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 0, + "y": 42, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 109, + "y": 42, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 218, + "y": 42, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 327, + "y": 42, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 436, + "y": 42, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 545, + "y": 42, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 654, + "y": 42, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 763, + "y": 42, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 872, + "y": 42, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 981, + "y": 42, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 1090, + "y": 42, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + }, + { + "x": 1199, + "y": 42, + "w": 108, + "h": 41, + "anchorX": -59, + "anchorY": -35 + } + ] + }, + "logoBnetFire": { + "file": "logo-bnet-fire.png", + "width": 2023, + "height": 115, + "frameCount": 30, + "frames": [ + { + "x": 0, + "y": 0, + "w": 118, + "h": 52, + "anchorX": -63, + "anchorY": -41 + }, + { + "x": 119, + "y": 0, + "w": 118, + "h": 53, + "anchorX": -63, + "anchorY": -42 + }, + { + "x": 238, + "y": 0, + "w": 118, + "h": 53, + "anchorX": -63, + "anchorY": -42 + }, + { + "x": 357, + "y": 0, + "w": 118, + "h": 53, + "anchorX": -63, + "anchorY": -42 + }, + { + "x": 476, + "y": 0, + "w": 118, + "h": 53, + "anchorX": -63, + "anchorY": -42 + }, + { + "x": 595, + "y": 0, + "w": 118, + "h": 54, + "anchorX": -63, + "anchorY": -43 + }, + { + "x": 714, + "y": 0, + "w": 118, + "h": 57, + "anchorX": -63, + "anchorY": -46 + }, + { + "x": 833, + "y": 0, + "w": 118, + "h": 57, + "anchorX": -63, + "anchorY": -46 + }, + { + "x": 952, + "y": 0, + "w": 118, + "h": 52, + "anchorX": -63, + "anchorY": -41 + }, + { + "x": 1071, + "y": 0, + "w": 118, + "h": 52, + "anchorX": -63, + "anchorY": -41 + }, + { + "x": 1190, + "y": 0, + "w": 118, + "h": 52, + "anchorX": -63, + "anchorY": -41 + }, + { + "x": 1309, + "y": 0, + "w": 118, + "h": 53, + "anchorX": -63, + "anchorY": -42 + }, + { + "x": 1428, + "y": 0, + "w": 118, + "h": 53, + "anchorX": -63, + "anchorY": -42 + }, + { + "x": 1547, + "y": 0, + "w": 118, + "h": 53, + "anchorX": -63, + "anchorY": -42 + }, + { + "x": 1666, + "y": 0, + "w": 118, + "h": 53, + "anchorX": -63, + "anchorY": -42 + }, + { + "x": 1785, + "y": 0, + "w": 118, + "h": 55, + "anchorX": -63, + "anchorY": -44 + }, + { + "x": 1904, + "y": 0, + "w": 118, + "h": 57, + "anchorX": -63, + "anchorY": -46 + }, + { + "x": 0, + "y": 58, + "w": 118, + "h": 56, + "anchorX": -63, + "anchorY": -45 + }, + { + "x": 119, + "y": 58, + "w": 118, + "h": 52, + "anchorX": -63, + "anchorY": -41 + }, + { + "x": 238, + "y": 58, + "w": 118, + "h": 52, + "anchorX": -63, + "anchorY": -41 + }, + { + "x": 357, + "y": 58, + "w": 118, + "h": 52, + "anchorX": -63, + "anchorY": -41 + }, + { + "x": 476, + "y": 58, + "w": 118, + "h": 52, + "anchorX": -63, + "anchorY": -41 + }, + { + "x": 595, + "y": 58, + "w": 118, + "h": 53, + "anchorX": -63, + "anchorY": -42 + }, + { + "x": 714, + "y": 58, + "w": 118, + "h": 52, + "anchorX": -63, + "anchorY": -41 + }, + { + "x": 833, + "y": 58, + "w": 118, + "h": 52, + "anchorX": -63, + "anchorY": -41 + }, + { + "x": 952, + "y": 58, + "w": 118, + "h": 54, + "anchorX": -63, + "anchorY": -43 + }, + { + "x": 1071, + "y": 58, + "w": 118, + "h": 57, + "anchorX": -63, + "anchorY": -46 + }, + { + "x": 1190, + "y": 58, + "w": 118, + "h": 57, + "anchorX": -63, + "anchorY": -46 + }, + { + "x": 1309, + "y": 58, + "w": 118, + "h": 52, + "anchorX": -63, + "anchorY": -41 + }, + { + "x": 1428, + "y": 58, + "w": 118, + "h": 52, + "anchorX": -63, + "anchorY": -41 + } + ] + }, + "campfireFlame": { + "file": "campfire/fire-strip.png", + "width": 1998, + "height": 309, + "frameCount": 30, + "frames": [ + { + "x": 0, + "y": 0, + "w": 110, + "h": 127, + "anchorX": -34, + "anchorY": 5 + }, + { + "x": 111, + "y": 0, + "w": 110, + "h": 110, + "anchorX": -34, + "anchorY": 22 + }, + { + "x": 222, + "y": 0, + "w": 110, + "h": 127, + "anchorX": -34, + "anchorY": 5 + }, + { + "x": 333, + "y": 0, + "w": 110, + "h": 132, + "anchorX": -34, + "anchorY": 0 + }, + { + "x": 444, + "y": 0, + "w": 110, + "h": 129, + "anchorX": -34, + "anchorY": 3 + }, + { + "x": 555, + "y": 0, + "w": 110, + "h": 89, + "anchorX": -34, + "anchorY": 43 + }, + { + "x": 666, + "y": 0, + "w": 110, + "h": 92, + "anchorX": -34, + "anchorY": 40 + }, + { + "x": 777, + "y": 0, + "w": 110, + "h": 104, + "anchorX": -34, + "anchorY": 28 + }, + { + "x": 888, + "y": 0, + "w": 110, + "h": 99, + "anchorX": -34, + "anchorY": 33 + }, + { + "x": 999, + "y": 0, + "w": 110, + "h": 108, + "anchorX": -34, + "anchorY": 24 + }, + { + "x": 1110, + "y": 0, + "w": 110, + "h": 102, + "anchorX": -34, + "anchorY": 30 + }, + { + "x": 1221, + "y": 0, + "w": 110, + "h": 109, + "anchorX": -34, + "anchorY": 23 + }, + { + "x": 1332, + "y": 0, + "w": 110, + "h": 108, + "anchorX": -34, + "anchorY": 24 + }, + { + "x": 1443, + "y": 0, + "w": 110, + "h": 118, + "anchorX": -34, + "anchorY": 14 + }, + { + "x": 1554, + "y": 0, + "w": 110, + "h": 125, + "anchorX": -34, + "anchorY": 7 + }, + { + "x": 1665, + "y": 0, + "w": 110, + "h": 129, + "anchorX": -34, + "anchorY": 3 + }, + { + "x": 1776, + "y": 0, + "w": 110, + "h": 116, + "anchorX": -34, + "anchorY": 16 + }, + { + "x": 1887, + "y": 0, + "w": 110, + "h": 110, + "anchorX": -34, + "anchorY": 22 + }, + { + "x": 0, + "y": 133, + "w": 110, + "h": 117, + "anchorX": -34, + "anchorY": 15 + }, + { + "x": 111, + "y": 133, + "w": 110, + "h": 116, + "anchorX": -34, + "anchorY": 16 + }, + { + "x": 222, + "y": 133, + "w": 110, + "h": 127, + "anchorX": -34, + "anchorY": 5 + }, + { + "x": 333, + "y": 133, + "w": 110, + "h": 135, + "anchorX": -34, + "anchorY": -3 + }, + { + "x": 444, + "y": 133, + "w": 110, + "h": 151, + "anchorX": -34, + "anchorY": -19 + }, + { + "x": 555, + "y": 133, + "w": 110, + "h": 172, + "anchorX": -34, + "anchorY": -40 + }, + { + "x": 666, + "y": 133, + "w": 110, + "h": 176, + "anchorX": -34, + "anchorY": -44 + }, + { + "x": 777, + "y": 133, + "w": 110, + "h": 145, + "anchorX": -34, + "anchorY": -13 + }, + { + "x": 888, + "y": 133, + "w": 110, + "h": 139, + "anchorX": -34, + "anchorY": -7 + }, + { + "x": 999, + "y": 133, + "w": 110, + "h": 125, + "anchorX": -34, + "anchorY": 7 + }, + { + "x": 1110, + "y": 133, + "w": 110, + "h": 131, + "anchorX": -34, + "anchorY": 1 + }, + { + "x": 1221, + "y": 133, + "w": 110, + "h": 118, + "anchorX": -34, + "anchorY": 14 + } + ] + }, + "loadingDoor": { + "file": "loading-door-strip.png", + "width": 2313, + "height": 513, + "frameCount": 10, + "frames": [ + { + "x": 0, + "y": 0, + "w": 256, + "h": 256, + "anchorX": 0, + "anchorY": -256 + }, + { + "x": 257, + "y": 0, + "w": 256, + "h": 256, + "anchorX": 0, + "anchorY": -256 + }, + { + "x": 514, + "y": 0, + "w": 256, + "h": 256, + "anchorX": 0, + "anchorY": -256 + }, + { + "x": 771, + "y": 0, + "w": 256, + "h": 256, + "anchorX": 0, + "anchorY": -256 + }, + { + "x": 1028, + "y": 0, + "w": 256, + "h": 256, + "anchorX": 0, + "anchorY": -256 + }, + { + "x": 1285, + "y": 0, + "w": 256, + "h": 256, + "anchorX": 0, + "anchorY": -256 + }, + { + "x": 1542, + "y": 0, + "w": 256, + "h": 256, + "anchorX": 0, + "anchorY": -256 + }, + { + "x": 1799, + "y": 0, + "w": 256, + "h": 256, + "anchorX": 0, + "anchorY": -256 + }, + { + "x": 2056, + "y": 0, + "w": 256, + "h": 256, + "anchorX": 0, + "anchorY": -256 + }, + { + "x": 0, + "y": 257, + "w": 256, + "h": 256, + "anchorX": 0, + "anchorY": -256 + } + ] + } + }, + "campfireClasses": { + "am": { + "nu1": { + "file": "campfire/am-nu1.png", + "width": 2010, + "height": 397, + "frameCount": 26, + "frames": [ + { + "x": 0, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 119, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 238, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 357, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 476, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 595, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 713, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 832, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 951, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1069, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1187, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1305, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1423, + "y": 0, + "w": 116, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1540, + "y": 0, + "w": 116, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1657, + "y": 0, + "w": 116, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1774, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1892, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 0, + "y": 199, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 118, + "y": 199, + "w": 116, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 235, + "y": 199, + "w": 116, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 352, + "y": 199, + "w": 117, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 470, + "y": 199, + "w": 117, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 588, + "y": 199, + "w": 117, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 706, + "y": 199, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 825, + "y": 199, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 944, + "y": 199, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + } + ] + }, + "nu2": { + "file": "campfire/am-nu2.png", + "width": 2010, + "height": 397, + "frameCount": 26, + "frames": [ + { + "x": 0, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 119, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 238, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 357, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 476, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 595, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 713, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 832, + "y": 0, + "w": 118, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 951, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1069, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1187, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1305, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1423, + "y": 0, + "w": 116, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1540, + "y": 0, + "w": 116, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1657, + "y": 0, + "w": 116, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1774, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 1892, + "y": 0, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 0, + "y": 199, + "w": 117, + "h": 198, + "anchorX": -76, + "anchorY": -118 + }, + { + "x": 118, + "y": 199, + "w": 116, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 235, + "y": 199, + "w": 116, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 352, + "y": 199, + "w": 117, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 470, + "y": 199, + "w": 117, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 588, + "y": 199, + "w": 117, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 706, + "y": 199, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 825, + "y": 199, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + }, + { + "x": 944, + "y": 199, + "w": 118, + "h": 198, + "anchorX": -75, + "anchorY": -118 + } + ] + }, + "nu3": { + "file": "campfire/am-nu3.png", + "width": 1967, + "height": 469, + "frameCount": 18, + "frames": [ + { + "x": 0, + "y": 0, + "w": 121, + "h": 234, + "anchorX": -68, + "anchorY": -127 + }, + { + "x": 122, + "y": 0, + "w": 121, + "h": 234, + "anchorX": -68, + "anchorY": -127 + }, + { + "x": 244, + "y": 0, + "w": 121, + "h": 234, + "anchorX": -68, + "anchorY": -127 + }, + { + "x": 366, + "y": 0, + "w": 121, + "h": 234, + "anchorX": -68, + "anchorY": -127 + }, + { + "x": 488, + "y": 0, + "w": 122, + "h": 234, + "anchorX": -69, + "anchorY": -127 + }, + { + "x": 611, + "y": 0, + "w": 123, + "h": 234, + "anchorX": -69, + "anchorY": -127 + }, + { + "x": 735, + "y": 0, + "w": 123, + "h": 234, + "anchorX": -69, + "anchorY": -127 + }, + { + "x": 859, + "y": 0, + "w": 123, + "h": 234, + "anchorX": -69, + "anchorY": -127 + }, + { + "x": 983, + "y": 0, + "w": 123, + "h": 234, + "anchorX": -69, + "anchorY": -127 + }, + { + "x": 1107, + "y": 0, + "w": 123, + "h": 234, + "anchorX": -69, + "anchorY": -127 + }, + { + "x": 1231, + "y": 0, + "w": 123, + "h": 234, + "anchorX": -69, + "anchorY": -127 + }, + { + "x": 1355, + "y": 0, + "w": 122, + "h": 234, + "anchorX": -69, + "anchorY": -127 + }, + { + "x": 1478, + "y": 0, + "w": 122, + "h": 234, + "anchorX": -69, + "anchorY": -127 + }, + { + "x": 1601, + "y": 0, + "w": 121, + "h": 234, + "anchorX": -68, + "anchorY": -127 + }, + { + "x": 1723, + "y": 0, + "w": 121, + "h": 234, + "anchorX": -68, + "anchorY": -127 + }, + { + "x": 1845, + "y": 0, + "w": 121, + "h": 234, + "anchorX": -68, + "anchorY": -127 + }, + { + "x": 0, + "y": 235, + "w": 121, + "h": 234, + "anchorX": -68, + "anchorY": -127 + }, + { + "x": 122, + "y": 235, + "w": 121, + "h": 234, + "anchorX": -68, + "anchorY": -127 + } + ] + }, + "fw": { + "file": "campfire/am-fw.png", + "width": 2043, + "height": 1251, + "frameCount": 54, + "frames": [ + { + "x": 0, + "y": 0, + "w": 124, + "h": 198, + "anchorX": -81, + "anchorY": -118 + }, + { + "x": 125, + "y": 0, + "w": 126, + "h": 198, + "anchorX": -84, + "anchorY": -118 + }, + { + "x": 252, + "y": 0, + "w": 124, + "h": 198, + "anchorX": -83, + "anchorY": -119 + }, + { + "x": 377, + "y": 0, + "w": 116, + "h": 199, + "anchorX": -77, + "anchorY": -120 + }, + { + "x": 494, + "y": 0, + "w": 107, + "h": 199, + "anchorX": -70, + "anchorY": -120 + }, + { + "x": 602, + "y": 0, + "w": 103, + "h": 200, + "anchorX": -66, + "anchorY": -121 + }, + { + "x": 706, + "y": 0, + "w": 108, + "h": 199, + "anchorX": -70, + "anchorY": -120 + }, + { + "x": 815, + "y": 0, + "w": 124, + "h": 199, + "anchorX": -84, + "anchorY": -120 + }, + { + "x": 940, + "y": 0, + "w": 136, + "h": 199, + "anchorX": -94, + "anchorY": -119 + }, + { + "x": 1077, + "y": 0, + "w": 157, + "h": 202, + "anchorX": -113, + "anchorY": -118 + }, + { + "x": 1235, + "y": 0, + "w": 174, + "h": 204, + "anchorX": -127, + "anchorY": -117 + }, + { + "x": 1410, + "y": 0, + "w": 181, + "h": 206, + "anchorX": -133, + "anchorY": -117 + }, + { + "x": 1592, + "y": 0, + "w": 184, + "h": 208, + "anchorX": -134, + "anchorY": -117 + }, + { + "x": 1777, + "y": 0, + "w": 189, + "h": 211, + "anchorX": -138, + "anchorY": -119 + }, + { + "x": 0, + "y": 212, + "w": 200, + "h": 212, + "anchorX": -148, + "anchorY": -120 + }, + { + "x": 201, + "y": 212, + "w": 216, + "h": 214, + "anchorX": -164, + "anchorY": -122 + }, + { + "x": 418, + "y": 212, + "w": 209, + "h": 215, + "anchorX": -157, + "anchorY": -123 + }, + { + "x": 628, + "y": 212, + "w": 184, + "h": 216, + "anchorX": -132, + "anchorY": -123 + }, + { + "x": 813, + "y": 212, + "w": 191, + "h": 216, + "anchorX": -139, + "anchorY": -122 + }, + { + "x": 1005, + "y": 212, + "w": 235, + "h": 220, + "anchorX": -149, + "anchorY": -121 + }, + { + "x": 1241, + "y": 212, + "w": 258, + "h": 252, + "anchorX": -158, + "anchorY": -148 + }, + { + "x": 1500, + "y": 212, + "w": 255, + "h": 266, + "anchorX": -158, + "anchorY": -159 + }, + { + "x": 1756, + "y": 212, + "w": 230, + "h": 275, + "anchorX": -146, + "anchorY": -167 + }, + { + "x": 0, + "y": 488, + "w": 178, + "h": 279, + "anchorX": -119, + "anchorY": -171 + }, + { + "x": 179, + "y": 488, + "w": 165, + "h": 278, + "anchorX": -110, + "anchorY": -171 + }, + { + "x": 345, + "y": 488, + "w": 157, + "h": 273, + "anchorX": -104, + "anchorY": -166 + }, + { + "x": 503, + "y": 488, + "w": 153, + "h": 263, + "anchorX": -102, + "anchorY": -156 + }, + { + "x": 657, + "y": 488, + "w": 193, + "h": 249, + "anchorX": -143, + "anchorY": -142 + }, + { + "x": 851, + "y": 488, + "w": 214, + "h": 232, + "anchorX": -166, + "anchorY": -125 + }, + { + "x": 1066, + "y": 488, + "w": 228, + "h": 224, + "anchorX": -181, + "anchorY": -117 + }, + { + "x": 1295, + "y": 488, + "w": 235, + "h": 230, + "anchorX": -187, + "anchorY": -123 + }, + { + "x": 1531, + "y": 488, + "w": 198, + "h": 245, + "anchorX": -147, + "anchorY": -138 + }, + { + "x": 1730, + "y": 488, + "w": 143, + "h": 255, + "anchorX": -88, + "anchorY": -148 + }, + { + "x": 1874, + "y": 488, + "w": 168, + "h": 255, + "anchorX": -102, + "anchorY": -148 + }, + { + "x": 0, + "y": 768, + "w": 204, + "h": 242, + "anchorX": -109, + "anchorY": -135 + }, + { + "x": 205, + "y": 768, + "w": 208, + "h": 227, + "anchorX": -110, + "anchorY": -120 + }, + { + "x": 414, + "y": 768, + "w": 199, + "h": 225, + "anchorX": -104, + "anchorY": -118 + }, + { + "x": 614, + "y": 768, + "w": 192, + "h": 225, + "anchorX": -104, + "anchorY": -118 + }, + { + "x": 807, + "y": 768, + "w": 212, + "h": 225, + "anchorX": -125, + "anchorY": -118 + }, + { + "x": 1020, + "y": 768, + "w": 207, + "h": 226, + "anchorX": -119, + "anchorY": -119 + }, + { + "x": 1228, + "y": 768, + "w": 199, + "h": 227, + "anchorX": -111, + "anchorY": -120 + }, + { + "x": 1428, + "y": 768, + "w": 188, + "h": 228, + "anchorX": -101, + "anchorY": -121 + }, + { + "x": 1617, + "y": 768, + "w": 168, + "h": 230, + "anchorX": -84, + "anchorY": -123 + }, + { + "x": 1786, + "y": 768, + "w": 156, + "h": 234, + "anchorX": -77, + "anchorY": -124 + }, + { + "x": 0, + "y": 1011, + "w": 122, + "h": 238, + "anchorX": -49, + "anchorY": -125 + }, + { + "x": 123, + "y": 1011, + "w": 126, + "h": 240, + "anchorX": -58, + "anchorY": -126 + }, + { + "x": 250, + "y": 1011, + "w": 127, + "h": 239, + "anchorX": -64, + "anchorY": -127 + }, + { + "x": 378, + "y": 1011, + "w": 128, + "h": 236, + "anchorX": -69, + "anchorY": -127 + }, + { + "x": 507, + "y": 1011, + "w": 127, + "h": 235, + "anchorX": -72, + "anchorY": -128 + }, + { + "x": 635, + "y": 1011, + "w": 125, + "h": 236, + "anchorX": -73, + "anchorY": -129 + }, + { + "x": 761, + "y": 1011, + "w": 122, + "h": 235, + "anchorX": -72, + "anchorY": -128 + }, + { + "x": 884, + "y": 1011, + "w": 122, + "h": 234, + "anchorX": -71, + "anchorY": -127 + }, + { + "x": 1007, + "y": 1011, + "w": 122, + "h": 234, + "anchorX": -69, + "anchorY": -127 + }, + { + "x": 1130, + "y": 1011, + "w": 121, + "h": 234, + "anchorX": -68, + "anchorY": -127 + } + ] + }, + "bw": { + "file": "campfire/am-bw.png", + "width": 2005, + "height": 433, + "frameCount": 30, + "frames": [ + { + "x": 0, + "y": 0, + "w": 121, + "h": 233, + "anchorX": -67, + "anchorY": -127 + }, + { + "x": 122, + "y": 0, + "w": 120, + "h": 232, + "anchorX": -65, + "anchorY": -127 + }, + { + "x": 243, + "y": 0, + "w": 118, + "h": 229, + "anchorX": -62, + "anchorY": -127 + }, + { + "x": 362, + "y": 0, + "w": 113, + "h": 226, + "anchorX": -57, + "anchorY": -127 + }, + { + "x": 476, + "y": 0, + "w": 107, + "h": 224, + "anchorX": -51, + "anchorY": -127 + }, + { + "x": 584, + "y": 0, + "w": 101, + "h": 224, + "anchorX": -44, + "anchorY": -127 + }, + { + "x": 686, + "y": 0, + "w": 94, + "h": 223, + "anchorX": -38, + "anchorY": -126 + }, + { + "x": 781, + "y": 0, + "w": 88, + "h": 221, + "anchorX": -35, + "anchorY": -124 + }, + { + "x": 870, + "y": 0, + "w": 83, + "h": 219, + "anchorX": -36, + "anchorY": -122 + }, + { + "x": 954, + "y": 0, + "w": 78, + "h": 217, + "anchorX": -36, + "anchorY": -121 + }, + { + "x": 1033, + "y": 0, + "w": 78, + "h": 213, + "anchorX": -38, + "anchorY": -120 + }, + { + "x": 1112, + "y": 0, + "w": 79, + "h": 207, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1192, + "y": 0, + "w": 80, + "h": 207, + "anchorX": -43, + "anchorY": -120 + }, + { + "x": 1273, + "y": 0, + "w": 80, + "h": 205, + "anchorX": -44, + "anchorY": -119 + }, + { + "x": 1354, + "y": 0, + "w": 82, + "h": 204, + "anchorX": -46, + "anchorY": -118 + }, + { + "x": 1437, + "y": 0, + "w": 85, + "h": 203, + "anchorX": -48, + "anchorY": -117 + }, + { + "x": 1523, + "y": 0, + "w": 88, + "h": 202, + "anchorX": -50, + "anchorY": -115 + }, + { + "x": 1612, + "y": 0, + "w": 92, + "h": 202, + "anchorX": -53, + "anchorY": -115 + }, + { + "x": 1705, + "y": 0, + "w": 95, + "h": 200, + "anchorX": -56, + "anchorY": -114 + }, + { + "x": 1801, + "y": 0, + "w": 99, + "h": 201, + "anchorX": -59, + "anchorY": -115 + }, + { + "x": 1901, + "y": 0, + "w": 103, + "h": 200, + "anchorX": -63, + "anchorY": -115 + }, + { + "x": 0, + "y": 234, + "w": 106, + "h": 199, + "anchorX": -66, + "anchorY": -115 + }, + { + "x": 107, + "y": 234, + "w": 109, + "h": 199, + "anchorX": -68, + "anchorY": -116 + }, + { + "x": 217, + "y": 234, + "w": 112, + "h": 198, + "anchorX": -70, + "anchorY": -116 + }, + { + "x": 330, + "y": 234, + "w": 114, + "h": 197, + "anchorX": -72, + "anchorY": -116 + }, + { + "x": 445, + "y": 234, + "w": 116, + "h": 197, + "anchorX": -73, + "anchorY": -117 + }, + { + "x": 562, + "y": 234, + "w": 116, + "h": 197, + "anchorX": -73, + "anchorY": -117 + }, + { + "x": 679, + "y": 234, + "w": 115, + "h": 196, + "anchorX": -73, + "anchorY": -117 + }, + { + "x": 795, + "y": 234, + "w": 115, + "h": 197, + "anchorX": -73, + "anchorY": -118 + }, + { + "x": 911, + "y": 234, + "w": 115, + "h": 198, + "anchorX": -73, + "anchorY": -118 + } + ] + } + }, + "as": { + "nu1": { + "file": "campfire/as-nu1.png", + "width": 1601, + "height": 189, + "frameCount": 31, + "frames": [ + { + "x": 0, + "y": 0, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 52, + "y": 0, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 104, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 155, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 206, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 257, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 308, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 359, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 410, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 461, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 512, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 563, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 614, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 665, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 716, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 767, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 818, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 869, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 920, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 971, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 1022, + "y": 0, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1074, + "y": 0, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1126, + "y": 0, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1178, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1231, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1284, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1337, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1390, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1443, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1496, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1549, + "y": 0, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + } + ] + }, + "nu2": { + "file": "campfire/as-nu2.png", + "width": 1601, + "height": 189, + "frameCount": 31, + "frames": [ + { + "x": 0, + "y": 0, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 52, + "y": 0, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 104, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 155, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 206, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 257, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 308, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 359, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 410, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 461, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 512, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 563, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 614, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 665, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 716, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 767, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 818, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 869, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 920, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 971, + "y": 0, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 1022, + "y": 0, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1074, + "y": 0, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1126, + "y": 0, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1178, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1231, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1284, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1337, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1390, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1443, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1496, + "y": 0, + "w": 52, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 1549, + "y": 0, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + } + ] + }, + "nu3": { + "file": "campfire/as-nu3.png", + "width": 2001, + "height": 375, + "frameCount": 31, + "frames": [ + { + "x": 0, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 87, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 174, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 261, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 348, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 435, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 522, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 609, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 696, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 783, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 870, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 957, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1044, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1131, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1218, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1305, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1392, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1479, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1566, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1653, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1740, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1827, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1914, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 0, + "y": 188, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 87, + "y": 188, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 174, + "y": 188, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 261, + "y": 188, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 348, + "y": 188, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 435, + "y": 188, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 522, + "y": 188, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 609, + "y": 188, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + } + ] + }, + "fw": { + "file": "campfire/as-fw.png", + "width": 2034, + "height": 805, + "frameCount": 91, + "frames": [ + { + "x": 0, + "y": 0, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + }, + { + "x": 52, + "y": 0, + "w": 48, + "h": 189, + "anchorX": -52, + "anchorY": -135 + }, + { + "x": 101, + "y": 0, + "w": 43, + "h": 189, + "anchorX": -47, + "anchorY": -135 + }, + { + "x": 145, + "y": 0, + "w": 45, + "h": 190, + "anchorX": -42, + "anchorY": -136 + }, + { + "x": 191, + "y": 0, + "w": 49, + "h": 190, + "anchorX": -38, + "anchorY": -136 + }, + { + "x": 241, + "y": 0, + "w": 53, + "h": 190, + "anchorX": -33, + "anchorY": -136 + }, + { + "x": 295, + "y": 0, + "w": 56, + "h": 189, + "anchorX": -29, + "anchorY": -135 + }, + { + "x": 352, + "y": 0, + "w": 58, + "h": 188, + "anchorX": -27, + "anchorY": -134 + }, + { + "x": 411, + "y": 0, + "w": 54, + "h": 185, + "anchorX": -24, + "anchorY": -131 + }, + { + "x": 466, + "y": 0, + "w": 63, + "h": 185, + "anchorX": -22, + "anchorY": -127 + }, + { + "x": 530, + "y": 0, + "w": 80, + "h": 184, + "anchorX": -25, + "anchorY": -121 + }, + { + "x": 611, + "y": 0, + "w": 87, + "h": 179, + "anchorX": -34, + "anchorY": -114 + }, + { + "x": 699, + "y": 0, + "w": 84, + "h": 175, + "anchorX": -44, + "anchorY": -109 + }, + { + "x": 784, + "y": 0, + "w": 92, + "h": 174, + "anchorX": -50, + "anchorY": -107 + }, + { + "x": 877, + "y": 0, + "w": 93, + "h": 176, + "anchorX": -49, + "anchorY": -109 + }, + { + "x": 971, + "y": 0, + "w": 90, + "h": 182, + "anchorX": -40, + "anchorY": -115 + }, + { + "x": 1062, + "y": 0, + "w": 82, + "h": 190, + "anchorX": -26, + "anchorY": -123 + }, + { + "x": 1145, + "y": 0, + "w": 89, + "h": 199, + "anchorX": -32, + "anchorY": -132 + }, + { + "x": 1235, + "y": 0, + "w": 100, + "h": 203, + "anchorX": -34, + "anchorY": -137 + }, + { + "x": 1336, + "y": 0, + "w": 113, + "h": 204, + "anchorX": -32, + "anchorY": -139 + }, + { + "x": 1450, + "y": 0, + "w": 118, + "h": 205, + "anchorX": -11, + "anchorY": -140 + }, + { + "x": 1569, + "y": 0, + "w": 140, + "h": 209, + "anchorX": -11, + "anchorY": -142 + }, + { + "x": 1710, + "y": 0, + "w": 158, + "h": 209, + "anchorX": -31, + "anchorY": -143 + }, + { + "x": 1869, + "y": 0, + "w": 144, + "h": 209, + "anchorX": -49, + "anchorY": -143 + }, + { + "x": 0, + "y": 210, + "w": 145, + "h": 210, + "anchorX": -55, + "anchorY": -144 + }, + { + "x": 146, + "y": 210, + "w": 144, + "h": 209, + "anchorX": -79, + "anchorY": -143 + }, + { + "x": 291, + "y": 210, + "w": 156, + "h": 208, + "anchorX": -107, + "anchorY": -142 + }, + { + "x": 448, + "y": 210, + "w": 104, + "h": 207, + "anchorX": -64, + "anchorY": -141 + }, + { + "x": 553, + "y": 210, + "w": 81, + "h": 204, + "anchorX": -44, + "anchorY": -138 + }, + { + "x": 635, + "y": 210, + "w": 80, + "h": 201, + "anchorX": -39, + "anchorY": -134 + }, + { + "x": 716, + "y": 210, + "w": 96, + "h": 196, + "anchorX": -52, + "anchorY": -129 + }, + { + "x": 813, + "y": 210, + "w": 99, + "h": 191, + "anchorX": -57, + "anchorY": -124 + }, + { + "x": 913, + "y": 210, + "w": 92, + "h": 185, + "anchorX": -54, + "anchorY": -118 + }, + { + "x": 1006, + "y": 210, + "w": 84, + "h": 180, + "anchorX": -49, + "anchorY": -113 + }, + { + "x": 1091, + "y": 210, + "w": 85, + "h": 177, + "anchorX": -49, + "anchorY": -110 + }, + { + "x": 1177, + "y": 210, + "w": 85, + "h": 175, + "anchorX": -49, + "anchorY": -108 + }, + { + "x": 1263, + "y": 210, + "w": 86, + "h": 175, + "anchorX": -50, + "anchorY": -108 + }, + { + "x": 1350, + "y": 210, + "w": 85, + "h": 175, + "anchorX": -49, + "anchorY": -108 + }, + { + "x": 1436, + "y": 210, + "w": 85, + "h": 175, + "anchorX": -49, + "anchorY": -108 + }, + { + "x": 1522, + "y": 210, + "w": 85, + "h": 176, + "anchorX": -49, + "anchorY": -109 + }, + { + "x": 1608, + "y": 210, + "w": 84, + "h": 177, + "anchorX": -48, + "anchorY": -110 + }, + { + "x": 1693, + "y": 210, + "w": 84, + "h": 178, + "anchorX": -48, + "anchorY": -111 + }, + { + "x": 1778, + "y": 210, + "w": 84, + "h": 178, + "anchorX": -48, + "anchorY": -111 + }, + { + "x": 1863, + "y": 210, + "w": 84, + "h": 179, + "anchorX": -48, + "anchorY": -112 + }, + { + "x": 1948, + "y": 210, + "w": 85, + "h": 180, + "anchorX": -49, + "anchorY": -113 + }, + { + "x": 0, + "y": 421, + "w": 85, + "h": 181, + "anchorX": -49, + "anchorY": -114 + }, + { + "x": 86, + "y": 421, + "w": 85, + "h": 182, + "anchorX": -49, + "anchorY": -115 + }, + { + "x": 172, + "y": 421, + "w": 85, + "h": 183, + "anchorX": -49, + "anchorY": -116 + }, + { + "x": 258, + "y": 421, + "w": 85, + "h": 184, + "anchorX": -49, + "anchorY": -117 + }, + { + "x": 344, + "y": 421, + "w": 84, + "h": 186, + "anchorX": -48, + "anchorY": -119 + }, + { + "x": 429, + "y": 421, + "w": 83, + "h": 188, + "anchorX": -47, + "anchorY": -121 + }, + { + "x": 513, + "y": 421, + "w": 83, + "h": 190, + "anchorX": -47, + "anchorY": -123 + }, + { + "x": 597, + "y": 421, + "w": 84, + "h": 192, + "anchorX": -48, + "anchorY": -125 + }, + { + "x": 682, + "y": 421, + "w": 83, + "h": 194, + "anchorX": -47, + "anchorY": -127 + }, + { + "x": 766, + "y": 421, + "w": 83, + "h": 195, + "anchorX": -47, + "anchorY": -128 + }, + { + "x": 850, + "y": 421, + "w": 78, + "h": 195, + "anchorX": -42, + "anchorY": -128 + }, + { + "x": 929, + "y": 421, + "w": 75, + "h": 196, + "anchorX": -39, + "anchorY": -129 + }, + { + "x": 1005, + "y": 421, + "w": 77, + "h": 196, + "anchorX": -41, + "anchorY": -129 + }, + { + "x": 1083, + "y": 421, + "w": 79, + "h": 196, + "anchorX": -43, + "anchorY": -129 + }, + { + "x": 1163, + "y": 421, + "w": 80, + "h": 195, + "anchorX": -44, + "anchorY": -128 + }, + { + "x": 1244, + "y": 421, + "w": 79, + "h": 195, + "anchorX": -43, + "anchorY": -128 + }, + { + "x": 1324, + "y": 421, + "w": 79, + "h": 194, + "anchorX": -43, + "anchorY": -127 + }, + { + "x": 1404, + "y": 421, + "w": 78, + "h": 193, + "anchorX": -42, + "anchorY": -126 + }, + { + "x": 1483, + "y": 421, + "w": 76, + "h": 192, + "anchorX": -40, + "anchorY": -125 + }, + { + "x": 1560, + "y": 421, + "w": 83, + "h": 191, + "anchorX": -47, + "anchorY": -124 + }, + { + "x": 1644, + "y": 421, + "w": 88, + "h": 189, + "anchorX": -52, + "anchorY": -122 + }, + { + "x": 1733, + "y": 421, + "w": 88, + "h": 189, + "anchorX": -52, + "anchorY": -122 + }, + { + "x": 1822, + "y": 421, + "w": 85, + "h": 188, + "anchorX": -49, + "anchorY": -121 + }, + { + "x": 1908, + "y": 421, + "w": 85, + "h": 187, + "anchorX": -43, + "anchorY": -120 + }, + { + "x": 0, + "y": 618, + "w": 85, + "h": 187, + "anchorX": -40, + "anchorY": -120 + }, + { + "x": 86, + "y": 618, + "w": 87, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 174, + "y": 618, + "w": 88, + "h": 186, + "anchorX": -41, + "anchorY": -119 + }, + { + "x": 263, + "y": 618, + "w": 88, + "h": 186, + "anchorX": -41, + "anchorY": -119 + }, + { + "x": 352, + "y": 618, + "w": 89, + "h": 186, + "anchorX": -41, + "anchorY": -119 + }, + { + "x": 442, + "y": 618, + "w": 89, + "h": 186, + "anchorX": -41, + "anchorY": -119 + }, + { + "x": 532, + "y": 618, + "w": 89, + "h": 186, + "anchorX": -41, + "anchorY": -119 + }, + { + "x": 622, + "y": 618, + "w": 89, + "h": 186, + "anchorX": -41, + "anchorY": -119 + }, + { + "x": 712, + "y": 618, + "w": 89, + "h": 186, + "anchorX": -41, + "anchorY": -119 + }, + { + "x": 802, + "y": 618, + "w": 89, + "h": 186, + "anchorX": -41, + "anchorY": -119 + }, + { + "x": 892, + "y": 618, + "w": 89, + "h": 186, + "anchorX": -41, + "anchorY": -119 + }, + { + "x": 982, + "y": 618, + "w": 89, + "h": 186, + "anchorX": -41, + "anchorY": -119 + }, + { + "x": 1072, + "y": 618, + "w": 88, + "h": 186, + "anchorX": -41, + "anchorY": -119 + }, + { + "x": 1161, + "y": 618, + "w": 88, + "h": 186, + "anchorX": -41, + "anchorY": -119 + }, + { + "x": 1250, + "y": 618, + "w": 88, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1339, + "y": 618, + "w": 87, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1427, + "y": 618, + "w": 87, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1515, + "y": 618, + "w": 87, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1603, + "y": 618, + "w": 87, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1691, + "y": 618, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1778, + "y": 618, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 1865, + "y": 618, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + } + ] + }, + "bw": { + "file": "campfire/as-bw.png", + "width": 1983, + "height": 382, + "frameCount": 51, + "frames": [ + { + "x": 0, + "y": 0, + "w": 86, + "h": 187, + "anchorX": -41, + "anchorY": -120 + }, + { + "x": 87, + "y": 0, + "w": 85, + "h": 188, + "anchorX": -41, + "anchorY": -121 + }, + { + "x": 173, + "y": 0, + "w": 85, + "h": 190, + "anchorX": -42, + "anchorY": -122 + }, + { + "x": 259, + "y": 0, + "w": 84, + "h": 191, + "anchorX": -42, + "anchorY": -123 + }, + { + "x": 344, + "y": 0, + "w": 84, + "h": 192, + "anchorX": -43, + "anchorY": -124 + }, + { + "x": 429, + "y": 0, + "w": 83, + "h": 191, + "anchorX": -43, + "anchorY": -124 + }, + { + "x": 513, + "y": 0, + "w": 82, + "h": 190, + "anchorX": -43, + "anchorY": -125 + }, + { + "x": 596, + "y": 0, + "w": 81, + "h": 189, + "anchorX": -44, + "anchorY": -126 + }, + { + "x": 678, + "y": 0, + "w": 81, + "h": 188, + "anchorX": -45, + "anchorY": -127 + }, + { + "x": 760, + "y": 0, + "w": 81, + "h": 186, + "anchorX": -46, + "anchorY": -128 + }, + { + "x": 842, + "y": 0, + "w": 81, + "h": 185, + "anchorX": -47, + "anchorY": -129 + }, + { + "x": 924, + "y": 0, + "w": 81, + "h": 183, + "anchorX": -48, + "anchorY": -129 + }, + { + "x": 1006, + "y": 0, + "w": 82, + "h": 181, + "anchorX": -49, + "anchorY": -130 + }, + { + "x": 1089, + "y": 0, + "w": 83, + "h": 181, + "anchorX": -50, + "anchorY": -131 + }, + { + "x": 1173, + "y": 0, + "w": 84, + "h": 181, + "anchorX": -51, + "anchorY": -131 + }, + { + "x": 1258, + "y": 0, + "w": 84, + "h": 181, + "anchorX": -51, + "anchorY": -131 + }, + { + "x": 1343, + "y": 0, + "w": 86, + "h": 182, + "anchorX": -52, + "anchorY": -132 + }, + { + "x": 1430, + "y": 0, + "w": 88, + "h": 182, + "anchorX": -53, + "anchorY": -132 + }, + { + "x": 1519, + "y": 0, + "w": 89, + "h": 182, + "anchorX": -54, + "anchorY": -132 + }, + { + "x": 1609, + "y": 0, + "w": 92, + "h": 184, + "anchorX": -58, + "anchorY": -133 + }, + { + "x": 1702, + "y": 0, + "w": 94, + "h": 184, + "anchorX": -62, + "anchorY": -133 + }, + { + "x": 1797, + "y": 0, + "w": 93, + "h": 184, + "anchorX": -65, + "anchorY": -133 + }, + { + "x": 1891, + "y": 0, + "w": 91, + "h": 184, + "anchorX": -68, + "anchorY": -133 + }, + { + "x": 0, + "y": 193, + "w": 87, + "h": 184, + "anchorX": -70, + "anchorY": -133 + }, + { + "x": 88, + "y": 193, + "w": 81, + "h": 185, + "anchorX": -71, + "anchorY": -134 + }, + { + "x": 170, + "y": 193, + "w": 77, + "h": 185, + "anchorX": -72, + "anchorY": -134 + }, + { + "x": 248, + "y": 193, + "w": 73, + "h": 185, + "anchorX": -72, + "anchorY": -134 + }, + { + "x": 322, + "y": 193, + "w": 69, + "h": 186, + "anchorX": -71, + "anchorY": -134 + }, + { + "x": 392, + "y": 193, + "w": 66, + "h": 188, + "anchorX": -69, + "anchorY": -134 + }, + { + "x": 459, + "y": 193, + "w": 62, + "h": 188, + "anchorX": -66, + "anchorY": -134 + }, + { + "x": 522, + "y": 193, + "w": 58, + "h": 188, + "anchorX": -63, + "anchorY": -134 + }, + { + "x": 581, + "y": 193, + "w": 55, + "h": 188, + "anchorX": -60, + "anchorY": -134 + }, + { + "x": 637, + "y": 193, + "w": 52, + "h": 189, + "anchorX": -57, + "anchorY": -135 + }, + { + "x": 690, + "y": 193, + "w": 49, + "h": 189, + "anchorX": -54, + "anchorY": -135 + }, + { + "x": 740, + "y": 193, + "w": 48, + "h": 189, + "anchorX": -53, + "anchorY": -135 + }, + { + "x": 789, + "y": 193, + "w": 48, + "h": 189, + "anchorX": -53, + "anchorY": -135 + }, + { + "x": 838, + "y": 193, + "w": 47, + "h": 189, + "anchorX": -52, + "anchorY": -135 + }, + { + "x": 886, + "y": 193, + "w": 48, + "h": 189, + "anchorX": -53, + "anchorY": -135 + }, + { + "x": 935, + "y": 193, + "w": 48, + "h": 189, + "anchorX": -53, + "anchorY": -135 + }, + { + "x": 984, + "y": 193, + "w": 48, + "h": 189, + "anchorX": -53, + "anchorY": -135 + }, + { + "x": 1033, + "y": 193, + "w": 48, + "h": 189, + "anchorX": -53, + "anchorY": -135 + }, + { + "x": 1082, + "y": 193, + "w": 48, + "h": 189, + "anchorX": -53, + "anchorY": -135 + }, + { + "x": 1131, + "y": 193, + "w": 48, + "h": 189, + "anchorX": -53, + "anchorY": -135 + }, + { + "x": 1180, + "y": 193, + "w": 48, + "h": 189, + "anchorX": -53, + "anchorY": -135 + }, + { + "x": 1229, + "y": 193, + "w": 49, + "h": 189, + "anchorX": -54, + "anchorY": -135 + }, + { + "x": 1279, + "y": 193, + "w": 49, + "h": 189, + "anchorX": -54, + "anchorY": -135 + }, + { + "x": 1329, + "y": 193, + "w": 49, + "h": 189, + "anchorX": -54, + "anchorY": -135 + }, + { + "x": 1379, + "y": 193, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 1430, + "y": 193, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 1481, + "y": 193, + "w": 50, + "h": 189, + "anchorX": -55, + "anchorY": -135 + }, + { + "x": 1532, + "y": 193, + "w": 51, + "h": 189, + "anchorX": -56, + "anchorY": -135 + } + ] + } + }, + "ne": { + "nu1": { + "file": "campfire/ne-nu1.png", + "width": 708, + "height": 183, + "frameCount": 12, + "frames": [ + { + "x": 0, + "y": 0, + "w": 58, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 59, + "y": 0, + "w": 59, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 119, + "y": 0, + "w": 59, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 179, + "y": 0, + "w": 60, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 240, + "y": 0, + "w": 59, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 300, + "y": 0, + "w": 59, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 360, + "y": 0, + "w": 58, + "h": 182, + "anchorX": -31, + "anchorY": -119 + }, + { + "x": 419, + "y": 0, + "w": 57, + "h": 182, + "anchorX": -30, + "anchorY": -119 + }, + { + "x": 477, + "y": 0, + "w": 56, + "h": 183, + "anchorX": -30, + "anchorY": -120 + }, + { + "x": 534, + "y": 0, + "w": 56, + "h": 183, + "anchorX": -30, + "anchorY": -120 + }, + { + "x": 591, + "y": 0, + "w": 57, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 649, + "y": 0, + "w": 58, + "h": 183, + "anchorX": -31, + "anchorY": -120 + } + ] + }, + "nu2": { + "file": "campfire/ne-nu2.png", + "width": 708, + "height": 183, + "frameCount": 12, + "frames": [ + { + "x": 0, + "y": 0, + "w": 58, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 59, + "y": 0, + "w": 59, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 119, + "y": 0, + "w": 59, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 179, + "y": 0, + "w": 60, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 240, + "y": 0, + "w": 59, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 300, + "y": 0, + "w": 59, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 360, + "y": 0, + "w": 58, + "h": 182, + "anchorX": -31, + "anchorY": -119 + }, + { + "x": 419, + "y": 0, + "w": 57, + "h": 182, + "anchorX": -30, + "anchorY": -119 + }, + { + "x": 477, + "y": 0, + "w": 56, + "h": 183, + "anchorX": -30, + "anchorY": -120 + }, + { + "x": 534, + "y": 0, + "w": 56, + "h": 183, + "anchorX": -30, + "anchorY": -120 + }, + { + "x": 591, + "y": 0, + "w": 57, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 649, + "y": 0, + "w": 58, + "h": 183, + "anchorX": -31, + "anchorY": -120 + } + ] + }, + "nu3": { + "file": "campfire/ne-nu3.png", + "width": 1566, + "height": 233, + "frameCount": 12, + "frames": [ + { + "x": 0, + "y": 0, + "w": 129, + "h": 233, + "anchorX": -51, + "anchorY": -131 + }, + { + "x": 130, + "y": 0, + "w": 129, + "h": 232, + "anchorX": -51, + "anchorY": -130 + }, + { + "x": 260, + "y": 0, + "w": 129, + "h": 232, + "anchorX": -51, + "anchorY": -130 + }, + { + "x": 390, + "y": 0, + "w": 128, + "h": 232, + "anchorX": -51, + "anchorY": -130 + }, + { + "x": 519, + "y": 0, + "w": 128, + "h": 232, + "anchorX": -51, + "anchorY": -130 + }, + { + "x": 648, + "y": 0, + "w": 129, + "h": 231, + "anchorX": -51, + "anchorY": -129 + }, + { + "x": 778, + "y": 0, + "w": 130, + "h": 231, + "anchorX": -51, + "anchorY": -129 + }, + { + "x": 909, + "y": 0, + "w": 131, + "h": 231, + "anchorX": -51, + "anchorY": -129 + }, + { + "x": 1041, + "y": 0, + "w": 131, + "h": 231, + "anchorX": -51, + "anchorY": -129 + }, + { + "x": 1173, + "y": 0, + "w": 131, + "h": 232, + "anchorX": -51, + "anchorY": -130 + }, + { + "x": 1305, + "y": 0, + "w": 130, + "h": 232, + "anchorX": -51, + "anchorY": -130 + }, + { + "x": 1436, + "y": 0, + "w": 129, + "h": 232, + "anchorX": -51, + "anchorY": -130 + } + ] + }, + "nu3_ov": { + "file": "campfire/ne-nu3-ov.png", + "width": 1947, + "height": 485, + "frameCount": 12, + "frames": [ + { + "x": 0, + "y": 0, + "w": 182, + "h": 242, + "anchorX": -82, + "anchorY": -241 + }, + { + "x": 183, + "y": 0, + "w": 180, + "h": 243, + "anchorX": -80, + "anchorY": -241 + }, + { + "x": 364, + "y": 0, + "w": 178, + "h": 243, + "anchorX": -78, + "anchorY": -241 + }, + { + "x": 543, + "y": 0, + "w": 174, + "h": 242, + "anchorX": -77, + "anchorY": -241 + }, + { + "x": 718, + "y": 0, + "w": 172, + "h": 243, + "anchorX": -75, + "anchorY": -241 + }, + { + "x": 891, + "y": 0, + "w": 171, + "h": 243, + "anchorX": -74, + "anchorY": -241 + }, + { + "x": 1063, + "y": 0, + "w": 171, + "h": 243, + "anchorX": -74, + "anchorY": -241 + }, + { + "x": 1235, + "y": 0, + "w": 173, + "h": 242, + "anchorX": -76, + "anchorY": -241 + }, + { + "x": 1409, + "y": 0, + "w": 176, + "h": 240, + "anchorX": -78, + "anchorY": -241 + }, + { + "x": 1586, + "y": 0, + "w": 179, + "h": 240, + "anchorX": -81, + "anchorY": -241 + }, + { + "x": 1766, + "y": 0, + "w": 180, + "h": 242, + "anchorX": -82, + "anchorY": -241 + }, + { + "x": 0, + "y": 244, + "w": 181, + "h": 241, + "anchorX": -82, + "anchorY": -241 + } + ] + }, + "fw": { + "file": "campfire/ne-fw.png", + "width": 1998, + "height": 676, + "frameCount": 38, + "frames": [ + { + "x": 0, + "y": 0, + "w": 58, + "h": 183, + "anchorX": -31, + "anchorY": -120 + }, + { + "x": 59, + "y": 0, + "w": 61, + "h": 183, + "anchorX": -33, + "anchorY": -121 + }, + { + "x": 121, + "y": 0, + "w": 64, + "h": 183, + "anchorX": -37, + "anchorY": -121 + }, + { + "x": 186, + "y": 0, + "w": 67, + "h": 183, + "anchorX": -41, + "anchorY": -121 + }, + { + "x": 254, + "y": 0, + "w": 72, + "h": 186, + "anchorX": -46, + "anchorY": -122 + }, + { + "x": 327, + "y": 0, + "w": 77, + "h": 188, + "anchorX": -51, + "anchorY": -122 + }, + { + "x": 405, + "y": 0, + "w": 82, + "h": 189, + "anchorX": -55, + "anchorY": -123 + }, + { + "x": 488, + "y": 0, + "w": 86, + "h": 191, + "anchorX": -58, + "anchorY": -124 + }, + { + "x": 575, + "y": 0, + "w": 91, + "h": 193, + "anchorX": -61, + "anchorY": -124 + }, + { + "x": 667, + "y": 0, + "w": 97, + "h": 193, + "anchorX": -64, + "anchorY": -124 + }, + { + "x": 765, + "y": 0, + "w": 101, + "h": 193, + "anchorX": -65, + "anchorY": -124 + }, + { + "x": 867, + "y": 0, + "w": 106, + "h": 194, + "anchorX": -66, + "anchorY": -123 + }, + { + "x": 974, + "y": 0, + "w": 110, + "h": 196, + "anchorX": -66, + "anchorY": -122 + }, + { + "x": 1085, + "y": 0, + "w": 115, + "h": 197, + "anchorX": -67, + "anchorY": -121 + }, + { + "x": 1201, + "y": 0, + "w": 118, + "h": 200, + "anchorX": -66, + "anchorY": -122 + }, + { + "x": 1320, + "y": 0, + "w": 121, + "h": 204, + "anchorX": -66, + "anchorY": -123 + }, + { + "x": 1442, + "y": 0, + "w": 124, + "h": 206, + "anchorX": -66, + "anchorY": -124 + }, + { + "x": 1567, + "y": 0, + "w": 127, + "h": 207, + "anchorX": -67, + "anchorY": -125 + }, + { + "x": 1695, + "y": 0, + "w": 128, + "h": 207, + "anchorX": -67, + "anchorY": -125 + }, + { + "x": 1824, + "y": 0, + "w": 131, + "h": 208, + "anchorX": -69, + "anchorY": -125 + }, + { + "x": 0, + "y": 209, + "w": 133, + "h": 216, + "anchorX": -71, + "anchorY": -125 + }, + { + "x": 134, + "y": 209, + "w": 136, + "h": 220, + "anchorX": -74, + "anchorY": -125 + }, + { + "x": 271, + "y": 209, + "w": 139, + "h": 224, + "anchorX": -77, + "anchorY": -126 + }, + { + "x": 411, + "y": 209, + "w": 141, + "h": 229, + "anchorX": -79, + "anchorY": -128 + }, + { + "x": 553, + "y": 209, + "w": 144, + "h": 231, + "anchorX": -81, + "anchorY": -129 + }, + { + "x": 698, + "y": 209, + "w": 145, + "h": 232, + "anchorX": -82, + "anchorY": -130 + }, + { + "x": 844, + "y": 209, + "w": 147, + "h": 232, + "anchorX": -82, + "anchorY": -130 + }, + { + "x": 992, + "y": 209, + "w": 147, + "h": 233, + "anchorX": -81, + "anchorY": -131 + }, + { + "x": 1140, + "y": 209, + "w": 146, + "h": 233, + "anchorX": -79, + "anchorY": -131 + }, + { + "x": 1287, + "y": 209, + "w": 145, + "h": 233, + "anchorX": -76, + "anchorY": -131 + }, + { + "x": 1433, + "y": 209, + "w": 144, + "h": 233, + "anchorX": -73, + "anchorY": -131 + }, + { + "x": 1578, + "y": 209, + "w": 141, + "h": 233, + "anchorX": -69, + "anchorY": -131 + }, + { + "x": 1720, + "y": 209, + "w": 139, + "h": 232, + "anchorX": -66, + "anchorY": -130 + }, + { + "x": 1860, + "y": 209, + "w": 137, + "h": 232, + "anchorX": -62, + "anchorY": -130 + }, + { + "x": 0, + "y": 443, + "w": 135, + "h": 232, + "anchorX": -59, + "anchorY": -130 + }, + { + "x": 136, + "y": 443, + "w": 134, + "h": 232, + "anchorX": -57, + "anchorY": -130 + }, + { + "x": 271, + "y": 443, + "w": 131, + "h": 233, + "anchorX": -54, + "anchorY": -131 + }, + { + "x": 403, + "y": 443, + "w": 131, + "h": 233, + "anchorX": -53, + "anchorY": -131 + } + ] + }, + "fw_ov": { + "file": "campfire/ne-fw-ov.png", + "width": 1919, + "height": 482, + "frameCount": 38, + "frames": [ + { + "x": 0, + "y": 0, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 3, + "y": 0, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 6, + "y": 0, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 9, + "y": 0, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 12, + "y": 0, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 15, + "y": 0, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 18, + "y": 0, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 21, + "y": 0, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 24, + "y": 0, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 27, + "y": 0, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 30, + "y": 0, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 33, + "y": 0, + "w": 32, + "h": 62, + "anchorX": -11, + "anchorY": -109 + }, + { + "x": 66, + "y": 0, + "w": 17, + "h": 46, + "anchorX": -5, + "anchorY": -108 + }, + { + "x": 84, + "y": 0, + "w": 1, + "h": 1, + "anchorX": 4, + "anchorY": -108 + }, + { + "x": 86, + "y": 0, + "w": 47, + "h": 69, + "anchorX": -14, + "anchorY": -114 + }, + { + "x": 134, + "y": 0, + "w": 24, + "h": 17, + "anchorX": -3, + "anchorY": -109 + }, + { + "x": 159, + "y": 0, + "w": 78, + "h": 91, + "anchorX": -22, + "anchorY": -121 + }, + { + "x": 238, + "y": 0, + "w": 112, + "h": 95, + "anchorX": -53, + "anchorY": -122 + }, + { + "x": 351, + "y": 0, + "w": 99, + "h": 96, + "anchorX": -39, + "anchorY": -123 + }, + { + "x": 451, + "y": 0, + "w": 88, + "h": 95, + "anchorX": -28, + "anchorY": -122 + }, + { + "x": 540, + "y": 0, + "w": 154, + "h": 228, + "anchorX": -80, + "anchorY": -241 + }, + { + "x": 695, + "y": 0, + "w": 162, + "h": 229, + "anchorX": -88, + "anchorY": -241 + }, + { + "x": 858, + "y": 0, + "w": 165, + "h": 230, + "anchorX": -90, + "anchorY": -241 + }, + { + "x": 1024, + "y": 0, + "w": 170, + "h": 232, + "anchorX": -92, + "anchorY": -241 + }, + { + "x": 1195, + "y": 0, + "w": 176, + "h": 232, + "anchorX": -94, + "anchorY": -241 + }, + { + "x": 1372, + "y": 0, + "w": 180, + "h": 234, + "anchorX": -95, + "anchorY": -241 + }, + { + "x": 1553, + "y": 0, + "w": 182, + "h": 237, + "anchorX": -94, + "anchorY": -241 + }, + { + "x": 1736, + "y": 0, + "w": 182, + "h": 239, + "anchorX": -93, + "anchorY": -241 + }, + { + "x": 0, + "y": 240, + "w": 182, + "h": 240, + "anchorX": -91, + "anchorY": -241 + }, + { + "x": 183, + "y": 240, + "w": 178, + "h": 240, + "anchorX": -88, + "anchorY": -241 + }, + { + "x": 362, + "y": 240, + "w": 177, + "h": 242, + "anchorX": -85, + "anchorY": -241 + }, + { + "x": 540, + "y": 240, + "w": 175, + "h": 242, + "anchorX": -82, + "anchorY": -241 + }, + { + "x": 716, + "y": 240, + "w": 170, + "h": 242, + "anchorX": -78, + "anchorY": -241 + }, + { + "x": 887, + "y": 240, + "w": 171, + "h": 241, + "anchorX": -77, + "anchorY": -241 + }, + { + "x": 1059, + "y": 240, + "w": 173, + "h": 240, + "anchorX": -78, + "anchorY": -241 + }, + { + "x": 1233, + "y": 240, + "w": 176, + "h": 240, + "anchorX": -80, + "anchorY": -241 + }, + { + "x": 1410, + "y": 240, + "w": 179, + "h": 242, + "anchorX": -82, + "anchorY": -241 + }, + { + "x": 1590, + "y": 240, + "w": 181, + "h": 241, + "anchorX": -82, + "anchorY": -241 + } + ] + }, + "bw": { + "file": "campfire/ne-bw.png", + "width": 1951, + "height": 448, + "frameCount": 28, + "frames": [ + { + "x": 0, + "y": 0, + "w": 129, + "h": 233, + "anchorX": -51, + "anchorY": -131 + }, + { + "x": 130, + "y": 0, + "w": 132, + "h": 233, + "anchorX": -54, + "anchorY": -131 + }, + { + "x": 263, + "y": 0, + "w": 135, + "h": 234, + "anchorX": -57, + "anchorY": -132 + }, + { + "x": 399, + "y": 0, + "w": 140, + "h": 234, + "anchorX": -62, + "anchorY": -132 + }, + { + "x": 540, + "y": 0, + "w": 144, + "h": 235, + "anchorX": -66, + "anchorY": -133 + }, + { + "x": 685, + "y": 0, + "w": 149, + "h": 233, + "anchorX": -70, + "anchorY": -132 + }, + { + "x": 835, + "y": 0, + "w": 151, + "h": 232, + "anchorX": -72, + "anchorY": -131 + }, + { + "x": 987, + "y": 0, + "w": 156, + "h": 230, + "anchorX": -75, + "anchorY": -129 + }, + { + "x": 1144, + "y": 0, + "w": 158, + "h": 228, + "anchorX": -76, + "anchorY": -127 + }, + { + "x": 1303, + "y": 0, + "w": 159, + "h": 227, + "anchorX": -77, + "anchorY": -126 + }, + { + "x": 1463, + "y": 0, + "w": 161, + "h": 225, + "anchorX": -78, + "anchorY": -126 + }, + { + "x": 1625, + "y": 0, + "w": 162, + "h": 222, + "anchorX": -79, + "anchorY": -127 + }, + { + "x": 1788, + "y": 0, + "w": 162, + "h": 217, + "anchorX": -79, + "anchorY": -127 + }, + { + "x": 0, + "y": 236, + "w": 160, + "h": 212, + "anchorX": -79, + "anchorY": -128 + }, + { + "x": 161, + "y": 236, + "w": 157, + "h": 208, + "anchorX": -78, + "anchorY": -128 + }, + { + "x": 319, + "y": 236, + "w": 152, + "h": 206, + "anchorX": -77, + "anchorY": -126 + }, + { + "x": 472, + "y": 236, + "w": 145, + "h": 203, + "anchorX": -77, + "anchorY": -124 + }, + { + "x": 618, + "y": 236, + "w": 135, + "h": 200, + "anchorX": -75, + "anchorY": -121 + }, + { + "x": 754, + "y": 236, + "w": 126, + "h": 199, + "anchorX": -73, + "anchorY": -120 + }, + { + "x": 881, + "y": 236, + "w": 116, + "h": 195, + "anchorX": -69, + "anchorY": -119 + }, + { + "x": 998, + "y": 236, + "w": 106, + "h": 188, + "anchorX": -64, + "anchorY": -118 + }, + { + "x": 1105, + "y": 236, + "w": 96, + "h": 183, + "anchorX": -59, + "anchorY": -118 + }, + { + "x": 1202, + "y": 236, + "w": 87, + "h": 181, + "anchorX": -54, + "anchorY": -118 + }, + { + "x": 1290, + "y": 236, + "w": 78, + "h": 181, + "anchorX": -48, + "anchorY": -118 + }, + { + "x": 1369, + "y": 236, + "w": 71, + "h": 181, + "anchorX": -42, + "anchorY": -118 + }, + { + "x": 1441, + "y": 236, + "w": 65, + "h": 182, + "anchorX": -37, + "anchorY": -119 + }, + { + "x": 1507, + "y": 236, + "w": 60, + "h": 182, + "anchorX": -33, + "anchorY": -119 + }, + { + "x": 1568, + "y": 236, + "w": 58, + "h": 183, + "anchorX": -31, + "anchorY": -120 + } + ] + }, + "bw_ov": { + "file": "campfire/ne-bw-ov.png", + "width": 2002, + "height": 472, + "frameCount": 28, + "frames": [ + { + "x": 0, + "y": 0, + "w": 181, + "h": 242, + "anchorX": -82, + "anchorY": -241 + }, + { + "x": 182, + "y": 0, + "w": 180, + "h": 242, + "anchorX": -80, + "anchorY": -241 + }, + { + "x": 363, + "y": 0, + "w": 179, + "h": 241, + "anchorX": -79, + "anchorY": -241 + }, + { + "x": 543, + "y": 0, + "w": 177, + "h": 239, + "anchorX": -80, + "anchorY": -241 + }, + { + "x": 721, + "y": 0, + "w": 176, + "h": 238, + "anchorX": -80, + "anchorY": -241 + }, + { + "x": 898, + "y": 0, + "w": 178, + "h": 237, + "anchorX": -82, + "anchorY": -241 + }, + { + "x": 1077, + "y": 0, + "w": 180, + "h": 237, + "anchorX": -85, + "anchorY": -241 + }, + { + "x": 1258, + "y": 0, + "w": 181, + "h": 236, + "anchorX": -87, + "anchorY": -241 + }, + { + "x": 1440, + "y": 0, + "w": 184, + "h": 234, + "anchorX": -89, + "anchorY": -241 + }, + { + "x": 1625, + "y": 0, + "w": 187, + "h": 233, + "anchorX": -90, + "anchorY": -241 + }, + { + "x": 1813, + "y": 0, + "w": 188, + "h": 233, + "anchorX": -90, + "anchorY": -241 + }, + { + "x": 0, + "y": 243, + "w": 189, + "h": 229, + "anchorX": -90, + "anchorY": -241 + }, + { + "x": 190, + "y": 243, + "w": 187, + "h": 227, + "anchorX": -89, + "anchorY": -241 + }, + { + "x": 378, + "y": 243, + "w": 184, + "h": 224, + "anchorX": -88, + "anchorY": -241 + }, + { + "x": 563, + "y": 243, + "w": 179, + "h": 222, + "anchorX": -87, + "anchorY": -241 + }, + { + "x": 743, + "y": 243, + "w": 171, + "h": 219, + "anchorX": -86, + "anchorY": -238 + }, + { + "x": 915, + "y": 243, + "w": 162, + "h": 219, + "anchorX": -85, + "anchorY": -236 + }, + { + "x": 1078, + "y": 243, + "w": 148, + "h": 224, + "anchorX": -80, + "anchorY": -241 + }, + { + "x": 1227, + "y": 243, + "w": 49, + "h": 74, + "anchorX": 3, + "anchorY": -105 + }, + { + "x": 1277, + "y": 243, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 1280, + "y": 243, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 1283, + "y": 243, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 1286, + "y": 243, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 1289, + "y": 243, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 1292, + "y": 243, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 1295, + "y": 243, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 1298, + "y": 243, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + }, + { + "x": 1301, + "y": 243, + "w": 2, + "h": 2, + "anchorX": 0, + "anchorY": -2 + } + ] + } + }, + "ba": { + "nu1": { + "file": "campfire/ba-nu1.png", + "width": 1403, + "height": 183, + "frameCount": 16, + "frames": [ + { + "x": 0, + "y": 0, + "w": 86, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 87, + "y": 0, + "w": 86, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 174, + "y": 0, + "w": 86, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 261, + "y": 0, + "w": 86, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 348, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 436, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 524, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 612, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 700, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 788, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 876, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 964, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 1052, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 1140, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 1228, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 1316, + "y": 0, + "w": 86, + "h": 183, + "anchorX": -39, + "anchorY": -132 + } + ] + }, + "nu2": { + "file": "campfire/ba-nu2.png", + "width": 1403, + "height": 183, + "frameCount": 16, + "frames": [ + { + "x": 0, + "y": 0, + "w": 86, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 87, + "y": 0, + "w": 86, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 174, + "y": 0, + "w": 86, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 261, + "y": 0, + "w": 86, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 348, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 436, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 524, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 612, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 700, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 788, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 876, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 964, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 1052, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 1140, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 1228, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 1316, + "y": 0, + "w": 86, + "h": 183, + "anchorX": -39, + "anchorY": -132 + } + ] + }, + "nu3": { + "file": "campfire/ba-nu3.png", + "width": 1989, + "height": 404, + "frameCount": 26, + "frames": [ + { + "x": 0, + "y": 0, + "w": 95, + "h": 201, + "anchorX": -50, + "anchorY": -134 + }, + { + "x": 96, + "y": 0, + "w": 95, + "h": 201, + "anchorX": -50, + "anchorY": -134 + }, + { + "x": 192, + "y": 0, + "w": 95, + "h": 201, + "anchorX": -50, + "anchorY": -134 + }, + { + "x": 288, + "y": 0, + "w": 95, + "h": 201, + "anchorX": -50, + "anchorY": -134 + }, + { + "x": 384, + "y": 0, + "w": 95, + "h": 201, + "anchorX": -50, + "anchorY": -134 + }, + { + "x": 480, + "y": 0, + "w": 95, + "h": 201, + "anchorX": -50, + "anchorY": -134 + }, + { + "x": 576, + "y": 0, + "w": 95, + "h": 201, + "anchorX": -50, + "anchorY": -134 + }, + { + "x": 672, + "y": 0, + "w": 95, + "h": 201, + "anchorX": -50, + "anchorY": -134 + }, + { + "x": 768, + "y": 0, + "w": 95, + "h": 202, + "anchorX": -50, + "anchorY": -134 + }, + { + "x": 864, + "y": 0, + "w": 94, + "h": 202, + "anchorX": -49, + "anchorY": -135 + }, + { + "x": 959, + "y": 0, + "w": 94, + "h": 202, + "anchorX": -49, + "anchorY": -135 + }, + { + "x": 1054, + "y": 0, + "w": 92, + "h": 202, + "anchorX": -47, + "anchorY": -135 + }, + { + "x": 1147, + "y": 0, + "w": 92, + "h": 202, + "anchorX": -47, + "anchorY": -135 + }, + { + "x": 1240, + "y": 0, + "w": 92, + "h": 202, + "anchorX": -47, + "anchorY": -135 + }, + { + "x": 1333, + "y": 0, + "w": 92, + "h": 202, + "anchorX": -47, + "anchorY": -135 + }, + { + "x": 1426, + "y": 0, + "w": 92, + "h": 202, + "anchorX": -47, + "anchorY": -135 + }, + { + "x": 1519, + "y": 0, + "w": 92, + "h": 202, + "anchorX": -47, + "anchorY": -135 + }, + { + "x": 1612, + "y": 0, + "w": 92, + "h": 202, + "anchorX": -47, + "anchorY": -135 + }, + { + "x": 1705, + "y": 0, + "w": 94, + "h": 202, + "anchorX": -49, + "anchorY": -135 + }, + { + "x": 1800, + "y": 0, + "w": 93, + "h": 202, + "anchorX": -48, + "anchorY": -135 + }, + { + "x": 1894, + "y": 0, + "w": 94, + "h": 202, + "anchorX": -49, + "anchorY": -135 + }, + { + "x": 0, + "y": 203, + "w": 95, + "h": 201, + "anchorX": -50, + "anchorY": -134 + }, + { + "x": 96, + "y": 203, + "w": 96, + "h": 201, + "anchorX": -51, + "anchorY": -134 + }, + { + "x": 193, + "y": 203, + "w": 97, + "h": 201, + "anchorX": -52, + "anchorY": -134 + }, + { + "x": 291, + "y": 203, + "w": 96, + "h": 201, + "anchorX": -51, + "anchorY": -134 + }, + { + "x": 388, + "y": 203, + "w": 95, + "h": 201, + "anchorX": -50, + "anchorY": -134 + } + ] + }, + "fw": { + "file": "campfire/ba-fw.png", + "width": 2033, + "height": 1122, + "frameCount": 64, + "frames": [ + { + "x": 0, + "y": 0, + "w": 86, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 87, + "y": 0, + "w": 87, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 175, + "y": 0, + "w": 89, + "h": 183, + "anchorX": -39, + "anchorY": -132 + }, + { + "x": 265, + "y": 0, + "w": 94, + "h": 183, + "anchorX": -40, + "anchorY": -132 + }, + { + "x": 360, + "y": 0, + "w": 99, + "h": 184, + "anchorX": -40, + "anchorY": -132 + }, + { + "x": 460, + "y": 0, + "w": 106, + "h": 185, + "anchorX": -41, + "anchorY": -131 + }, + { + "x": 567, + "y": 0, + "w": 115, + "h": 185, + "anchorX": -43, + "anchorY": -129 + }, + { + "x": 683, + "y": 0, + "w": 123, + "h": 188, + "anchorX": -45, + "anchorY": -128 + }, + { + "x": 807, + "y": 0, + "w": 133, + "h": 190, + "anchorX": -48, + "anchorY": -127 + }, + { + "x": 941, + "y": 0, + "w": 140, + "h": 189, + "anchorX": -50, + "anchorY": -126 + }, + { + "x": 1082, + "y": 0, + "w": 145, + "h": 189, + "anchorX": -51, + "anchorY": -126 + }, + { + "x": 1228, + "y": 0, + "w": 146, + "h": 189, + "anchorX": -51, + "anchorY": -126 + }, + { + "x": 1375, + "y": 0, + "w": 145, + "h": 190, + "anchorX": -50, + "anchorY": -127 + }, + { + "x": 1521, + "y": 0, + "w": 141, + "h": 193, + "anchorX": -49, + "anchorY": -129 + }, + { + "x": 1663, + "y": 0, + "w": 137, + "h": 194, + "anchorX": -48, + "anchorY": -131 + }, + { + "x": 1801, + "y": 0, + "w": 133, + "h": 195, + "anchorX": -47, + "anchorY": -132 + }, + { + "x": 0, + "y": 196, + "w": 133, + "h": 196, + "anchorX": -49, + "anchorY": -133 + }, + { + "x": 134, + "y": 196, + "w": 130, + "h": 198, + "anchorX": -51, + "anchorY": -135 + }, + { + "x": 265, + "y": 196, + "w": 130, + "h": 198, + "anchorX": -52, + "anchorY": -136 + }, + { + "x": 396, + "y": 196, + "w": 146, + "h": 205, + "anchorX": -58, + "anchorY": -141 + }, + { + "x": 543, + "y": 196, + "w": 162, + "h": 234, + "anchorX": -64, + "anchorY": -167 + }, + { + "x": 706, + "y": 196, + "w": 151, + "h": 254, + "anchorX": -64, + "anchorY": -186 + }, + { + "x": 858, + "y": 196, + "w": 148, + "h": 261, + "anchorX": -64, + "anchorY": -187 + }, + { + "x": 1007, + "y": 196, + "w": 147, + "h": 259, + "anchorX": -65, + "anchorY": -180 + }, + { + "x": 1155, + "y": 196, + "w": 146, + "h": 254, + "anchorX": -65, + "anchorY": -175 + }, + { + "x": 1302, + "y": 196, + "w": 145, + "h": 253, + "anchorX": -65, + "anchorY": -174 + }, + { + "x": 1448, + "y": 196, + "w": 145, + "h": 252, + "anchorX": -65, + "anchorY": -173 + }, + { + "x": 1594, + "y": 196, + "w": 145, + "h": 252, + "anchorX": -65, + "anchorY": -173 + }, + { + "x": 1740, + "y": 196, + "w": 145, + "h": 253, + "anchorX": -65, + "anchorY": -173 + }, + { + "x": 1886, + "y": 196, + "w": 146, + "h": 253, + "anchorX": -66, + "anchorY": -173 + }, + { + "x": 0, + "y": 458, + "w": 146, + "h": 253, + "anchorX": -66, + "anchorY": -173 + }, + { + "x": 147, + "y": 458, + "w": 146, + "h": 254, + "anchorX": -66, + "anchorY": -174 + }, + { + "x": 294, + "y": 458, + "w": 146, + "h": 254, + "anchorX": -66, + "anchorY": -174 + }, + { + "x": 441, + "y": 458, + "w": 146, + "h": 254, + "anchorX": -66, + "anchorY": -174 + }, + { + "x": 588, + "y": 458, + "w": 144, + "h": 247, + "anchorX": -63, + "anchorY": -167 + }, + { + "x": 733, + "y": 458, + "w": 146, + "h": 236, + "anchorX": -61, + "anchorY": -156 + }, + { + "x": 880, + "y": 458, + "w": 144, + "h": 231, + "anchorX": -60, + "anchorY": -151 + }, + { + "x": 1025, + "y": 458, + "w": 145, + "h": 230, + "anchorX": -61, + "anchorY": -150 + }, + { + "x": 1171, + "y": 458, + "w": 156, + "h": 228, + "anchorX": -68, + "anchorY": -148 + }, + { + "x": 1328, + "y": 458, + "w": 141, + "h": 211, + "anchorX": -82, + "anchorY": -131 + }, + { + "x": 1470, + "y": 458, + "w": 137, + "h": 210, + "anchorX": -87, + "anchorY": -130 + }, + { + "x": 1608, + "y": 458, + "w": 128, + "h": 209, + "anchorX": -80, + "anchorY": -129 + }, + { + "x": 1737, + "y": 458, + "w": 126, + "h": 208, + "anchorX": -78, + "anchorY": -128 + }, + { + "x": 1864, + "y": 458, + "w": 127, + "h": 208, + "anchorX": -79, + "anchorY": -128 + }, + { + "x": 0, + "y": 713, + "w": 126, + "h": 207, + "anchorX": -78, + "anchorY": -127 + }, + { + "x": 127, + "y": 713, + "w": 123, + "h": 207, + "anchorX": -75, + "anchorY": -127 + }, + { + "x": 251, + "y": 713, + "w": 128, + "h": 207, + "anchorX": -75, + "anchorY": -127 + }, + { + "x": 380, + "y": 713, + "w": 131, + "h": 207, + "anchorX": -74, + "anchorY": -127 + }, + { + "x": 512, + "y": 713, + "w": 131, + "h": 207, + "anchorX": -73, + "anchorY": -127 + }, + { + "x": 644, + "y": 713, + "w": 130, + "h": 207, + "anchorX": -72, + "anchorY": -127 + }, + { + "x": 775, + "y": 713, + "w": 128, + "h": 207, + "anchorX": -70, + "anchorY": -127 + }, + { + "x": 904, + "y": 713, + "w": 127, + "h": 207, + "anchorX": -68, + "anchorY": -128 + }, + { + "x": 1032, + "y": 713, + "w": 115, + "h": 206, + "anchorX": -63, + "anchorY": -128 + }, + { + "x": 1148, + "y": 713, + "w": 108, + "h": 203, + "anchorX": -57, + "anchorY": -129 + }, + { + "x": 1257, + "y": 713, + "w": 111, + "h": 199, + "anchorX": -51, + "anchorY": -130 + }, + { + "x": 1369, + "y": 713, + "w": 113, + "h": 197, + "anchorX": -50, + "anchorY": -130 + }, + { + "x": 1483, + "y": 713, + "w": 112, + "h": 197, + "anchorX": -49, + "anchorY": -131 + }, + { + "x": 1596, + "y": 713, + "w": 92, + "h": 197, + "anchorX": -48, + "anchorY": -132 + }, + { + "x": 1689, + "y": 713, + "w": 91, + "h": 197, + "anchorX": -47, + "anchorY": -132 + }, + { + "x": 1781, + "y": 713, + "w": 91, + "h": 199, + "anchorX": -47, + "anchorY": -133 + }, + { + "x": 1873, + "y": 713, + "w": 92, + "h": 199, + "anchorX": -48, + "anchorY": -133 + }, + { + "x": 0, + "y": 921, + "w": 93, + "h": 201, + "anchorX": -49, + "anchorY": -134 + }, + { + "x": 94, + "y": 921, + "w": 93, + "h": 201, + "anchorX": -49, + "anchorY": -134 + }, + { + "x": 188, + "y": 921, + "w": 95, + "h": 201, + "anchorX": -50, + "anchorY": -134 + } + ] + }, + "bw": { + "file": "campfire/ba-bw.png", + "width": 1813, + "height": 201, + "frameCount": 19, + "frames": [ + { + "x": 0, + "y": 0, + "w": 95, + "h": 201, + "anchorX": -50, + "anchorY": -134 + }, + { + "x": 96, + "y": 0, + "w": 93, + "h": 200, + "anchorX": -48, + "anchorY": -132 + }, + { + "x": 190, + "y": 0, + "w": 93, + "h": 198, + "anchorX": -47, + "anchorY": -131 + }, + { + "x": 284, + "y": 0, + "w": 92, + "h": 197, + "anchorX": -46, + "anchorY": -132 + }, + { + "x": 377, + "y": 0, + "w": 93, + "h": 195, + "anchorX": -47, + "anchorY": -133 + }, + { + "x": 471, + "y": 0, + "w": 95, + "h": 195, + "anchorX": -49, + "anchorY": -133 + }, + { + "x": 567, + "y": 0, + "w": 92, + "h": 192, + "anchorX": -48, + "anchorY": -130 + }, + { + "x": 660, + "y": 0, + "w": 102, + "h": 188, + "anchorX": -47, + "anchorY": -126 + }, + { + "x": 763, + "y": 0, + "w": 110, + "h": 186, + "anchorX": -46, + "anchorY": -124 + }, + { + "x": 874, + "y": 0, + "w": 111, + "h": 185, + "anchorX": -44, + "anchorY": -124 + }, + { + "x": 986, + "y": 0, + "w": 108, + "h": 182, + "anchorX": -43, + "anchorY": -125 + }, + { + "x": 1095, + "y": 0, + "w": 99, + "h": 178, + "anchorX": -43, + "anchorY": -126 + }, + { + "x": 1195, + "y": 0, + "w": 90, + "h": 178, + "anchorX": -42, + "anchorY": -127 + }, + { + "x": 1286, + "y": 0, + "w": 88, + "h": 179, + "anchorX": -41, + "anchorY": -128 + }, + { + "x": 1375, + "y": 0, + "w": 90, + "h": 179, + "anchorX": -41, + "anchorY": -128 + }, + { + "x": 1466, + "y": 0, + "w": 89, + "h": 180, + "anchorX": -40, + "anchorY": -129 + }, + { + "x": 1556, + "y": 0, + "w": 85, + "h": 181, + "anchorX": -38, + "anchorY": -130 + }, + { + "x": 1642, + "y": 0, + "w": 84, + "h": 182, + "anchorX": -37, + "anchorY": -131 + }, + { + "x": 1727, + "y": 0, + "w": 85, + "h": 183, + "anchorX": -37, + "anchorY": -132 + } + ] + } + }, + "pa": { + "nu1": { + "file": "campfire/pa-nu1.png", + "width": 2009, + "height": 359, + "frameCount": 26, + "frames": [ + { + "x": 0, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 83, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 166, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 249, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 333, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 417, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 501, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 584, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 668, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 752, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 836, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 920, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 1004, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 1088, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 1172, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 1256, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 1340, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 1424, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 1508, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 1592, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 1676, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 1760, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 1843, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 1926, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 0, + "y": 180, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 83, + "y": 180, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + } + ] + }, + "nu2": { + "file": "campfire/pa-nu2.png", + "width": 2009, + "height": 359, + "frameCount": 26, + "frames": [ + { + "x": 0, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 83, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 166, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 249, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 333, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 417, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 501, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 584, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 668, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 752, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 836, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 920, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 1004, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 1088, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 1172, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 1256, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 1340, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 1424, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 1508, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 1592, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 1676, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 1760, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 1843, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 1926, + "y": 0, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 0, + "y": 180, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + }, + { + "x": 83, + "y": 180, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + } + ] + }, + "nu3": { + "file": "campfire/pa-nu3.png", + "width": 1190, + "height": 173, + "frameCount": 9, + "frames": [ + { + "x": 0, + "y": 0, + "w": 131, + "h": 173, + "anchorX": -117, + "anchorY": -75 + }, + { + "x": 132, + "y": 0, + "w": 131, + "h": 173, + "anchorX": -117, + "anchorY": -75 + }, + { + "x": 264, + "y": 0, + "w": 132, + "h": 173, + "anchorX": -117, + "anchorY": -75 + }, + { + "x": 397, + "y": 0, + "w": 131, + "h": 173, + "anchorX": -116, + "anchorY": -75 + }, + { + "x": 529, + "y": 0, + "w": 131, + "h": 173, + "anchorX": -116, + "anchorY": -75 + }, + { + "x": 661, + "y": 0, + "w": 131, + "h": 173, + "anchorX": -116, + "anchorY": -75 + }, + { + "x": 793, + "y": 0, + "w": 132, + "h": 173, + "anchorX": -117, + "anchorY": -75 + }, + { + "x": 926, + "y": 0, + "w": 131, + "h": 173, + "anchorX": -117, + "anchorY": -75 + }, + { + "x": 1058, + "y": 0, + "w": 131, + "h": 173, + "anchorX": -117, + "anchorY": -75 + } + ] + }, + "fw": { + "file": "campfire/pa-fw.png", + "width": 2014, + "height": 1161, + "frameCount": 80, + "frames": [ + { + "x": 0, + "y": 0, + "w": 84, + "h": 179, + "anchorX": -34, + "anchorY": -127 + }, + { + "x": 85, + "y": 0, + "w": 85, + "h": 179, + "anchorX": -32, + "anchorY": -127 + }, + { + "x": 171, + "y": 0, + "w": 85, + "h": 179, + "anchorX": -30, + "anchorY": -127 + }, + { + "x": 257, + "y": 0, + "w": 85, + "h": 179, + "anchorX": -29, + "anchorY": -127 + }, + { + "x": 343, + "y": 0, + "w": 85, + "h": 179, + "anchorX": -29, + "anchorY": -127 + }, + { + "x": 429, + "y": 0, + "w": 85, + "h": 179, + "anchorX": -29, + "anchorY": -127 + }, + { + "x": 515, + "y": 0, + "w": 84, + "h": 178, + "anchorX": -29, + "anchorY": -126 + }, + { + "x": 600, + "y": 0, + "w": 83, + "h": 179, + "anchorX": -29, + "anchorY": -126 + }, + { + "x": 684, + "y": 0, + "w": 83, + "h": 178, + "anchorX": -30, + "anchorY": -125 + }, + { + "x": 768, + "y": 0, + "w": 83, + "h": 178, + "anchorX": -31, + "anchorY": -124 + }, + { + "x": 852, + "y": 0, + "w": 83, + "h": 178, + "anchorX": -32, + "anchorY": -122 + }, + { + "x": 936, + "y": 0, + "w": 82, + "h": 180, + "anchorX": -32, + "anchorY": -120 + }, + { + "x": 1019, + "y": 0, + "w": 82, + "h": 180, + "anchorX": -33, + "anchorY": -119 + }, + { + "x": 1102, + "y": 0, + "w": 81, + "h": 180, + "anchorX": -33, + "anchorY": -119 + }, + { + "x": 1184, + "y": 0, + "w": 82, + "h": 183, + "anchorX": -34, + "anchorY": -120 + }, + { + "x": 1267, + "y": 0, + "w": 82, + "h": 185, + "anchorX": -34, + "anchorY": -121 + }, + { + "x": 1350, + "y": 0, + "w": 83, + "h": 187, + "anchorX": -36, + "anchorY": -122 + }, + { + "x": 1434, + "y": 0, + "w": 85, + "h": 188, + "anchorX": -39, + "anchorY": -123 + }, + { + "x": 1520, + "y": 0, + "w": 85, + "h": 189, + "anchorX": -40, + "anchorY": -124 + }, + { + "x": 1606, + "y": 0, + "w": 87, + "h": 190, + "anchorX": -42, + "anchorY": -125 + }, + { + "x": 1694, + "y": 0, + "w": 88, + "h": 190, + "anchorX": -44, + "anchorY": -125 + }, + { + "x": 1783, + "y": 0, + "w": 91, + "h": 189, + "anchorX": -47, + "anchorY": -124 + }, + { + "x": 1875, + "y": 0, + "w": 92, + "h": 189, + "anchorX": -49, + "anchorY": -120 + }, + { + "x": 0, + "y": 191, + "w": 94, + "h": 190, + "anchorX": -52, + "anchorY": -117 + }, + { + "x": 95, + "y": 191, + "w": 95, + "h": 190, + "anchorX": -54, + "anchorY": -115 + }, + { + "x": 191, + "y": 191, + "w": 98, + "h": 194, + "anchorX": -57, + "anchorY": -116 + }, + { + "x": 290, + "y": 191, + "w": 100, + "h": 200, + "anchorX": -60, + "anchorY": -119 + }, + { + "x": 391, + "y": 191, + "w": 103, + "h": 204, + "anchorX": -63, + "anchorY": -122 + }, + { + "x": 495, + "y": 191, + "w": 105, + "h": 206, + "anchorX": -65, + "anchorY": -124 + }, + { + "x": 601, + "y": 191, + "w": 107, + "h": 207, + "anchorX": -67, + "anchorY": -125 + }, + { + "x": 709, + "y": 191, + "w": 109, + "h": 208, + "anchorX": -69, + "anchorY": -126 + }, + { + "x": 819, + "y": 191, + "w": 110, + "h": 209, + "anchorX": -70, + "anchorY": -127 + }, + { + "x": 930, + "y": 191, + "w": 111, + "h": 210, + "anchorX": -71, + "anchorY": -128 + }, + { + "x": 1042, + "y": 191, + "w": 112, + "h": 209, + "anchorX": -72, + "anchorY": -128 + }, + { + "x": 1155, + "y": 191, + "w": 113, + "h": 209, + "anchorX": -74, + "anchorY": -127 + }, + { + "x": 1269, + "y": 191, + "w": 113, + "h": 208, + "anchorX": -76, + "anchorY": -126 + }, + { + "x": 1383, + "y": 191, + "w": 112, + "h": 205, + "anchorX": -79, + "anchorY": -123 + }, + { + "x": 1496, + "y": 191, + "w": 110, + "h": 201, + "anchorX": -81, + "anchorY": -119 + }, + { + "x": 1607, + "y": 191, + "w": 107, + "h": 198, + "anchorX": -80, + "anchorY": -116 + }, + { + "x": 1715, + "y": 191, + "w": 102, + "h": 194, + "anchorX": -79, + "anchorY": -112 + }, + { + "x": 1818, + "y": 191, + "w": 97, + "h": 202, + "anchorX": -78, + "anchorY": -120 + }, + { + "x": 1916, + "y": 191, + "w": 97, + "h": 219, + "anchorX": -75, + "anchorY": -137 + }, + { + "x": 0, + "y": 411, + "w": 108, + "h": 242, + "anchorX": -67, + "anchorY": -160 + }, + { + "x": 109, + "y": 411, + "w": 107, + "h": 259, + "anchorX": -47, + "anchorY": -177 + }, + { + "x": 217, + "y": 411, + "w": 101, + "h": 266, + "anchorX": -35, + "anchorY": -184 + }, + { + "x": 319, + "y": 411, + "w": 101, + "h": 265, + "anchorX": -33, + "anchorY": -183 + }, + { + "x": 421, + "y": 411, + "w": 103, + "h": 259, + "anchorX": -33, + "anchorY": -177 + }, + { + "x": 525, + "y": 411, + "w": 111, + "h": 254, + "anchorX": -40, + "anchorY": -172 + }, + { + "x": 637, + "y": 411, + "w": 144, + "h": 256, + "anchorX": -72, + "anchorY": -174 + }, + { + "x": 782, + "y": 411, + "w": 175, + "h": 256, + "anchorX": -102, + "anchorY": -174 + }, + { + "x": 958, + "y": 411, + "w": 179, + "h": 255, + "anchorX": -106, + "anchorY": -173 + }, + { + "x": 1138, + "y": 411, + "w": 156, + "h": 260, + "anchorX": -82, + "anchorY": -178 + }, + { + "x": 1295, + "y": 411, + "w": 125, + "h": 252, + "anchorX": -51, + "anchorY": -170 + }, + { + "x": 1421, + "y": 411, + "w": 128, + "h": 221, + "anchorX": -57, + "anchorY": -139 + }, + { + "x": 1550, + "y": 411, + "w": 140, + "h": 193, + "anchorX": -74, + "anchorY": -111 + }, + { + "x": 1691, + "y": 411, + "w": 158, + "h": 195, + "anchorX": -87, + "anchorY": -107 + }, + { + "x": 1850, + "y": 411, + "w": 151, + "h": 203, + "anchorX": -95, + "anchorY": -105 + }, + { + "x": 0, + "y": 678, + "w": 150, + "h": 199, + "anchorX": -95, + "anchorY": -102 + }, + { + "x": 151, + "y": 678, + "w": 150, + "h": 197, + "anchorX": -95, + "anchorY": -100 + }, + { + "x": 302, + "y": 678, + "w": 151, + "h": 197, + "anchorX": -95, + "anchorY": -100 + }, + { + "x": 454, + "y": 678, + "w": 152, + "h": 196, + "anchorX": -95, + "anchorY": -99 + }, + { + "x": 607, + "y": 678, + "w": 153, + "h": 197, + "anchorX": -95, + "anchorY": -100 + }, + { + "x": 761, + "y": 678, + "w": 153, + "h": 198, + "anchorX": -95, + "anchorY": -100 + }, + { + "x": 915, + "y": 678, + "w": 153, + "h": 200, + "anchorX": -95, + "anchorY": -102 + }, + { + "x": 1069, + "y": 678, + "w": 153, + "h": 205, + "anchorX": -98, + "anchorY": -107 + }, + { + "x": 1223, + "y": 678, + "w": 153, + "h": 208, + "anchorX": -102, + "anchorY": -110 + }, + { + "x": 1377, + "y": 678, + "w": 154, + "h": 220, + "anchorX": -107, + "anchorY": -122 + }, + { + "x": 1532, + "y": 678, + "w": 153, + "h": 235, + "anchorX": -111, + "anchorY": -137 + }, + { + "x": 1686, + "y": 678, + "w": 151, + "h": 242, + "anchorX": -114, + "anchorY": -144 + }, + { + "x": 1838, + "y": 678, + "w": 148, + "h": 243, + "anchorX": -115, + "anchorY": -145 + }, + { + "x": 0, + "y": 922, + "w": 143, + "h": 239, + "anchorX": -114, + "anchorY": -141 + }, + { + "x": 144, + "y": 922, + "w": 139, + "h": 230, + "anchorX": -113, + "anchorY": -132 + }, + { + "x": 284, + "y": 922, + "w": 134, + "h": 217, + "anchorX": -111, + "anchorY": -119 + }, + { + "x": 419, + "y": 922, + "w": 129, + "h": 202, + "anchorX": -108, + "anchorY": -104 + }, + { + "x": 549, + "y": 922, + "w": 128, + "h": 190, + "anchorX": -109, + "anchorY": -92 + }, + { + "x": 678, + "y": 922, + "w": 129, + "h": 185, + "anchorX": -112, + "anchorY": -87 + }, + { + "x": 808, + "y": 922, + "w": 130, + "h": 181, + "anchorX": -114, + "anchorY": -83 + }, + { + "x": 939, + "y": 922, + "w": 131, + "h": 176, + "anchorX": -116, + "anchorY": -78 + }, + { + "x": 1071, + "y": 922, + "w": 131, + "h": 173, + "anchorX": -117, + "anchorY": -75 + }, + { + "x": 1203, + "y": 922, + "w": 131, + "h": 172, + "anchorX": -117, + "anchorY": -74 + } + ] + }, + "bw": { + "file": "campfire/pa-bw.png", + "width": 2045, + "height": 597, + "frameCount": 40, + "frames": [ + { + "x": 0, + "y": 0, + "w": 132, + "h": 173, + "anchorX": -117, + "anchorY": -75 + }, + { + "x": 133, + "y": 0, + "w": 127, + "h": 178, + "anchorX": -115, + "anchorY": -80 + }, + { + "x": 261, + "y": 0, + "w": 127, + "h": 183, + "anchorX": -112, + "anchorY": -85 + }, + { + "x": 389, + "y": 0, + "w": 132, + "h": 188, + "anchorX": -108, + "anchorY": -90 + }, + { + "x": 522, + "y": 0, + "w": 135, + "h": 193, + "anchorX": -104, + "anchorY": -95 + }, + { + "x": 658, + "y": 0, + "w": 139, + "h": 198, + "anchorX": -104, + "anchorY": -100 + }, + { + "x": 798, + "y": 0, + "w": 139, + "h": 199, + "anchorX": -103, + "anchorY": -101 + }, + { + "x": 938, + "y": 0, + "w": 127, + "h": 197, + "anchorX": -99, + "anchorY": -106 + }, + { + "x": 1066, + "y": 0, + "w": 112, + "h": 198, + "anchorX": -96, + "anchorY": -112 + }, + { + "x": 1179, + "y": 0, + "w": 109, + "h": 200, + "anchorX": -89, + "anchorY": -117 + }, + { + "x": 1289, + "y": 0, + "w": 104, + "h": 204, + "anchorX": -79, + "anchorY": -122 + }, + { + "x": 1394, + "y": 0, + "w": 104, + "h": 204, + "anchorX": -79, + "anchorY": -122 + }, + { + "x": 1499, + "y": 0, + "w": 105, + "h": 206, + "anchorX": -77, + "anchorY": -124 + }, + { + "x": 1605, + "y": 0, + "w": 107, + "h": 207, + "anchorX": -75, + "anchorY": -126 + }, + { + "x": 1713, + "y": 0, + "w": 109, + "h": 209, + "anchorX": -73, + "anchorY": -128 + }, + { + "x": 1823, + "y": 0, + "w": 110, + "h": 209, + "anchorX": -71, + "anchorY": -128 + }, + { + "x": 1934, + "y": 0, + "w": 110, + "h": 208, + "anchorX": -70, + "anchorY": -128 + }, + { + "x": 0, + "y": 210, + "w": 109, + "h": 207, + "anchorX": -69, + "anchorY": -127 + }, + { + "x": 110, + "y": 210, + "w": 107, + "h": 206, + "anchorX": -67, + "anchorY": -126 + }, + { + "x": 218, + "y": 210, + "w": 105, + "h": 205, + "anchorX": -65, + "anchorY": -125 + }, + { + "x": 324, + "y": 210, + "w": 103, + "h": 204, + "anchorX": -62, + "anchorY": -123 + }, + { + "x": 428, + "y": 210, + "w": 98, + "h": 201, + "anchorX": -57, + "anchorY": -120 + }, + { + "x": 527, + "y": 210, + "w": 96, + "h": 197, + "anchorX": -54, + "anchorY": -117 + }, + { + "x": 624, + "y": 210, + "w": 96, + "h": 195, + "anchorX": -54, + "anchorY": -116 + }, + { + "x": 721, + "y": 210, + "w": 95, + "h": 194, + "anchorX": -52, + "anchorY": -117 + }, + { + "x": 817, + "y": 210, + "w": 93, + "h": 193, + "anchorX": -50, + "anchorY": -119 + }, + { + "x": 911, + "y": 210, + "w": 94, + "h": 191, + "anchorX": -49, + "anchorY": -122 + }, + { + "x": 1006, + "y": 210, + "w": 93, + "h": 189, + "anchorX": -47, + "anchorY": -124 + }, + { + "x": 1100, + "y": 210, + "w": 92, + "h": 190, + "anchorX": -45, + "anchorY": -125 + }, + { + "x": 1193, + "y": 210, + "w": 91, + "h": 190, + "anchorX": -43, + "anchorY": -125 + }, + { + "x": 1285, + "y": 210, + "w": 90, + "h": 189, + "anchorX": -41, + "anchorY": -123 + }, + { + "x": 1376, + "y": 210, + "w": 89, + "h": 186, + "anchorX": -39, + "anchorY": -120 + }, + { + "x": 1466, + "y": 210, + "w": 88, + "h": 183, + "anchorX": -37, + "anchorY": -118 + }, + { + "x": 1555, + "y": 210, + "w": 88, + "h": 182, + "anchorX": -36, + "anchorY": -118 + }, + { + "x": 1644, + "y": 210, + "w": 86, + "h": 177, + "anchorX": -35, + "anchorY": -118 + }, + { + "x": 1731, + "y": 210, + "w": 86, + "h": 173, + "anchorX": -35, + "anchorY": -120 + }, + { + "x": 1818, + "y": 210, + "w": 85, + "h": 173, + "anchorX": -35, + "anchorY": -121 + }, + { + "x": 1904, + "y": 210, + "w": 84, + "h": 175, + "anchorX": -35, + "anchorY": -123 + }, + { + "x": 0, + "y": 418, + "w": 83, + "h": 177, + "anchorX": -35, + "anchorY": -125 + }, + { + "x": 84, + "y": 418, + "w": 82, + "h": 179, + "anchorX": -35, + "anchorY": -127 + } + ] + } + }, + "so": { + "nu1": { + "file": "campfire/so-nu1.png", + "width": 2035, + "height": 333, + "frameCount": 32, + "frames": [ + { + "x": 0, + "y": 0, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 90, + "y": 0, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 180, + "y": 0, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 270, + "y": 0, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 360, + "y": 0, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 450, + "y": 0, + "w": 90, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 541, + "y": 0, + "w": 91, + "h": 166, + "anchorX": -62, + "anchorY": -113 + }, + { + "x": 633, + "y": 0, + "w": 91, + "h": 166, + "anchorX": -62, + "anchorY": -113 + }, + { + "x": 725, + "y": 0, + "w": 91, + "h": 166, + "anchorX": -62, + "anchorY": -113 + }, + { + "x": 817, + "y": 0, + "w": 92, + "h": 166, + "anchorX": -63, + "anchorY": -113 + }, + { + "x": 910, + "y": 0, + "w": 92, + "h": 166, + "anchorX": -63, + "anchorY": -113 + }, + { + "x": 1003, + "y": 0, + "w": 92, + "h": 166, + "anchorX": -63, + "anchorY": -113 + }, + { + "x": 1096, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1190, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1284, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1378, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1472, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1566, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1660, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1754, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1848, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1942, + "y": 0, + "w": 92, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 0, + "y": 167, + "w": 92, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 93, + "y": 167, + "w": 91, + "h": 166, + "anchorX": -63, + "anchorY": -113 + }, + { + "x": 185, + "y": 167, + "w": 91, + "h": 166, + "anchorX": -63, + "anchorY": -113 + }, + { + "x": 277, + "y": 167, + "w": 91, + "h": 166, + "anchorX": -63, + "anchorY": -113 + }, + { + "x": 369, + "y": 167, + "w": 90, + "h": 166, + "anchorX": -62, + "anchorY": -113 + }, + { + "x": 460, + "y": 167, + "w": 90, + "h": 166, + "anchorX": -62, + "anchorY": -113 + }, + { + "x": 551, + "y": 167, + "w": 90, + "h": 166, + "anchorX": -62, + "anchorY": -113 + }, + { + "x": 642, + "y": 167, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 732, + "y": 167, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 822, + "y": 167, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + } + ] + }, + "nu2": { + "file": "campfire/so-nu2.png", + "width": 2035, + "height": 333, + "frameCount": 32, + "frames": [ + { + "x": 0, + "y": 0, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 90, + "y": 0, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 180, + "y": 0, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 270, + "y": 0, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 360, + "y": 0, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 450, + "y": 0, + "w": 90, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 541, + "y": 0, + "w": 91, + "h": 166, + "anchorX": -62, + "anchorY": -113 + }, + { + "x": 633, + "y": 0, + "w": 91, + "h": 166, + "anchorX": -62, + "anchorY": -113 + }, + { + "x": 725, + "y": 0, + "w": 91, + "h": 166, + "anchorX": -62, + "anchorY": -113 + }, + { + "x": 817, + "y": 0, + "w": 92, + "h": 166, + "anchorX": -63, + "anchorY": -113 + }, + { + "x": 910, + "y": 0, + "w": 92, + "h": 166, + "anchorX": -63, + "anchorY": -113 + }, + { + "x": 1003, + "y": 0, + "w": 92, + "h": 166, + "anchorX": -63, + "anchorY": -113 + }, + { + "x": 1096, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1190, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1284, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1378, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1472, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1566, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1660, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1754, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1848, + "y": 0, + "w": 93, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 1942, + "y": 0, + "w": 92, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 0, + "y": 167, + "w": 92, + "h": 166, + "anchorX": -64, + "anchorY": -113 + }, + { + "x": 93, + "y": 167, + "w": 91, + "h": 166, + "anchorX": -63, + "anchorY": -113 + }, + { + "x": 185, + "y": 167, + "w": 91, + "h": 166, + "anchorX": -63, + "anchorY": -113 + }, + { + "x": 277, + "y": 167, + "w": 91, + "h": 166, + "anchorX": -63, + "anchorY": -113 + }, + { + "x": 369, + "y": 167, + "w": 90, + "h": 166, + "anchorX": -62, + "anchorY": -113 + }, + { + "x": 460, + "y": 167, + "w": 90, + "h": 166, + "anchorX": -62, + "anchorY": -113 + }, + { + "x": 551, + "y": 167, + "w": 90, + "h": 166, + "anchorX": -62, + "anchorY": -113 + }, + { + "x": 642, + "y": 167, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 732, + "y": 167, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 822, + "y": 167, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + } + ] + }, + "nu3": { + "file": "campfire/so-nu3.png", + "width": 1306, + "height": 209, + "frameCount": 12, + "frames": [ + { + "x": 0, + "y": 0, + "w": 107, + "h": 209, + "anchorX": -52, + "anchorY": -135 + }, + { + "x": 108, + "y": 0, + "w": 108, + "h": 209, + "anchorX": -52, + "anchorY": -135 + }, + { + "x": 217, + "y": 0, + "w": 109, + "h": 209, + "anchorX": -52, + "anchorY": -135 + }, + { + "x": 327, + "y": 0, + "w": 109, + "h": 209, + "anchorX": -52, + "anchorY": -135 + }, + { + "x": 437, + "y": 0, + "w": 108, + "h": 209, + "anchorX": -51, + "anchorY": -135 + }, + { + "x": 546, + "y": 0, + "w": 108, + "h": 209, + "anchorX": -51, + "anchorY": -135 + }, + { + "x": 655, + "y": 0, + "w": 108, + "h": 209, + "anchorX": -51, + "anchorY": -135 + }, + { + "x": 764, + "y": 0, + "w": 108, + "h": 209, + "anchorX": -51, + "anchorY": -135 + }, + { + "x": 873, + "y": 0, + "w": 108, + "h": 209, + "anchorX": -51, + "anchorY": -135 + }, + { + "x": 982, + "y": 0, + "w": 107, + "h": 209, + "anchorX": -51, + "anchorY": -135 + }, + { + "x": 1090, + "y": 0, + "w": 107, + "h": 209, + "anchorX": -51, + "anchorY": -135 + }, + { + "x": 1198, + "y": 0, + "w": 107, + "h": 209, + "anchorX": -51, + "anchorY": -135 + } + ] + }, + "nu3_ov": { + "file": "campfire/so-nu3-ov.png", + "width": 1263, + "height": 77, + "frameCount": 12, + "frames": [ + { + "x": 0, + "y": 0, + "w": 104, + "h": 74, + "anchorX": -57, + "anchorY": -177 + }, + { + "x": 105, + "y": 0, + "w": 105, + "h": 75, + "anchorX": -57, + "anchorY": -179 + }, + { + "x": 211, + "y": 0, + "w": 107, + "h": 77, + "anchorX": -57, + "anchorY": -180 + }, + { + "x": 319, + "y": 0, + "w": 107, + "h": 76, + "anchorX": -57, + "anchorY": -180 + }, + { + "x": 427, + "y": 0, + "w": 107, + "h": 76, + "anchorX": -57, + "anchorY": -179 + }, + { + "x": 535, + "y": 0, + "w": 107, + "h": 75, + "anchorX": -57, + "anchorY": -178 + }, + { + "x": 643, + "y": 0, + "w": 105, + "h": 76, + "anchorX": -55, + "anchorY": -179 + }, + { + "x": 749, + "y": 0, + "w": 104, + "h": 76, + "anchorX": -55, + "anchorY": -179 + }, + { + "x": 854, + "y": 0, + "w": 102, + "h": 73, + "anchorX": -54, + "anchorY": -176 + }, + { + "x": 957, + "y": 0, + "w": 102, + "h": 73, + "anchorX": -54, + "anchorY": -176 + }, + { + "x": 1060, + "y": 0, + "w": 101, + "h": 75, + "anchorX": -54, + "anchorY": -178 + }, + { + "x": 1162, + "y": 0, + "w": 100, + "h": 75, + "anchorX": -54, + "anchorY": -178 + } + ] + }, + "fw": { + "file": "campfire/so-fw.png", + "width": 2000, + "height": 606, + "frameCount": 52, + "frames": [ + { + "x": 0, + "y": 0, + "w": 89, + "h": 166, + "anchorX": -61, + "anchorY": -113 + }, + { + "x": 90, + "y": 0, + "w": 89, + "h": 166, + "anchorX": -60, + "anchorY": -113 + }, + { + "x": 180, + "y": 0, + "w": 90, + "h": 166, + "anchorX": -58, + "anchorY": -113 + }, + { + "x": 271, + "y": 0, + "w": 91, + "h": 166, + "anchorX": -56, + "anchorY": -113 + }, + { + "x": 363, + "y": 0, + "w": 91, + "h": 167, + "anchorX": -53, + "anchorY": -114 + }, + { + "x": 455, + "y": 0, + "w": 93, + "h": 167, + "anchorX": -52, + "anchorY": -114 + }, + { + "x": 549, + "y": 0, + "w": 92, + "h": 167, + "anchorX": -51, + "anchorY": -114 + }, + { + "x": 642, + "y": 0, + "w": 90, + "h": 169, + "anchorX": -49, + "anchorY": -116 + }, + { + "x": 733, + "y": 0, + "w": 91, + "h": 172, + "anchorX": -48, + "anchorY": -117 + }, + { + "x": 825, + "y": 0, + "w": 90, + "h": 174, + "anchorX": -46, + "anchorY": -118 + }, + { + "x": 916, + "y": 0, + "w": 90, + "h": 177, + "anchorX": -46, + "anchorY": -119 + }, + { + "x": 1007, + "y": 0, + "w": 91, + "h": 180, + "anchorX": -46, + "anchorY": -119 + }, + { + "x": 1099, + "y": 0, + "w": 92, + "h": 183, + "anchorX": -48, + "anchorY": -119 + }, + { + "x": 1192, + "y": 0, + "w": 96, + "h": 182, + "anchorX": -51, + "anchorY": -118 + }, + { + "x": 1289, + "y": 0, + "w": 100, + "h": 183, + "anchorX": -55, + "anchorY": -119 + }, + { + "x": 1390, + "y": 0, + "w": 102, + "h": 184, + "anchorX": -58, + "anchorY": -120 + }, + { + "x": 1493, + "y": 0, + "w": 102, + "h": 185, + "anchorX": -60, + "anchorY": -121 + }, + { + "x": 1596, + "y": 0, + "w": 102, + "h": 186, + "anchorX": -61, + "anchorY": -122 + }, + { + "x": 1699, + "y": 0, + "w": 101, + "h": 186, + "anchorX": -62, + "anchorY": -122 + }, + { + "x": 1801, + "y": 0, + "w": 99, + "h": 190, + "anchorX": -62, + "anchorY": -123 + }, + { + "x": 1901, + "y": 0, + "w": 98, + "h": 191, + "anchorX": -62, + "anchorY": -123 + }, + { + "x": 0, + "y": 192, + "w": 97, + "h": 194, + "anchorX": -61, + "anchorY": -124 + }, + { + "x": 98, + "y": 192, + "w": 95, + "h": 194, + "anchorX": -60, + "anchorY": -124 + }, + { + "x": 194, + "y": 192, + "w": 92, + "h": 193, + "anchorX": -58, + "anchorY": -123 + }, + { + "x": 287, + "y": 192, + "w": 88, + "h": 192, + "anchorX": -54, + "anchorY": -121 + }, + { + "x": 376, + "y": 192, + "w": 84, + "h": 191, + "anchorX": -50, + "anchorY": -118 + }, + { + "x": 461, + "y": 192, + "w": 80, + "h": 190, + "anchorX": -46, + "anchorY": -116 + }, + { + "x": 542, + "y": 192, + "w": 78, + "h": 191, + "anchorX": -44, + "anchorY": -115 + }, + { + "x": 621, + "y": 192, + "w": 79, + "h": 192, + "anchorX": -44, + "anchorY": -115 + }, + { + "x": 701, + "y": 192, + "w": 84, + "h": 193, + "anchorX": -44, + "anchorY": -116 + }, + { + "x": 786, + "y": 192, + "w": 89, + "h": 193, + "anchorX": -45, + "anchorY": -117 + }, + { + "x": 876, + "y": 192, + "w": 95, + "h": 192, + "anchorX": -46, + "anchorY": -117 + }, + { + "x": 972, + "y": 192, + "w": 100, + "h": 192, + "anchorX": -48, + "anchorY": -118 + }, + { + "x": 1073, + "y": 192, + "w": 106, + "h": 192, + "anchorX": -51, + "anchorY": -118 + }, + { + "x": 1180, + "y": 192, + "w": 110, + "h": 191, + "anchorX": -55, + "anchorY": -117 + }, + { + "x": 1291, + "y": 192, + "w": 113, + "h": 190, + "anchorX": -58, + "anchorY": -116 + }, + { + "x": 1405, + "y": 192, + "w": 116, + "h": 190, + "anchorX": -61, + "anchorY": -116 + }, + { + "x": 1522, + "y": 192, + "w": 118, + "h": 190, + "anchorX": -64, + "anchorY": -116 + }, + { + "x": 1641, + "y": 192, + "w": 116, + "h": 190, + "anchorX": -64, + "anchorY": -116 + }, + { + "x": 1758, + "y": 192, + "w": 112, + "h": 191, + "anchorX": -63, + "anchorY": -116 + }, + { + "x": 1871, + "y": 192, + "w": 106, + "h": 196, + "anchorX": -61, + "anchorY": -117 + }, + { + "x": 0, + "y": 389, + "w": 99, + "h": 198, + "anchorX": -59, + "anchorY": -117 + }, + { + "x": 100, + "y": 389, + "w": 94, + "h": 200, + "anchorX": -59, + "anchorY": -117 + }, + { + "x": 195, + "y": 389, + "w": 88, + "h": 202, + "anchorX": -60, + "anchorY": -120 + }, + { + "x": 284, + "y": 389, + "w": 86, + "h": 208, + "anchorX": -60, + "anchorY": -128 + }, + { + "x": 371, + "y": 389, + "w": 85, + "h": 213, + "anchorX": -58, + "anchorY": -135 + }, + { + "x": 457, + "y": 389, + "w": 82, + "h": 217, + "anchorX": -54, + "anchorY": -139 + }, + { + "x": 540, + "y": 389, + "w": 81, + "h": 217, + "anchorX": -52, + "anchorY": -139 + }, + { + "x": 622, + "y": 389, + "w": 79, + "h": 215, + "anchorX": -50, + "anchorY": -138 + }, + { + "x": 702, + "y": 389, + "w": 87, + "h": 208, + "anchorX": -49, + "anchorY": -133 + }, + { + "x": 790, + "y": 389, + "w": 97, + "h": 207, + "anchorX": -49, + "anchorY": -133 + }, + { + "x": 888, + "y": 389, + "w": 105, + "h": 208, + "anchorX": -51, + "anchorY": -134 + } + ] + }, + "fw_ov": { + "file": "campfire/so-fw-ov.png", + "width": 1299, + "height": 68, + "frameCount": 52, + "frames": [ + { + "x": 0, + "y": 0, + "w": 19, + "h": 25, + "anchorX": -61, + "anchorY": -112 + }, + { + "x": 20, + "y": 0, + "w": 19, + "h": 25, + "anchorX": -60, + "anchorY": -112 + }, + { + "x": 40, + "y": 0, + "w": 19, + "h": 24, + "anchorX": -58, + "anchorY": -112 + }, + { + "x": 60, + "y": 0, + "w": 19, + "h": 25, + "anchorX": -56, + "anchorY": -113 + }, + { + "x": 80, + "y": 0, + "w": 18, + "h": 25, + "anchorX": -53, + "anchorY": -113 + }, + { + "x": 99, + "y": 0, + "w": 19, + "h": 25, + "anchorX": -52, + "anchorY": -114 + }, + { + "x": 119, + "y": 0, + "w": 19, + "h": 25, + "anchorX": -51, + "anchorY": -114 + }, + { + "x": 139, + "y": 0, + "w": 19, + "h": 26, + "anchorX": -49, + "anchorY": -116 + }, + { + "x": 159, + "y": 0, + "w": 19, + "h": 26, + "anchorX": -48, + "anchorY": -117 + }, + { + "x": 179, + "y": 0, + "w": 19, + "h": 26, + "anchorX": -46, + "anchorY": -118 + }, + { + "x": 199, + "y": 0, + "w": 19, + "h": 26, + "anchorX": -46, + "anchorY": -119 + }, + { + "x": 219, + "y": 0, + "w": 19, + "h": 26, + "anchorX": -46, + "anchorY": -119 + }, + { + "x": 239, + "y": 0, + "w": 20, + "h": 26, + "anchorX": -48, + "anchorY": -119 + }, + { + "x": 260, + "y": 0, + "w": 20, + "h": 26, + "anchorX": -51, + "anchorY": -118 + }, + { + "x": 281, + "y": 0, + "w": 21, + "h": 26, + "anchorX": -55, + "anchorY": -119 + }, + { + "x": 303, + "y": 0, + "w": 21, + "h": 27, + "anchorX": -58, + "anchorY": -120 + }, + { + "x": 325, + "y": 0, + "w": 21, + "h": 27, + "anchorX": -60, + "anchorY": -121 + }, + { + "x": 347, + "y": 0, + "w": 21, + "h": 27, + "anchorX": -61, + "anchorY": -122 + }, + { + "x": 369, + "y": 0, + "w": 21, + "h": 26, + "anchorX": -62, + "anchorY": -122 + }, + { + "x": 391, + "y": 0, + "w": 20, + "h": 27, + "anchorX": -62, + "anchorY": -123 + }, + { + "x": 412, + "y": 0, + "w": 21, + "h": 27, + "anchorX": -62, + "anchorY": -123 + }, + { + "x": 434, + "y": 0, + "w": 20, + "h": 28, + "anchorX": -61, + "anchorY": -124 + }, + { + "x": 455, + "y": 0, + "w": 21, + "h": 28, + "anchorX": -60, + "anchorY": -124 + }, + { + "x": 477, + "y": 0, + "w": 20, + "h": 28, + "anchorX": -58, + "anchorY": -123 + }, + { + "x": 498, + "y": 0, + "w": 19, + "h": 29, + "anchorX": -54, + "anchorY": -121 + }, + { + "x": 518, + "y": 0, + "w": 19, + "h": 28, + "anchorX": -50, + "anchorY": -118 + }, + { + "x": 538, + "y": 0, + "w": 18, + "h": 28, + "anchorX": -46, + "anchorY": -116 + }, + { + "x": 557, + "y": 0, + "w": 18, + "h": 29, + "anchorX": -44, + "anchorY": -115 + }, + { + "x": 576, + "y": 0, + "w": 19, + "h": 29, + "anchorX": -44, + "anchorY": -114 + }, + { + "x": 596, + "y": 0, + "w": 20, + "h": 30, + "anchorX": -44, + "anchorY": -114 + }, + { + "x": 617, + "y": 0, + "w": 21, + "h": 29, + "anchorX": -45, + "anchorY": -113 + }, + { + "x": 639, + "y": 0, + "w": 21, + "h": 30, + "anchorX": -46, + "anchorY": -113 + }, + { + "x": 661, + "y": 0, + "w": 21, + "h": 29, + "anchorX": -48, + "anchorY": -112 + }, + { + "x": 683, + "y": 0, + "w": 22, + "h": 30, + "anchorX": -51, + "anchorY": -111 + }, + { + "x": 706, + "y": 0, + "w": 23, + "h": 29, + "anchorX": -55, + "anchorY": -109 + }, + { + "x": 730, + "y": 0, + "w": 23, + "h": 30, + "anchorX": -58, + "anchorY": -108 + }, + { + "x": 754, + "y": 0, + "w": 23, + "h": 29, + "anchorX": -61, + "anchorY": -106 + }, + { + "x": 778, + "y": 0, + "w": 24, + "h": 29, + "anchorX": -64, + "anchorY": -105 + }, + { + "x": 803, + "y": 0, + "w": 23, + "h": 28, + "anchorX": -64, + "anchorY": -104 + }, + { + "x": 827, + "y": 0, + "w": 23, + "h": 29, + "anchorX": -63, + "anchorY": -104 + }, + { + "x": 851, + "y": 0, + "w": 22, + "h": 29, + "anchorX": -61, + "anchorY": -104 + }, + { + "x": 874, + "y": 0, + "w": 21, + "h": 28, + "anchorX": -59, + "anchorY": -104 + }, + { + "x": 896, + "y": 0, + "w": 21, + "h": 28, + "anchorX": -59, + "anchorY": -105 + }, + { + "x": 918, + "y": 0, + "w": 20, + "h": 29, + "anchorX": -60, + "anchorY": -108 + }, + { + "x": 939, + "y": 0, + "w": 23, + "h": 30, + "anchorX": -64, + "anchorY": -114 + }, + { + "x": 963, + "y": 0, + "w": 26, + "h": 34, + "anchorX": -64, + "anchorY": -124 + }, + { + "x": 990, + "y": 0, + "w": 25, + "h": 39, + "anchorX": -60, + "anchorY": -133 + }, + { + "x": 1016, + "y": 0, + "w": 25, + "h": 54, + "anchorX": -57, + "anchorY": -149 + }, + { + "x": 1042, + "y": 0, + "w": 31, + "h": 58, + "anchorX": -53, + "anchorY": -156 + }, + { + "x": 1074, + "y": 0, + "w": 48, + "h": 60, + "anchorX": -54, + "anchorY": -161 + }, + { + "x": 1123, + "y": 0, + "w": 77, + "h": 61, + "anchorX": -55, + "anchorY": -163 + }, + { + "x": 1201, + "y": 0, + "w": 97, + "h": 68, + "anchorX": -56, + "anchorY": -170 + } + ] + }, + "bw": { + "file": "campfire/so-bw.png", + "width": 2013, + "height": 388, + "frameCount": 30, + "frames": [ + { + "x": 0, + "y": 0, + "w": 107, + "h": 209, + "anchorX": -52, + "anchorY": -135 + }, + { + "x": 108, + "y": 0, + "w": 107, + "h": 209, + "anchorX": -51, + "anchorY": -135 + }, + { + "x": 216, + "y": 0, + "w": 107, + "h": 211, + "anchorX": -49, + "anchorY": -137 + }, + { + "x": 324, + "y": 0, + "w": 109, + "h": 212, + "anchorX": -48, + "anchorY": -138 + }, + { + "x": 434, + "y": 0, + "w": 104, + "h": 212, + "anchorX": -48, + "anchorY": -138 + }, + { + "x": 539, + "y": 0, + "w": 103, + "h": 211, + "anchorX": -50, + "anchorY": -137 + }, + { + "x": 643, + "y": 0, + "w": 100, + "h": 209, + "anchorX": -52, + "anchorY": -135 + }, + { + "x": 744, + "y": 0, + "w": 97, + "h": 206, + "anchorX": -53, + "anchorY": -132 + }, + { + "x": 842, + "y": 0, + "w": 96, + "h": 204, + "anchorX": -55, + "anchorY": -130 + }, + { + "x": 939, + "y": 0, + "w": 94, + "h": 201, + "anchorX": -56, + "anchorY": -127 + }, + { + "x": 1034, + "y": 0, + "w": 93, + "h": 198, + "anchorX": -58, + "anchorY": -124 + }, + { + "x": 1128, + "y": 0, + "w": 93, + "h": 195, + "anchorX": -60, + "anchorY": -121 + }, + { + "x": 1222, + "y": 0, + "w": 94, + "h": 192, + "anchorX": -63, + "anchorY": -119 + }, + { + "x": 1317, + "y": 0, + "w": 94, + "h": 187, + "anchorX": -65, + "anchorY": -116 + }, + { + "x": 1412, + "y": 0, + "w": 93, + "h": 184, + "anchorX": -67, + "anchorY": -114 + }, + { + "x": 1506, + "y": 0, + "w": 93, + "h": 180, + "anchorX": -69, + "anchorY": -112 + }, + { + "x": 1600, + "y": 0, + "w": 95, + "h": 175, + "anchorX": -70, + "anchorY": -111 + }, + { + "x": 1696, + "y": 0, + "w": 101, + "h": 174, + "anchorX": -72, + "anchorY": -112 + }, + { + "x": 1798, + "y": 0, + "w": 105, + "h": 175, + "anchorX": -73, + "anchorY": -113 + }, + { + "x": 1904, + "y": 0, + "w": 108, + "h": 175, + "anchorX": -73, + "anchorY": -113 + }, + { + "x": 0, + "y": 213, + "w": 111, + "h": 175, + "anchorX": -72, + "anchorY": -113 + }, + { + "x": 112, + "y": 213, + "w": 111, + "h": 175, + "anchorX": -69, + "anchorY": -113 + }, + { + "x": 224, + "y": 213, + "w": 108, + "h": 174, + "anchorX": -65, + "anchorY": -112 + }, + { + "x": 333, + "y": 213, + "w": 102, + "h": 171, + "anchorX": -60, + "anchorY": -111 + }, + { + "x": 436, + "y": 213, + "w": 97, + "h": 171, + "anchorX": -57, + "anchorY": -112 + }, + { + "x": 534, + "y": 213, + "w": 93, + "h": 167, + "anchorX": -57, + "anchorY": -112 + }, + { + "x": 628, + "y": 213, + "w": 91, + "h": 166, + "anchorX": -59, + "anchorY": -113 + }, + { + "x": 720, + "y": 213, + "w": 89, + "h": 166, + "anchorX": -60, + "anchorY": -113 + }, + { + "x": 810, + "y": 213, + "w": 87, + "h": 166, + "anchorX": -60, + "anchorY": -113 + }, + { + "x": 898, + "y": 213, + "w": 87, + "h": 166, + "anchorX": -60, + "anchorY": -113 + } + ] + }, + "bw_ov": { + "file": "campfire/so-bw-ov.png", + "width": 991, + "height": 73, + "frameCount": 30, + "frames": [ + { + "x": 0, + "y": 0, + "w": 104, + "h": 72, + "anchorX": -57, + "anchorY": -175 + }, + { + "x": 105, + "y": 0, + "w": 106, + "h": 72, + "anchorX": -56, + "anchorY": -176 + }, + { + "x": 212, + "y": 0, + "w": 102, + "h": 72, + "anchorX": -53, + "anchorY": -177 + }, + { + "x": 315, + "y": 0, + "w": 80, + "h": 73, + "anchorX": -52, + "anchorY": -179 + }, + { + "x": 396, + "y": 0, + "w": 57, + "h": 67, + "anchorX": -52, + "anchorY": -173 + }, + { + "x": 454, + "y": 0, + "w": 33, + "h": 58, + "anchorX": -53, + "anchorY": -163 + }, + { + "x": 488, + "y": 0, + "w": 23, + "h": 51, + "anchorX": -56, + "anchorY": -154 + }, + { + "x": 512, + "y": 0, + "w": 28, + "h": 39, + "anchorX": -59, + "anchorY": -140 + }, + { + "x": 541, + "y": 0, + "w": 24, + "h": 31, + "anchorX": -59, + "anchorY": -130 + }, + { + "x": 566, + "y": 0, + "w": 18, + "h": 31, + "anchorX": -56, + "anchorY": -127 + }, + { + "x": 585, + "y": 0, + "w": 18, + "h": 30, + "anchorX": -58, + "anchorY": -124 + }, + { + "x": 604, + "y": 0, + "w": 17, + "h": 29, + "anchorX": -60, + "anchorY": -121 + }, + { + "x": 622, + "y": 0, + "w": 18, + "h": 29, + "anchorX": -63, + "anchorY": -119 + }, + { + "x": 641, + "y": 0, + "w": 18, + "h": 29, + "anchorX": -65, + "anchorY": -116 + }, + { + "x": 660, + "y": 0, + "w": 19, + "h": 28, + "anchorX": -67, + "anchorY": -114 + }, + { + "x": 680, + "y": 0, + "w": 20, + "h": 28, + "anchorX": -69, + "anchorY": -112 + }, + { + "x": 701, + "y": 0, + "w": 20, + "h": 27, + "anchorX": -70, + "anchorY": -111 + }, + { + "x": 722, + "y": 0, + "w": 20, + "h": 27, + "anchorX": -72, + "anchorY": -111 + }, + { + "x": 743, + "y": 0, + "w": 21, + "h": 26, + "anchorX": -73, + "anchorY": -110 + }, + { + "x": 765, + "y": 0, + "w": 21, + "h": 25, + "anchorX": -73, + "anchorY": -109 + }, + { + "x": 787, + "y": 0, + "w": 21, + "h": 25, + "anchorX": -72, + "anchorY": -108 + }, + { + "x": 809, + "y": 0, + "w": 21, + "h": 24, + "anchorX": -69, + "anchorY": -107 + }, + { + "x": 831, + "y": 0, + "w": 21, + "h": 25, + "anchorX": -65, + "anchorY": -109 + }, + { + "x": 853, + "y": 0, + "w": 20, + "h": 25, + "anchorX": -60, + "anchorY": -111 + }, + { + "x": 874, + "y": 0, + "w": 19, + "h": 25, + "anchorX": -57, + "anchorY": -112 + }, + { + "x": 894, + "y": 0, + "w": 19, + "h": 24, + "anchorX": -57, + "anchorY": -112 + }, + { + "x": 914, + "y": 0, + "w": 19, + "h": 25, + "anchorX": -59, + "anchorY": -113 + }, + { + "x": 934, + "y": 0, + "w": 18, + "h": 25, + "anchorX": -60, + "anchorY": -113 + }, + { + "x": 953, + "y": 0, + "w": 18, + "h": 24, + "anchorX": -60, + "anchorY": -112 + }, + { + "x": 972, + "y": 0, + "w": 18, + "h": 25, + "anchorX": -60, + "anchorY": -112 + } + ] + } + }, + "dz": { + "nu1": { + "file": "campfire/dz-nu1.png", + "width": 1838, + "height": 199, + "frameCount": 21, + "frames": [ + { + "x": 0, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 88, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 176, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 264, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 352, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 440, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 528, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 616, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 704, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 791, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 878, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 965, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1052, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1139, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1226, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1313, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1400, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1487, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1574, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1662, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1750, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + } + ] + }, + "nu2": { + "file": "campfire/dz-nu2.png", + "width": 1838, + "height": 199, + "frameCount": 21, + "frames": [ + { + "x": 0, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 88, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 176, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 264, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 352, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 440, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 528, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 616, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 704, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 791, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 878, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 965, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1052, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1139, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1226, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1313, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1400, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1487, + "y": 0, + "w": 86, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1574, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1662, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1750, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + } + ] + }, + "nu3": { + "file": "campfire/dz-nu3.png", + "width": 2034, + "height": 483, + "frameCount": 21, + "frames": [ + { + "x": 0, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 113, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 226, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 339, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 452, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 565, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 678, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 791, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 904, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 1017, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 1130, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 1243, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 1356, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 1469, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 1582, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 1695, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 1808, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 1921, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 0, + "y": 242, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 113, + "y": 242, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 226, + "y": 242, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + } + ] + }, + "fw": { + "file": "campfire/dz-fw.png", + "width": 2023, + "height": 1666, + "frameCount": 121, + "frames": [ + { + "x": 0, + "y": 0, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 88, + "y": 0, + "w": 88, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 177, + "y": 0, + "w": 88, + "h": 200, + "anchorX": -40, + "anchorY": -152 + }, + { + "x": 266, + "y": 0, + "w": 89, + "h": 200, + "anchorX": -40, + "anchorY": -152 + }, + { + "x": 356, + "y": 0, + "w": 90, + "h": 200, + "anchorX": -40, + "anchorY": -152 + }, + { + "x": 447, + "y": 0, + "w": 91, + "h": 201, + "anchorX": -40, + "anchorY": -153 + }, + { + "x": 539, + "y": 0, + "w": 91, + "h": 201, + "anchorX": -39, + "anchorY": -153 + }, + { + "x": 631, + "y": 0, + "w": 92, + "h": 201, + "anchorX": -39, + "anchorY": -153 + }, + { + "x": 724, + "y": 0, + "w": 92, + "h": 203, + "anchorX": -39, + "anchorY": -154 + }, + { + "x": 817, + "y": 0, + "w": 94, + "h": 204, + "anchorX": -40, + "anchorY": -154 + }, + { + "x": 912, + "y": 0, + "w": 94, + "h": 204, + "anchorX": -40, + "anchorY": -154 + }, + { + "x": 1007, + "y": 0, + "w": 95, + "h": 204, + "anchorX": -41, + "anchorY": -154 + }, + { + "x": 1103, + "y": 0, + "w": 95, + "h": 205, + "anchorX": -42, + "anchorY": -154 + }, + { + "x": 1199, + "y": 0, + "w": 96, + "h": 206, + "anchorX": -44, + "anchorY": -154 + }, + { + "x": 1296, + "y": 0, + "w": 97, + "h": 207, + "anchorX": -46, + "anchorY": -154 + }, + { + "x": 1394, + "y": 0, + "w": 98, + "h": 210, + "anchorX": -48, + "anchorY": -154 + }, + { + "x": 1493, + "y": 0, + "w": 99, + "h": 211, + "anchorX": -50, + "anchorY": -155 + }, + { + "x": 1593, + "y": 0, + "w": 99, + "h": 211, + "anchorX": -52, + "anchorY": -155 + }, + { + "x": 1693, + "y": 0, + "w": 99, + "h": 212, + "anchorX": -54, + "anchorY": -156 + }, + { + "x": 1793, + "y": 0, + "w": 100, + "h": 212, + "anchorX": -56, + "anchorY": -156 + }, + { + "x": 1894, + "y": 0, + "w": 100, + "h": 213, + "anchorX": -58, + "anchorY": -157 + }, + { + "x": 0, + "y": 214, + "w": 101, + "h": 213, + "anchorX": -59, + "anchorY": -157 + }, + { + "x": 102, + "y": 214, + "w": 100, + "h": 215, + "anchorX": -59, + "anchorY": -158 + }, + { + "x": 203, + "y": 214, + "w": 101, + "h": 217, + "anchorX": -60, + "anchorY": -158 + }, + { + "x": 305, + "y": 214, + "w": 101, + "h": 220, + "anchorX": -60, + "anchorY": -159 + }, + { + "x": 407, + "y": 214, + "w": 102, + "h": 220, + "anchorX": -61, + "anchorY": -159 + }, + { + "x": 510, + "y": 214, + "w": 103, + "h": 222, + "anchorX": -62, + "anchorY": -160 + }, + { + "x": 614, + "y": 214, + "w": 104, + "h": 221, + "anchorX": -64, + "anchorY": -159 + }, + { + "x": 719, + "y": 214, + "w": 104, + "h": 223, + "anchorX": -65, + "anchorY": -159 + }, + { + "x": 824, + "y": 214, + "w": 105, + "h": 228, + "anchorX": -66, + "anchorY": -159 + }, + { + "x": 930, + "y": 214, + "w": 106, + "h": 228, + "anchorX": -67, + "anchorY": -159 + }, + { + "x": 1037, + "y": 214, + "w": 107, + "h": 230, + "anchorX": -68, + "anchorY": -160 + }, + { + "x": 1145, + "y": 214, + "w": 107, + "h": 229, + "anchorX": -68, + "anchorY": -160 + }, + { + "x": 1253, + "y": 214, + "w": 108, + "h": 230, + "anchorX": -69, + "anchorY": -161 + }, + { + "x": 1362, + "y": 214, + "w": 108, + "h": 230, + "anchorX": -69, + "anchorY": -161 + }, + { + "x": 1471, + "y": 214, + "w": 109, + "h": 231, + "anchorX": -70, + "anchorY": -162 + }, + { + "x": 1581, + "y": 214, + "w": 109, + "h": 231, + "anchorX": -70, + "anchorY": -162 + }, + { + "x": 1691, + "y": 214, + "w": 109, + "h": 231, + "anchorX": -70, + "anchorY": -162 + }, + { + "x": 1801, + "y": 214, + "w": 110, + "h": 231, + "anchorX": -71, + "anchorY": -162 + }, + { + "x": 1912, + "y": 214, + "w": 110, + "h": 233, + "anchorX": -71, + "anchorY": -163 + }, + { + "x": 0, + "y": 448, + "w": 111, + "h": 235, + "anchorX": -71, + "anchorY": -163 + }, + { + "x": 112, + "y": 448, + "w": 111, + "h": 235, + "anchorX": -71, + "anchorY": -163 + }, + { + "x": 224, + "y": 448, + "w": 111, + "h": 236, + "anchorX": -71, + "anchorY": -163 + }, + { + "x": 336, + "y": 448, + "w": 112, + "h": 238, + "anchorX": -72, + "anchorY": -163 + }, + { + "x": 449, + "y": 448, + "w": 112, + "h": 241, + "anchorX": -72, + "anchorY": -163 + }, + { + "x": 562, + "y": 448, + "w": 111, + "h": 241, + "anchorX": -72, + "anchorY": -163 + }, + { + "x": 674, + "y": 448, + "w": 109, + "h": 241, + "anchorX": -72, + "anchorY": -163 + }, + { + "x": 784, + "y": 448, + "w": 107, + "h": 241, + "anchorX": -72, + "anchorY": -163 + }, + { + "x": 892, + "y": 448, + "w": 105, + "h": 241, + "anchorX": -72, + "anchorY": -163 + }, + { + "x": 998, + "y": 448, + "w": 102, + "h": 241, + "anchorX": -71, + "anchorY": -163 + }, + { + "x": 1101, + "y": 448, + "w": 100, + "h": 242, + "anchorX": -71, + "anchorY": -164 + }, + { + "x": 1202, + "y": 448, + "w": 100, + "h": 242, + "anchorX": -72, + "anchorY": -164 + }, + { + "x": 1303, + "y": 448, + "w": 98, + "h": 242, + "anchorX": -72, + "anchorY": -164 + }, + { + "x": 1402, + "y": 448, + "w": 98, + "h": 242, + "anchorX": -73, + "anchorY": -164 + }, + { + "x": 1501, + "y": 448, + "w": 98, + "h": 243, + "anchorX": -74, + "anchorY": -165 + }, + { + "x": 1600, + "y": 448, + "w": 97, + "h": 243, + "anchorX": -74, + "anchorY": -165 + }, + { + "x": 1698, + "y": 448, + "w": 97, + "h": 243, + "anchorX": -75, + "anchorY": -165 + }, + { + "x": 1796, + "y": 448, + "w": 96, + "h": 243, + "anchorX": -75, + "anchorY": -165 + }, + { + "x": 1893, + "y": 448, + "w": 96, + "h": 243, + "anchorX": -75, + "anchorY": -165 + }, + { + "x": 0, + "y": 692, + "w": 97, + "h": 243, + "anchorX": -76, + "anchorY": -165 + }, + { + "x": 98, + "y": 692, + "w": 97, + "h": 243, + "anchorX": -76, + "anchorY": -165 + }, + { + "x": 196, + "y": 692, + "w": 97, + "h": 243, + "anchorX": -76, + "anchorY": -165 + }, + { + "x": 294, + "y": 692, + "w": 98, + "h": 243, + "anchorX": -77, + "anchorY": -165 + }, + { + "x": 393, + "y": 692, + "w": 99, + "h": 243, + "anchorX": -77, + "anchorY": -165 + }, + { + "x": 493, + "y": 692, + "w": 101, + "h": 243, + "anchorX": -78, + "anchorY": -165 + }, + { + "x": 595, + "y": 692, + "w": 102, + "h": 243, + "anchorX": -78, + "anchorY": -165 + }, + { + "x": 698, + "y": 692, + "w": 105, + "h": 243, + "anchorX": -79, + "anchorY": -165 + }, + { + "x": 804, + "y": 692, + "w": 106, + "h": 243, + "anchorX": -79, + "anchorY": -165 + }, + { + "x": 911, + "y": 692, + "w": 107, + "h": 243, + "anchorX": -79, + "anchorY": -165 + }, + { + "x": 1019, + "y": 692, + "w": 109, + "h": 243, + "anchorX": -79, + "anchorY": -165 + }, + { + "x": 1129, + "y": 692, + "w": 110, + "h": 243, + "anchorX": -79, + "anchorY": -165 + }, + { + "x": 1240, + "y": 692, + "w": 110, + "h": 243, + "anchorX": -78, + "anchorY": -165 + }, + { + "x": 1351, + "y": 692, + "w": 111, + "h": 243, + "anchorX": -78, + "anchorY": -165 + }, + { + "x": 1463, + "y": 692, + "w": 111, + "h": 243, + "anchorX": -78, + "anchorY": -165 + }, + { + "x": 1575, + "y": 692, + "w": 111, + "h": 243, + "anchorX": -77, + "anchorY": -165 + }, + { + "x": 1687, + "y": 692, + "w": 111, + "h": 243, + "anchorX": -77, + "anchorY": -165 + }, + { + "x": 1799, + "y": 692, + "w": 111, + "h": 243, + "anchorX": -77, + "anchorY": -165 + }, + { + "x": 1911, + "y": 692, + "w": 110, + "h": 243, + "anchorX": -76, + "anchorY": -165 + }, + { + "x": 0, + "y": 936, + "w": 110, + "h": 243, + "anchorX": -77, + "anchorY": -165 + }, + { + "x": 111, + "y": 936, + "w": 109, + "h": 243, + "anchorX": -77, + "anchorY": -165 + }, + { + "x": 221, + "y": 936, + "w": 109, + "h": 243, + "anchorX": -77, + "anchorY": -165 + }, + { + "x": 331, + "y": 936, + "w": 108, + "h": 243, + "anchorX": -77, + "anchorY": -165 + }, + { + "x": 440, + "y": 936, + "w": 107, + "h": 244, + "anchorX": -78, + "anchorY": -166 + }, + { + "x": 548, + "y": 936, + "w": 106, + "h": 244, + "anchorX": -78, + "anchorY": -166 + }, + { + "x": 655, + "y": 936, + "w": 110, + "h": 244, + "anchorX": -84, + "anchorY": -166 + }, + { + "x": 766, + "y": 936, + "w": 113, + "h": 244, + "anchorX": -88, + "anchorY": -166 + }, + { + "x": 880, + "y": 936, + "w": 113, + "h": 244, + "anchorX": -90, + "anchorY": -166 + }, + { + "x": 994, + "y": 936, + "w": 112, + "h": 244, + "anchorX": -91, + "anchorY": -166 + }, + { + "x": 1107, + "y": 936, + "w": 109, + "h": 244, + "anchorX": -91, + "anchorY": -166 + }, + { + "x": 1217, + "y": 936, + "w": 106, + "h": 244, + "anchorX": -90, + "anchorY": -166 + }, + { + "x": 1324, + "y": 936, + "w": 103, + "h": 244, + "anchorX": -89, + "anchorY": -166 + }, + { + "x": 1428, + "y": 936, + "w": 101, + "h": 244, + "anchorX": -89, + "anchorY": -166 + }, + { + "x": 1530, + "y": 936, + "w": 99, + "h": 243, + "anchorX": -88, + "anchorY": -165 + }, + { + "x": 1630, + "y": 936, + "w": 96, + "h": 243, + "anchorX": -87, + "anchorY": -165 + }, + { + "x": 1727, + "y": 936, + "w": 94, + "h": 243, + "anchorX": -85, + "anchorY": -165 + }, + { + "x": 1822, + "y": 936, + "w": 92, + "h": 243, + "anchorX": -84, + "anchorY": -165 + }, + { + "x": 1915, + "y": 936, + "w": 91, + "h": 243, + "anchorX": -83, + "anchorY": -165 + }, + { + "x": 0, + "y": 1181, + "w": 90, + "h": 243, + "anchorX": -82, + "anchorY": -165 + }, + { + "x": 91, + "y": 1181, + "w": 91, + "h": 243, + "anchorX": -82, + "anchorY": -165 + }, + { + "x": 183, + "y": 1181, + "w": 90, + "h": 243, + "anchorX": -81, + "anchorY": -165 + }, + { + "x": 274, + "y": 1181, + "w": 90, + "h": 243, + "anchorX": -80, + "anchorY": -165 + }, + { + "x": 365, + "y": 1181, + "w": 90, + "h": 243, + "anchorX": -79, + "anchorY": -165 + }, + { + "x": 456, + "y": 1181, + "w": 92, + "h": 243, + "anchorX": -79, + "anchorY": -165 + }, + { + "x": 549, + "y": 1181, + "w": 94, + "h": 243, + "anchorX": -79, + "anchorY": -165 + }, + { + "x": 644, + "y": 1181, + "w": 97, + "h": 242, + "anchorX": -80, + "anchorY": -164 + }, + { + "x": 742, + "y": 1181, + "w": 101, + "h": 242, + "anchorX": -82, + "anchorY": -164 + }, + { + "x": 844, + "y": 1181, + "w": 105, + "h": 242, + "anchorX": -84, + "anchorY": -164 + }, + { + "x": 950, + "y": 1181, + "w": 108, + "h": 242, + "anchorX": -85, + "anchorY": -164 + }, + { + "x": 1059, + "y": 1181, + "w": 110, + "h": 242, + "anchorX": -85, + "anchorY": -164 + }, + { + "x": 1170, + "y": 1181, + "w": 112, + "h": 242, + "anchorX": -85, + "anchorY": -164 + }, + { + "x": 1283, + "y": 1181, + "w": 113, + "h": 242, + "anchorX": -84, + "anchorY": -164 + }, + { + "x": 1397, + "y": 1181, + "w": 113, + "h": 241, + "anchorX": -82, + "anchorY": -163 + }, + { + "x": 1511, + "y": 1181, + "w": 112, + "h": 241, + "anchorX": -80, + "anchorY": -163 + }, + { + "x": 1624, + "y": 1181, + "w": 111, + "h": 241, + "anchorX": -77, + "anchorY": -163 + }, + { + "x": 1736, + "y": 1181, + "w": 110, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 1847, + "y": 1181, + "w": 111, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 0, + "y": 1425, + "w": 111, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 112, + "y": 1425, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 225, + "y": 1425, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 338, + "y": 1425, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 451, + "y": 1425, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + } + ] + }, + "bw": { + "file": "campfire/dz-bw.png", + "width": 2045, + "height": 460, + "frameCount": 40, + "frames": [ + { + "x": 0, + "y": 0, + "w": 112, + "h": 241, + "anchorX": -75, + "anchorY": -163 + }, + { + "x": 113, + "y": 0, + "w": 111, + "h": 241, + "anchorX": -73, + "anchorY": -163 + }, + { + "x": 225, + "y": 0, + "w": 111, + "h": 241, + "anchorX": -71, + "anchorY": -163 + }, + { + "x": 337, + "y": 0, + "w": 110, + "h": 240, + "anchorX": -69, + "anchorY": -162 + }, + { + "x": 448, + "y": 0, + "w": 110, + "h": 237, + "anchorX": -67, + "anchorY": -162 + }, + { + "x": 559, + "y": 0, + "w": 109, + "h": 234, + "anchorX": -65, + "anchorY": -162 + }, + { + "x": 669, + "y": 0, + "w": 108, + "h": 229, + "anchorX": -64, + "anchorY": -161 + }, + { + "x": 778, + "y": 0, + "w": 108, + "h": 229, + "anchorX": -64, + "anchorY": -161 + }, + { + "x": 887, + "y": 0, + "w": 108, + "h": 228, + "anchorX": -64, + "anchorY": -160 + }, + { + "x": 996, + "y": 0, + "w": 107, + "h": 226, + "anchorX": -64, + "anchorY": -158 + }, + { + "x": 1104, + "y": 0, + "w": 106, + "h": 225, + "anchorX": -64, + "anchorY": -157 + }, + { + "x": 1211, + "y": 0, + "w": 106, + "h": 224, + "anchorX": -64, + "anchorY": -156 + }, + { + "x": 1318, + "y": 0, + "w": 105, + "h": 224, + "anchorX": -64, + "anchorY": -156 + }, + { + "x": 1424, + "y": 0, + "w": 104, + "h": 224, + "anchorX": -63, + "anchorY": -156 + }, + { + "x": 1529, + "y": 0, + "w": 104, + "h": 224, + "anchorX": -63, + "anchorY": -156 + }, + { + "x": 1634, + "y": 0, + "w": 103, + "h": 225, + "anchorX": -62, + "anchorY": -156 + }, + { + "x": 1738, + "y": 0, + "w": 102, + "h": 225, + "anchorX": -61, + "anchorY": -157 + }, + { + "x": 1841, + "y": 0, + "w": 101, + "h": 223, + "anchorX": -60, + "anchorY": -157 + }, + { + "x": 1943, + "y": 0, + "w": 101, + "h": 221, + "anchorX": -59, + "anchorY": -157 + }, + { + "x": 0, + "y": 242, + "w": 99, + "h": 218, + "anchorX": -57, + "anchorY": -157 + }, + { + "x": 100, + "y": 242, + "w": 98, + "h": 215, + "anchorX": -55, + "anchorY": -157 + }, + { + "x": 199, + "y": 242, + "w": 97, + "h": 212, + "anchorX": -53, + "anchorY": -156 + }, + { + "x": 297, + "y": 242, + "w": 95, + "h": 211, + "anchorX": -50, + "anchorY": -155 + }, + { + "x": 393, + "y": 242, + "w": 93, + "h": 210, + "anchorX": -47, + "anchorY": -154 + }, + { + "x": 487, + "y": 242, + "w": 92, + "h": 209, + "anchorX": -45, + "anchorY": -153 + }, + { + "x": 580, + "y": 242, + "w": 91, + "h": 208, + "anchorX": -43, + "anchorY": -152 + }, + { + "x": 672, + "y": 242, + "w": 90, + "h": 207, + "anchorX": -41, + "anchorY": -151 + }, + { + "x": 763, + "y": 242, + "w": 90, + "h": 207, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 854, + "y": 242, + "w": 90, + "h": 208, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 945, + "y": 242, + "w": 90, + "h": 207, + "anchorX": -39, + "anchorY": -151 + }, + { + "x": 1036, + "y": 242, + "w": 87, + "h": 205, + "anchorX": -36, + "anchorY": -151 + }, + { + "x": 1124, + "y": 242, + "w": 88, + "h": 202, + "anchorX": -36, + "anchorY": -151 + }, + { + "x": 1213, + "y": 242, + "w": 88, + "h": 200, + "anchorX": -36, + "anchorY": -151 + }, + { + "x": 1302, + "y": 242, + "w": 88, + "h": 199, + "anchorX": -36, + "anchorY": -151 + }, + { + "x": 1391, + "y": 242, + "w": 87, + "h": 199, + "anchorX": -36, + "anchorY": -151 + }, + { + "x": 1479, + "y": 242, + "w": 87, + "h": 199, + "anchorX": -37, + "anchorY": -151 + }, + { + "x": 1567, + "y": 242, + "w": 87, + "h": 199, + "anchorX": -38, + "anchorY": -151 + }, + { + "x": 1655, + "y": 242, + "w": 87, + "h": 199, + "anchorX": -39, + "anchorY": -151 + }, + { + "x": 1743, + "y": 242, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + }, + { + "x": 1831, + "y": 242, + "w": 87, + "h": 199, + "anchorX": -40, + "anchorY": -151 + } + ] + } + } + }, + "charAvatars": { + "am": { + "file": "avatars/char-am-tn.png", + "width": 464, + "height": 75, + "frameCount": 16, + "frames": [ + { + "x": 0, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 29, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 58, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 87, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 116, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 145, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 174, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 203, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 232, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 261, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 290, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 319, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 348, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 377, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 406, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + }, + { + "x": 435, + "y": 0, + "w": 28, + "h": 75, + "anchorX": -18, + "anchorY": -67 + } + ] + }, + "ai": { + "file": "avatars/char-ai-tn.png", + "width": 276, + "height": 76, + "frameCount": 12, + "frames": [ + { + "x": 0, + "y": 0, + "w": 22, + "h": 76, + "anchorX": -10, + "anchorY": -69 + }, + { + "x": 23, + "y": 0, + "w": 22, + "h": 76, + "anchorX": -10, + "anchorY": -69 + }, + { + "x": 46, + "y": 0, + "w": 22, + "h": 76, + "anchorX": -10, + "anchorY": -69 + }, + { + "x": 69, + "y": 0, + "w": 22, + "h": 76, + "anchorX": -10, + "anchorY": -69 + }, + { + "x": 92, + "y": 0, + "w": 22, + "h": 76, + "anchorX": -10, + "anchorY": -69 + }, + { + "x": 115, + "y": 0, + "w": 22, + "h": 76, + "anchorX": -10, + "anchorY": -69 + }, + { + "x": 138, + "y": 0, + "w": 22, + "h": 76, + "anchorX": -10, + "anchorY": -69 + }, + { + "x": 161, + "y": 0, + "w": 22, + "h": 76, + "anchorX": -10, + "anchorY": -69 + }, + { + "x": 184, + "y": 0, + "w": 22, + "h": 76, + "anchorX": -10, + "anchorY": -69 + }, + { + "x": 207, + "y": 0, + "w": 22, + "h": 76, + "anchorX": -10, + "anchorY": -69 + }, + { + "x": 230, + "y": 0, + "w": 22, + "h": 76, + "anchorX": -10, + "anchorY": -69 + }, + { + "x": 253, + "y": 0, + "w": 22, + "h": 76, + "anchorX": -10, + "anchorY": -69 + } + ] + }, + "ne": { + "file": "avatars/char-ne-tn.png", + "width": 448, + "height": 72, + "frameCount": 16, + "frames": [ + { + "x": 0, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 28, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 56, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 84, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 112, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 140, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 168, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 196, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 224, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 252, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 280, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 308, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 336, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 364, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 392, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + }, + { + "x": 420, + "y": 0, + "w": 27, + "h": 72, + "anchorX": -12, + "anchorY": -67 + } + ] + }, + "ba": { + "file": "avatars/char-ba-tn.png", + "width": 768, + "height": 78, + "frameCount": 16, + "frames": [ + { + "x": 0, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 48, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 96, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 144, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 192, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 240, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 288, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 336, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 384, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 432, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 480, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 528, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 576, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 624, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 672, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + }, + { + "x": 720, + "y": 0, + "w": 47, + "h": 78, + "anchorX": -24, + "anchorY": -73 + } + ] + }, + "pa": { + "file": "avatars/char-pa-tn.png", + "width": 528, + "height": 72, + "frameCount": 16, + "frames": [ + { + "x": 0, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 33, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 66, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 99, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 132, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 165, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 198, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 231, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 264, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 297, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 330, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 363, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 396, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 429, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 462, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + }, + { + "x": 495, + "y": 0, + "w": 32, + "h": 72, + "anchorX": -16, + "anchorY": -70 + } + ] + }, + "so": { + "file": "avatars/char-so-tn.png", + "width": 512, + "height": 68, + "frameCount": 16, + "frames": [ + { + "x": 0, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 32, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 64, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 96, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 128, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 160, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 192, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 224, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 256, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 288, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 320, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 352, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 384, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 416, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 448, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + }, + { + "x": 480, + "y": 0, + "w": 31, + "h": 68, + "anchorX": -17, + "anchorY": -65 + } + ] + }, + "dz": { + "file": "avatars/char-dz-tn.png", + "width": 340, + "height": 75, + "frameCount": 10, + "frames": [ + { + "x": 0, + "y": 0, + "w": 33, + "h": 75, + "anchorX": -16, + "anchorY": -71 + }, + { + "x": 34, + "y": 0, + "w": 33, + "h": 75, + "anchorX": -16, + "anchorY": -71 + }, + { + "x": 68, + "y": 0, + "w": 33, + "h": 75, + "anchorX": -16, + "anchorY": -71 + }, + { + "x": 102, + "y": 0, + "w": 33, + "h": 75, + "anchorX": -16, + "anchorY": -71 + }, + { + "x": 136, + "y": 0, + "w": 33, + "h": 75, + "anchorX": -16, + "anchorY": -71 + }, + { + "x": 170, + "y": 0, + "w": 33, + "h": 75, + "anchorX": -16, + "anchorY": -71 + }, + { + "x": 204, + "y": 0, + "w": 33, + "h": 75, + "anchorX": -16, + "anchorY": -71 + }, + { + "x": 238, + "y": 0, + "w": 33, + "h": 75, + "anchorX": -16, + "anchorY": -71 + }, + { + "x": 272, + "y": 0, + "w": 33, + "h": 75, + "anchorX": -16, + "anchorY": -71 + }, + { + "x": 306, + "y": 0, + "w": 33, + "h": 75, + "anchorX": -16, + "anchorY": -71 + } + ] + } + }, + "fontColors": [ + 0, + 1, + 2, + 3, + 4, + 5, + 7, + 8, + 9 + ], + "strings": { + "singlePlayer": "SINGLE PLAYER", + "battleNet": "BATTLE.NET", + "otherMultiplayer": "OTHER MULTIPLAYER", + "exitDiablo2": "EXIT DIABLO II", + "credits": "CREDITS", + "cinematics": "CINEMATICS", + "gatewayPrefix": "GATEWAY: ", + "connectingToFastest": "Connecting to the fastest server...", + "checkingVersions": "Checking versions...", + "accessingAccount": "Accessing your account...", + "accountName": "Account Name", + "password": "Password", + "logIn": "LOG IN", + "accountSettings": "ACCOUNT SETTINGS", + "createNewAccount": "CREATE NEW ACCOUNT", + "exit": "EXIT", + "ok": "OK", + "cancel": "CANCEL", + "chooseClassTitle": "Choose a class for your campaign", + "characterName": "Character Name", + "expansionCharacter": "EXPANSION CHARACTER", + "hardcore": "HARDCORE", + "ladderCharacter": "LADDER CHARACTER", + "selectCharacterTitle": "Select a Character", + "createNewCharacter": "CREATE NEW\nCHARACTER", + "convertToExpansion": "CONVERT TO\nEXPANSION", + "deleteCharacter": "DELETE\nCHARACTER", + "expiresIn90Days": "Expires in 90 days", + "classes": { + "am": { + "name": "Amazon", + "desc": "Skilled with the spear and the bow, she is a very versatile fighter." + }, + "as": { + "name": "Assassin", + "desc": "Schooled in the Martial Arts, her mind and body are deadly weapons." + }, + "ne": { + "name": "Necromancer", + "desc": "Summoning undead minions and cursing his enemies are his specialties." + }, + "ba": { + "name": "Barbarian", + "desc": "He is unequaled in close-quarters combat and mastery of weapons." + }, + "pa": { + "name": "Paladin", + "desc": "He is a natural party leader, holy man, and blessed warrior." + }, + "so": { + "name": "Sorceress", + "desc": "She has mastered the elemental magics -- fire, lightning, and ice." + }, + "dz": { + "name": "Druid", + "desc": "Commanding the forces of nature, he summons wild beasts and raging storms to his side." + } + }, + "lobby": { + "send": "SEND", + "whisper": "WHISPER", + "help": "HELP", + "squelch": "SQUELCH", + "unsquelch": "UNSQUELCH", + "emote": "EMOTE", + "create": "CREATE", + "join": "JOIN", + "ladder": "LADDER", + "channel": "CHANNEL", + "quit": "QUIT", + "createGameTitle": "Create Game", + "gameName": "Game Name", + "gamePassword": "Password", + "gameDescription": "Game Description", + "maxPlayers": "Max Number of Players", + "charDifference": "Character Difference", + "selectDifficulty": "Select Difficulty", + "normal": "Normal", + "nightmare": "Nightmare", + "hell": "Hell", + "createGameBtn": "CREATE GAME", + "gemActivated": "Gem Activated", + "gemDeactivated": "Gem Deactivated" + } + } +} \ No newline at end of file diff --git a/public/ui/frontend/popup-340x224.png b/public/ui/frontend/popup-340x224.png new file mode 100644 index 0000000..7a836f0 Binary files /dev/null and b/public/ui/frontend/popup-340x224.png differ diff --git a/public/ui/frontend/popup-okcancel.png b/public/ui/frontend/popup-okcancel.png new file mode 100644 index 0000000..6c2e16f Binary files /dev/null and b/public/ui/frontend/popup-okcancel.png differ diff --git a/public/ui/frontend/radiobutton.png b/public/ui/frontend/radiobutton.png new file mode 100644 index 0000000..fe2f8b9 Binary files /dev/null and b/public/ui/frontend/radiobutton.png differ diff --git a/public/ui/frontend/realmselect.png b/public/ui/frontend/realmselect.png new file mode 100644 index 0000000..4aa32f2 Binary files /dev/null and b/public/ui/frontend/realmselect.png differ diff --git a/public/ui/frontend/textbox.png b/public/ui/frontend/textbox.png new file mode 100644 index 0000000..1985639 Binary files /dev/null and b/public/ui/frontend/textbox.png differ diff --git a/scripts/pack-frontend-ui.ts b/scripts/pack-frontend-ui.ts new file mode 100644 index 0000000..4faf9d6 --- /dev/null +++ b/scripts/pack-frontend-ui.ts @@ -0,0 +1,937 @@ +/** + * Offline FrontEnd / Battle.net / CharSelect / Campfire / Loading Screen Asset Packer. + * + * Strictly follows Diablo II v1.13c decompiled binary assembly: + * - D2Launch.dll (Main Menu 0x6fa598b0, Bnet Login 0x6fa51440, CharCreate 0x6fa5d780, CharSelect 0x6fa4af00/0x6fa627e0) + * - D2Multi.dll (Battle.net Lobby & Create Game 0x6f9d8c90) + * - D2Client.dll (10-frame Door Loading Screen 0x6fab24e0) + * - D2Win.dll & D2Gdi.dll (D2Gfx_DrawChar 0x6f876580..0x6f87658f textShifts & D2WinAnimImage 0x6f8f0a50) + * + * Extracts all authentic DC6 sprites, palettes, colored bitmap font atlases, + * 7-class campfire animation strips, 7-class town-neutral (TN) avatar strips, + * and English TBL strings into `public/ui/frontend/`. + */ + +import { mkdirSync, writeFileSync } from 'node:fs' +import { join } from 'node:path' +import { MpqArchive } from '../src/mpq/archive.ts' +import { fileSource } from '../src/mpq/file-source.ts' +import { MountedArchives } from '../src/mpq/mount.ts' +import { decodeDc6 } from '../src/formats/dc6.ts' +import type { SpriteFrame, SpriteSheet } from '../src/formats/sprite.ts' +import { applyTransform, decodePl2, type Pl2, type Pl2Transform } from '../src/formats/pl2.ts' +import { decodeTbl } from '../src/formats/tbl.ts' +import { loadCharacterSheet } from '../src/game/character.ts' +import { encodeIndexedPng } from './png.ts' +import type { FontAtlasMeta, FontGlyphMetric } from './pack-ui-assets.ts' + +interface BlitPlacement { + readonly frame: SpriteFrame + readonly x: number + readonly y: number +} + +export interface PackedStripFrameMeta { + readonly x: number + readonly y: number + readonly w: number + readonly h: number + readonly anchorX: number + readonly anchorY: number +} + +export interface PackedAnimStripMeta { + readonly file: string + readonly width: number + readonly height: number + readonly frameCount: number + readonly frames: readonly PackedStripFrameMeta[] +} + +/** + * Create an indexed pixel buffer and blit multiple DC6 frames onto it. + * Index 0 is transparent in DC6 UI sprites. + */ +function stitchFrames( + width: number, + height: number, + placements: readonly BlitPlacement[], + transparentZero = true, +): Uint8Array { + const out = new Uint8Array(width * height) + for (const { frame, x: dstX, y: dstY } of placements) { + for (let sy = 0; sy < frame.height; sy++) { + const ty = dstY + sy + if (ty < 0 || ty >= height) continue + for (let sx = 0; sx < frame.width; sx++) { + const tx = dstX + sx + if (tx < 0 || tx >= width) continue + const srcIdx = sy * frame.width + sx + if (transparentZero && frame.mask[srcIdx] === 0) continue + const color = frame.indices[srcIdx] ?? 0 + if (!transparentZero || color !== 0) { + out[ty * width + tx] = color + } + } + } + } + return out +} + +/** + * Stitch a 12-frame (4x3 grid: 256+256+256+32 = 800, 256+256+88 = 600) full-screen DC6 background. + */ +function stitch800x600Background(sheet: SpriteSheet): Uint8Array { + const f = sheet.groups[0]!.frames + if (f.length < 12) { + throw new Error(`Expected at least 12 frames for 800x600 background, got ${f.length}`) + } + const colX = [0, 256, 512, 768] + const rowY = [0, 256, 512] + const placements: BlitPlacement[] = [] + for (let r = 0; r < 3; r++) { + for (let c = 0; c < 4; c++) { + placements.push({ + frame: f[r * 4 + c]!, + x: colX[c]!, + y: rowY[r]!, + }) + } + } + return stitchFrames(800, 600, placements, false) +} + +/** + * Stitch pairs of horizontally split button frames (e.g. WideButtonBlank 256+16 = 272). + */ +function stitchButtonStates( + sheet: SpriteSheet, + chunksPerState: number, +): { + width: number + height: number + pixels: Uint8Array + stateWidth: number + stateHeight: number + stateCount: number +} { + const frames = sheet.groups[0]!.frames + const stateCount = Math.min(2, Math.floor(frames.length / chunksPerState)) + let stateWidth = 0 + for (let c = 0; c < chunksPerState; c++) { + stateWidth += frames[c]!.width + } + const stateHeight = frames[0]!.height + const totalWidth = stateWidth * stateCount + const placements: BlitPlacement[] = [] + for (let s = 0; s < stateCount; s++) { + let curX = s * stateWidth + for (let c = 0; c < chunksPerState; c++) { + const frame = frames[s * chunksPerState + c]! + placements.push({ frame, x: curX, y: 0 }) + curX += frame.width + } + } + return { + width: totalWidth, + height: stateHeight, + pixels: stitchFrames(totalWidth, stateHeight, placements), + stateWidth, + stateHeight, + stateCount, + } +} + +/** + * Composite an optional non-additive overlay SpriteSheet onto a base SpriteSheet frame-by-frame + * in top-left anchor-relative coordinates (anchorX = left, anchorY = top). + */ +function compositeOverlayFrames( + baseFrames: readonly SpriteFrame[], + overlayFrames: readonly SpriteFrame[] | null, +): SpriteFrame[] { + const count = baseFrames.length + const result: SpriteFrame[] = [] + for (let i = 0; i < count; i++) { + const base = baseFrames[i]! + const ov = overlayFrames && i < overlayFrames.length ? overlayFrames[i]! : null + if (!ov) { + result.push(base) + continue + } + const baseLeft = base.anchorX ?? 0 + const baseTop = base.anchorY ?? 0 + const baseRight = baseLeft + base.width + const baseBottom = baseTop + base.height + + const ovLeft = ov.anchorX ?? 0 + const ovTop = ov.anchorY ?? 0 + const ovRight = ovLeft + ov.width + const ovBottom = ovTop + ov.height + + const minLeft = Math.min(baseLeft, ovLeft) + const minTop = Math.min(baseTop, ovTop) + const maxRight = Math.max(baseRight, ovRight) + const maxBottom = Math.max(baseBottom, ovBottom) + + const unionW = Math.max(1, maxRight - minLeft) + const unionH = Math.max(1, maxBottom - minTop) + const indices = new Uint8Array(unionW * unionH) + const mask = new Uint8Array(unionW * unionH) + + // Blit base + const bx0 = baseLeft - minLeft + const by0 = baseTop - minTop + for (let sy = 0; sy < base.height; sy++) { + for (let sx = 0; sx < base.width; sx++) { + const sIdx = sy * base.width + sx + if (base.mask[sIdx] === 0) continue + const c = base.indices[sIdx] ?? 0 + if (c === 0) continue + const dIdx = (by0 + sy) * unionW + (bx0 + sx) + indices[dIdx] = c + mask[dIdx] = 1 + } + } + + // Blit overlay + const ox0 = ovLeft - minLeft + const oy0 = ovTop - minTop + for (let sy = 0; sy < ov.height; sy++) { + for (let sx = 0; sx < ov.width; sx++) { + const sIdx = sy * ov.width + sx + if (ov.mask[sIdx] === 0) continue + const srcColor = ov.indices[sIdx] ?? 0 + if (srcColor === 0) continue + const dIdx = (oy0 + sy) * unionW + (ox0 + sx) + indices[dIdx] = srcColor + mask[dIdx] = 1 + } + } + + result.push({ + width: unionW, + height: unionH, + anchorX: minLeft, + anchorY: minTop, + indices, + mask, + }) + } + return result +} + +/** + * Pack a sequence of SpriteFrames into a grid sprite sheet (max width ~2048) to keep texture sizes compact. + */ +function packFramesToGrid( + file: string, + frames: readonly SpriteFrame[], + maxRowWidth = 2048, +): { + meta: PackedAnimStripMeta + pixels: Uint8Array +} { + let curX = 0 + let curY = 0 + let rowH = 0 + let maxW = 1 + const placements: BlitPlacement[] = [] + const frameMetas: PackedStripFrameMeta[] = [] + + for (const frame of frames) { + if (curX > 0 && curX + frame.width > maxRowWidth) { + curX = 0 + curY += rowH + 1 + rowH = 0 + } + placements.push({ frame, x: curX, y: curY }) + frameMetas.push({ + x: curX, + y: curY, + w: frame.width, + h: frame.height, + anchorX: frame.anchorX ?? 0, + anchorY: frame.anchorY ?? 0, + }) + curX += frame.width + 1 + if (curX > maxW) maxW = curX + if (frame.height > rowH) rowH = frame.height + } + + const totalH = Math.max(1, curY + rowH) + const pixels = stitchFrames(maxW, totalH, placements) + return { + meta: { + file, + width: maxW, + height: totalH, + frameCount: frames.length, + frames: frameMetas, + }, + pixels, + } +} + +/** + * Build a bitmap font atlas from `data\local\font\latin\font*.dc6` and `.tbl`. + */ +function buildFontAtlas( + name: string, + dc6: SpriteSheet, + tblBytes: Uint8Array, +): { + meta: FontAtlasMeta + pixels: Uint8Array +} { + const magic = new TextDecoder().decode(tblBytes.slice(0, 4)) + if (magic !== 'Woo!') { + throw new Error(`Invalid font tbl header for ${name}: ${magic}`) + } + const lineHeight = tblBytes[10] || 14 + const capHeight = tblBytes[11] || 16 + const frames = dc6.groups[0]!.frames + const cellW = Math.max(16, ...frames.map(f => f.width)) + const cellH = Math.max(16, ...frames.map(f => f.height)) + const atlasWidth = cellW * 16 + const atlasHeight = cellH * 16 + + const placements: BlitPlacement[] = [] + const glyphs: FontGlyphMetric[] = [] + + for (let i = 0; i < 256; i++) { + const recOff = 12 + i * 14 + const metricWidth = recOff + 3 < tblBytes.length ? (tblBytes[recOff + 3] || 6) : 6 + const metricHeight = recOff + 4 < tblBytes.length ? (tblBytes[recOff + 4] || lineHeight) : lineHeight + const frameIdx = recOff + 8 < tblBytes.length ? (tblBytes[recOff + 8] ?? i) : i + const frame = frames[frameIdx] ?? frames[i] + const gx = (i % 16) * cellW + const gy = Math.floor(i / 16) * cellH + if (frame) { + placements.push({ frame, x: gx, y: gy }) + } + glyphs.push({ + code: i, + width: metricWidth, + height: metricHeight, + x: gx, + y: gy, + frameW: frame?.width ?? 0, + frameH: frame?.height ?? 0, + }) + } + + return { + meta: { + name, + lineHeight, + capHeight, + atlasWidth, + atlasHeight, + glyphs, + }, + pixels: stitchFrames(atlasWidth, atlasHeight, placements), + } +} + +async function main(): Promise { + const t0 = performance.now() + console.log('Mounting Diablo II v1.13c MPQ archives...') + const archives = new MountedArchives() + for (const m of ['d2char.mpq', 'd2data.mpq', 'd2exp.mpq', 'Patch_D2.mpq']) { + archives.add(m, await MpqArchive.open(await fileSource(`samples/d2/${m}`))) + } + + const skyPl2 = decodePl2(await archives.read('data\\global\\palette\\sky\\pal.pl2')) + const fecharPl2 = decodePl2(await archives.read('data\\global\\palette\\fechar\\pal.pl2')) + const loadingPl2Bytes = await archives.read('data\\global\\palette\\loading\\pal.pl2') + const loadingRgb = new Uint8Array(256 * 3) + for (let i = 0; i < 256; i++) { + loadingRgb[i * 3] = loadingPl2Bytes[i * 4] ?? 0 + loadingRgb[i * 3 + 1] = loadingPl2Bytes[i * 4 + 1] ?? 0 + loadingRgb[i * 3 + 2] = loadingPl2Bytes[i * 4 + 2] ?? 0 + } + + const outDir = join(process.cwd(), 'public', 'ui', 'frontend') + const fontsDir = join(outDir, 'fonts') + const campfireDir = join(outDir, 'campfire') + const avatarsDir = join(outDir, 'avatars') + mkdirSync(outDir, { recursive: true }) + mkdirSync(fontsDir, { recursive: true }) + mkdirSync(campfireDir, { recursive: true }) + mkdirSync(avatarsDir, { recursive: true }) + + let decodedCount = 0 + const decodeUiDc6 = async (path: string): Promise => { + const bytes = await archives.read(path) + const sheet = decodeDc6(bytes) + decodedCount++ + for (const g of sheet.groups) { + for (const f of g.frames) { + ;(f as { anchorX?: number; anchorY?: number }).anchorX = f.offsetX + ;(f as { anchorX?: number; anchorY?: number }).anchorY = f.offsetY - f.height + } + } + return sheet + } + + const savePng = ( + relPath: string, + width: number, + height: number, + pixels: Uint8Array, + palette: Uint8Array, + transparent = true, + ): void => { + const png = encodeIndexedPng({ + width, + height, + pixels, + palette, + transparentIndex: transparent ? 0 : undefined, + }) + writeFileSync(join(outDir, relPath), png) + } + + // ============================================================================ + // 1. 800x600 Full-Screen Backgrounds + // ============================================================================ + console.log('Packing 800x600 full-screen backgrounds...') + const mainBgDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\gameselectscreenEXP.dc6') + const mainBgPixels = stitch800x600Background(mainBgDc6) + savePng('bg-main-menu.png', 800, 600, mainBgPixels, skyPl2.rgb, false) + + const charCreateBgDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\charactercreationscreenEXP.dc6') + const charCreateBgPixels = stitch800x600Background(charCreateBgDc6) + savePng('bg-char-create.png', 800, 600, charCreateBgPixels, fecharPl2.rgb, false) + + const charSelectBgDc6 = await decodeUiDc6('data\\global\\ui\\CharSelect\\characterselectscreenEXP.dc6') + const charSelectBgPixels = stitch800x600Background(charSelectBgDc6) + savePng('bg-char-select.png', 800, 600, charSelectBgPixels, skyPl2.rgb, false) + + const waitingRoomBgDc6 = await decodeUiDc6('data\\global\\ui\\BIGMENU\\waitingroombkgd.dc6') + const waitingRoomBgPixels = stitch800x600Background(waitingRoomBgDc6) + savePng('bg-waiting-room.png', 800, 600, waitingRoomBgPixels, skyPl2.rgb, false) + + // ============================================================================ + // 2. Dialogs, Popups & Selection Boxes + // ============================================================================ + console.log('Packing dialogs, popups, and buttons...') + const popupDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\PopUp_340x224.dc6') + const pf = popupDc6.groups[0]!.frames + const popupPixels = stitchFrames(340, 224, [ + { frame: pf[0]!, x: 0, y: 0 }, + { frame: pf[1]!, x: 256, y: 0 }, + ], false) + savePng('popup-340x224.png', 340, 224, popupPixels, skyPl2.rgb, false) + + const createGameBgDc6 = await decodeUiDc6('data\\global\\ui\\BIGMENU\\creategamebckg.dc6') + const cgf = createGameBgDc6.groups[0]!.frames + const createGameBgPixels = stitchFrames(373, 373, [ + { frame: cgf[0]!, x: 0, y: 0 }, + { frame: cgf[1]!, x: 256, y: 0 }, + { frame: cgf[2]!, x: 0, y: 256 }, + { frame: cgf[3]!, x: 256, y: 256 }, + ], false) + savePng('create-game-bg.png', 373, 373, createGameBgPixels, skyPl2.rgb, false) + + const charSelectBoxDc6 = await decodeUiDc6('data\\global\\ui\\CharSelect\\charselectbox.dc6') + const csbf = charSelectBoxDc6.groups[0]!.frames + const charSelectBoxPixels = stitchFrames(272, 93, [ + { frame: csbf[0]!, x: 0, y: 0 }, + { frame: csbf[1]!, x: 256, y: 0 }, + ], true) + savePng('charselectbox.png', 272, 93, charSelectBoxPixels, skyPl2.rgb, true) + + const realmSelectDc6 = await decodeUiDc6('data\\global\\ui\\CharSelect\\Realmselect.dc6') + const rsf = realmSelectDc6.groups[0]!.frames[0]! + savePng('realmselect.png', rsf.width, rsf.height, rsf.indices, skyPl2.rgb, true) + + const realmBtnDc6 = await decodeUiDc6('data\\global\\ui\\CharSelect\\RealmSelectbuttonthin.dc6') + const realmBtnStrip = stitchButtonStates(realmBtnDc6, 1) + savePng('btn-realm-thin.png', realmBtnStrip.width, realmBtnStrip.height, realmBtnStrip.pixels, skyPl2.rgb, true) + + // ============================================================================ + // 3. Buttons, Textboxes, Checkboxes, Radio Buttons & Chat Gem + // ============================================================================ + const wideBtnDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\WideButtonBlank.dc6') + const wideBtnStrip = stitchButtonStates(wideBtnDc6, 2) // 272x35 x 2 states = 544x35 + savePng('btn-wide.png', wideBtnStrip.width, wideBtnStrip.height, wideBtnStrip.pixels, skyPl2.rgb, true) + + const wide3BtnDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\3WideButtonBlank.dc6') + const wide3BtnStrip = stitchButtonStates(wide3BtnDc6, 2) // 272x35 x 2 states = 544x35 + savePng('btn-3wide.png', wide3BtnStrip.width, wide3BtnStrip.height, wide3BtnStrip.pixels, skyPl2.rgb, true) + + const wide02BtnDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\WideButtonBlank02.dc6') + const wide02BtnStrip = stitchButtonStates(wide02BtnDc6, 2) // 272x25 x 2 states = 544x25 + savePng('btn-wide02.png', wide02BtnStrip.width, wide02BtnStrip.height, wide02BtnStrip.pixels, skyPl2.rgb, true) + + const medBtnDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\MediumButtonBlank.dc6') + const medBtnStrip = stitchButtonStates(medBtnDc6, 1) // 128x35 x 2 states = 256x35 + savePng('btn-medium.png', medBtnStrip.width, medBtnStrip.height, medBtnStrip.pixels, skyPl2.rgb, true) + + const shortBtnDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\NarrowButtonBlank.dc6') + const shortBtnStrip = stitchButtonStates(shortBtnDc6, 1) // 135x25 x 2 states = 270x25 + savePng('btn-short.png', shortBtnStrip.width, shortBtnStrip.height, shortBtnStrip.pixels, skyPl2.rgb, true) + + const tallBtnDc6 = await decodeUiDc6('data\\global\\ui\\CharSelect\\TallButtonBlank.dc6') + const tallBtnStrip = stitchButtonStates(tallBtnDc6, 1) // 168x60 x 2 states = 336x60 + savePng('btn-tall.png', tallBtnStrip.width, tallBtnStrip.height, tallBtnStrip.pixels, skyPl2.rgb, true) + + const popupOkCancelDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\PopUpOkCancel2.dc6') + const pocf = popupOkCancelDc6.groups[0]!.frames + const popupOkCancelPixels = stitchFrames(264, 176, [ + { frame: pocf[0]!, x: 0, y: 0 }, + { frame: pocf[1]!, x: 256, y: 0 }, + ], false) + savePng('popup-okcancel.png', 264, 176, popupOkCancelPixels, skyPl2.rgb, false) + + const textboxDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\textbox.dc6') + const tbFrame = textboxDc6.groups[0]!.frames[0]! + savePng('textbox.png', tbFrame.width, tbFrame.height, tbFrame.indices, skyPl2.rgb, true) + + const clickboxDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\clickbox.dc6') + const clickboxStrip = stitchButtonStates(clickboxDc6, 1) // 15x16 x 2 states = 30x16 + savePng('clickbox.png', clickboxStrip.width, clickboxStrip.height, clickboxStrip.pixels, skyPl2.rgb, true) + + const joinClickboxDc6 = await decodeUiDc6('data\\global\\ui\\BIGMENU\\joingameclickbox.dc6') + const joinClickboxStrip = stitchButtonStates(joinClickboxDc6, 1) + savePng('joingameclickbox.png', joinClickboxStrip.width, joinClickboxStrip.height, joinClickboxStrip.pixels, skyPl2.rgb, true) + + const radioDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\radiobutton.dc6') + const radioStrip = stitchButtonStates(radioDc6, 1) // 16x16 x 2 states = 32x16 + savePng('radiobutton.png', radioStrip.width, radioStrip.height, radioStrip.pixels, skyPl2.rgb, true) + + const gemBtnDc6 = await decodeUiDc6('data\\global\\ui\\BIGMENU\\gembutton.dc6') + const gemBtnStrip = stitchButtonStates(gemBtnDc6, 1) // 2 states + savePng('gembutton.png', gemBtnStrip.width, gemBtnStrip.height, gemBtnStrip.pixels, skyPl2.rgb, true) + + const chatLeftBtnsDc6 = await decodeUiDc6('data\\global\\ui\\BIGMENU\\chatleftbuttons.dc6') + const chatLeftBtnsStrip = stitchButtonStates(chatLeftBtnsDc6, 1) // 78x20 x 2 states + savePng('btn-chatleft.png', chatLeftBtnsStrip.width, chatLeftBtnsStrip.height, chatLeftBtnsStrip.pixels, skyPl2.rgb, true) + + const gameBtnDc6 = await decodeUiDc6('data\\global\\ui\\BIGMENU\\GameButtonBlank.dc6') + const gameBtnStrip = stitchButtonStates(gameBtnDc6, 1) // 118x32 x 2 states + savePng('btn-game.png', gameBtnStrip.width, gameBtnStrip.height, gameBtnStrip.pixels, skyPl2.rgb, true) + + const btnCancelDc6 = await decodeUiDc6('data\\global\\ui\\BIGMENU\\CancelButtonBlank.dc6') + const btnCancelStrip = stitchButtonStates(btnCancelDc6, 1) // 96x32 x 2 states + savePng('btn-create-cancel.png', btnCancelStrip.width, btnCancelStrip.height, btnCancelStrip.pixels, skyPl2.rgb, true) + + const btnCreateGameDc6 = await decodeUiDc6('data\\global\\ui\\BIGMENU\\creategamebutton.dc6') + const btnCreateGameStrip = stitchButtonStates(btnCreateGameDc6, 1) // 172x32 x 2 states + savePng('btn-create-game.png', btnCreateGameStrip.width, btnCreateGameStrip.height, btnCreateGameStrip.pixels, skyPl2.rgb, true) + + const greyLevelBoxDc6 = await decodeUiDc6('data\\global\\ui\\BIGMENU\\GreyLevelBox.dc6') + const glbFrame = greyLevelBoxDc6.groups[0]!.frames[0]! + savePng('grey-level-box.png', glbFrame.width, glbFrame.height, glbFrame.indices, skyPl2.rgb, true) + + // ============================================================================ + // 4. Burning Diablo II Logos (Main Menu & Battle.net Lobby) + Campfire Flames + // ============================================================================ + console.log('Packing burning Diablo II logos and campfire flame animations...') + // Main Menu Burning Logo at control anchor (400, 120) on gameselectscreenEXP.dc6 + // Note: D2WinAnimImage with ptAnimTable == NULL subtracts frame0.offset from each frame! + const logoBlackLDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\D2logoBlackLeft.DC6') + const logoBlackRDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\D2logoBlackRight.DC6') + const logoFireLDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\D2logoFireLeft.DC6') + const logoFireRDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\D2logoFireRight.DC6') + + const animStrips: Record = {} + + { + const blackFrames = compositeOverlayFrames( + logoBlackLDc6.groups[0]!.frames, + logoBlackRDc6.groups[0]!.frames, + ) + const packedBlack = packFramesToGrid('logo-main-black.png', blackFrames, 2048) + savePng(packedBlack.meta.file, packedBlack.meta.width, packedBlack.meta.height, packedBlack.pixels, skyPl2.rgb, true) + animStrips['logoMainBlack'] = packedBlack.meta + + const fireFrames = compositeOverlayFrames( + logoFireLDc6.groups[0]!.frames, + logoFireRDc6.groups[0]!.frames, + ) + const packedFire = packFramesToGrid('logo-main-fire.png', fireFrames, 2048) + savePng(packedFire.meta.file, packedFire.meta.width, packedFire.meta.height, packedFire.pixels, skyPl2.rgb, true) + animStrips['logoMainFire'] = packedFire.meta + } + + // Battle.net Small Burning Logo at control anchor (84, 52) on waitingroombkgd.dc6 + const bnetBlackDc6 = await decodeUiDc6('data\\global\\ui\\BIGMENU\\D2logoBlackBnet.dc6') + const bnetFireDc6 = await decodeUiDc6('data\\global\\ui\\BIGMENU\\D2logoBnet.dc6') + { + const packedBlack = packFramesToGrid('logo-bnet-black.png', bnetBlackDc6.groups[0]!.frames, 2048) + savePng(packedBlack.meta.file, packedBlack.meta.width, packedBlack.meta.height, packedBlack.pixels, skyPl2.rgb, true) + animStrips['logoBnetBlack'] = packedBlack.meta + + const packedFire = packFramesToGrid('logo-bnet-fire.png', bnetFireDc6.groups[0]!.frames, 2048) + savePng(packedFire.meta.file, packedFire.meta.width, packedFire.meta.height, packedFire.pixels, skyPl2.rgb, true) + animStrips['logoBnetFire'] = packedFire.meta + } + + // Campfire `fire.dc6` at control anchor (345, 454) on charactercreationscreenEXP.dc6 + const fireDc6 = await decodeUiDc6('data\\global\\ui\\FrontEnd\\fire.dc6') + { + const packed = packFramesToGrid('campfire/fire-strip.png', fireDc6.groups[0]!.frames, 2048) + savePng(packed.meta.file, packed.meta.width, packed.meta.height, packed.pixels, fecharPl2.rgb, true) + animStrips['campfireFlame'] = packed.meta + } + + // ============================================================================ + // 5. 7-Class Campfire Multi-State Animations (fechar/pal.pl2) + // ============================================================================ + console.log('Packing 7-class campfire multi-state animations...') + // Per D2Launch.dll 0x6fa68df8 & 0x6fa5d780: + // Note: ptAnimTable != NULL does NOT subtract frame0.offset! + interface ClassCampfireSpec { + readonly id: string + readonly dir: string + readonly prefix: string + readonly states: readonly { + readonly key: string + readonly base: string + readonly overlay?: string + readonly additiveOverlay?: boolean + }[] + } + + const CAMPFIRE_SPECS: readonly ClassCampfireSpec[] = [ + { + id: 'am', + dir: 'amazon', + prefix: 'am', + states: [ + { key: 'nu1', base: 'amnu1.dc6' }, + { key: 'nu2', base: 'amnu2.dc6' }, + { key: 'nu3', base: 'amnu3.dc6' }, + { key: 'fw', base: 'amfw.dc6', overlay: 'amfws.dc6', additiveOverlay: false }, + { key: 'bw', base: 'ambw.dc6' }, + ], + }, + { + id: 'as', + dir: 'assassin', + prefix: 'as', + states: [ + { key: 'nu1', base: 'asnu1.dc6' }, + { key: 'nu2', base: 'asnu2.dc6' }, + { key: 'nu3', base: 'asnu3.dc6' }, + { key: 'fw', base: 'asfw.dc6' }, + { key: 'bw', base: 'asbw.dc6' }, + ], + }, + { + id: 'ne', + dir: 'necromancer', + prefix: 'ne', + states: [ + { key: 'nu1', base: 'nenu1.dc6' }, + { key: 'nu2', base: 'nenu2.dc6' }, + { key: 'nu3', base: 'nenu3.dc6', overlay: 'nenu3s.dc6', additiveOverlay: true }, + { key: 'fw', base: 'nefw.dc6', overlay: 'nefws.dc6', additiveOverlay: true }, + { key: 'bw', base: 'nebw.dc6', overlay: 'nebws.dc6', additiveOverlay: true }, + ], + }, + { + id: 'ba', + dir: 'barbarian', + prefix: 'ba', + states: [ + { key: 'nu1', base: 'banu1.dc6' }, + { key: 'nu2', base: 'banu2.dc6' }, + { key: 'nu3', base: 'banu3.dc6' }, + { key: 'fw', base: 'bafw.dc6', overlay: 'bafws.dc6', additiveOverlay: false }, + { key: 'bw', base: 'babw.dc6' }, + ], + }, + { + id: 'pa', + dir: 'paladin', + prefix: 'pa', + states: [ + { key: 'nu1', base: 'panu1.dc6' }, + { key: 'nu2', base: 'panu2.dc6' }, + { key: 'nu3', base: 'panu3.dc6' }, + { key: 'fw', base: 'pafw.dc6', overlay: 'pafws.dc6', additiveOverlay: false }, + { key: 'bw', base: 'pabw.dc6' }, + ], + }, + { + id: 'so', + dir: 'sorceress', + prefix: 'so', + states: [ + { key: 'nu1', base: 'sonu1.dc6' }, + { key: 'nu2', base: 'sonu2.dc6' }, + { key: 'nu3', base: 'sonu3.dc6', overlay: 'sonu3s.dc6', additiveOverlay: true }, + { key: 'fw', base: 'sofw.dc6', overlay: 'sofws.dc6', additiveOverlay: true }, + { key: 'bw', base: 'sobw.dc6', overlay: 'sobws.dc6', additiveOverlay: true }, + ], + }, + { + id: 'dz', + dir: 'druid', + prefix: 'dz', + states: [ + { key: 'nu1', base: 'dznu1.dc6' }, + { key: 'nu2', base: 'dznu2.dc6' }, + { key: 'nu3', base: 'dznu3.dc6' }, + { key: 'fw', base: 'dzfw.dc6' }, + { key: 'bw', base: 'dzbw.dc6' }, + ], + }, + ] + + const campfireClasses: Record> = {} + for (const cls of CAMPFIRE_SPECS) { + campfireClasses[cls.id] = {} + for (const st of cls.states) { + const basePath = `data\\global\\ui\\FrontEnd\\${cls.dir}\\${st.base}` + const baseDc6 = await decodeUiDc6(basePath) + const ovDc6 = st.overlay + ? await decodeUiDc6(`data\\global\\ui\\FrontEnd\\${cls.dir}\\${st.overlay}`) + : null + + if (ovDc6 && !st.additiveOverlay) { + const composited = compositeOverlayFrames(baseDc6.groups[0]!.frames, ovDc6.groups[0]!.frames) + const relFile = `campfire/${cls.id}-${st.key}.png` + const packed = packFramesToGrid(relFile, composited, 2048) + savePng(relFile, packed.meta.width, packed.meta.height, packed.pixels, fecharPl2.rgb, true) + campfireClasses[cls.id]![st.key] = packed.meta + } else { + const relFile = `campfire/${cls.id}-${st.key}.png` + const packed = packFramesToGrid(relFile, baseDc6.groups[0]!.frames, 2048) + savePng(relFile, packed.meta.width, packed.meta.height, packed.pixels, fecharPl2.rgb, true) + campfireClasses[cls.id]![st.key] = packed.meta + + if (ovDc6 && st.additiveOverlay) { + const ovRelFile = `campfire/${cls.id}-${st.key}-ov.png` + const ovPacked = packFramesToGrid(ovRelFile, ovDc6.groups[0]!.frames, 2048) + savePng(ovRelFile, ovPacked.meta.width, ovPacked.meta.height, ovPacked.pixels, fecharPl2.rgb, true) + campfireClasses[cls.id]![`${st.key}_ov`] = ovPacked.meta + } + } + } + } + + // ============================================================================ + // 6. 10-Frame Door Opening Loading Screen (`Loadingscreen.dc6` + `loading/pal.pl2`) + // ============================================================================ + console.log('Packing 10-frame Door Opening Loading Screen...') + const loadingDc6 = await decodeUiDc6('data\\global\\ui\\Loading\\Loadingscreen.dc6') + const loadingPacked = packFramesToGrid('loading-door-strip.png', loadingDc6.groups[0]!.frames, 2560) + savePng( + loadingPacked.meta.file, + loadingPacked.meta.width, + loadingPacked.meta.height, + loadingPacked.pixels, + loadingRgb, + false, + ) + animStrips['loadingDoor'] = loadingPacked.meta + + // ============================================================================ + // 7. 7-Class Town-Neutral (`TN`) Character Selection Avatars (Direction 0 = South) + // ============================================================================ + console.log('Packing 7-class Town-Neutral (TN) Character Selection avatar strips...') + const AVATAR_TOKENS = ['am', 'ai', 'ne', 'ba', 'pa', 'so', 'dz'] as const + const charAvatars: Record = {} + for (const token of AVATAR_TOKENS) { + const tnSheet = await loadCharacterSheet(archives, token, 'tn', 'hth', undefined, true) + // Group 0 in loadCharacterSheet is direction 0 (dir64=0 -> dccDir=4 = straight South towards camera) + const southFrames = tnSheet.sheet.groups[0]!.frames + const relFile = `avatars/char-${token}-tn.png` + const packed = packFramesToGrid(relFile, southFrames, 2048) + savePng(relFile, packed.meta.width, packed.meta.height, packed.pixels, skyPl2.rgb, true) + charAvatars[token] = packed.meta + } + + // ============================================================================ + // 8. Colored Bitmap Font Atlases (`D2Gfx_DrawChar` 0x6f876580..0x6f87658f) + // ============================================================================ + // Color 0 = Base skyPl2.rgb (White / Bright Engraved) + // Color 1..12 = applyTransform(skyPl2.rgb, skyPl2.textShifts[color]) + // 1 = Red (Hardcore / Error) + // 2 = Bright Green (Expansion Character) + // 3 = Blue + // 4 = Gold / Bronze (Engraved Button Labels, Titles, Character Names) + // 5 = Dark Gray (Disabled Button Labels) + // 7 = Tan + // 8 = Orange + // 9 = Yellow + console.log('Packing multi-shade chiseled bitmap font atlases...') + const FONT_NAMES = [ + 'font6', + 'font8', + 'font16', + 'font24', + 'font30', + 'font42', + 'fontexocet8', + 'fontexocet10', + 'fontformal10', + 'fontformal11', + 'fontformal12', + 'fontridiculous', + ] as const + const FONT_COLORS = [0, 1, 2, 3, 4, 5, 7, 8, 9] as const + const fontMetas: Record = {} + + for (const fn of FONT_NAMES) { + const fDc6 = await decodeUiDc6(`data\\local\\font\\latin\\${fn}.dc6`) + const fTbl = await archives.read(`data\\local\\font\\latin\\${fn}.tbl`) + const built = buildFontAtlas(fn, fDc6, fTbl) + fontMetas[fn] = built.meta + + for (const c of FONT_COLORS) { + const pal = c === 0 ? skyPl2.rgb : applyTransform(skyPl2.rgb, skyPl2.textShifts[c]!) + savePng( + `fonts/${fn}-c${c}.png`, + built.meta.atlasWidth, + built.meta.atlasHeight, + built.pixels, + pal, + true, + ) + } + } + writeFileSync(join(fontsDir, 'metrics.json'), JSON.stringify(fontMetas, null, 2)) + + // ============================================================================ + // 9. Canonical English Strings from string.tbl / expansionstring.tbl / patchstring.tbl + // ============================================================================ + console.log('Extracting canonical English TBL strings...') + const strBase = decodeTbl(await archives.read('data\\local\\lng\\eng\\string.tbl')) + const strExp = decodeTbl(await archives.read('data\\local\\lng\\eng\\expansionstring.tbl')) + const strPatch = decodeTbl(await archives.read('data\\local\\lng\\eng\\patchstring.tbl')) + + const lookupByKey = (key: string): string | undefined => { + for (const table of [strPatch, strExp, strBase]) { + const found = table.dict.get(key) + if (found) return found + } + return undefined + } + + const strings = { + singlePlayer: lookupByKey('strSinglePlayer') ?? 'SINGLE PLAYER', + battleNet: lookupByKey('strBattleNet') ?? 'BATTLE.NET', + otherMultiplayer: lookupByKey('strOtherMultiplayer') ?? 'OTHER MULTIPLAYER', + exitDiablo2: lookupByKey('strExitDiablo2') ?? 'EXIT DIABLO II', + credits: 'CREDITS', + cinematics: 'CINEMATICS', + gatewayPrefix: 'GATEWAY: ', + connectingToFastest: 'Connecting to the fastest server...', + checkingVersions: 'Checking versions...', + accessingAccount: 'Accessing your account...', + accountName: 'Account Name', + password: 'Password', + logIn: 'LOG IN', + accountSettings: 'ACCOUNT SETTINGS', + createNewAccount: 'CREATE NEW ACCOUNT', + exit: 'EXIT', + ok: 'OK', + cancel: 'CANCEL', + chooseClassTitle: 'Choose a class for your campaign', + characterName: 'Character Name', + expansionCharacter: 'EXPANSION CHARACTER', + hardcore: 'HARDCORE', + ladderCharacter: 'LADDER CHARACTER', + selectCharacterTitle: 'Select a Character', + createNewCharacter: 'CREATE NEW\nCHARACTER', + convertToExpansion: 'CONVERT TO\nEXPANSION', + deleteCharacter: 'DELETE\nCHARACTER', + expiresIn90Days: 'Expires in 90 days', + classes: { + am: { + name: lookupByKey('Amazon') ?? 'Amazon', + desc: + lookupByKey('strAmazonDesc') ?? + 'Skilled with the spear and the bow, she is a very versatile fighter.', + }, + as: { + name: lookupByKey('Assassin') ?? 'Assassin', + desc: + lookupByKey('AssasinDesc') ?? + 'Schooled in the Martial Arts, her mind and body are deadly weapons.', + }, + ne: { + name: lookupByKey('Necromancer') ?? 'Necromancer', + desc: + lookupByKey('strNecroDesc') ?? + 'Summoning undead minions and cursing his enemies are his specialties.', + }, + ba: { + name: lookupByKey('Barbarian') ?? 'Barbarian', + desc: + lookupByKey('strBarbDesc') ?? + 'He is unequaled in close-quarters combat and mastery of weapons.', + }, + pa: { + name: lookupByKey('Paladin') ?? 'Paladin', + desc: + lookupByKey('strPaladinDesc') ?? + 'He is a natural party leader, holy man, and blessed warrior.', + }, + so: { + name: lookupByKey('Sorceress') ?? 'Sorceress', + desc: + lookupByKey('strSorcDesc') ?? + 'She has mastered the elemental magics -- fire, lightning, and ice.', + }, + dz: { + name: lookupByKey('Druid') ?? 'Druid', + desc: + lookupByKey('DruidDesc') ?? + 'Commanding the forces of nature, he summons wild beasts and raging storms to his side.', + }, + }, + lobby: { + send: 'SEND', + whisper: 'WHISPER', + help: 'HELP', + squelch: 'SQUELCH', + unsquelch: 'UNSQUELCH', + emote: 'EMOTE', + create: 'CREATE', + join: 'JOIN', + ladder: 'LADDER', + channel: 'CHANNEL', + quit: 'QUIT', + createGameTitle: 'Create Game', + gameName: 'Game Name', + gamePassword: 'Password', + gameDescription: 'Game Description', + maxPlayers: 'Max Number of Players', + charDifference: 'Character Difference', + selectDifficulty: 'Select Difficulty', + normal: 'Normal', + nightmare: 'Nightmare', + hell: 'Hell', + createGameBtn: 'CREATE GAME', + gemActivated: 'Gem Activated', + gemDeactivated: 'Gem Deactivated', + }, + } + + const manifest = { + version: '1.13c', + decodedDc6Count: decodedCount, + animStrips, + campfireClasses, + charAvatars, + fontColors: FONT_COLORS, + strings, + } + + writeFileSync(join(outDir, 'manifest.json'), JSON.stringify(manifest, null, 2)) + console.log( + `Successfully packed ${decodedCount} DC6 sheets + 7 TN character avatars + ${FONT_NAMES.length * FONT_COLORS.length} colored font atlases in ${(performance.now() - t0).toFixed(0)} ms!`, + ) +} + +main().catch(err => { + console.error('pack-frontend-ui failed:', err) + process.exit(1) +}) diff --git a/src/frontend/__tests__/flow-state.test.ts b/src/frontend/__tests__/flow-state.test.ts new file mode 100644 index 0000000..5bcb465 --- /dev/null +++ b/src/frontend/__tests__/flow-state.test.ts @@ -0,0 +1,146 @@ +import { describe, expect, it } from 'vitest' +import { + CAMPFIRE_CLASS_ORDER, + cancelConnecting, + clickBattleNetButton, + confirmCharacterSelect, + createInitialFlowState, + enterCharCreate, + hoverCampfireClass, + isValidCharacterName, + selectCampfireClass, + stepFlowTick, + submitBattleNetLogin, + submitCharacterCreate, + submitCreateGame, + toggleChatGem, +} from '../flow-state.ts' + +describe('Diablo II v1.13c Front-End & Battle.net Flow State Machine', () => { + it('validates character names according to D2Launch.dll rules', () => { + expect(isValidCharacterName('A')).toBe(false) + expect(isValidCharacterName('Isendra')).toBe(true) + expect(isValidCharacterName('Dark_Wanderer')).toBe(true) + expect(isValidCharacterName('-Invalid')).toBe(false) + expect(isValidCharacterName('Invalid-')).toBe(false) + expect(isValidCharacterName('In--valid')).toBe(false) + expect(isValidCharacterName('TooLongCharacterName')).toBe(false) + }) + + it('walks through all 7 stages from Main Menu to Act 1 Rogue Encampment', () => { + const state = createInitialFlowState() + expect(state.stage).toBe('main_menu') + + // Stage 1 -> Stage 2 Connecting Modal + clickBattleNetButton(state) + expect(state.stage).toBe('bnet_connecting') + + // Can cancel back to main menu + cancelConnecting(state) + expect(state.stage).toBe('main_menu') + + // Re-click Battle.net and advance 18 ticks to Login Screen + clickBattleNetButton(state) + for (let i = 0; i < 18; i++) { + stepFlowTick(state) + } + expect(state.stage).toBe('bnet_login') + expect(state.activeInput).toBe('accountName') + + // Stage 2: Mock authentication accepts ANY username & password + state.accountName = 'any_user_123' + state.accountPassword = 'any_password_456' + expect(submitBattleNetLogin(state)).toBe(true) + + // With empty initial roster, transitions directly to Stage 3 (7-Class Campfire) + expect(state.stage).toBe('char_create') + + // Stage 3: Hover Amazon ('am') -> transitions from 'nu1' to 'nu2' + hoverCampfireClass(state, 'am') + expect(state.campfireClasses.am.phase).toBe('nu2') + + // Click Sorceress ('so') -> walks forward ('fw' -> 'nu3') + selectCampfireClass(state, 'so') + expect(state.selectedClass).toBe('so') + expect(state.campfireClasses.so.phase).toBe('fw') + expect(state.activeInput).toBe('charName') + + const fwCount = state.campfireClasses.so.frameCount.fw + for (let i = 0; i < fwCount; i++) { + stepFlowTick(state) + } + expect(state.campfireClasses.so.phase).toBe('nu3') + + // Switching to Necromancer ('ne') causes Sorceress to walk backward ('bw' -> 'nu1') + selectCampfireClass(state, 'ne') + expect(state.selectedClass).toBe('ne') + expect(state.campfireClasses.so.phase).toBe('bw') + expect(state.campfireClasses.ne.phase).toBe('fw') + + const bwCount = state.campfireClasses.so.frameCount.bw + for (let i = 0; i < bwCount; i++) { + stepFlowTick(state) + } + expect(state.campfireClasses.so.phase).toBe('nu1') + + // Enter character name and click OK -> transitions to Stage 4 (8-Slot Character Selection) + state.charName = 'XulNecro' + state.isExpansion = true + state.isHardcore = false + const created = submitCharacterCreate(state) + expect(created).not.toBeNull() + expect(created?.name).toBe('XulNecro') + expect(created?.heroToken).toBe('ne') + expect(state.stage).toBe('char_select') + expect(state.roster).toHaveLength(1) + expect(state.selectedSlotIndex).toBe(0) + + // Stage 4 -> Stage 5 (Battle.net Lobby & Create Game Room) + expect(confirmCharacterSelect(state)).toBe(true) + expect(state.stage).toBe('bnet_lobby') + expect(state.lobbySubPanel).toBe('create') + + // Toggle Chat Gem in Lobby + toggleChatGem(state) + expect(state.gemActivated).toBe(true) + expect(state.chatMessages.at(-1)).toBe('Gem Activated') + toggleChatGem(state) + expect(state.gemActivated).toBe(false) + expect(state.chatMessages.at(-1)).toBe('Gem Deactivated') + + // Stage 5: Configure room and click CREATE GAME -> transitions to Stage 6 (Door Opening Loading) + state.gameName = 'Sanctuary1' + state.gamePassword = '123' + state.difficulty = 'nightmare' + expect(submitCreateGame(state)).toBe(true) + expect(state.stage).toBe('door_loading') + expect(state.doorFrame).toBe(0) + + // Stage 6: Step through all 10 frames (0..9) of Loadingscreen.dc6 + for (let i = 0; i < 27; i++) { + stepFlowTick(state) + } + expect(state.doorFrame).toBe(9) + // Does not enter game until sceneReady is true + expect(state.stage).toBe('door_loading') + + state.sceneReady = true + for (let i = 0; i < 5; i++) { + stepFlowTick(state) + } + // Stage 7: Act 1 Rogue Encampment active! + expect(state.stage).toBe('in_game') + }) + + it('maps Assassin campfire class id "as" to in-game hero token "ai"', () => { + const state = createInitialFlowState() + enterCharCreate(state) + expect(CAMPFIRE_CLASS_ORDER).toHaveLength(7) + selectCampfireClass(state, 'as') + state.charName = 'Natalya' + const created = submitCharacterCreate(state) + expect(created?.classId).toBe('as') + expect(created?.heroToken).toBe('ai') + expect(created?.className).toBe('Assassin') + }) +}) diff --git a/src/frontend/bnet-main.ts b/src/frontend/bnet-main.ts new file mode 100644 index 0000000..7c5c1bd --- /dev/null +++ b/src/frontend/bnet-main.ts @@ -0,0 +1,184 @@ +/** + * Entry point for `bnet.html` — Complete Diablo II: Lord of Destruction v1.13c (English) + * Pre-Game & Battle.net Flow into Act 1 Rogue Encampment: + * + * Stage 1 (`main_menu`) -> Game Title Screen + * Stage 2 (`bnet_connecting`) -> Connecting to Battle.net modal + * Stage 2b (`bnet_login`) -> Battle.net Account Login (Mock Auth: any username/password succeeds) + * Stage 3 (`char_create`) -> 7-Class Campfire Character Creation + * Stage 4 (`char_select`) -> 8-Slot Character Selection Roster + * Stage 5 (`bnet_lobby`) -> Battle.net Waiting Room, Chat Gem, & Create Game Room + * Stage 6 (`door_loading`) -> 10-Frame Dark Wanderer Door Opening Loading Screen + * Stage 7 (`in_game`) -> Enter Act 1 Rogue Encampment (`bootActScene()`) + */ + +import { bootActScene } from '../scene/act-scene.ts' +import { + createInitialFlowState, + stepFlowTick, + type BnetFlowStage, + type BnetFlowState, +} from './flow-state.ts' +import { FrontendRenderer } from './frontend-renderer.ts' + +export interface PublishedBnetFlowApi { + readonly state: BnetFlowState + readonly renderer: FrontendRenderer + getStage: () => BnetFlowStage + stepTicks: (count: number) => void +} + +declare global { + interface Window { + __d2SkipAutoBoot?: boolean + __d2BnetFlow?: PublishedBnetFlowApi + } +} + +async function main(): Promise { + window.__d2SkipAutoBoot = true + + const bnetShell = document.querySelector('#bnet-shell') + const canvas = document.querySelector('#bnet-canvas') + if (!bnetShell || !canvas) { + throw new Error('Missing #bnet-shell or #bnet-canvas in bnet.html') + } + + const state = createInitialFlowState() + const renderer = new FrontendRenderer(canvas, state) + + let sceneBootStarted = false + const startBackgroundSceneBoot = (): void => { + if (sceneBootStarted) return + sceneBootStarted = true + + const selectedChar = state.roster[state.selectedSlotIndex] + const heroToken = selectedChar?.heroToken ?? 'so' + const charName = selectedChar?.name ?? 'Wanderer' + + const params = new URLSearchParams(window.location.search) + params.set('hero', heroToken) + params.set('act', '1') + params.delete('level') + params.set('charName', charName) + params.set('gameName', state.gameName) + params.set('difficulty', state.difficulty) + const nextUrl = `${window.location.pathname}?${params.toString()}` + window.history.replaceState(null, '', nextUrl) + + const heroSelect = document.querySelector('#hero') + if (heroSelect) { + heroSelect.value = heroToken + } + + void bootActScene() + .then(() => { + state.sceneReady = true + }) + .catch((err) => { + console.error('Failed to boot Act 1 Rogue Encampment scene:', err) + state.sceneReady = true + }) + } + + renderer.onEnterDoorLoading = () => { + startBackgroundSceneBoot() + } + + await renderer.load('/ui/frontend') + + // Bind mouse & keyboard events onto the 800x600 front-end canvas + canvas.addEventListener('mousemove', (e) => { + if (state.stage === 'in_game') return + const pt = renderer.eventToCanvasCoords(e) + renderer.handleMouseMove(pt.x, pt.y, performance.now()) + }) + + canvas.addEventListener('mousedown', (e) => { + if (state.stage === 'in_game' || e.button !== 0) return + const pt = renderer.eventToCanvasCoords(e) + renderer.handleMouseDown(pt.x, pt.y, performance.now()) + }) + + window.addEventListener('mouseup', (e) => { + if (state.stage === 'in_game' || e.button !== 0) return + const pt = renderer.eventToCanvasCoords(e) + const prevStage = state.stage + renderer.handleMouseUp(pt.x, pt.y, performance.now()) + if (prevStage !== 'door_loading' && state.stage === 'door_loading') { + startBackgroundSceneBoot() + } + }) + + window.addEventListener( + 'keydown', + (e) => { + if (state.stage === 'in_game') return + // Stop propagation while in pre-game stages so in-game listeners don't intercept keys + e.stopImmediatePropagation() + const prevStage = state.stage + renderer.handleKeyDown(e) + if (prevStage !== 'door_loading' && state.stage === 'door_loading') { + startBackgroundSceneBoot() + } + }, + true, + ) + + let lastTickTime = performance.now() + const TICK_MS = 40 // 25 fps canonical Diablo II animation rate + let transitionedInGame = false + + const revealInGameScene = (): void => { + if (transitionedInGame) return + transitionedInGame = true + bnetShell.style.display = 'none' + document.body.classList.add('in-game-active') + window.dispatchEvent(new Event('resize')) + } + + window.__d2BnetFlow = { + state, + renderer, + getStage: () => state.stage, + stepTicks: (count: number) => { + for (let i = 0; i < count; i++) { + const prev = state.stage + stepFlowTick(state) + if (prev !== 'door_loading' && state.stage === 'door_loading') { + startBackgroundSceneBoot() + } + if (state.stage === 'in_game') { + revealInGameScene() + break + } + } + renderer.render(performance.now()) + }, + } + + const frameLoop = (now: number): void => { + if (state.stage === 'in_game') { + revealInGameScene() + return + } + if (now - lastTickTime > TICK_MS * 2) { + lastTickTime = now - TICK_MS + } + while (now - lastTickTime >= TICK_MS) { + lastTickTime += TICK_MS + stepFlowTick(state) + if ((state.stage as BnetFlowStage) === 'in_game') { + revealInGameScene() + return + } + } + renderer.render(now) + requestAnimationFrame(frameLoop) + } + + renderer.render(performance.now()) + requestAnimationFrame(frameLoop) +} + +void main() diff --git a/src/frontend/flow-state.ts b/src/frontend/flow-state.ts new file mode 100644 index 0000000..00df34e --- /dev/null +++ b/src/frontend/flow-state.ts @@ -0,0 +1,537 @@ +/** + * Pure, deterministic state machine for the Diablo II v1.13c Front-End & Battle.net Flow: + * + * Stage 1: `main_menu` — Title screen (`gameselectscreenEXP.dc6` + burning D2 logo) + * Stage 2: `bnet_connecting` — Connecting modal (`PopUp_340x224.dc6`) + * `bnet_login` — Battle.net Login (`Account Name`, `Password`, mock auth) + * Stage 3: `char_create` — 7-Class Campfire Character Creation (`charactercreationscreenEXP.dc6`) + * Stage 4: `char_select` — 8-Slot Character Selection Roster (`characterselectscreenEXP.dc6`) + * Stage 5: `bnet_lobby` — Battle.net Lobby & Create Game Room (`waitingroombkgd.dc6` + `creategamebckg.dc6`) + * Stage 6: `door_loading` — 10-Frame Dark Wanderer Door Opening Loading Screen (`Loadingscreen.dc6`) + * Stage 7: `in_game` — Act 1 Rogue Encampment (`src/scene/act-scene.ts`) + */ + +export type BnetFlowStage = + | 'main_menu' + | 'bnet_connecting' + | 'bnet_login' + | 'char_create' + | 'char_select' + | 'bnet_lobby' + | 'door_loading' + | 'in_game' + +/** Campfire class IDs in left-to-right screen order (`D2Launch.dll` @ `0x6fa68df8`). */ +export type CampfireClassId = 'am' | 'as' | 'ne' | 'ba' | 'pa' | 'so' | 'dz' + +/** In-game entity token (`as` maps to `ai` for Assassin). */ +export type HeroToken = 'am' | 'ai' | 'ne' | 'ba' | 'pa' | 'so' | 'dz' + +export type CampfireAnimPhase = 'nu1' | 'nu2' | 'fw' | 'nu3' | 'bw' + +export type GameDifficulty = 'normal' | 'nightmare' | 'hell' + +export interface CampfireClassSlotState { + readonly id: CampfireClassId + readonly heroToken: HeroToken + readonly nameEn: string + /** Screen anchor X (`D2Launch.dll` @ `0x6fa68df8`). */ + readonly anchorX: number + /** Screen anchor Y (bottom edge, `D2Launch.dll` @ `0x6fa68df8`). */ + readonly anchorY: number + /** Interactive bounding box in 800x600 space (`left, top, width, height`). */ + readonly hitBox: { readonly x: number; readonly y: number; readonly w: number; readonly h: number } + phase: CampfireAnimPhase + frameIndex: number + frameCount: Record +} + +export interface RosterCharacter { + readonly id: string + readonly name: string + readonly classId: CampfireClassId + readonly heroToken: HeroToken + readonly className: string + readonly level: number + isExpansion: boolean + readonly isHardcore: boolean + readonly isLadder: boolean + readonly createdAt: number +} + +export type ActiveInputField = + | 'accountName' + | 'accountPassword' + | 'charName' + | 'gameName' + | 'gamePassword' + | 'gameDescription' + | 'maxPlayers' + | 'chatInput' + | null + +export interface BnetFlowState { + stage: BnetFlowStage + gateway: string + /** Ticks elapsed in current stage (25 ticks = 1 second). */ + stageTicks: number + /** Global animation tick counter (25fps). */ + globalTick: number + + // Stage 2: Battle.net Login + accountName: string + accountPassword: string + loginError: string | null + + // Stage 3: Campfire Character Creation + campfireClasses: Record + hoveredClass: CampfireClassId | null + selectedClass: CampfireClassId | null + charName: string + isExpansion: boolean + isHardcore: boolean + isLadder: boolean + charCreateError: string | null + + // Stage 4: 8-Slot Character Selection + roster: RosterCharacter[] + selectedSlotIndex: number + deleteConfirmOpen: boolean + + // Stage 5: Battle.net Lobby & Create Game Room + lobbySubPanel: 'create' | 'join' | 'channel' | 'ladder' + gemActivated: boolean + chatMessages: string[] + chatInput: string + gameName: string + gamePassword: string + gameDescription: string + maxPlayers: string + charDifferenceEnabled: boolean + charDifference: string + difficulty: GameDifficulty + createGameError: string | null + + // Stage 6: 10-Frame Door Opening Loading Screen + doorFrame: number + sceneReady: boolean + + // Active keyboard focus + activeInput: ActiveInputField +} + +export const CAMPFIRE_CLASS_ORDER: readonly CampfireClassId[] = [ + 'am', + 'as', + 'ne', + 'ba', + 'pa', + 'so', + 'dz', +] as const + +export const CAMPFIRE_CLASS_SPECS: Readonly< + Record< + CampfireClassId, + { + readonly id: CampfireClassId + readonly heroToken: HeroToken + readonly nameEn: string + readonly anchorX: number + readonly anchorY: number + readonly hitBox: { readonly x: number; readonly y: number; readonly w: number; readonly h: number } + readonly defaultFrames: Record + } + > +> = { + am: { + id: 'am', + heroToken: 'am', + nameEn: 'Amazon', + anchorX: 100, + anchorY: 337, + hitBox: { x: 56, y: 153, w: 88, h: 184 }, + defaultFrames: { nu1: 35, nu2: 24, fw: 51, nu3: 10, bw: 32 }, + }, + as: { + id: 'as', + heroToken: 'ai', + nameEn: 'Assassin', + anchorX: 232, + anchorY: 364, + hitBox: { x: 188, y: 180, w: 88, h: 184 }, + defaultFrames: { nu1: 42, nu2: 8, fw: 38, nu3: 16, bw: 29 }, + }, + ne: { + id: 'ne', + heroToken: 'ne', + nameEn: 'Necromancer', + anchorX: 301, + anchorY: 333, + hitBox: { x: 257, y: 149, w: 88, h: 184 }, + defaultFrames: { nu1: 12, nu2: 8, fw: 52, nu3: 16, bw: 28 }, + }, + ba: { + id: 'ba', + heroToken: 'ba', + nameEn: 'Barbarian', + anchorX: 400, + anchorY: 330, + hitBox: { x: 356, y: 146, w: 88, h: 184 }, + defaultFrames: { nu1: 38, nu2: 8, fw: 63, nu3: 16, bw: 32 }, + }, + pa: { + id: 'pa', + heroToken: 'pa', + nameEn: 'Paladin', + anchorX: 521, + anchorY: 339, + hitBox: { x: 477, y: 155, w: 88, h: 184 }, + defaultFrames: { nu1: 37, nu2: 8, fw: 61, nu3: 24, bw: 28 }, + }, + so: { + id: 'so', + heroToken: 'so', + nameEn: 'Sorceress', + anchorX: 626, + anchorY: 353, + hitBox: { x: 582, y: 169, w: 88, h: 184 }, + defaultFrames: { nu1: 30, nu2: 8, fw: 50, nu3: 26, bw: 28 }, + }, + dz: { + id: 'dz', + heroToken: 'dz', + nameEn: 'Druid', + anchorX: 720, + anchorY: 370, + hitBox: { x: 676, y: 186, w: 88, h: 184 }, + defaultFrames: { nu1: 30, nu2: 18, fw: 49, nu3: 16, bw: 33 }, + }, +} + +export function createInitialFlowState(initialRoster: RosterCharacter[] = []): BnetFlowState { + const campfireClasses = {} as Record + for (const id of CAMPFIRE_CLASS_ORDER) { + const spec = CAMPFIRE_CLASS_SPECS[id] + campfireClasses[id] = { + id: spec.id, + heroToken: spec.heroToken, + nameEn: spec.nameEn, + anchorX: spec.anchorX, + anchorY: spec.anchorY, + hitBox: spec.hitBox, + phase: 'nu1', + frameIndex: 0, + frameCount: { ...spec.defaultFrames }, + } + } + + return { + stage: 'main_menu', + gateway: 'U.S. West', + stageTicks: 0, + globalTick: 0, + + accountName: 'Wanderer', + accountPassword: 'password', + loginError: null, + + campfireClasses, + hoveredClass: null, + selectedClass: null, + charName: '', + isExpansion: true, + isHardcore: false, + isLadder: true, + charCreateError: null, + + roster: [...initialRoster], + selectedSlotIndex: 0, + deleteConfirmOpen: false, + + lobbySubPanel: 'create', + gemActivated: false, + chatMessages: [ + 'Welcome to Battle.net!', + 'This server is hosted by U.S. West Realm.', + 'You have entered chat channel: Diablo II Retail_USA-1', + ], + chatInput: '', + gameName: 'RogueCamp1', + gamePassword: '', + gameDescription: 'Act 1 Rogue Encampment', + maxPlayers: '8', + charDifferenceEnabled: false, + charDifference: '99', + difficulty: 'normal', + createGameError: null, + + doorFrame: 0, + sceneReady: false, + + activeInput: null, + } +} + +/** + * Validate character name per D2Launch.dll rules (2-15 ASCII letters/digits/hyphen/underscore, + * cannot start or end with hyphen/underscore or contain consecutive hyphens). + */ +export function isValidCharacterName(name: string): boolean { + const trimmed = name.trim() + if (trimmed.length < 2 || trimmed.length > 15) return false + if (!/^[A-Za-z][A-Za-z0-9_-]*$/.test(trimmed)) return false + if (trimmed.endsWith('-') || trimmed.endsWith('_')) return false + if (trimmed.includes('--') || trimmed.includes('__')) return false + return true +} + +/** + * Click `BATTLE.NET` on Stage 1 Main Menu -> enters `bnet_connecting`. + */ +export function clickBattleNetButton(state: BnetFlowState): void { + if (state.stage !== 'main_menu') return + state.stage = 'bnet_connecting' + state.stageTicks = 0 + state.activeInput = null +} + +/** + * Cancel connecting modal -> returns to `main_menu`. + */ +export function cancelConnecting(state: BnetFlowState): void { + if (state.stage !== 'bnet_connecting') return + state.stage = 'main_menu' + state.stageTicks = 0 +} + +/** + * Mock Battle.net authentication: any username and password entered by the user succeeds! + * If the user's character roster is empty, transitions directly to Stage 3 (`char_create`); + * otherwise transitions to Stage 4 (`char_select`). + */ +export function submitBattleNetLogin(state: BnetFlowState): boolean { + if (state.stage !== 'bnet_login') return false + if (!state.accountName.trim()) { + state.accountName = 'Wanderer' + } + state.loginError = null + state.stageTicks = 0 + if (state.roster.length === 0) { + enterCharCreate(state) + } else { + state.stage = 'char_select' + state.selectedSlotIndex = 0 + state.activeInput = null + } + return true +} + +/** + * Enter Stage 3 (`char_create`) and reset all 7 classes to campfire back idle (`nu1`). + */ +export function enterCharCreate(state: BnetFlowState): void { + state.stage = 'char_create' + state.stageTicks = 0 + state.hoveredClass = null + state.selectedClass = null + state.charName = '' + state.isExpansion = true + state.isHardcore = false + state.isLadder = true + state.charCreateError = null + state.activeInput = null + for (const id of CAMPFIRE_CLASS_ORDER) { + const slot = state.campfireClasses[id] + slot.phase = 'nu1' + slot.frameIndex = 0 + } +} + +/** + * Hover a class at the campfire (`nu1` <-> `nu2`). + */ +export function hoverCampfireClass(state: BnetFlowState, classId: CampfireClassId | null): void { + if (state.stage !== 'char_create') return + const prev = state.hoveredClass + if (prev === classId) return + if (prev && state.campfireClasses[prev].phase === 'nu2') { + state.campfireClasses[prev].phase = 'nu1' + state.campfireClasses[prev].frameIndex = 0 + } + state.hoveredClass = classId + if (classId && state.campfireClasses[classId].phase === 'nu1') { + state.campfireClasses[classId].phase = 'nu2' + state.campfireClasses[classId].frameIndex = 0 + } +} + +/** + * Click one of the 7 classes at the campfire (`D2Launch.dll` @ `0x6fa5d780`): + * - Previously selected class (if in `fw` or `nu3`) walks back (`bw` -> `nu1`) + * - Newly clicked class walks forward (`fw` -> `nu3`) and focuses the `charName` input box! + */ +export function selectCampfireClass(state: BnetFlowState, classId: CampfireClassId): void { + if (state.stage !== 'char_create') return + const prev = state.selectedClass + if (prev === classId) { + state.activeInput = 'charName' + return + } + if (prev) { + const prevSlot = state.campfireClasses[prev] + if (prevSlot.phase === 'fw' || prevSlot.phase === 'nu3') { + prevSlot.phase = 'bw' + prevSlot.frameIndex = 0 + } else { + prevSlot.phase = 'nu1' + prevSlot.frameIndex = 0 + } + } + state.selectedClass = classId + state.charCreateError = null + const nextSlot = state.campfireClasses[classId] + nextSlot.phase = 'fw' + nextSlot.frameIndex = 0 + state.activeInput = 'charName' +} + +/** + * Confirm Character Creation (`OK` button on Stage 3): + * Validates class selection & character name, adds the new character to `state.roster`, + * and transitions to Stage 4 (`char_select`) with the newly created hero selected in Slot 0. + */ +export function submitCharacterCreate(state: BnetFlowState): RosterCharacter | null { + if (state.stage !== 'char_create') return null + if (!state.selectedClass) { + state.charCreateError = 'Please select a hero class.' + return null + } + if (!isValidCharacterName(state.charName)) { + state.charCreateError = 'Character name must be 2-15 letters.' + return null + } + const spec = CAMPFIRE_CLASS_SPECS[state.selectedClass] + const trimmedName = state.charName.trim() + const newChar: RosterCharacter = { + id: `${spec.heroToken}-${Date.now()}`, + name: trimmedName, + classId: spec.id, + heroToken: spec.heroToken, + className: spec.nameEn, + level: 1, + isExpansion: state.isExpansion, + isHardcore: state.isHardcore, + isLadder: state.isLadder, + createdAt: Date.now(), + } + state.roster = [newChar, ...state.roster].slice(0, 8) + state.selectedSlotIndex = 0 + state.stage = 'char_select' + state.stageTicks = 0 + state.activeInput = null + return newChar +} + +/** + * Confirm Character Selection (`OK` button or double-click on Stage 4): + * Transitions to Stage 5 (`bnet_lobby`) with the Create Game sub-panel open. + */ +export function confirmCharacterSelect(state: BnetFlowState): boolean { + if (state.stage !== 'char_select') return false + const selected = state.roster[state.selectedSlotIndex] + if (!selected) return false + state.stage = 'bnet_lobby' + state.stageTicks = 0 + state.lobbySubPanel = 'create' + state.createGameError = null + if (!state.gameName.trim()) { + state.gameName = `${selected.name}1`.slice(0, 15) + } + state.activeInput = 'gameName' + return true +} + +/** + * Toggle the iconic Battle.net Lobby Chat Gem (`gembutton.dc6` at `(398, 474)`). + */ +export function toggleChatGem(state: BnetFlowState): void { + if (state.stage !== 'bnet_lobby') return + state.gemActivated = !state.gemActivated + state.chatMessages.push(state.gemActivated ? 'Gem Activated' : 'Gem Deactivated') + if (state.chatMessages.length > 14) { + state.chatMessages.shift() + } +} + +/** + * Click `CREATE GAME` on Stage 5 Battle.net Lobby -> transitions to Stage 6 (`door_loading`). + */ +export function submitCreateGame(state: BnetFlowState): boolean { + if (state.stage !== 'bnet_lobby') return false + const trimmedGame = state.gameName.trim() + if (trimmedGame.length < 1 || trimmedGame.length > 15) { + state.createGameError = 'Please enter a valid Game Name (1-15 characters).' + return false + } + state.gameName = trimmedGame + state.createGameError = null + state.stage = 'door_loading' + state.stageTicks = 0 + state.doorFrame = 0 + state.activeInput = null + return true +} + +/** + * Advance the front-end state machine by 1 tick (25fps = 40ms per tick). + */ +export function stepFlowTick(state: BnetFlowState): void { + state.globalTick += 1 + state.stageTicks += 1 + + if (state.stage === 'bnet_connecting') { + // After 18 ticks (~720ms), connecting modal completes and transitions to Battle.net Login + if (state.stageTicks >= 18) { + state.stage = 'bnet_login' + state.stageTicks = 0 + state.activeInput = 'accountName' + } + return + } + + if (state.stage === 'char_create') { + for (const id of CAMPFIRE_CLASS_ORDER) { + const slot = state.campfireClasses[id] + const count = Math.max(1, slot.frameCount[slot.phase] || 1) + if (slot.phase === 'fw') { + if (slot.frameIndex + 1 < count) { + slot.frameIndex += 1 + } else { + slot.phase = 'nu3' + slot.frameIndex = 0 + } + } else if (slot.phase === 'bw') { + if (slot.frameIndex + 1 < count) { + slot.frameIndex += 1 + } else { + slot.phase = state.hoveredClass === id ? 'nu2' : 'nu1' + slot.frameIndex = 0 + } + } else { + slot.frameIndex = (slot.frameIndex + 1) % count + } + } + return + } + + if (state.stage === 'door_loading') { + // Step door animation from Frame 0 to Frame 9 (every 3 ticks = ~120ms per door frame, ~1.2s total) + const targetFrame = Math.min(9, Math.floor(state.stageTicks / 3)) + state.doorFrame = targetFrame + if (state.doorFrame >= 9 && state.stageTicks >= 30 && state.sceneReady) { + state.stage = 'in_game' + state.stageTicks = 0 + } + } +} diff --git a/src/frontend/frontend-renderer.ts b/src/frontend/frontend-renderer.ts new file mode 100644 index 0000000..6d8b1d4 --- /dev/null +++ b/src/frontend/frontend-renderer.ts @@ -0,0 +1,1842 @@ +/** + * Diablo II v1.13c Authentic Front-End & Battle.net 800x600 Canvas Renderer (`src/frontend/frontend-renderer.ts`). + * + * Renders all 6 pre-game stages using 100% original English MPQ assets packed into `/ui/frontend/`: + * - Stage 1 (`main_menu`): `gameselectscreenEXP.dc6` + 2-layer additive burning D2 logo + engraved buttons + * - Stage 2 (`bnet_connecting`): `PopUp_340x224.dc6` modal over `gameselectscreenEXP.dc6` + * - Stage 2b (`bnet_login`): Battle.net Account Name & Password login screen (mock auth accepts any credentials) + * - Stage 3 (`char_create`): 7-Class Campfire (`charactercreationscreenEXP.dc6` + `fire.dc6` + 7 class state machines) + * - Stage 4 (`char_select`): 8-Slot Character Selection Roster (`characterselectscreenEXP.dc6` + `TN` avatars) + * - Stage 5 (`bnet_lobby`): Battle.net Lobby, Chat Gem (`gembutton.dc6`), and `Create Game` panel (`creategamebckg.dc6`) + * - Stage 6 (`door_loading`): 10-Frame Dark Wanderer Door Opening Loading Screen (`Loadingscreen.dc6`) + */ + +import { CursorController } from '../ui/cursor.ts' +import type { FontAtlasMeta } from '../ui/font.ts' +import { + CAMPFIRE_CLASS_ORDER, + cancelConnecting, + clickBattleNetButton, + confirmCharacterSelect, + enterCharCreate, + hoverCampfireClass, + selectCampfireClass, + submitBattleNetLogin, + submitCharacterCreate, + submitCreateGame, + toggleChatGem, + type ActiveInputField, + type BnetFlowState, + type CampfireClassId, + type GameDifficulty, +} from './flow-state.ts' + +export interface PackedAnimFrame { + readonly x: number + readonly y: number + readonly w: number + readonly h: number + readonly anchorX: number + readonly anchorY: number +} + +export interface PackedAnimStripMeta { + readonly file: string + readonly width: number + readonly height: number + readonly frameCount: number + readonly frames: readonly PackedAnimFrame[] +} + +export interface FrontendManifest { + readonly version: string + readonly decodedDc6Count: number + readonly animStrips: Record + readonly campfireClasses: Record> + readonly charAvatars: Record + readonly fontColors: readonly number[] + readonly strings: { + readonly singlePlayer: string + readonly battleNet: string + readonly otherMultiplayer: string + readonly exitDiablo2: string + readonly credits: string + readonly cinematics: string + readonly gatewayPrefix: string + readonly connectingToFastest: string + readonly checkingVersions: string + readonly accessingAccount: string + readonly accountName: string + readonly password: string + readonly logIn: string + readonly accountSettings: string + readonly createNewAccount: string + readonly exit: string + readonly ok: string + readonly cancel: string + readonly chooseClassTitle: string + readonly characterName: string + readonly expansionCharacter: string + readonly hardcore: string + readonly ladderCharacter: string + readonly selectCharacterTitle: string + readonly createNewCharacter: string + readonly convertToExpansion: string + readonly deleteCharacter: string + readonly expiresIn90Days: string + readonly classes: Record + readonly lobby: { + readonly send: string + readonly whisper: string + readonly help: string + readonly squelch: string + readonly unsquelch: string + readonly emote: string + readonly create: string + readonly join: string + readonly ladder: string + readonly channel: string + readonly quit: string + readonly createGameTitle: string + readonly gameName: string + readonly gamePassword: string + readonly gameDescription: string + readonly maxPlayers: string + readonly charDifference: string + readonly selectDifficulty: string + readonly normal: string + readonly nightmare: string + readonly hell: string + readonly createGameBtn: string + readonly gemActivated: string + readonly gemDeactivated: string + } + } +} + +export type FrontendFontName = + | 'font6' + | 'font8' + | 'font16' + | 'font24' + | 'font30' + | 'font42' + | 'fontexocet8' + | 'fontexocet10' + | 'fontformal10' + | 'fontformal11' + | 'fontformal12' + | 'fontridiculous' + +/** + * PL2 text color indices (`D2Gfx_DrawChar` 0x6f876580..0x6f87658f): + * 0 = White, 1 = Red, 2 = Green, 3 = Blue, 4 = Gold, 5 = DarkGray, 7 = Tan, 8 = Orange, 9 = Yellow + */ +export type FrontendColorIndex = 0 | 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 + +export interface UiButtonDef { + readonly id: string + readonly x: number + readonly y: number + readonly w: number + readonly h: number + readonly sprite: string + readonly label?: string + readonly font?: FrontendFontName + readonly color?: FrontendColorIndex + readonly disabled?: boolean + readonly onClick: () => void +} + +const STATIC_UI_IMAGES = [ + 'bg-main-menu.png', + 'bg-char-create.png', + 'bg-char-select.png', + 'bg-waiting-room.png', + 'popup-340x224.png', + 'popup-okcancel.png', + 'create-game-bg.png', + 'charselectbox.png', + 'realmselect.png', + 'btn-realm-thin.png', + 'btn-wide.png', + 'btn-3wide.png', + 'btn-wide02.png', + 'btn-medium.png', + 'btn-short.png', + 'btn-tall.png', + 'textbox.png', + 'clickbox.png', + 'joingameclickbox.png', + 'radiobutton.png', + 'gembutton.png', + 'btn-chatleft.png', + 'btn-game.png', + 'btn-create-cancel.png', + 'btn-create-game.png', + 'grey-level-box.png', + 'logo-main-black.png', + 'logo-main-fire.png', + 'logo-bnet-black.png', + 'logo-bnet-fire.png', + 'campfire/fire-strip.png', + 'loading-door-strip.png', +] as const + +export class FrontendRenderer { + readonly canvas: HTMLCanvasElement + readonly ctx: CanvasRenderingContext2D + readonly state: BnetFlowState + readonly cursor = new CursorController() + + manifest: FrontendManifest | null = null + fontMetas: Record = {} + images = new Map() + cursorAtlas: HTMLImageElement | null = null + pressedButtonId: string | null = null + lastClickSlotTime = 0 + lastClickSlotIndex = -1 + ready = false + + /** Callback invoked when Stage 6 (`door_loading`) begins so `bnet-main.ts` can boot Act 1 in background. */ + onEnterDoorLoading?: (state: BnetFlowState) => void + + constructor(canvas: HTMLCanvasElement, state: BnetFlowState) { + this.canvas = canvas + const ctx = canvas.getContext('2d') + if (!ctx) throw new Error('Failed to acquire 2D context for bnet-canvas') + ctx.imageSmoothingEnabled = false + this.ctx = ctx + this.state = state + this.cursor.handleMouseMove(400, 300) + } + + private loadImage(url: string, key: string): Promise { + return new Promise((resolve, reject) => { + const img = new Image() + img.onload = () => { + this.images.set(key, img) + resolve() + } + img.onerror = () => reject(new Error(`Failed to load frontend image: ${url}`)) + img.src = url + }) + } + + async load(baseUrl = '/ui/frontend'): Promise { + const [manifestRes, fontRes] = await Promise.all([ + fetch(`${baseUrl}/manifest.json`), + fetch(`${baseUrl}/fonts/metrics.json`), + ]) + if (!manifestRes.ok) throw new Error(`Failed to fetch ${baseUrl}/manifest.json`) + if (!fontRes.ok) throw new Error(`Failed to fetch ${baseUrl}/fonts/metrics.json`) + + this.manifest = (await manifestRes.json()) as FrontendManifest + this.fontMetas = (await fontRes.json()) as Record + + // Synchronize frame counts from manifest into flow state + for (const id of CAMPFIRE_CLASS_ORDER) { + const clsStrips = this.manifest.campfireClasses[id] + if (!clsStrips) continue + const slot = this.state.campfireClasses[id] + for (const phase of ['nu1', 'nu2', 'fw', 'nu3', 'bw'] as const) { + if (clsStrips[phase]) { + slot.frameCount[phase] = clsStrips[phase]!.frameCount + } + } + } + + const promises: Promise[] = [] + for (const rel of STATIC_UI_IMAGES) { + promises.push(this.loadImage(`${baseUrl}/${rel}`, rel)) + } + + // Load 7-class campfire strips + for (const id of CAMPFIRE_CLASS_ORDER) { + const clsStrips = this.manifest.campfireClasses[id] + if (!clsStrips) continue + for (const strip of Object.values(clsStrips)) { + promises.push(this.loadImage(`${baseUrl}/${strip.file}`, strip.file)) + } + } + + // Load 7-class TN avatar strips + for (const strip of Object.values(this.manifest.charAvatars)) { + promises.push(this.loadImage(`${baseUrl}/${strip.file}`, strip.file)) + } + + // Load primary bitmap font atlases used across Front-End & Battle.net screens + const activeFonts: FrontendFontName[] = [ + 'font6', + 'font8', + 'font16', + 'font24', + 'font30', + 'font42', + 'fontexocet10', + 'fontformal10', + 'fontformal11', + 'fontformal12', + 'fontridiculous', + ] + const activeColors: FrontendColorIndex[] = [0, 1, 2, 3, 4, 5, 7, 8, 9] + for (const fn of activeFonts) { + for (const c of activeColors) { + const rel = `fonts/${fn}-c${c}.png` + promises.push(this.loadImage(`${baseUrl}/${rel}`, rel)) + } + } + + // Load cursor-hand.png + promises.push( + new Promise((resolve) => { + const img = new Image() + img.onload = () => { + this.cursorAtlas = img + resolve() + } + img.onerror = () => resolve() + img.src = '/ui/cursor-hand.png' + }), + ) + + await Promise.all(promises) + this.ready = true + } + + /** + * Measure pixel width of a single line of text in the specified D2 bitmap font. + */ + measureBitmapText(text: string, font: FrontendFontName): number { + const meta = this.fontMetas[font] + if (!meta) return text.length * 8 + let width = 0 + for (let i = 0; i < text.length; i++) { + const code = text.charCodeAt(i) & 0xff + const g = meta.glyphs[code] + width += g ? g.width : 6 + } + return width + } + + /** + * Draw a single line or multi-line (`\n`) string using pre-baked colored DC6 bitmap font atlases. + */ + drawBitmapText( + text: string, + x: number, + y: number, + options: { + font?: FrontendFontName + color?: FrontendColorIndex + align?: 'left' | 'center' | 'right' + vAlign?: 'top' | 'middle' + lineGap?: number + } = {}, + ): void { + const font = options.font ?? 'font16' + const color = options.color ?? 0 + const align = options.align ?? 'left' + const vAlign = options.vAlign ?? 'top' + const meta = this.fontMetas[font] + const atlas = this.images.get(`fonts/${font}-c${color}.png`) + if (!meta || !atlas) return + + const lines = text.split('\n') + const frameH = meta.glyphs[65]?.frameH || meta.lineHeight + const stepY = (options.lineGap ?? Math.max(meta.lineHeight, Math.round(frameH * 0.78))) + const totalBlockH = frameH + (lines.length - 1) * stepY + let curY = vAlign === 'middle' ? Math.round(y - totalBlockH / 2) : Math.round(y) + + for (const line of lines) { + const lineW = this.measureBitmapText(line, font) + let curX = Math.round(x) + if (align === 'center') curX = Math.round(x - lineW / 2) + else if (align === 'right') curX = Math.round(x - lineW) + + for (let i = 0; i < line.length; i++) { + const code = line.charCodeAt(i) & 0xff + const g = meta.glyphs[code] + if (!g) continue + if (code !== 32 && g.frameW > 0 && g.frameH > 0) { + this.ctx.drawImage(atlas, g.x, g.y, g.frameW, g.frameH, curX, curY, g.frameW, g.frameH) + } + curX += g.width + } + curY += stepY + } + } + + /** + * Word-wrap text to `maxWidth` pixels and draw each line using `drawBitmapText`. + */ + drawWrappedBitmapText( + text: string, + x: number, + y: number, + maxWidth: number, + options: { + font?: FrontendFontName + color?: FrontendColorIndex + align?: 'left' | 'center' + lineStep?: number + } = {}, + ): void { + const font = options.font ?? 'font16' + const words = text.split(/\s+/) + const lines: string[] = [] + let current = '' + for (const word of words) { + const candidate = current ? `${current} ${word}` : word + if (this.measureBitmapText(candidate, font) <= maxWidth || !current) { + current = candidate + } else { + lines.push(current) + current = word + } + } + if (current) lines.push(current) + + const meta = this.fontMetas[font] + const step = options.lineStep ?? ((meta?.lineHeight ?? 14) + 3) + for (let i = 0; i < lines.length; i++) { + this.drawBitmapText(lines[i]!, x, y + i * step, { + font, + color: options.color ?? 0, + align: options.align ?? 'center', + }) + } + } + + /** + * Draw an animated strip frame at `(controlX + frame.anchorX, controlY + frame.anchorY)`. + */ + private drawAnimStripFrame( + strip: PackedAnimStripMeta | undefined, + frameIdx: number, + controlX: number, + controlY: number, + additive = false, + ): void { + if (!strip || strip.frames.length === 0) return + const img = this.images.get(strip.file) + if (!img) return + const safeIdx = ((frameIdx % strip.frames.length) + strip.frames.length) % strip.frames.length + const f = strip.frames[safeIdx]! + if (additive) { + this.ctx.save() + this.ctx.globalCompositeOperation = 'screen' + this.ctx.drawImage(img, f.x, f.y, f.w, f.h, controlX + f.anchorX, controlY + f.anchorY, f.w, f.h) + this.ctx.restore() + } else { + this.ctx.drawImage(img, f.x, f.y, f.w, f.h, controlX + f.anchorX, controlY + f.anchorY, f.w, f.h) + } + } + + /** + * Draw a 2-state button (`state = 0` Up, `state = 1` Down) with `(-2, +2)` pressed label offset. + */ + private drawButton(btn: UiButtonDef): void { + const img = this.images.get(btn.sprite) + const isDown = !btn.disabled && this.pressedButtonId === btn.id + if (img) { + const stateW = Math.floor(img.width / 2) + const stateH = img.height + const sx = isDown ? stateW : 0 + this.ctx.drawImage(img, sx, 0, stateW, stateH, btn.x, btn.y, btn.w, btn.h) + } + if (btn.label) { + const dx = isDown ? -2 : 0 + const dy = isDown ? 2 : 0 + let font = btn.font ?? 'font24' + if (font === 'font30' && this.measureBitmapText(btn.label, 'font30') > btn.w - 30) { + font = 'font24' + } + this.drawBitmapText(btn.label, btn.x + Math.floor(btn.w / 2) + dx, btn.y + Math.floor(btn.h / 2) + dy, { + font, + color: btn.disabled ? 5 : (btn.color ?? 4), + align: 'center', + vAlign: 'middle', + }) + } + } + + /** + * Draw a Diablo II editbox (`textbox.png` or custom rect) with text and a blinking vertical cursor. + */ + private drawEditBox( + field: Exclude, + x: number, + y: number, + w: number, + h: number, + value: string, + options: { + drawFrameImage?: boolean + maskChar?: string + font?: FrontendFontName + color?: FrontendColorIndex + } = {}, + ): void { + if (options.drawFrameImage) { + const tbImg = this.images.get('textbox.png') + if (tbImg) { + this.ctx.drawImage(tbImg, 0, 0, tbImg.width, tbImg.height, x, y, w, h) + } + } + const displayValue = options.maskChar ? options.maskChar.repeat(value.length) : value + const font = options.font ?? 'fontformal12' + const color = options.color ?? 0 + const padX = 7 + this.drawBitmapText(displayValue, x + padX, y + Math.floor(h / 2), { + font, + color, + align: 'left', + vAlign: 'middle', + }) + + if (this.state.activeInput === field && Math.floor(this.state.globalTick / 10) % 2 === 0) { + const textW = this.measureBitmapText(displayValue, font) + const cursorX = Math.min(x + w - 6, x + padX + textW + 1) + this.ctx.fillStyle = '#e8d088' + this.ctx.fillRect(cursorX, y + 5, 2, h - 10) + } + } + + /** + * Return the list of interactive buttons for the current stage. + */ + getActiveButtons(): UiButtonDef[] { + const s = this.manifest?.strings + if (!s) return [] + + switch (this.state.stage) { + case 'main_menu': + return [ + { + id: 'single_player', + x: 264, + y: 290, + w: 272, + h: 35, + sprite: 'btn-wide.png', + label: s.singlePlayer, + font: 'font30', + color: 4, + onClick: () => { + clickBattleNetButton(this.state) + }, + }, + { + id: 'battle_net', + x: 264, + y: 332, + w: 272, + h: 35, + sprite: 'btn-wide.png', + label: s.battleNet, + font: 'font30', + color: 4, + onClick: () => { + clickBattleNetButton(this.state) + }, + }, + { + id: 'gateway', + x: 264, + y: 369, + w: 272, + h: 25, + sprite: 'btn-wide02.png', + label: `${s.gatewayPrefix}${this.state.gateway.toUpperCase()}`, + font: 'font16', + color: 4, + onClick: () => { + const gateways = ['U.S. West', 'U.S. East', 'Asia', 'Europe'] + const idx = gateways.indexOf(this.state.gateway) + this.state.gateway = gateways[(idx + 1) % gateways.length]! + }, + }, + { + id: 'other_multiplayer', + x: 264, + y: 400, + w: 272, + h: 35, + sprite: 'btn-wide.png', + label: s.otherMultiplayer, + font: 'font30', + color: 4, + onClick: () => { + clickBattleNetButton(this.state) + }, + }, + { + id: 'credits', + x: 264, + y: 505, + w: 135, + h: 25, + sprite: 'btn-short.png', + label: s.credits, + font: 'font16', + color: 4, + onClick: () => {}, + }, + { + id: 'cinematics', + x: 401, + y: 505, + w: 135, + h: 25, + sprite: 'btn-short.png', + label: s.cinematics, + font: 'font16', + color: 4, + onClick: () => {}, + }, + { + id: 'exit_d2', + x: 264, + y: 535, + w: 272, + h: 35, + sprite: 'btn-3wide.png', + label: s.exitDiablo2, + font: 'font30', + color: 4, + onClick: () => {}, + }, + ] + + case 'bnet_connecting': + return [ + { + id: 'cancel_connecting', + x: 336, + y: 367, + w: 128, + h: 35, + sprite: 'btn-medium.png', + label: s.cancel, + font: 'font24', + color: 4, + onClick: () => { + cancelConnecting(this.state) + }, + }, + ] + + case 'bnet_login': + return [ + { + id: 'bnet_login_btn', + x: 264, + y: 424, + w: 272, + h: 35, + sprite: 'btn-wide.png', + label: s.logIn, + font: 'font24', + color: 4, + onClick: () => { + submitBattleNetLogin(this.state) + }, + }, + { + id: 'bnet_account_settings', + x: 264, + y: 466, + w: 272, + h: 35, + sprite: 'btn-wide.png', + label: s.accountSettings, + font: 'font24', + color: 4, + onClick: () => { + submitBattleNetLogin(this.state) + }, + }, + { + id: 'bnet_create_account', + x: 264, + y: 508, + w: 272, + h: 35, + sprite: 'btn-wide.png', + label: s.createNewAccount, + font: 'font24', + color: 4, + onClick: () => { + submitBattleNetLogin(this.state) + }, + }, + { + id: 'bnet_login_cancel', + x: 33, + y: 538, + w: 128, + h: 35, + sprite: 'btn-medium.png', + label: s.cancel, + font: 'font24', + color: 4, + onClick: () => { + this.state.stage = 'main_menu' + this.state.stageTicks = 0 + this.state.activeInput = null + }, + }, + ] + + case 'char_create': + return [ + { + id: 'char_create_exit', + x: 33, + y: 538, + w: 128, + h: 35, + sprite: 'btn-medium.png', + label: s.exit, + font: 'font24', + color: 4, + onClick: () => { + if (this.state.roster.length > 0) { + this.state.stage = 'char_select' + this.state.stageTicks = 0 + this.state.activeInput = null + } else { + this.state.stage = 'bnet_login' + this.state.stageTicks = 0 + this.state.activeInput = 'accountName' + } + }, + }, + { + id: 'char_create_ok', + x: 639, + y: 538, + w: 128, + h: 35, + sprite: 'btn-medium.png', + label: s.ok, + font: 'font24', + color: 4, + disabled: !this.state.selectedClass, + onClick: () => { + submitCharacterCreate(this.state) + }, + }, + ] + + case 'char_select': { + const hasChars = this.state.roster.length > 0 + const selectedChar = this.state.roster[this.state.selectedSlotIndex] + return [ + { + id: 'char_select_create_new', + x: 33, + y: 468, + w: 168, + h: 60, + sprite: 'btn-tall.png', + label: s.createNewCharacter, + font: 'font16', + color: 4, + onClick: () => { + enterCharCreate(this.state) + }, + }, + { + id: 'char_select_convert_exp', + x: 233, + y: 468, + w: 168, + h: 60, + sprite: 'btn-tall.png', + label: s.convertToExpansion, + font: 'font16', + color: 4, + disabled: !selectedChar || selectedChar.isExpansion, + onClick: () => { + if (selectedChar && !selectedChar.isExpansion) { + selectedChar.isExpansion = true + } + }, + }, + { + id: 'char_select_delete', + x: 433, + y: 468, + w: 168, + h: 60, + sprite: 'btn-tall.png', + label: s.deleteCharacter, + font: 'font16', + color: 4, + disabled: !selectedChar, + onClick: () => { + if (selectedChar) { + this.state.roster.splice(this.state.selectedSlotIndex, 1) + this.state.selectedSlotIndex = Math.max( + 0, + Math.min(this.state.selectedSlotIndex, this.state.roster.length - 1), + ) + } + }, + }, + { + id: 'char_select_exit', + x: 33, + y: 538, + w: 128, + h: 35, + sprite: 'btn-medium.png', + label: s.exit, + font: 'font24', + color: 4, + onClick: () => { + this.state.stage = 'main_menu' + this.state.stageTicks = 0 + this.state.activeInput = null + }, + }, + { + id: 'char_select_ok', + x: 639, + y: 538, + w: 128, + h: 35, + sprite: 'btn-medium.png', + label: s.ok, + font: 'font24', + color: 4, + disabled: !hasChars, + onClick: () => { + confirmCharacterSelect(this.state) + }, + }, + ] + } + + case 'bnet_lobby': { + const L = s.lobby + return [ + // Left chat utility buttons (`chatleftbuttons.dc6` 78x20 at y=450 & y=470 per D2Multi.dll 0x6f9e9d28..0x6f9e9e20) + { + id: 'lobby_send', + x: 27, + y: 450, + w: 78, + h: 20, + sprite: 'btn-chatleft.png', + label: L.send, + font: 'font16', + color: 4, + onClick: () => { + this.sendChatMessage() + }, + }, + { + id: 'lobby_whisper', + x: 107, + y: 450, + w: 78, + h: 20, + sprite: 'btn-chatleft.png', + label: L.whisper, + font: 'font16', + color: 4, + onClick: () => {}, + }, + { + id: 'lobby_help', + x: 187, + y: 450, + w: 78, + h: 20, + sprite: 'btn-chatleft.png', + label: L.help, + font: 'font16', + color: 4, + onClick: () => {}, + }, + { + id: 'lobby_squelch', + x: 27, + y: 470, + w: 78, + h: 20, + sprite: 'btn-chatleft.png', + label: L.squelch, + font: 'font16', + color: 4, + onClick: () => {}, + }, + { + id: 'lobby_unsquelch', + x: 107, + y: 470, + w: 78, + h: 20, + sprite: 'btn-chatleft.png', + label: L.unsquelch, + font: 'font16', + color: 4, + onClick: () => {}, + }, + { + id: 'lobby_emote', + x: 187, + y: 470, + w: 78, + h: 20, + sprite: 'btn-chatleft.png', + label: L.emote, + font: 'font16', + color: 4, + onClick: () => {}, + }, + // Right Game Command Bar (D2Multi.dll 0x6f9e9e50..0x6f9e9f10) + { + id: 'lobby_tab_create', + x: 533, + y: 449, + w: 118, + h: 20, + sprite: 'btn-game.png', + label: L.create, + font: 'font16', + color: 4, + onClick: () => { + this.state.lobbySubPanel = 'create' + this.state.activeInput = 'gameName' + }, + }, + { + id: 'lobby_tab_join', + x: 653, + y: 449, + w: 118, + h: 20, + sprite: 'btn-game.png', + label: L.join, + font: 'font16', + color: 4, + onClick: () => { + this.state.lobbySubPanel = 'create' + }, + }, + { + id: 'lobby_tab_channel', + x: 535, + y: 470, + w: 78, + h: 20, + sprite: 'btn-chatleft.png', + label: L.channel, + font: 'font16', + color: 4, + onClick: () => {}, + }, + { + id: 'lobby_tab_ladder', + x: 614, + y: 470, + w: 78, + h: 20, + sprite: 'btn-chatleft.png', + label: L.ladder, + font: 'font16', + color: 4, + onClick: () => {}, + }, + { + id: 'lobby_tab_quit', + x: 693, + y: 470, + w: 78, + h: 20, + sprite: 'btn-chatleft.png', + label: L.quit, + font: 'font16', + color: 4, + onClick: () => { + this.state.stage = 'char_select' + this.state.stageTicks = 0 + this.state.activeInput = null + }, + }, + // Create Game sub-panel buttons (`CancelButtonBlank.dc6` 96x32 @ (433,401) & `GameButtonBlank.dc6` 172x32 @ (594,401) per D2Multi.dll 0x6f9eaba0 & 0x6f9eaff0) + { + id: 'create_game_cancel', + x: 433, + y: 401, + w: 96, + h: 32, + sprite: 'btn-create-cancel.png', + label: s.cancel, + font: 'font16', + color: 4, + onClick: () => { + this.state.gameName = '' + this.state.gamePassword = '' + }, + }, + { + id: 'create_game_submit', + x: 594, + y: 401, + w: 172, + h: 32, + sprite: 'btn-game.png', + label: L.createGameBtn, + font: 'font16', + color: 4, + onClick: () => { + this.triggerCreateGame() + }, + }, + ] + } + + default: + return [] + } + } + + private triggerCreateGame(): void { + if (submitCreateGame(this.state)) { + this.onEnterDoorLoading?.(this.state) + } + } + + private sendChatMessage(): void { + const trimmed = this.state.chatInput.trim() + if (!trimmed) return + const selectedChar = this.state.roster[this.state.selectedSlotIndex] + const speaker = selectedChar?.name ?? this.state.accountName + this.state.chatMessages.push(`<${speaker}> ${trimmed}`) + if (this.state.chatMessages.length > 14) { + this.state.chatMessages.shift() + } + this.state.chatInput = '' + } + + /** + * Render the active pre-game stage onto the 800x600 canvas. + */ + render(nowMs = performance.now()): void { + if (!this.ready || !this.manifest) return + const ctx = this.ctx + ctx.clearRect(0, 0, 800, 600) + + switch (this.state.stage) { + case 'main_menu': + this.renderMainMenu(false) + break + case 'bnet_connecting': + this.renderMainMenu(true) + break + case 'bnet_login': + this.renderBnetLogin() + break + case 'char_create': + this.renderCharCreate() + break + case 'char_select': + this.renderCharSelect() + break + case 'bnet_lobby': + this.renderBnetLobby() + break + case 'door_loading': + this.renderDoorLoading() + break + case 'in_game': + break + } + + // Draw the authentic Diablo II animated hand cursor on top of all front-end screens + if (this.state.stage !== 'in_game') { + this.cursor.render(ctx, this.cursorAtlas, nowMs) + } + } + + private drawBurningMainLogo(): void { + if (!this.manifest) return + const tick = this.state.globalTick + this.drawAnimStripFrame(this.manifest.animStrips['logoMainBlack'], tick, 400, 120, false) + this.drawAnimStripFrame(this.manifest.animStrips['logoMainFire'], tick, 400, 120, true) + } + + private renderMainMenu(showConnectingModal: boolean): void { + const bg = this.images.get('bg-main-menu.png') + if (bg) this.ctx.drawImage(bg, 0, 0) + + this.drawBurningMainLogo() + + if (!showConnectingModal) { + for (const btn of this.getActiveButtons()) { + this.drawButton(btn) + } + } else { + // Dim background slightly and render `PopUp_340x224.dc6` at (230, 188) + const popup = this.images.get('popup-340x224.png') + if (popup) this.ctx.drawImage(popup, 230, 188) + + const s = this.manifest!.strings + this.drawBitmapText('BATTLE.NET', 400, 214, { font: 'font24', color: 4, align: 'center' }) + this.drawBitmapText(s.connectingToFastest, 400, 256, { + font: 'fontformal12', + color: 0, + align: 'center', + }) + if (this.state.stageTicks >= 6) { + this.drawBitmapText(s.checkingVersions, 400, 284, { + font: 'fontformal12', + color: 0, + align: 'center', + }) + } + if (this.state.stageTicks >= 12) { + this.drawBitmapText(s.accessingAccount, 400, 312, { + font: 'fontformal12', + color: 0, + align: 'center', + }) + } + + for (const btn of this.getActiveButtons()) { + this.drawButton(btn) + } + } + + // Version string at bottom-right + this.drawBitmapText('v 1.13c', 748, 578, { font: 'fontformal10', color: 0, align: 'left' }) + } + + private renderBnetLogin(): void { + const bg = this.images.get('bg-main-menu.png') + if (bg) this.ctx.drawImage(bg, 0, 0) + + this.drawBurningMainLogo() + + const s = this.manifest!.strings + this.drawBitmapText( + 'Enter your Account Name and Password to log in to Battle.net.', + 400, + 252, + { font: 'fontformal12', color: 0, align: 'center' }, + ) + + // Account Name label & editbox (D2Launch.dll 0x6fa61310..0x6fa616d0) + this.drawBitmapText(s.accountName, 278, 296, { font: 'font16', color: 4, align: 'left' }) + this.drawEditBox('accountName', 278, 316, 243, 31, this.state.accountName, { + drawFrameImage: true, + font: 'fontformal12', + color: 0, + }) + + // Password label & editbox + this.drawBitmapText(s.password, 278, 356, { font: 'font16', color: 4, align: 'left' }) + this.drawEditBox('accountPassword', 278, 376, 243, 31, this.state.accountPassword, { + drawFrameImage: true, + maskChar: '*', + font: 'fontformal12', + color: 0, + }) + + for (const btn of this.getActiveButtons()) { + this.drawButton(btn) + } + + this.drawBitmapText('v 1.13c', 748, 578, { font: 'fontformal10', color: 0, align: 'left' }) + } + + private renderCharCreate(): void { + const bg = this.images.get('bg-char-create.png') + if (bg) this.ctx.drawImage(bg, 0, 0) + + const s = this.manifest!.strings + + // Top banner: "Choose a class for your campaign" + this.drawBitmapText(s.chooseClassTitle, 400, 18, { + font: 'font30', + color: 4, + align: 'center', + }) + + // Active or hovered class name & lore description under the title banner + const activeClassId = this.state.hoveredClass ?? this.state.selectedClass + if (activeClassId) { + const clsInfo = s.classes[activeClassId] + this.drawBitmapText(clsInfo.name, 400, 52, { + font: 'font24', + color: 4, + align: 'center', + }) + this.drawWrappedBitmapText(clsInfo.desc, 400, 80, 420, { + font: 'font16', + color: 0, + align: 'center', + lineStep: 17, + }) + } + + // Draw back-row classes first (those in `nu1` or `nu2`), then campfire flame, then selected/stepping classes (`fw`, `nu3`, `bw`) + const backClasses: CampfireClassId[] = [] + const frontClasses: CampfireClassId[] = [] + for (const id of CAMPFIRE_CLASS_ORDER) { + const phase = this.state.campfireClasses[id].phase + if (phase === 'fw' || phase === 'nu3' || phase === 'bw') { + frontClasses.push(id) + } else { + backClasses.push(id) + } + } + + for (const id of backClasses) { + this.drawCampfireClass(id) + } + + // Campfire flame (`fire.dc6`, control anchor (345, 454) minus f0.offset (-34, 132) -> (379, 322)) + this.drawAnimStripFrame( + this.manifest!.animStrips['campfireFlame'], + this.state.globalTick, + 379, + 322, + true, + ) + + for (const id of frontClasses) { + this.drawCampfireClass(id) + } + + // Bottom character name input and checkboxes (visible once a class is selected) + if (this.state.selectedClass) { + this.drawBitmapText(s.characterName, 318, 466, { + font: 'font16', + color: 4, + align: 'left', + }) + this.drawEditBox('charName', 318, 485, 175, 28, this.state.charName, { + drawFrameImage: true, + font: 'fontformal12', + color: 0, + }) + + this.drawCheckbox(318, 520, this.state.isExpansion, s.expansionCharacter, 4) + this.drawCheckbox(318, 540, this.state.isHardcore, s.hardcore, this.state.isHardcore ? 1 : 4) + this.drawCheckbox(318, 560, this.state.isLadder, s.ladderCharacter, 4) + } + + if (this.state.charCreateError) { + this.drawBitmapText(this.state.charCreateError, 400, 444, { + font: 'fontformal12', + color: 1, + align: 'center', + }) + } + + for (const btn of this.getActiveButtons()) { + this.drawButton(btn) + } + } + + private drawCampfireClass(id: CampfireClassId): void { + const slot = this.state.campfireClasses[id] + const strips = this.manifest?.campfireClasses[id] + if (!strips) return + const baseStrip = strips[slot.phase] + this.drawAnimStripFrame(baseStrip, slot.frameIndex, slot.anchorX, slot.anchorY, false) + const ovStrip = strips[`${slot.phase}_ov`] + if (ovStrip) { + this.drawAnimStripFrame(ovStrip, slot.frameIndex, slot.anchorX, slot.anchorY, true) + } + } + + private drawCheckbox( + x: number, + y: number, + checked: boolean, + label: string, + labelColor: FrontendColorIndex = 4, + ): void { + const cbImg = this.images.get('clickbox.png') + if (cbImg) { + const w = Math.floor(cbImg.width / 2) + const h = cbImg.height + this.ctx.drawImage(cbImg, checked ? w : 0, 0, w, h, x, y, w, h) + } + this.drawBitmapText(label, x + 22, y + 1, { + font: 'font16', + color: labelColor, + align: 'left', + }) + } + + private drawRadioButton(x: number, y: number, selected: boolean, label: string): void { + const rbImg = this.images.get('radiobutton.png') + if (rbImg) { + const w = Math.floor(rbImg.width / 2) + const h = rbImg.height + this.ctx.drawImage(rbImg, selected ? w : 0, 0, w, h, x, y, w, h) + } + this.drawBitmapText(label, x + 22, y + 1, { + font: 'font16', + color: 4, + align: 'left', + }) + } + + private renderCharSelect(): void { + const bg = this.images.get('bg-char-select.png') + if (bg) this.ctx.drawImage(bg, 0, 0) + + const s = this.manifest!.strings + this.drawBitmapText(s.selectCharacterTitle, 400, 22, { + font: 'font30', + color: 4, + align: 'center', + }) + + // Top-right Realm info + this.drawBitmapText(`${this.state.gateway} Realm`, 690, 56, { + font: 'font16', + color: 4, + align: 'center', + }) + + // 8 character slots (2 columns x 4 rows) + // Col 0: x = 37, Col 1: x = 309 + // Row tops: y = 85, 178, 271, 364 (height = 93 each) + const boxImg = this.images.get('charselectbox.png') + for (let i = 0; i < 8; i++) { + const char = this.state.roster[i] + if (!char) continue + const col = i % 2 + const row = Math.floor(i / 2) + const slotX = col === 0 ? 37 : 309 + const slotY = 85 + row * 93 + + if (i === this.state.selectedSlotIndex && boxImg) { + this.ctx.drawImage(boxImg, slotX, slotY) + } + + // Draw animated Level 1 unequipped Town-Neutral (TN) avatar standing on left side of slot + const avatarStrip = this.manifest!.charAvatars[char.heroToken] + this.drawAnimStripFrame(avatarStrip, this.state.globalTick, slotX + 36, slotY + 82, false) + + // Right side metadata: Name (gold or red if Hardcore), Level & Class, Expansion Character, Expires in 90 days + const textX = slotX + 78 + this.drawBitmapText(char.name, textX, slotY + 8, { + font: 'font16', + color: char.isHardcore ? 1 : 4, + align: 'left', + }) + this.drawBitmapText(`Level ${char.level} ${char.className}`, textX, slotY + 26, { + font: 'font16', + color: 0, + align: 'left', + }) + if (char.isExpansion) { + this.drawBitmapText(s.expansionCharacter, textX, slotY + 43, { + font: 'font16', + color: 2, // Bright Green + align: 'left', + }) + } + this.drawBitmapText(s.expiresIn90Days, textX, slotY + 62, { + font: 'fontformal10', + color: 9, // Yellow + align: 'left', + }) + } + + for (const btn of this.getActiveButtons()) { + this.drawButton(btn) + } + } + + private renderBnetLobby(): void { + const bg = this.images.get('bg-waiting-room.png') + if (bg) this.ctx.drawImage(bg, 0, 0) + + const s = this.manifest!.strings + const L = s.lobby + + // Top-left & Top-right small burning D2 logos (`D2logoBlackBnet.dc6` + `D2logoBnet.dc6` at (84, 52) & (726, 52) per D2Multi.dll 0x6f9ea1b0 & 0x6f9ea240) + for (const logoX of [84, 726]) { + this.drawAnimStripFrame( + this.manifest!.animStrips['logoBnetBlack'], + this.state.globalTick, + logoX, + 52, + false, + ) + this.drawAnimStripFrame( + this.manifest!.animStrips['logoBnetFire'], + this.state.globalTick, + logoX, + 52, + true, + ) + } + + // Left Chat Window messages (`x = 28..382, y = 112..408` per D2Multi.dll 0x6f9ea120) + this.drawBitmapText('Diablo II Retail_USA-1', 214, 83, { + font: 'font16', + color: 4, + align: 'center', + }) + const visibleMessages = this.state.chatMessages.slice(-14) + for (let i = 0; i < visibleMessages.length; i++) { + const msg = visibleMessages[i]! + const isGemMsg = msg === 'Gem Activated' || msg === 'Gem Deactivated' + this.drawBitmapText(msg, 32, 114 + i * 20, { + font: 'fontformal11', + color: isGemMsg ? 3 : 0, + align: 'left', + }) + } + + // Chat Input box (`x = 28, y = 418, w = 335, h = 28` inside braided frame per D2Multi.dll 0x6f9ea150) + this.drawEditBox('chatInput', 28, 418, 335, 28, this.state.chatInput, { + drawFrameImage: false, + font: 'fontformal11', + color: 0, + }) + + // Center Chat Gem (`gembutton.dc6` at `(398, 461)` inside the Celtic knot medallion per D2Multi.dll 0x6f9ea270) + const gemImg = this.images.get('gembutton.png') + if (gemImg) { + const gw = Math.floor(gemImg.width / 2) + const gh = gemImg.height + this.ctx.drawImage(gemImg, this.state.gemActivated ? gw : 0, 0, gw, gh, 398, 461, gw, gh) + } + + // Right-hand `Create Game` sub-panel (`create-game-bg.png` 373x373 at `(415, 74)` per D2Multi.dll 0x6f9ea930 `pos=(415,447)`) + const cgBg = this.images.get('create-game-bg.png') + if (cgBg) { + this.ctx.drawImage(cgBg, 415, 74) + } + + this.drawBitmapText(L.createGameTitle, 596, 88, { + font: 'font24', + color: 4, + align: 'center', + }) + + // 1. Game Name (`x = 427, y = 137, w = 188, h = 25` per D2Multi.dll 0x6f9ea990 & 0x6f9eaab0) + this.drawBitmapText(L.gameName, 427, 119, { font: 'font16', color: 4, align: 'left' }) + this.drawEditBox('gameName', 427, 137, 188, 25, this.state.gameName, { + drawFrameImage: false, + font: 'fontformal12', + color: 0, + }) + + // 2. Password (`x = 427, y = 191, w = 188, h = 25` per D2Multi.dll 0x6f9ea9c0 & 0x6f9eaae0) + this.drawBitmapText(L.gamePassword, 427, 173, { font: 'font16', color: 4, align: 'left' }) + this.drawEditBox('gamePassword', 427, 191, 188, 25, this.state.gamePassword, { + drawFrameImage: false, + font: 'fontformal12', + color: 0, + }) + + // 3. Game Description (`x = 427, y = 245, w = 342, h = 25` per D2Multi.dll 0x6f9ea9f0 & 0x6f9eab10) + this.drawBitmapText(L.gameDescription, 427, 227, { font: 'font16', color: 4, align: 'left' }) + this.drawEditBox('gameDescription', 427, 245, 342, 25, this.state.gameDescription, { + drawFrameImage: false, + font: 'fontformal12', + color: 0, + }) + + // 4. Max Number of Players (`x = 655, y = 278, w = 42, h = 29` per create-game-bg.png box & D2Multi.dll 0x6f9eaa20) + this.drawBitmapText(L.maxPlayers, 427, 286, { font: 'font16', color: 4, align: 'left' }) + this.drawEditBox('maxPlayers', 655, 278, 42, 29, this.state.maxPlayers, { + drawFrameImage: false, + font: 'fontformal12', + color: 0, + }) + + // 5. Character Difference (`x = 655, y = 315, w = 42, h = 29` per create-game-bg.png box & D2Multi.dll 0x6f9eaa50) + this.drawCheckbox(431, 323, this.state.charDifferenceEnabled, L.charDifference, 4) + this.drawBitmapText(this.state.charDifference, 676, 329, { + font: 'fontformal12', + color: this.state.charDifferenceEnabled ? 0 : 5, + align: 'center', + vAlign: 'middle', + }) + + // 6. Select Difficulty (`Normal`, `Nightmare`, `Hell` per D2Multi.dll 0x6f9eac30..0x6f9ead20) + this.drawBitmapText(L.selectDifficulty, 427, 350, { font: 'font16', color: 4, align: 'left' }) + this.drawRadioButton(430, 368, this.state.difficulty === 'normal', L.normal) + this.drawRadioButton(555, 368, this.state.difficulty === 'nightmare', L.nightmare) + this.drawRadioButton(698, 368, this.state.difficulty === 'hell', L.hell) + + if (this.state.createGameError) { + this.drawBitmapText(this.state.createGameError, 596, 388, { + font: 'fontformal10', + color: 1, + align: 'center', + }) + } + + // Bottom Channel Character Lineup Bar (`y = 500..585` per D2Multi.dll 0x6f9ea0c0) + const selectedChar = this.state.roster[this.state.selectedSlotIndex] + if (selectedChar) { + const avatarStrip = this.manifest!.charAvatars[selectedChar.heroToken] + this.drawAnimStripFrame(avatarStrip, this.state.globalTick, 64, 578, false) + this.drawBitmapText(selectedChar.name, 134, 528, { + font: 'font16', + color: selectedChar.isHardcore ? 1 : 4, + align: 'left', + }) + this.drawBitmapText( + `Level ${selectedChar.level} ${selectedChar.className}`, + 134, + 548, + { font: 'fontformal10', color: 0, align: 'left' }, + ) + } + + for (const btn of this.getActiveButtons()) { + this.drawButton(btn) + } + } + + private renderDoorLoading(): void { + const ctx = this.ctx + ctx.fillStyle = '#000000' + ctx.fillRect(0, 0, 800, 600) + + const doorStrip = this.manifest?.animStrips['loadingDoor'] + if (!doorStrip) return + const img = this.images.get(doorStrip.file) + if (!img) return + const idx = Math.max(0, Math.min(doorStrip.frames.length - 1, this.state.doorFrame)) + const f = doorStrip.frames[idx]! + // Center the 640x480 door loading frame in the 800x600 canvas at (80, 60) (or scale 800x600) + ctx.drawImage(img, f.x, f.y, f.w, f.h, 80, 60, 640, 480) + } + + /** + * Convert a pointer event on `this.canvas` to 800x600 logical coordinates. + */ + eventToCanvasCoords(e: MouseEvent): { x: number; y: number } { + const rect = this.canvas.getBoundingClientRect() + if (rect.width <= 0 || rect.height <= 0) return { x: 400, y: 300 } + const x = ((e.clientX - rect.left) / rect.width) * 800 + const y = ((e.clientY - rect.top) / rect.height) * 600 + return { + x: Math.max(0, Math.min(800, x)), + y: Math.max(0, Math.min(600, y)), + } + } + + handleMouseMove(x: number, y: number, nowMs = performance.now()): void { + this.cursor.handleMouseMove(x, y, nowMs) + if (this.state.stage === 'char_create') { + let found: CampfireClassId | null = null + for (const id of CAMPFIRE_CLASS_ORDER) { + const hb = this.state.campfireClasses[id].hitBox + if (x >= hb.x && x <= hb.x + hb.w && y >= hb.y && y <= hb.y + hb.h) { + found = id + break + } + } + hoverCampfireClass(this.state, found) + } + } + + handleMouseDown(x: number, y: number, nowMs = performance.now()): void { + this.cursor.handleMouseDown(nowMs) + this.pressedButtonId = null + for (const btn of this.getActiveButtons()) { + if (!btn.disabled && x >= btn.x && x <= btn.x + btn.w && y >= btn.y && y <= btn.y + btn.h) { + this.pressedButtonId = btn.id + return + } + } + } + + handleMouseUp(x: number, y: number, nowMs = performance.now()): void { + this.cursor.handleMouseUp(nowMs) + const pressedId = this.pressedButtonId + this.pressedButtonId = null + + for (const btn of this.getActiveButtons()) { + if ( + !btn.disabled && + btn.id === pressedId && + x >= btn.x && + x <= btn.x + btn.w && + y >= btn.y && + y <= btn.y + btn.h + ) { + btn.onClick() + return + } + } + + // Stage-specific non-button interactions (editboxes, campfire heroes, character slots, checkboxes, radio buttons, chat gem) + if (this.state.stage === 'bnet_login') { + if (x >= 278 && x <= 521 && y >= 316 && y <= 347) { + this.state.activeInput = 'accountName' + } else if (x >= 278 && x <= 521 && y >= 376 && y <= 407) { + this.state.activeInput = 'accountPassword' + } + return + } + + if (this.state.stage === 'char_create') { + // Check if a campfire class was clicked + for (const id of CAMPFIRE_CLASS_ORDER) { + const hb = this.state.campfireClasses[id].hitBox + if (x >= hb.x && x <= hb.x + hb.w && y >= hb.y && y <= hb.y + hb.h) { + selectCampfireClass(this.state, id) + return + } + } + if (this.state.selectedClass) { + if (x >= 318 && x <= 493 && y >= 485 && y <= 513) { + this.state.activeInput = 'charName' + return + } + if (x >= 318 && x <= 520 && y >= 518 && y <= 536) { + this.state.isExpansion = !this.state.isExpansion + return + } + if (x >= 318 && x <= 480 && y >= 538 && y <= 556) { + this.state.isHardcore = !this.state.isHardcore + return + } + if (x >= 318 && x <= 510 && y >= 558 && y <= 576) { + this.state.isLadder = !this.state.isLadder + return + } + } + return + } + + if (this.state.stage === 'char_select') { + for (let i = 0; i < this.state.roster.length; i++) { + const col = i % 2 + const row = Math.floor(i / 2) + const slotX = col === 0 ? 37 : 309 + const slotY = 85 + row * 93 + if (x >= slotX && x <= slotX + 272 && y >= slotY && y <= slotY + 93) { + if (this.lastClickSlotIndex === i && nowMs - this.lastClickSlotTime < 450) { + this.state.selectedSlotIndex = i + confirmCharacterSelect(this.state) + } else { + this.state.selectedSlotIndex = i + this.lastClickSlotIndex = i + this.lastClickSlotTime = nowMs + } + return + } + } + return + } + + if (this.state.stage === 'bnet_lobby') { + // Chat Gem at (398, 461, 20x24) + if (x >= 392 && x <= 424 && y >= 455 && y <= 485) { + toggleChatGem(this.state) + return + } + // Editboxes in Create Game panel & Chat Input + if (x >= 427 && x <= 615 && y >= 137 && y <= 162) { + this.state.activeInput = 'gameName' + return + } + if (x >= 427 && x <= 615 && y >= 191 && y <= 216) { + this.state.activeInput = 'gamePassword' + return + } + if (x >= 427 && x <= 769 && y >= 245 && y <= 270) { + this.state.activeInput = 'gameDescription' + return + } + if (x >= 647 && x <= 680 && y >= 286 && y <= 310) { + this.state.activeInput = 'maxPlayers' + return + } + if (x >= 28 && x <= 363 && y >= 418 && y <= 446) { + this.state.activeInput = 'chatInput' + return + } + // Character Difference checkbox + if (x >= 431 && x <= 620 && y >= 322 && y <= 344) { + this.state.charDifferenceEnabled = !this.state.charDifferenceEnabled + return + } + // Difficulty radio buttons + const diffs: { id: GameDifficulty; x: number; w: number }[] = [ + { id: 'normal', x: 430, w: 95 }, + { id: 'nightmare', x: 555, w: 125 }, + { id: 'hell', x: 698, w: 80 }, + ] + for (const d of diffs) { + if (x >= d.x && x <= d.x + d.w && y >= 364 && y <= 388) { + this.state.difficulty = d.id + return + } + } + } + } + + handleKeyDown(e: KeyboardEvent): void { + if (this.state.stage === 'in_game' || this.state.stage === 'door_loading') return + + if (e.key === 'Escape') { + e.preventDefault() + if (this.state.stage === 'bnet_connecting') { + cancelConnecting(this.state) + } else if (this.state.stage === 'bnet_login') { + this.state.stage = 'main_menu' + this.state.activeInput = null + } else if (this.state.stage === 'char_create') { + if (this.state.roster.length > 0) { + this.state.stage = 'char_select' + this.state.activeInput = null + } else { + this.state.stage = 'bnet_login' + this.state.activeInput = 'accountName' + } + } else if (this.state.stage === 'char_select') { + this.state.stage = 'main_menu' + this.state.activeInput = null + } else if (this.state.stage === 'bnet_lobby') { + this.state.stage = 'char_select' + this.state.activeInput = null + } + return + } + + if (e.key === 'Enter') { + e.preventDefault() + if (this.state.stage === 'main_menu') { + clickBattleNetButton(this.state) + } else if (this.state.stage === 'bnet_login') { + submitBattleNetLogin(this.state) + } else if (this.state.stage === 'char_create') { + submitCharacterCreate(this.state) + } else if (this.state.stage === 'char_select') { + confirmCharacterSelect(this.state) + } else if (this.state.stage === 'bnet_lobby') { + if (this.state.activeInput === 'chatInput') { + this.sendChatMessage() + } else { + this.triggerCreateGame() + } + } + return + } + + if (e.key === 'Tab') { + e.preventDefault() + if (this.state.stage === 'bnet_login') { + this.state.activeInput = + this.state.activeInput === 'accountName' ? 'accountPassword' : 'accountName' + } else if (this.state.stage === 'bnet_lobby') { + const order: ActiveInputField[] = [ + 'gameName', + 'gamePassword', + 'gameDescription', + 'maxPlayers', + 'chatInput', + ] + const idx = order.indexOf(this.state.activeInput) + this.state.activeInput = order[(idx + 1) % order.length]! + } + return + } + + const field = this.state.activeInput + if (!field) return + + if (e.key === 'Backspace') { + e.preventDefault() + this.setFieldValue(field, this.getFieldValue(field).slice(0, -1)) + return + } + + if (e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey) { + const ch = e.key + const cur = this.getFieldValue(field) + if (field === 'charName' || field === 'gameName' || field === 'gamePassword' || field === 'accountName') { + if (/^[A-Za-z0-9_-]$/.test(ch) && cur.length < 15) { + this.setFieldValue(field, cur + ch) + } + } else if (field === 'accountPassword') { + if (cur.length < 16) { + this.setFieldValue(field, cur + ch) + } + } else if (field === 'maxPlayers') { + if (/^[1-8]$/.test(ch)) { + this.setFieldValue(field, ch) + } + } else if (field === 'gameDescription' || field === 'chatInput') { + if (cur.length < 38) { + this.setFieldValue(field, cur + ch) + } + } + } + } + + private getFieldValue(field: Exclude): string { + switch (field) { + case 'accountName': + return this.state.accountName + case 'accountPassword': + return this.state.accountPassword + case 'charName': + return this.state.charName + case 'gameName': + return this.state.gameName + case 'gamePassword': + return this.state.gamePassword + case 'gameDescription': + return this.state.gameDescription + case 'maxPlayers': + return this.state.maxPlayers + case 'chatInput': + return this.state.chatInput + } + } + + private setFieldValue(field: Exclude, val: string): void { + switch (field) { + case 'accountName': + this.state.accountName = val + break + case 'accountPassword': + this.state.accountPassword = val + break + case 'charName': + this.state.charName = val + this.state.charCreateError = null + break + case 'gameName': + this.state.gameName = val + this.state.createGameError = null + break + case 'gamePassword': + this.state.gamePassword = val + break + case 'gameDescription': + this.state.gameDescription = val + break + case 'maxPlayers': + this.state.maxPlayers = val + break + case 'chatInput': + this.state.chatInput = val + break + } + } +} diff --git a/src/game/character.ts b/src/game/character.ts index 8c5a9f2..066e163 100644 --- a/src/game/character.ts +++ b/src/game/character.ts @@ -67,12 +67,21 @@ function findLayerSprite( animation: string, weapon: string, component: string, + litUnarmed = false, ): string | undefined { + if (litUnarmed && (component === 'rh' || component === 'lh' || component === 'sh' || component.startsWith('s'))) { + return undefined + } const prefix = `${root}${component}\\${token}${component}` const suffix = `${animation}${weapon}.dcc` const hits = names.filter(name => name.toLowerCase().startsWith(prefix.toLowerCase()) && name.toLowerCase().endsWith(suffix.toLowerCase())) hits.sort() + if (litUnarmed) { + const litTarget = `${prefix}lit${suffix}`.toLowerCase() + const litMatch = hits.find(h => h.toLowerCase() === litTarget) + if (litMatch) return litMatch + } return hits[0] } @@ -119,6 +128,7 @@ export async function loadCharacterSheet( animation: string, weapon: string, rootOverride?: string, + litUnarmed = false, ): Promise { const lower = token.toLowerCase() const root = rootOverride ?? `data\\global\\chars\\${lower}\\` @@ -133,9 +143,9 @@ export async function loadCharacterSheet( return { sprite: null, member: undefined, note: `layer type ${String(layer.type)} has no component directory` } } const layerWeapon = (layer.weaponClass && layer.weaponClass.trim().length > 0) ? layer.weaponClass.trim() : weapon - let member = findLayerSprite(names, root, lower, animation, layerWeapon, component) + let member = findLayerSprite(names, root, lower, animation, layerWeapon, component, litUnarmed) if (member === undefined && layerWeapon !== weapon) { - member = findLayerSprite(names, root, lower, animation, weapon, component) + member = findLayerSprite(names, root, lower, animation, weapon, component, litUnarmed) } if (member === undefined) { return { sprite: null, member: undefined, note: `no sprite for component ${component} (${animation}${layerWeapon})` } diff --git a/src/scene/act-scene.ts b/src/scene/act-scene.ts index b597425..6022402 100644 --- a/src/scene/act-scene.ts +++ b/src/scene/act-scene.ts @@ -5782,9 +5782,32 @@ async function buildPackRuntime( blocked, gridWidth: scene.collision.width, } - const spawn = scene.spawn === null || scene.spawn === undefined + let spawn = scene.spawn === null || scene.spawn === undefined ? findIsoSpawn(grid) : { x: scene.spawn[0] ?? 0, y: scene.spawn[1] ?? 0 } + if (effectiveLevelId === 1 && param('gameName', '') !== '') { + const warriv = (scene.npcs ?? []).find( + n => n.id === 155 || (n.name ?? '').toLowerCase().includes('warriv'), + ) + const anchorX = (warriv?.x ?? stashes[0]?.x ?? 4512) - 32 + const anchorY = (warriv?.y ?? stashes[0]?.y ?? 1720) + 32 + let foundTownCenter: { x: number; y: number } | null = null + for (let r = 0; r <= 12 && !foundTownCenter; r++) { + for (let dy = -r; dy <= r && !foundTownCenter; dy++) { + for (let dx = -r; dx <= r && !foundTownCenter; dx++) { + if (Math.abs(dx) !== r && Math.abs(dy) !== r) continue + const px = anchorX + dx * 16 + const py = anchorY + dy * 16 + if (!isBlockedAt(grid, px, py)) { + foundTownCenter = { x: px, y: py } + } + } + } + } + if (foundTownCenter !== null) { + spawn = foundTownCenter + } + } if (spawn === null) throw new Error(`${entry.label}: the map has no walkable spawn`) // The pack carries the act palette, which the character atlas needs; without it @@ -8028,6 +8051,10 @@ async function runScene(initialRuntime: MapRuntime, renderer: SpriteRenderer, st await hudManager.init('/ui') const initialHeroInfo = HERO_CLASSES[currentHeroToken] ?? HERO_CLASSES.so hudManager.switchClass(initialHeroInfo.code as CharacterClassCode) + const customCharName = param('charName', '').trim() + if (customCharName) { + hudManager.charSheet.attrs.name = customCharName + } } catch (err) { console.error('Failed to initialize HudManager:', err) } @@ -9455,7 +9482,7 @@ async function runScene(initialRuntime: MapRuntime, renderer: SpriteRenderer, st const heroInfo = HERO_CLASSES[currentHeroToken] ?? HERO_CLASSES.so if (hudManager !== null) { if (hudManager.charSheet) { - hudManager.charSheet.attrs.name = heroInfo.charIdentity.name + hudManager.charSheet.attrs.name = param('charName', '').trim() || heroInfo.charIdentity.name hudManager.charSheet.attrs.classNameZh = heroInfo.charIdentity.classNameZh hudManager.charSheet.attrs.classNameEn = heroInfo.charIdentity.classNameEn hudManager.charSheet.attrs.str = heroInfo.charIdentity.str @@ -10056,4 +10083,11 @@ async function boot(): Promise { } } -if (typeof document !== 'undefined') void boot() +export { boot as bootActScene } + +if ( + typeof document !== 'undefined' && + !(window as { __d2SkipAutoBoot?: boolean }).__d2SkipAutoBoot +) { + void boot() +} diff --git a/src/ui/hud-manager.ts b/src/ui/hud-manager.ts index 14d69b8..d7a594c 100644 --- a/src/ui/hud-manager.ts +++ b/src/ui/hud-manager.ts @@ -400,6 +400,12 @@ export class HudManager { // 3.3 Character Sheet this.charSheet.attrs = { ...targetProfile.attrs } + if (typeof window !== 'undefined' && window.location?.search) { + const customName = new URLSearchParams(window.location.search).get('charName')?.trim() + if (customName) { + this.charSheet.attrs.name = customName + } + } // 3.4 Skill Tree this.skillTree.loadProfile( diff --git a/vite.config.ts b/vite.config.ts index 52a4839..65bcb33 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -46,6 +46,7 @@ export default defineConfig({ rollupOptions: { input: { acts: new URL('./acts.html', import.meta.url).pathname, + bnet: resolve(__dirname, 'bnet.html'), arena: new URL('./arena.html', import.meta.url).pathname, loot: resolve(__dirname, 'loot.html'), boss: resolve(__dirname, 'boss.html'),