Compare commits

...

149 commits

Author SHA1 Message Date
Lucas Vieira
9599852258 Add screenshot for v0.1 2025-04-24 16:52:35 -03:00
Lucas Vieira
e9cc89c51f Config and notes for DAP with GDB-Multiarch 2025-04-24 13:08:19 -03:00
Lucas S. Vieira
877ca1e5b4 Fix Tails angle when animation angle is zero 2025-04-17 02:13:19 -03:00
Lucas S. Vieira
bedd278b52 Prevent sprite rotation in certain animations 2025-04-17 02:00:23 -03:00
Lucas S. Vieira
fafaead5c5 Changes to R0Z1 2025-04-17 01:58:39 -03:00
Lucas S. Vieira
b111971343 Fix a bug with premature slide recovery 2025-04-17 01:32:10 -03:00
Lucas S. Vieira
3c64597f21 Add recovery frames after sliding and after cancelling a glide 2025-04-17 01:23:09 -03:00
Lucas S. Vieira
43afec6ae2 Changes to R0 and R5 2025-04-15 22:41:10 -03:00
Lucas S. Vieira
d9f3ce15fb Fix a bug where Knuckles could clamber at negative Y position 2025-04-15 22:40:50 -03:00
Lucas S. Vieira
4488cb53b2 Add Knuckles clambering 2025-04-15 22:10:32 -03:00
Lucas S. Vieira
63d7acb006 Make Miles always tire as long as he's flying 2025-04-14 21:08:47 -03:00
Lucas S. Vieira
deda966b6e Fix right arrow in title screen 2025-04-14 20:33:42 -03:00
Lucas S. Vieira
8204f4587e Add climbing 2025-04-14 20:33:31 -03:00
Lucas S. Vieira
66d1617fe8 More improvements to title screen 2025-04-13 22:54:40 -03:00
Lucas S. Vieira
e479a1be08 Tidy up title screen text 2025-04-13 16:13:35 -03:00
Lucas S. Vieira
ebe45952c6 Add < and > characters to BIG font 2025-04-13 16:12:21 -03:00
Lucas S. Vieira
05c8bc2c2f Change title screen options and level ordering 2025-04-13 16:05:26 -03:00
Lucas S. Vieira
5ef1ad42ce Give Knuckles a minimum speed after turning while gliding 2025-04-13 13:38:48 -03:00
Lucas S. Vieira
a7476364ca Show Knuckles drop animation if sliding off edge 2025-04-13 13:15:34 -03:00
Lucas S. Vieira
2912c2f007 Change Knuckles run animation and fix spring up animation 2025-04-13 13:15:17 -03:00
Lucas S. Vieira
b3bd8b459e Add SFX to character select 2025-04-10 23:48:11 -03:00
Lucas S. Vieira
e968e44507 Load all SFX at start of game 2025-04-10 23:47:52 -03:00
Lucas S. Vieira
a89a40342c Add character select 2025-04-10 23:37:22 -03:00
Lucas S. Vieira
293f44e637 Update R0Z3 2025-04-10 21:38:24 -03:00
Lucas S. Vieira
cdc77fc1a0 Fix Miles tired animation 2025-04-10 00:52:48 -03:00
Lucas S. Vieira
1e0a9fd2cc Fix Miles spring animation 2025-04-10 00:50:10 -03:00
Lucas S. Vieira
cf3d88c3a6 Fix Knuckles balance animation 2025-04-10 00:44:28 -03:00
Lucas S. Vieira
b58e48d0f5 Fix sliding behaviour when hitting springs 2025-04-10 00:33:38 -03:00
Lucas S. Vieira
b7d252467f Add sliding and fix sprites for Knuckles 2025-04-10 00:28:39 -03:00
Lucas S. Vieira
e222916636 Add Knuckles sliding 2025-04-10 00:04:59 -03:00
Lucas S. Vieira
5264899071 Limit Miles flight only when going up 2025-04-09 23:30:52 -03:00
Lucas S. Vieira
ea56260554 Make player reset action when hitting horizontal springs 2025-04-09 23:30:21 -03:00
Lucas S. Vieira
a6089ca702 Fix Knuckles changing direction with zero speed 2025-04-09 23:14:55 -03:00
Lucas S. Vieira
8269d7e316 Add Knuckles' gliding (WIP) 2025-04-09 21:06:01 -03:00
Lucas S. Vieira
060ab045d8 Add limitation for top of level (prevents flight) 2025-04-09 17:22:37 -03:00
Lucas S. Vieira
596b6a63bb Fix a bug where Miles would get stuck on ceiling 2025-04-09 17:03:28 -03:00
Lucas S. Vieira
955203744c Add custom level ribbon colors depending on character 2025-04-09 00:33:10 -03:00
Lucas S. Vieira
135d6fb431 Add Miles' flight and swim 2025-04-09 00:19:31 -03:00
Lucas S. Vieira
6271d5e741 Small programatic changes to Knuckles animations 2025-04-08 23:04:51 -03:00
Lucas S. Vieira
712c80c682 Add a helper flag for ceiling collision 2025-04-08 22:54:13 -03:00
Lucas S. Vieira
cf3d608df0 Add Knuckles to sprite test 2025-04-08 21:43:33 -03:00
Lucas S. Vieira
a36ebab06e Introduce Knuckles' values 2025-04-08 20:04:01 -03:00
Lucas S. Vieira
1dce63d4d3 Prevent level select action when "selecting" the character 2025-04-08 01:54:36 -03:00
Lucas S. Vieira
d5f1297e0f Remove old Sonic sprite 2025-04-08 01:46:59 -03:00
Lucas S. Vieira
b75c58a4d8 Add Knuckles 2025-04-08 01:46:50 -03:00
Lucas S. Vieira
455ab66af9 Fix application of angle for spindash animation 2025-04-07 23:09:50 -03:00
Lucas S. Vieira
c92c19e2d0 Add Spindash animation 2025-04-07 22:37:45 -03:00
Lucas S. Vieira
a6fc2159d3 Fix angle calculation of Miles' tail 2025-04-07 22:04:15 -03:00
Lucas S. Vieira
683e3e0292 Disable Peel-Out for Miles 2025-04-07 21:54:01 -03:00
Lucas S. Vieira
25f42259e4 Add Miles to sprite test 2025-04-07 21:39:55 -03:00
Lucas S. Vieira
896f75820e Add more animations for Miles 2025-04-07 21:39:46 -03:00
Lucas S. Vieira
a3fed545a6 Improvements on level select 2025-04-07 20:59:12 -03:00
Lucas S. Vieira
f6be7fb698 Add threshold for horizontal tail angle 2025-04-07 20:48:07 -03:00
Lucas S. Vieira
2838dc8f99 Make character persist on level select 2025-04-07 20:47:24 -03:00
Lucas S. Vieira
1b60dd7cb6 Fix Miles' tail angle 2025-04-07 20:25:43 -03:00
Lucas S. Vieira
4a4b4f30e7 Disable drop dash for Miles 2025-04-07 19:07:42 -03:00
Lucas S. Vieira
58376fa33a Add selectable Miles on level select 2025-04-07 19:07:30 -03:00
Lucas S. Vieira
ac99725a63 Add Miles 2025-04-07 18:50:55 -03:00
Lucas S. Vieira
ed2eef6c4e Quick fix on pcsx-redux invoking 2025-04-07 14:14:47 -03:00
Lucas S. Vieira
bad4a023f7 More changes to R0Z3 2025-03-12 02:47:57 -03:00
Lucas S. Vieira
8f66817104 Make R0Z3 beatable again 2025-03-12 01:04:21 -03:00
Lucas S. Vieira
e508c7a69e Improve animation for gasping for air 2025-03-11 22:50:26 -03:00
Lucas S. Vieira
e423f1d1c7 Change Sonic's Peel-Out animation 2025-03-11 20:26:00 -03:00
Lucas Vieira
4d43a8a946
Merge pull request #26 from luksamuk/feature/sprite-32bit
New 32-bit-like sprite
2025-03-11 04:09:22 +00:00
Lucas S. Vieira
48c4499ffb Remove R8 from demos and change R3Z1 layout 2025-03-11 01:08:24 -03:00
Lucas S. Vieira
04073c3740 Change level order, level names, and tweaked a few info 2025-03-11 00:54:37 -03:00
Lucas S. Vieira
914fa8a728 Change starting level to SWZ1 2025-03-11 00:43:10 -03:00
Lucas S. Vieira
cd6177fa04 Change level ribbon colors and remove demo mode logo 2025-03-11 00:37:39 -03:00
Lucas S. Vieira
c44f12027c Little tweaks to title screen 2025-03-11 00:37:20 -03:00
Lucas S. Vieira
6d4f08e4e6 Change art and palette of a few objects 2025-03-11 00:03:48 -03:00
Lucas S. Vieira
c6eb895abd Add new Sonic character sprites with 32-bit look and feel 2025-03-10 20:25:23 -03:00
Lucas S. Vieira
bf98595991 Add new Sonic sprite by CartoonsAnimate32 2025-03-10 19:57:18 -03:00
Lucas S. Vieira
20939bdc6f Change R9 tiles 2025-02-28 00:16:03 -03:00
Lucas S. Vieira
1ef81817e3 Changes to R9 parallax 2025-02-27 18:13:36 -03:00
Lucas S. Vieira
16d63476ea R9Z1 layout change 2025-02-27 18:00:02 -03:00
Lucas S. Vieira
88ec1cdba7 Quick fix to prevent jittering on Player running anim 2025-02-27 17:59:42 -03:00
Lucas S. Vieira
a2856753fd Fix a bug with the player's speed, animation, and peel-out 2025-02-27 17:40:15 -03:00
Lucas S. Vieira
6c230465aa Changes to R9 and add R9 music 2025-02-27 14:04:56 -03:00
Lucas S. Vieira
57d96933fa Tweaks to R9 collision and appearance 2025-02-27 01:43:08 -03:00
Lucas S. Vieira
ef5b746f3b Change R0 name to TEST LEVEL, changes to R0Z3 (+ water) 2025-02-27 01:21:49 -03:00
Lucas S. Vieira
2ddb368906 Return tileset script out of convenience 2025-02-27 01:21:31 -03:00
Lucas S. Vieira
f34e9eaa3a Add R9 2025-02-27 01:21:22 -03:00
Lucas Vieira
ef98b20ff9
Merge pull request #25 from luksamuk/feature/peelout
Add Super Peel Out action
2025-02-18 20:31:52 -03:00
Lucas S. Vieira
807b212597 Improve animation speed, nerf peel out when underwater 2025-02-18 18:43:57 -03:00
Lucas S. Vieira
129d71a6c4 Add Super Peel Out action 2025-02-18 13:43:04 -03:00
Lucas S. Vieira
d92a985cc8 Remove PSX 30 years assets 2025-02-15 20:51:04 -03:00
Lucas S. Vieira
703d73d9d9 Make vertical springs force restoration of control lock 2025-02-10 18:51:17 -03:00
Lucas S. Vieira
6de3e86db2 Remove PlayStation 30 Years slide from start sequence 2025-02-10 18:51:06 -03:00
Lucas Vieira
4a900c6030
Merge pull request #24 from luksamuk/bugfix/recover-control
Control recovery after hurt in certain situations
2025-02-09 16:25:03 -03:00
Lucas S. Vieira
8e706a7a07 Create unified method to change player action 2025-02-09 16:13:34 -03:00
Lucas S. Vieira
d948a41d27 Changes in R0Z1 2025-02-07 19:50:49 -03:00
Lucas S. Vieira
47a82fdc0b Replace .psxcsv format with .cnk (rename only) 2025-02-07 19:50:33 -03:00
Lucas S. Vieira
1b88cfc265 Big changes to R0Z2 2025-01-25 00:32:55 -03:00
Lucas S. Vieira
a90debf663 Reposition player when hitting diagonal springs to avoid bugs 2025-01-25 00:29:51 -03:00
Lucas S. Vieira
e511eeb776 Changes to R0Z2 2025-01-23 01:17:26 -03:00
Lucas S. Vieira
d85f6495cf Fix spring hitbox 2025-01-23 01:17:17 -03:00
Lucas S. Vieira
78b4c79a11 Revert object position change and fix monitor collision 2025-01-23 00:57:44 -03:00
Lucas S. Vieira
da16cf0bdb Object rendering fix 2025-01-22 22:55:48 -03:00
Lucas S. Vieira
70a426cf94 Fix some sensor drawing, small logic changes 2025-01-22 20:15:21 -03:00
Lucas S. Vieira
4e76d2e5aa Remove player hitbox rendering and fix left anchor for sensors 2025-01-22 13:13:43 -03:00
Lucas Vieira
426778ad6e
Merge pull request #16 from luksamuk/angle-override
Add option to override angles on tiles
2025-01-20 01:15:18 -03:00
Lucas S. Vieira
9f6726297d Fix angles attributed to tiles instead of geometry 2025-01-20 01:14:16 -03:00
Lucas S. Vieira
6c0ae55ccc More changes to R8 collision angles 2025-01-20 01:01:22 -03:00
Lucas S. Vieira
0387484946 Changes to R8 to apply collision overrides 2025-01-19 23:28:04 -03:00
Lucas S. Vieira
093c967361 Change speed transfer algorithm so that it uses hex angles 2025-01-17 02:47:45 -03:00
Lucas S. Vieira
042e9eef69 Change player angle resolution slightly 2025-01-17 02:23:48 -03:00
Lucas S. Vieira
9839c94042 Change R0 collision 2025-01-17 02:12:50 -03:00
Lucas S. Vieira
9982b07d18 Change collision on R0 2025-01-17 01:12:03 -03:00
Lucas S. Vieira
54a783b8d5 Add angle override routine to cookcollision script 2025-01-17 01:11:35 -03:00
Lucas S. Vieira
0c39976abc Change target name again as it was crashing PCSX-Redux 2025-01-12 11:00:20 -03:00
Lucas S. Vieira
5a5ca5ce62 Remove any traces of FMVs, .STR playback and MDEC usage 2025-01-12 09:19:37 -03:00
Lucas S. Vieira
43fa3cd3fe Fix run targets 2025-01-12 09:11:24 -03:00
Lucas S. Vieira
52a6aa42ef Move all .VAG encoding to makefile 2025-01-12 03:38:28 -03:00
Lucas S. Vieira
d04f0fa4b1 Move all .XA encoding to makefile 2025-01-12 03:26:23 -03:00
Lucas S. Vieira
6995baee95 Add target to run game on Duckstation 2025-01-11 23:54:20 -03:00
Lucas S. Vieira
e72cbe8667 Change ISO image name to "Sonic The Hedgehog XA" 2025-01-11 23:54:01 -03:00
Lucas Vieira
b081b067b2
Merge pull request #13 from luksamuk/gte-sprite
GTE sprite rotation
2025-01-11 21:10:20 -03:00
Lucas S. Vieira
a9cc963b84 Add angle snapping for player animations so it doesn't look to weird 2025-01-11 20:33:18 -03:00
Lucas S. Vieira
32a38deb2e Add animation angle snapping 2025-01-11 20:10:50 -03:00
Lucas S. Vieira
564429104d Set first scene again to disclaimer 2025-01-11 17:05:10 -03:00
Lucas S. Vieira
4cc5a9ab01 Add new method for exporting tileset 2025-01-11 00:25:18 -03:00
Lucas S. Vieira
6f1095e3dd Fix rolling animation and shield offsets 2025-01-11 00:16:17 -03:00
Lucas S. Vieira
ed6c4807fc Completely remove old chara render code 2025-01-10 23:55:55 -03:00
Lucas S. Vieira
10f37f2bd2 Lots of advancements on rendering, sprites now use two columns 2025-01-10 23:54:34 -03:00
Lucas S. Vieira
b00d076e20 First working version of GTE rotation 2025-01-10 20:23:54 -03:00
Lucas S. Vieira
4da14b45b4 Setup GTE quad rendering 2025-01-10 17:06:07 -03:00
Lucas S. Vieira
8ca69094ef Add sprite test screen 2025-01-10 12:54:00 -03:00
Lucas Vieira
dbba059986
Merge pull request #12 from luksamuk/bug/cdxa-crash
Fix crash on CDXA playback loop
2025-01-10 00:04:07 -03:00
Lucas S. Vieira
b768822444 Fix loop points of songs 2025-01-09 22:14:13 -03:00
Lucas S. Vieira
ce494f7871 Fix a bug on sound test music selection 2025-01-09 21:28:19 -03:00
Lucas S. Vieira
9f1f101a95 Fix game hanging when music loops 2025-01-09 18:20:33 -03:00
Lucas S. Vieira
8c8b8e48eb Fix Mednafen not working sometimes with PSX 2025-01-09 18:20:05 -03:00
Lucas S. Vieira
5a2816d8fa Changes to R0Z1 2025-01-09 18:19:52 -03:00
Lucas Vieira
47668de817
Merge pull request #11 from luksamuk/improve-sprites
Improve sprites
2025-01-08 17:02:42 -03:00
Lucas S. Vieira
43b7168bee Changes to R0Z1 2025-01-08 17:00:05 -03:00
Lucas S. Vieira
a3ede30450 Fix R0 collision 2025-01-08 14:25:18 -03:00
Lucas S. Vieira
461dc1443f Changes to R0Z1 2025-01-08 00:53:23 -03:00
Lucas S. Vieira
e19f34a1e7 Add some respawn from checkpoint code and modify R0Z2 2025-01-07 23:58:52 -03:00
Lucas S. Vieira
c53c7560f7 Changes to R0Z2 2025-01-07 18:43:09 -03:00
Lucas S. Vieira
f8cc05e8b2 Changes to R0 and R8 2025-01-07 17:21:14 -03:00
Lucas S. Vieira
83b44dafa6 Tweak ledge sensor to prevent balancing on ramps 2025-01-07 12:42:31 -03:00
Lucas S. Vieira
68c9c2f40c Prevent looking up/down and spindash when balancing on ledges 2025-01-07 12:07:22 -03:00
Lucas S. Vieira
ac420dc807 Rename internal project references to SONIC XA instead of Engine 2025-01-07 12:00:41 -03:00
Lucas S. Vieira
2314fbf2f1 Configure ledge balancing animations 2025-01-07 11:28:02 -03:00
Lucas S. Vieira
348205b397 Changes to R5Z1 2025-01-07 11:01:54 -03:00
Lucas S. Vieira
4574e38413 Add names to character sprites ripping credits 2025-01-07 11:01:40 -03:00
Lucas S. Vieira
862b901133 Add even more animations for Sonic 2025-01-07 10:48:10 -03:00
Lucas S. Vieira
68ed3c396f Improve spring animation and add gasp animation 2025-01-07 02:09:01 -03:00
Lucas S. Vieira
e14a24a8a4 Remap animations 2025-01-07 02:08:47 -03:00
117 changed files with 4776 additions and 1551 deletions

View file

@ -7,18 +7,18 @@
(setq-local flycheck-clang-include-path includes)
(setq-local flycheck-gcc-include-path includes)
(dap-register-debug-template
"PSX Debug"
(list :name "PSX -- Engine debug"
"Sonic XA Debug"
(list :name "PSX -- Sonic XA debug"
:type "gdbserver"
:request "attach"
:gdbpath "/usr/bin/gdb-multiarch"
:target ":3333"
:cwd root
;;:executable (concat root "build/engine.elf")
;;:args (concat "-x " root "tools/gdbinit.txt")
;; :autorun (list "monitor reset shellhalt"
;; "load build/engine.elf"
;; "tbreak main")
:executable (concat root "build/sonic.elf")
:args (concat "-x " root ".gdbinit")
:autorun (list "monitor reset shellhalt"
"load build/sonic.elf"
"tbreak main")
))
;; (when neotreebuf
;; (with-current-buffer (first neotreebuf)

View file

@ -1,5 +1,5 @@
target remote localhost:3333
monitor reset shellhalt
file ./build/engine.elf
load ./build/engine.elf
file ./build/sonic.elf
load ./build/sonic.elf
tbreak main

1
.gitignore vendored
View file

@ -10,3 +10,4 @@ build/
/*.chd
*.tiled-session
/.pcsx
temp/

View file

@ -1,12 +1,12 @@
cmake_minimum_required(VERSION 3.21)
project(PSXEngine
LANGUAGES C CXX ASM
LANGUAGES C ASM
VERSION 0.1.0
DESCRIPTION "Platformer Engine for PSX"
DESCRIPTION "Sonic The Hedgehog XA for PlayStation"
HOMEPAGE_URL "https://luksamuk.codes")
file(GLOB ENGINE_SRC
file(GLOB SONICXA_SRC
${CMAKE_CURRENT_LIST_DIR}/src/*.c
${CMAKE_CURRENT_LIST_DIR}/src/*.s)
@ -31,14 +31,14 @@ endif()
set(CMAKE_C_FLAGS "-Wall")
psn00bsdk_add_executable(engine
psn00bsdk_add_executable(sonic
GPREL
${ENGINE_SRC})
${SONICXA_SRC})
target_include_directories(engine PUBLIC
target_include_directories(sonic PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include/>)
psn00bsdk_add_cd_image(iso engine
psn00bsdk_add_cd_image(iso "SONICXA"
iso.xml
DEPENDS engine system.cnf)
DEPENDS sonic system.cnf)

110
Makefile
View file

@ -1,12 +1,17 @@
export PATH := /opt/psn00bsdk/bin:$(PATH)
export PSN00BSDK_LIBS := /opt/psn00bsdk/lib/libpsn00b
CHD := ./SONICXA.chd
CUESHEET := ./build/SONICXA.cue
MAP16SRC := $(shell ls ./assets/levels/**/map16.json)
COL16SRC := $(shell ls ./assets/levels/**/tiles16.tsx)
MAP128SRC := $(shell ls ./assets/levels/**/tilemap128.tmx)
LVLSRC := $(shell ls ./assets/levels/**/Z*.tmx)
MDLSRC := $(shell ls ./assets/models/**/*.rsd)
PRLSRC := $(shell ls ./assets/levels/**/parallax.toml)
XASRC := $(shell ls ./assets/bgm/*.txt)
VAGSRC := $(shell ls ./assets/sfx/*.ogg)
MAP16OUT := $(addsuffix MAP16.MAP,$(dir $(MAP16SRC)))
COL16OUT := $(addsuffix MAP16.COL,$(dir $(COL16SRC)))
@ -15,41 +20,40 @@ LVLOUT := $(addsuffix .LVL,$(basename $(LVLSRC)))
OMPOUT := $(addsuffix .OMP,$(basename $(LVLSRC)))
MDLOUT := $(addsuffix .mdl,$(basename $(MDLSRC)))
PRLOUT := $(addsuffix PRL.PRL,$(dir $(PRLSRC)))
XAOUT := $(addsuffix .XA,$(basename $(XASRC)))
VAGOUT := $(addsuffix .VAG,$(basename $(VAGSRC)))
.PHONY: clean ./build/engine.cue run configure chd cook iso elf debug cooktest purge rebuild repack packrun
.PHONY: clean ${CUESHEET} run configure chd cook iso elf debug cooktest purge rebuild repack packrun
# Final product is CUE+BIN files
all: iso
# Targets for producing ELF, CUE+BIN and CHD files
elf: ./build/engine.elf
iso: ./build/engine.cue
chd: engine.chd
elf: ./build/sonic.elf
iso: ${CUESHEET}
chd: ${CHD}
# Target for running the image
run: ./build/engine.cue
pcsx-redux-appimage \
run: ${CUESHEET}
pcsx-redux \
-run -interpreter -fastboot -stdout \
-iso $<
-iso "$<"
# Target for running the image on Mednafen
run-mednafen: ./build/engine.cue
mednafen $<
run-mednafen: ${CUESHEET}
mednafen -force_module psx "$<"
# Target for running the image on PCSX-ReARMed
run-rearmed: ./build/engine.cue
pcsx -cdfile $<
run-rearmed: ${CUESHEET}
pcsx -cdfile "$<"
run-duckstation: ${CUESHEET}
duckstation "$<"
# Run debugger
debug:
gdb-multiarch
# Build on release target
release: purge cook
cmake --preset release .
cd build && make iso
tochd -d . -- ./build/engine.cue
# =======================================
# Targets for executable building
# =======================================
@ -58,16 +62,16 @@ release: purge cook
./build: configure
# ELF PSX executable
./build/engine.elf: ./build
cd build && make engine
./build/sonic.elf: ./build
cd build && make sonic
# .CUE + .BIN (needs ELF and cooked assets)
./build/engine.cue: cook ./build/engine.elf
${CUESHEET}: cook ./build/sonic.elf
cd build && make iso
# .CHD file (single-file CD image)
engine.chd: ./build/engine.cue
tochd -d . -- $<
${CHD}: ${CUESHEET}
tochd -d . -- "$<"
# =======================================
@ -104,10 +108,12 @@ mdls: $(MDLOUT)
map16: $(MAP16OUT) $(COL16OUT)
map128: $(MAP128OUT)
lvl: $(LVLOUT)
prl: $(PRLOUT)
prl: $(PRLOUT)
objs: $(OMPOUT)
xa: $(XAOUT)
vag: $(VAGOUT)
cook: mdls map16 map128 lvl objs prl
cook: mdls map16 map128 lvl objs prl vag xa
cleancook:
rm -rf assets/models/**/*.mdl \
@ -121,38 +127,42 @@ cleancook:
assets/levels/**/tilemap128.csv \
assets/levels/**/tilemap128_solid.csv \
assets/levels/**/tilemap128_oneway.csv \
assets/levels/**/tilemap128_front.csv
assets/levels/**/tilemap128_front.csv \
assets/sfx/*.WAV \
assets/sfx/*.VAG \
assets/bgm/*.XA \
assets/bgm/*.xa
# Object models
# =========== Object models ===========
%.mdl: %.rsd %.ply %.mat
./tools/convrsd/convrsd.py $<
# 16x16 tile mapping
# =========== 16x16 tile mapping ===========
# (Depends on mapping generated on Aseprite)
%/MAP16.MAP: %/map16.json
./tools/framepacker.py --tilemap $< $@
# 16x16 collision
# =========== 16x16 collision ===========
# (Depends on tiles16.tsx tile map with collision data, generated on Tiled).
%/MAP16.COL: %/tiles16.tsx
tiled --export-tileset $< "$(dir $<)collision16.json"
./tools/cookcollision.py "$(dir $<)collision16.json" $@
rm "$(dir $@)collision16.json"
# 128x128 tile mapping
# =========== 128x128 tile mapping ===========
# Also generates 128.png to create a 128x128 tileset (should be done manually)
# (Depends on tilemap128.tmx map generated on Tiled)
%/MAP128.MAP: %/tilemap128.tmx
tiled --export-map $< "$(basename $<).psxcsv"
tiled --export-map $< "$(basename $<).cnk"
tmxrasterizer $< "$(dir $<)128.png"
./tools/chunkgen.py "$(basename $<).psxcsv" $@
rm -f "$(basename $<).psxcsv"
rm -f "$(basename $<)_solid.psxcsv"
rm -f "$(basename $<)_oneway.psxcsv"
rm -f "$(basename $<)_none.psxcsv"
rm -f "$(basename $<)_front.psxcsv"
./tools/chunkgen.py "$(basename $<).cnk" $@
rm -f "$(basename $<).cnk"
rm -f "$(basename $<)_solid.cnk"
rm -f "$(basename $<)_oneway.cnk"
rm -f "$(basename $<)_none.cnk"
rm -f "$(basename $<)_front.cnk"
# Level maps
# =========== Level maps ===========
# These maps should use a tileset generated from "128.png".
# (Depends on files such as Z1.tmx, Z2.tmx, etc., generated on Tiled)
%.LVL: %.tmx
@ -161,12 +171,34 @@ cleancook:
rm "$(basename $@).psxlvl"
# Object level placement
# =========== Object level placement ===========
# (Depends on files such as Z1.tmx, Z2.tmx, etc., generated on Tiled)
%.OMP: %.tmx
./tools/cookobj/cookobj.py $<
# Level parallax data
# =========== Level parallax data ===========
# (Depends on a specific file named parallax.toml within level directory)
%/PRL.PRL: %/parallax.toml
./tools/buildprl/buildprl.py $<
# =========== VAG audio encoding ===========
%.VAG: %.ogg
ffmpeg -loglevel quiet -y -i "$<" -acodec pcm_s16le -ac 1 -ar 22050 "$(basename $<).WAV"
wav2vag "$(basename $<).WAV" "$@"
@rm "$(basename $<).WAV"
# =========== XA audio encoding ===========
# Individual file XA songs
%.xa: %.flac
psxavenc -f 37800 -t xa -b 4 -c 2 -F 1 -C 0 $< $@
# Dynamic rule for generating dependencies for a given .XA file.
# These dependencies are then .xa files that are generated for individual .flac songs.
define XA_RULE
$T: $(shell cat "$(T:.XA=.txt)" | awk '{print $$3}' | awk 'NF {print "./assets/bgm/"$$1}' | paste -s -d ' ')
endef
$(foreach T,$(XAOUT),$(eval $(XA_RULE)))
# Interleaved XA songs
%.XA: %.txt
cd $(dir $<) && xainterleave 1 $(notdir $<) $(notdir $@)

View file

@ -101,6 +101,24 @@ even load the ELF file with proper debug symbols.
Have fun.
** A note on gdb-multiarch and Arch Linux
For some reason, =gdb-multiarch= right now cannot be installed from AUR. So
you'll probably have to generate the package from a PKGBUILD by cloning the repo
and building it:
#+begin_src bash
git clone --depth=1 https://aur.archlinux.org/gdb-multiarch.git/
cd gdb-multiarch
makepkg -si
#+end_src
Notice that you MIGHT Have to tweak download links and the =pkgver= variable as
well! If you install the =gdb= package, take a look at the version of the
package =gdb-common= which is also installed with it. (If you have other
problems you can just pass =--skippgpcheck= to =makepkg=, but be wary of what
you're doing)
* Running on real hardware
#+html: <center>
@ -151,7 +169,8 @@ tochd -d . -- ./build/engine.cue
| Screenshot | Description |
|-------------------------------------------------------+---------------------------------------------------------------------------------------------------------|
| [[file:/screenshots/sonicxa-realhardware-xmas-24.gif]] | Beta engine [2024-12-25]. Christmas build. Showcasing Amazing Ocean running on AutoDemo. |
| [[file:./screenshots/sonicxa-v0.1.gif]] | Version 0.1 [2025-04-24]. First tag featuring Sonic, Tails, Knuckles, and a bunch of other stuff. |
| [[file:./screenshots/sonicxa-realhardware-xmas-24.gif]] | Beta engine [2024-12-25]. Christmas build. Showcasing Amazing Ocean running on AutoDemo. |
| [[file:./screenshots/sonicxa-122224-aoz.gif]] | Beta engine [2024-12-22]. Amazing Ocean Zone. Much more mature with many objects and water implemented. |
| [[file:./screenshots/sonicxa-110424-swz.gif]] | Beta engine [2024-11-04]. Like below. Showcasing Surely Wood Zone, springs, background, etc. |
| [[file:./screenshots/sonicxa-110424-ghz.gif]] | Beta engine [2024-11-04]. Many changes, notably a HUD, improved collision, spikes and damage. |

5
assets/bgm/BGM004.txt Normal file
View file

@ -0,0 +1,5 @@
1 xa apotos.xa 1 0
1 null
1 null
1 null

BIN
assets/bgm/apotos.flac Normal file

Binary file not shown.

View file

@ -1,11 +0,0 @@
#!/bin/bash
for f in *.flac; do
psxavenc -f 37800 -t xa -b 4 -c 2 -F 1 -C 0 "$f" "${f%%.flac}.xa";
done
echo "Interleaving..."
for f in *.txt; do
xainterleave 1 "$f" "${f%%.txt}.XA";
done

View file

@ -5,8 +5,7 @@
"compatibilityVersion": 1100,
"extensionsPath": "extensions",
"folders": [
".",
"levels/R2"
"."
],
"properties": [
],

View file

@ -1,7 +0,0 @@
*.avi
*.AVI
*.wav
*.WAV
*.xa
*.XA

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,6 +0,0 @@
#!/bin/bash
for f in *.mp4; do
psxavenc -t str2 -f 37800 -b 4 -c 2 -s 320x240 -r 15 -x 2 "$f" "${f%%.mp4}.STR"
done

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Before After
Before After

View file

@ -1,26 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.11.0" orientation="orthogonal" renderorder="right-down" width="255" height="31" tilewidth="128" tileheight="128" infinite="0" backgroundcolor="#3f007f" nextlayerid="5" nextobjectid="190">
<map version="1.10" tiledversion="1.11.2" orientation="orthogonal" renderorder="right-down" width="255" height="31" tilewidth="128" tileheight="128" infinite="0" backgroundcolor="#3f007f" nextlayerid="5" nextobjectid="195">
<tileset firstgid="1" source="128x128.tsx"/>
<tileset firstgid="61" source="../COMMON/objects_common.tsx"/>
<tileset firstgid="97" source="../COMMON/objects_common.tsx"/>
<layer id="1" name="LAYER0" width="255" height="31">
<data encoding="csv">
0,0,0,0,0,10,39,12,12,12,38,9,39,12,12,12,12,12,12,12,12,12,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,12,12,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
31,31,0,0,0,0,0,10,11,0,0,0,0,10,9,9,9,9,39,12,38,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,12,12,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,12,12,12,12,12,12,12,38,9,39,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,12,12,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
31,31,0,9,0,0,0,0,0,0,0,0,0,10,9,9,9,9,9,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,12,12,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
29,29,0,0,0,0,0,0,0,0,0,0,20,20,33,2,2,5,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,12,12,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,38,9,9,39,3,0,0,0,6,2,2,32,32,32,29,12,12,12,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,12,12,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,20,0,0,0,10,9,9,9,9,39,12,9,39,12,32,38,11,0,7,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,12,12,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,18,0,0,0,0,0,0,0,0,0,12,0,0,0,29,2,5,0,0,0,0,7,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,12,12,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,3,0,45,0,4,12,3,43,42,0,12,2,0,4,17,12,12,2,12,2,12,0,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,30,27,0,0,0,0,0,0,7,12,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,46,2,14,12,12,38,0,9,9,9,41,0,9,18,9,0,0,0,0,0,0,7,12,12,12,12,3,0,0,0,0,0,0,0,0,0,0,6,2,14,38,9,11,0,0,6,2,2,2,2,5,0,10,39,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,29,29,29,0,0,0,20,31,0,6,2,0,0,0,17,0,2,0,0,0,0,0,0,0,0,0,0,10,12,12,9,17,6,2,2,28,38,9,11,0,0,0,0,0,4,38,11,0,0,0,12,12,3,0,0,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,29,29,29,6,30,30,32,32,14,12,12,2,12,12,12,12,12,12,12,13,2,5,0,0,0,0,0,0,29,29,6,44,11,0,0,0,0,0,0,0,0,0,0,4,8,0,20,20,20,20,12,12,38,0,0,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,9,9,11,0,0,0,0,0,10,9,9,9,9,9,9,11,0,0,0,0,10,9,9,9,9,9,9,9,9,11,0,0,0,0,0,0,0,0,0,0,0,4,8,0,0,0,24,0,0,12,8,0,0,4,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,14,12,0,19,2,0,25,18,20,12,0,0,4,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,9,9,9,9,9,18,20,12,12,13,19,0,12,0,0,39,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,14,12,12,12,2,2,2,2,2,2,5,0,6,19,19,19,17,12,3,0,0,10,26,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,7,12,38,9,9,9,40,30,30,2,5,0,6,2,5,0,6,2,5,0,0,0,0,6,2,2,14,12,38,9,9,11,0,0,0,0,0,0,0,0,10,9,39,12,30,5,18,18,12,12,13,19,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,10,9,11,0,10,9,11,0,10,9,9,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,39,12,13,5,0,0,0,6,14,12,9,9,13,2,2,2,2,2,2,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,9,9,9,9,9,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,58,0,0,0,0,0,0,0,0,0,12,0,0,0,29,2,5,0,0,0,0,7,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,12,12,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,45,69,70,71,12,43,42,0,12,2,0,24,17,12,12,2,12,2,12,0,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,27,0,0,0,0,0,0,7,12,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,65,75,76,12,38,11,0,25,9,9,41,0,0,0,0,0,0,0,0,0,0,7,12,12,12,12,3,0,18,0,0,0,0,0,0,0,0,0,6,2,2,14,38,11,69,70,2,2,2,2,5,0,10,39,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,29,29,29,0,0,0,20,31,0,69,70,0,0,0,17,0,2,0,0,0,0,0,0,0,0,0,0,10,12,12,9,17,6,2,2,2,2,14,38,11,0,0,0,0,4,38,11,0,0,0,12,12,3,0,0,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,29,29,29,69,70,30,32,32,68,12,12,2,12,12,12,12,12,12,12,65,66,67,0,0,0,0,0,0,29,29,6,44,11,0,12,0,0,0,0,0,0,0,0,4,8,0,20,20,20,20,12,12,38,0,0,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,9,9,72,9,11,0,0,0,10,9,9,9,9,9,9,11,0,10,9,9,64,9,9,9,9,9,9,9,9,11,0,0,0,12,0,0,0,0,0,0,0,4,8,0,0,0,24,0,0,12,8,0,0,4,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,6,14,12,0,19,2,0,25,18,20,12,0,0,4,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,18,18,9,9,9,9,9,18,20,12,12,13,19,0,12,0,0,39,12,23,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,70,71,12,12,12,2,2,2,2,2,66,67,69,70,19,19,19,17,12,3,0,0,10,26,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,7,12,38,9,39,12,61,30,30,66,67,69,70,30,66,67,69,70,66,67,0,0,69,70,2,2,68,12,38,9,9,11,0,0,0,0,0,0,0,0,10,9,39,12,0,18,18,18,9,39,13,19,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,10,9,9,9,9,64,72,9,9,9,64,72,9,9,64,9,9,72,9,9,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,39,12,12,65,66,67,69,70,71,12,12,12,61,2,2,2,2,2,2,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,9,9,9,9,72,9,9,9,9,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@ -39,174 +39,173 @@
</layer>
<group id="4" name="OBJECTS">
<objectgroup id="3" name="COMMON">
<object id="1" gid="72" x="8100" y="1984" width="64" height="64"/>
<object id="2" gid="69" x="512" y="384" width="64" height="64"/>
<object id="3" gid="69" x="896" y="512" width="64" height="64"/>
<object id="7" gid="69" x="2464" y="384" width="64" height="64"/>
<object id="9" gid="62" x="2002" y="576" width="64" height="64">
<object id="1" gid="108" x="8100" y="1984" width="64" height="64"/>
<object id="2" gid="105" x="512" y="384" width="64" height="64"/>
<object id="3" gid="105" x="896" y="512" width="64" height="64"/>
<object id="7" gid="105" x="2464" y="384" width="64" height="64"/>
<object id="9" gid="98" x="2002" y="576" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="10" gid="62" x="1972" y="576" width="64" height="64">
<object id="10" gid="98" x="1972" y="576" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="11" gid="65" x="1056.25" y="1055.88" width="64" height="64"/>
<object id="13" gid="71" x="1054.75" y="927.546" width="64" height="64"/>
<object id="14" gid="71" x="1054.75" y="856.212" width="64" height="64"/>
<object id="15" gid="71" x="1033.75" y="869.545" width="64" height="64"/>
<object id="16" gid="71" x="1076.75" y="869.545" width="64" height="64"/>
<object id="17" gid="62" x="1362.38" y="896" width="64" height="64">
<object id="11" gid="101" x="1056.25" y="1055.88" width="64" height="64"/>
<object id="13" gid="107" x="1054.75" y="927.546" width="64" height="64"/>
<object id="14" gid="107" x="1054.75" y="856.212" width="64" height="64"/>
<object id="15" gid="107" x="1033.75" y="869.545" width="64" height="64"/>
<object id="16" gid="107" x="1076.75" y="869.545" width="64" height="64"/>
<object id="17" gid="98" x="1362.38" y="896" width="64" height="64">
<properties>
<property name="Kind" value="INVINCIBILITY"/>
</properties>
</object>
<object id="18" gid="62" x="1329.38" y="896" width="64" height="64">
<object id="18" gid="98" x="1329.38" y="896" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="19" gid="62" x="401.25" y="959.75" width="64" height="64">
<object id="19" gid="98" x="387" y="960" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="20" gid="62" x="433.25" y="959.75" width="64" height="64">
<object id="20" gid="98" x="700" y="832" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="21" gid="62" x="2721" y="768" width="64" height="64">
<object id="21" gid="98" x="2721" y="768" width="64" height="64">
<properties>
<property name="Kind" value="SPEEDSHOES"/>
</properties>
</object>
<object id="22" gid="69" x="5791" y="1792" width="64" height="64"/>
<object id="23" gid="69" x="2714" y="511" width="64" height="64"/>
<object id="34" gid="61" x="3249.33" y="741.167" width="64" height="64"/>
<object id="35" gid="61" x="3273.33" y="752.167" width="64" height="64"/>
<object id="36" gid="61" x="3297.33" y="764.167" width="64" height="64"/>
<object id="40" gid="69" x="351.212" y="1291.18" width="64" height="64"/>
<object id="41" gid="69" x="4126" y="1027" width="64" height="64"/>
<object id="49" gid="61" x="5306" y="1488.5" width="64" height="64"/>
<object id="50" gid="61" x="5330" y="1476.5" width="64" height="64"/>
<object id="51" gid="61" x="5354" y="1465.5" width="64" height="64"/>
<object id="67" gid="61" x="5575.5" y="1306" width="64" height="64"/>
<object id="68" gid="61" x="5593.5" y="1287" width="64" height="64"/>
<object id="69" gid="61" x="5612.5" y="1269" width="64" height="64"/>
<object id="77" gid="69" x="929" y="1799" width="64" height="64"/>
<object id="79" gid="69" x="1568" y="1856" width="64" height="64"/>
<object id="80" gid="69" x="1825.5" y="1920.5" width="64" height="64"/>
<object id="81" gid="69" x="2080" y="1855.5" width="64" height="64"/>
<object id="82" gid="69" x="2337" y="1919.5" width="64" height="64"/>
<object id="83" gid="69" x="2592.5" y="1856" width="64" height="64"/>
<object id="85" gid="69" x="3106.5" y="1919.5" width="64" height="64"/>
<object id="86" gid="69" x="4064.67" y="1790.67" width="64" height="64"/>
<object id="87" gid="69" x="5152" y="960" width="64" height="64"/>
<object id="88" gid="69" x="5464" y="896" width="64" height="64"/>
<object id="89" gid="69" x="6558" y="960.667" width="64" height="64"/>
<object id="90" gid="69" x="5974" y="1248.67" width="64" height="64"/>
<object id="91" gid="62" x="6464" y="1248" width="64" height="64">
<object id="22" gid="105" x="5716" y="1792" width="64" height="64"/>
<object id="23" gid="105" x="2714" y="511" width="64" height="64"/>
<object id="34" gid="97" x="3249.33" y="741.167" width="64" height="64"/>
<object id="35" gid="97" x="3273.33" y="752.167" width="64" height="64"/>
<object id="36" gid="97" x="3297.33" y="764.167" width="64" height="64"/>
<object id="40" gid="105" x="351.212" y="1291.18" width="64" height="64"/>
<object id="41" gid="105" x="4126" y="1027" width="64" height="64"/>
<object id="49" gid="97" x="5306" y="1488.5" width="64" height="64"/>
<object id="50" gid="97" x="5330" y="1476.5" width="64" height="64"/>
<object id="51" gid="97" x="5354" y="1465.5" width="64" height="64"/>
<object id="67" gid="97" x="5575.5" y="1306" width="64" height="64"/>
<object id="68" gid="97" x="5593.5" y="1287" width="64" height="64"/>
<object id="69" gid="97" x="5612.5" y="1269" width="64" height="64"/>
<object id="77" gid="105" x="929" y="1799" width="64" height="64"/>
<object id="79" gid="105" x="1500" y="1858" width="64" height="64"/>
<object id="80" gid="105" x="1757.5" y="1922.5" width="64" height="64"/>
<object id="81" gid="105" x="2080" y="1855.5" width="64" height="64"/>
<object id="82" gid="105" x="2397" y="1921.5" width="64" height="64"/>
<object id="83" gid="105" x="2658.5" y="1854" width="64" height="64"/>
<object id="85" gid="105" x="3106.5" y="1919.5" width="64" height="64"/>
<object id="86" gid="105" x="4064.67" y="1790.67" width="64" height="64"/>
<object id="87" gid="105" x="5276" y="960" width="64" height="64"/>
<object id="88" gid="105" x="5662" y="896" width="64" height="64"/>
<object id="89" gid="105" x="6558" y="960.667" width="64" height="64"/>
<object id="90" gid="105" x="5974" y="1248.67" width="64" height="64"/>
<object id="91" gid="98" x="6464" y="1248" width="64" height="64">
<properties>
<property name="Kind" value="1UP"/>
</properties>
</object>
<object id="93" gid="69" x="5909" y="1469" width="64" height="64"/>
<object id="95" gid="69" x="5086" y="1726" width="64" height="64"/>
<object id="98" gid="61" x="6409" y="2007.5" width="64" height="64"/>
<object id="99" gid="61" x="6433" y="2018.5" width="64" height="64"/>
<object id="100" gid="61" x="6457" y="2030.5" width="64" height="64"/>
<object id="101" gid="61" x="6803" y="1821.5" width="64" height="64"/>
<object id="102" gid="61" x="6827" y="1832.5" width="64" height="64"/>
<object id="103" gid="61" x="6851" y="1844.5" width="64" height="64"/>
<object id="104" gid="61" x="6901.16" y="1520.83" width="64" height="64"/>
<object id="105" gid="61" x="6919.16" y="1501.83" width="64" height="64"/>
<object id="106" gid="61" x="6938.16" y="1483.83" width="64" height="64"/>
<object id="110" gid="61" x="6822.83" y="1083.5" width="64" height="64"/>
<object id="111" gid="61" x="6840.83" y="1101.5" width="64" height="64"/>
<object id="112" gid="61" x="6859.83" y="1120.5" width="64" height="64"/>
<object id="114" gid="69" x="1952.34" y="768.337" width="64" height="64"/>
<object id="116" gid="69" x="3169.33" y="1277.33" width="64" height="64"/>
<object id="117" gid="69" x="1695" y="352" width="64" height="64"/>
<object id="120" gid="62" x="4769" y="1024" width="64" height="64">
<object id="93" gid="105" x="5909" y="1469" width="64" height="64"/>
<object id="95" gid="105" x="5086" y="1726" width="64" height="64"/>
<object id="98" gid="97" x="6425" y="1956.5" width="64" height="64"/>
<object id="99" gid="97" x="6449" y="1967.5" width="64" height="64"/>
<object id="100" gid="97" x="6473" y="1979.5" width="64" height="64"/>
<object id="101" gid="97" x="6803" y="1821.5" width="64" height="64"/>
<object id="102" gid="97" x="6827" y="1832.5" width="64" height="64"/>
<object id="103" gid="97" x="6851" y="1844.5" width="64" height="64"/>
<object id="104" gid="97" x="6901.16" y="1520.83" width="64" height="64"/>
<object id="105" gid="97" x="6919.16" y="1501.83" width="64" height="64"/>
<object id="106" gid="97" x="6938.16" y="1483.83" width="64" height="64"/>
<object id="110" gid="97" x="6822.83" y="1083.5" width="64" height="64"/>
<object id="111" gid="97" x="6840.83" y="1101.5" width="64" height="64"/>
<object id="112" gid="97" x="6859.83" y="1120.5" width="64" height="64"/>
<object id="114" gid="105" x="1952.34" y="768.337" width="64" height="64"/>
<object id="116" gid="105" x="3169.33" y="1277.33" width="64" height="64"/>
<object id="117" gid="105" x="1695" y="352" width="64" height="64"/>
<object id="120" gid="98" x="3858" y="928" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="121" gid="61" x="275.5" y="1578.5" width="64" height="64"/>
<object id="122" gid="61" x="293.5" y="1596.5" width="64" height="64"/>
<object id="123" gid="61" x="312.5" y="1615.5" width="64" height="64"/>
<object id="124" gid="65" x="120" y="384" width="64" height="64"/>
<object id="125" gid="62" x="48" y="160" width="64" height="64">
<object id="121" gid="97" x="275.5" y="1578.5" width="64" height="64"/>
<object id="122" gid="97" x="293.5" y="1596.5" width="64" height="64"/>
<object id="123" gid="97" x="312.5" y="1615.5" width="64" height="64"/>
<object id="124" gid="101" x="120" y="384" width="64" height="64"/>
<object id="125" gid="98" x="48" y="160" width="64" height="64">
<properties>
<property name="Kind" value="SPEEDSHOES"/>
</properties>
</object>
<object id="126" gid="65" x="1904.25" y="927.75" width="64" height="64"/>
<object id="129" gid="61" x="1818.17" y="836.5" width="64" height="64"/>
<object id="130" gid="61" x="1836.17" y="817.5" width="64" height="64"/>
<object id="131" gid="61" x="1855.17" y="799.5" width="64" height="64"/>
<object id="133" gid="61" x="1422.83" y="402.5" width="64" height="64"/>
<object id="134" gid="61" x="1440.83" y="383.5" width="64" height="64"/>
<object id="135" gid="61" x="1459.83" y="365.5" width="64" height="64"/>
<object id="136" gid="65" x="1904" y="576" width="64" height="64"/>
<object id="137" gid="65" x="1264.38" y="896" width="64" height="64"/>
<object id="138" gid="73" x="324" y="384" width="64" height="64"/>
<object id="139" gid="69" x="2340" y="1152" width="64" height="64"/>
<object id="142" gid="67" x="448" y="816" width="64" height="64"/>
<object id="143" gid="1073741891" x="448" y="912" width="64" height="64"/>
<object id="144" gid="2147483715" x="384" y="816" width="64" height="64"/>
<object id="145" gid="3221225539" x="384" y="911" width="64" height="64"/>
<object id="146" gid="65" x="416" y="800" width="64" height="64"/>
<object id="147" gid="1073741889" x="416" y="928" width="64" height="64"/>
<object id="148" gid="65" x="480" y="802" width="64" height="64" rotation="90"/>
<object id="149" gid="65" x="416" y="864" width="64" height="64" rotation="-90"/>
<object id="150" gid="65" x="6304" y="1440" width="64" height="64"/>
<object id="151" gid="65" x="6528" y="1680" width="64" height="64" rotation="-90"/>
<object id="152" gid="65" x="6528" y="1840" width="64" height="64" rotation="-90"/>
<object id="153" gid="66" x="6016" y="1808" width="64" height="64" rotation="90"/>
<object id="154" gid="2147483715" x="2128" y="1152" width="64" height="64"/>
<object id="155" gid="62" x="112" y="608" width="64" height="64">
<object id="133" gid="97" x="1422.83" y="402.5" width="64" height="64"/>
<object id="134" gid="97" x="1440.83" y="383.5" width="64" height="64"/>
<object id="135" gid="97" x="1459.83" y="365.5" width="64" height="64"/>
<object id="136" gid="101" x="1904" y="576" width="64" height="64"/>
<object id="137" gid="101" x="1264.38" y="896" width="64" height="64"/>
<object id="138" gid="109" x="324" y="384" width="64" height="64"/>
<object id="139" gid="105" x="2340" y="1152" width="64" height="64"/>
<object id="142" gid="103" x="448" y="816" width="64" height="64"/>
<object id="143" gid="1073741927" x="448" y="912" width="64" height="64"/>
<object id="144" gid="2147483751" x="384" y="816" width="64" height="64"/>
<object id="145" gid="3221225575" x="384" y="911" width="64" height="64"/>
<object id="146" gid="101" x="416" y="800" width="64" height="64"/>
<object id="147" gid="1073741925" x="416" y="928" width="64" height="64"/>
<object id="148" gid="101" x="480" y="802" width="64" height="64" rotation="90"/>
<object id="149" gid="101" x="416" y="864" width="64" height="64" rotation="-90"/>
<object id="150" gid="101" x="6304" y="1440" width="64" height="64"/>
<object id="151" gid="101" x="6528" y="1680" width="64" height="64" rotation="-90"/>
<object id="152" gid="101" x="6528" y="1840" width="64" height="64" rotation="-90"/>
<object id="154" gid="2147483751" x="2128" y="1152" width="64" height="64"/>
<object id="155" gid="98" x="210" y="608" width="64" height="64">
<properties>
<property name="Kind" value="1UP"/>
</properties>
</object>
<object id="156" gid="63" x="4848" y="1728" width="64" height="64"/>
<object id="157" gid="65" x="1528" y="832" width="64" height="64"/>
<object id="158" gid="65" x="1568" y="832" width="64" height="64"/>
<object id="159" gid="65" x="1608" y="832" width="64" height="64"/>
<object id="160" gid="1073741889" x="1528" y="640" width="64" height="64"/>
<object id="161" gid="1073741889" x="1568" y="640" width="64" height="64"/>
<object id="162" gid="1073741889" x="1608" y="640" width="64" height="64"/>
<object id="163" gid="71" x="1567" y="717" width="64" height="64"/>
<object id="164" gid="71" x="1546" y="731" width="64" height="64"/>
<object id="165" gid="71" x="1589" y="731" width="64" height="64"/>
<object id="166" gid="61" x="1567" y="766" width="64" height="64"/>
<object id="167" gid="63" x="1519" y="1216" width="64" height="64"/>
<object id="168" gid="63" x="1551" y="1216" width="64" height="64"/>
<object id="169" gid="63" x="1583" y="1216" width="64" height="64"/>
<object id="170" gid="63" x="1615" y="1216" width="64" height="64"/>
<object id="171" gid="63" x="4880" y="1728" width="64" height="64"/>
<object id="176" gid="63" x="2288" y="832" width="64" height="64"/>
<object id="177" gid="63" x="2320" y="832" width="64" height="64"/>
<object id="178" gid="63" x="2352" y="832" width="64" height="64"/>
<object id="179" gid="63" x="2383" y="832" width="64" height="64"/>
<object id="180" gid="63" x="2544" y="832" width="64" height="64"/>
<object id="181" gid="63" x="2576" y="832" width="64" height="64"/>
<object id="182" gid="63" x="2608" y="832" width="64" height="64"/>
<object id="183" gid="63" x="2639" y="832" width="64" height="64"/>
<object id="184" gid="62" x="5799" y="832" width="64" height="64">
<object id="156" gid="99" x="4848" y="1728" width="64" height="64"/>
<object id="157" gid="101" x="1528" y="832" width="64" height="64"/>
<object id="158" gid="101" x="1568" y="832" width="64" height="64"/>
<object id="159" gid="101" x="1608" y="832" width="64" height="64"/>
<object id="160" gid="1073741925" x="1528" y="640" width="64" height="64"/>
<object id="161" gid="1073741925" x="1568" y="640" width="64" height="64"/>
<object id="162" gid="1073741925" x="1608" y="640" width="64" height="64"/>
<object id="163" gid="107" x="1567" y="717" width="64" height="64"/>
<object id="164" gid="107" x="1546" y="731" width="64" height="64"/>
<object id="165" gid="107" x="1589" y="731" width="64" height="64"/>
<object id="166" gid="97" x="1567" y="766" width="64" height="64"/>
<object id="167" gid="99" x="1519" y="1216" width="64" height="64"/>
<object id="168" gid="99" x="1551" y="1216" width="64" height="64"/>
<object id="169" gid="99" x="1583" y="1216" width="64" height="64"/>
<object id="170" gid="99" x="1615" y="1216" width="64" height="64"/>
<object id="171" gid="99" x="4880" y="1728" width="64" height="64"/>
<object id="176" gid="99" x="2288" y="832" width="64" height="64"/>
<object id="177" gid="99" x="2320" y="832" width="64" height="64"/>
<object id="178" gid="99" x="2352" y="832" width="64" height="64"/>
<object id="179" gid="99" x="2383" y="832" width="64" height="64"/>
<object id="180" gid="99" x="2544" y="832" width="64" height="64"/>
<object id="181" gid="99" x="2576" y="832" width="64" height="64"/>
<object id="182" gid="99" x="2608" y="832" width="64" height="64"/>
<object id="183" gid="99" x="2639" y="832" width="64" height="64"/>
<object id="184" gid="98" x="3888" y="928" width="64" height="64">
<properties>
<property name="Kind" value="SHIELD"/>
</properties>
</object>
<object id="185" gid="66" x="5952" y="848" width="64" height="64" rotation="-90"/>
<object id="186" gid="63" x="6000" y="1536" width="64" height="64"/>
<object id="187" gid="61" x="4096" y="1206.5" width="64" height="64"/>
<object id="188" gid="61" x="4120" y="1194.5" width="64" height="64"/>
<object id="189" gid="61" x="4144" y="1183.5" width="64" height="64"/>
<object id="185" gid="102" x="5952" y="848" width="64" height="64" rotation="-90"/>
<object id="186" gid="99" x="6000" y="1536" width="64" height="64"/>
<object id="187" gid="97" x="4096" y="1206.5" width="64" height="64"/>
<object id="188" gid="97" x="4120" y="1194.5" width="64" height="64"/>
<object id="189" gid="97" x="4144" y="1183.5" width="64" height="64"/>
<object id="190" gid="103" x="112" y="896" width="64" height="64"/>
<object id="192" gid="2147483751" x="1168" y="845" width="64" height="64"/>
<object id="193" gid="101" x="6016" y="1872" width="64" height="64" rotation="90"/>
<object id="194" gid="101" x="112" y="720" width="64" height="64"/>
</objectgroup>
</group>
</map>

View file

@ -1,31 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.11.0" orientation="orthogonal" renderorder="right-down" width="255" height="31" tilewidth="128" tileheight="128" infinite="0" backgroundcolor="#3f007f" nextlayerid="6" nextobjectid="60">
<map version="1.10" tiledversion="1.11.1" orientation="orthogonal" renderorder="right-down" width="255" height="31" tilewidth="128" tileheight="128" infinite="0" backgroundcolor="#3f007f" nextlayerid="6" nextobjectid="194">
<tileset firstgid="1" source="128x128.tsx"/>
<tileset firstgid="61" source="../COMMON/objects_common.tsx"/>
<tileset firstgid="97" source="../COMMON/objects_common.tsx"/>
<layer id="1" name="LAYER0" width="255" height="31">
<data encoding="csv">
12,29,0,0,7,12,12,12,38,9,9,9,9,9,9,9,9,9,9,9,12,8,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,32,20,0,0,7,12,8,0,0,0,0,0,0,0,0,0,0,0,0,24,0,20,2,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,32,32,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,2,19,0,19,2,2,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,12,17,19,12,0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,6,44,9,12,9,40,5,0,0,0,0,0,0,0,0,0,0,0,0,12,17,19,12,0,0,7,12,38,40,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,8,0,2,5,1,0,10,40,2,2,5,0,0,0,0,0,0,0,0,9,17,19,12,0,0,0,0,0,0,10,40,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,21,0,0,0,10,40,5,0,0,12,12,12,13,5,0,0,0,0,0,6,14,12,12,8,0,0,0,0,0,0,0,0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,22,0,0,0,0,0,10,9,0,12,9,9,9,9,17,0,2,14,12,38,9,9,11,0,0,0,0,0,0,0,0,0,0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
9,9,9,9,9,39,13,5,0,6,2,2,2,14,38,9,9,9,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,10,9,9,9,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,3,0,0,0,0,0,0,0,0,0,0,4,22,0,0,0,30,2,2,2,27,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,13,2,2,2,2,2,2,2,2,14,12,38,40,5,0,29,29,29,29,29,29,29,29,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,9,9,9,9,9,9,9,9,9,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,8,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,32,20,0,19,19,0,20,20,20,0,0,0,0,0,0,0,0,24,12,12,0,20,2,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,32,32,20,20,0,0,0,0,0,0,0,60,60,60,60,60,0,24,12,12,2,19,0,19,2,2,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,31,0,0,0,0,0,10,9,9,9,11,43,42,12,12,12,12,17,19,12,0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,69,70,71,38,9,9,9,40,5,0,0,0,0,0,0,19,27,37,9,9,41,17,19,12,0,0,7,12,38,40,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,37,9,11,0,0,52,30,66,67,10,40,2,5,0,0,0,0,41,23,20,50,25,17,19,12,0,0,0,0,0,0,10,40,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
80,0,0,0,0,0,25,9,9,64,0,0,23,10,40,5,0,0,24,46,2,2,14,17,17,12,0,0,0,0,0,0,0,0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
60,46,66,67,0,0,0,0,0,0,0,0,26,0,0,9,17,0,27,12,12,12,12,0,52,21,0,0,0,0,0,0,0,0,0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
60,12,12,12,12,12,65,66,67,0,0,6,2,14,38,9,9,9,9,39,12,12,12,0,0,23,0,0,0,0,0,0,0,0,0,0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
60,12,12,12,12,12,12,12,64,9,9,9,9,11,0,0,0,0,0,0,12,12,12,0,0,23,0,0,0,0,0,0,0,0,0,0,0,7,3,0,0,0,0,0,0,0,0,0,0,4,22,0,0,0,30,2,2,2,27,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
83,9,9,9,9,9,39,12,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,7,13,2,2,2,2,2,2,2,2,14,12,38,40,5,0,29,29,29,29,29,29,29,29,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
81,66,67,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,17,19,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,9,9,9,9,9,9,9,9,9,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,38,9,9,9,9,0,12,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,17,17,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
84,85,0,0,6,2,2,12,54,0,0,0,12,84,88,43,93,12,61,43,79,11,90,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
83,9,9,9,9,9,39,12,0,0,0,81,12,83,90,55,49,12,38,0,0,92,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
81,85,0,0,0,0,0,0,0,87,81,12,12,80,89,0,0,80,0,52,60,60,60,60,60,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,50,31,31,50,0,0,12,12,12,12,12,80,25,9,9,9,17,12,91,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,29,29,29,0,6,12,12,12,12,12,81,12,12,12,65,30,12,80,2,0,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@ -39,77 +39,221 @@
</layer>
<group id="3" name="OBJECTS">
<objectgroup id="4" name="COMMON">
<object id="1" gid="72" x="7584" y="1408" width="64" height="64"/>
<object id="2" gid="69" x="799" y="511.5" width="64" height="64"/>
<object id="7" gid="62" x="2800" y="384" width="64" height="64">
<object id="1" gid="108" x="7584" y="1408" width="64" height="64"/>
<object id="2" gid="105" x="799" y="511.5" width="64" height="64"/>
<object id="7" gid="98" x="2800" y="384" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="10" gid="65" x="0" y="592" width="64" height="64" rotation="90"/>
<object id="20" gid="62" x="1185" y="896" width="64" height="64">
<object id="10" gid="101" x="0" y="592" width="64" height="64" rotation="90"/>
<object id="20" gid="98" x="1233" y="768" width="64" height="64">
<properties>
<property name="Kind" value="1UP"/>
</properties>
</object>
<object id="21" gid="69" x="1055" y="1159" width="64" height="64"/>
<object id="22" gid="69" x="1887" y="1030" width="64" height="64"/>
<object id="23" gid="62" x="3088" y="192" width="64" height="64">
<object id="21" gid="105" x="1148" y="1159" width="64" height="64"/>
<object id="22" gid="105" x="1887" y="1030" width="64" height="64"/>
<object id="23" gid="98" x="3088" y="192" width="64" height="64">
<properties>
<property name="Kind" value="SHIELD"/>
</properties>
</object>
<object id="24" gid="62" x="801" y="416" width="64" height="64">
<object id="24" gid="98" x="801" y="416" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="25" gid="64" x="3355" y="320" width="64" height="64"/>
<object id="26" gid="73" x="160" y="640" width="64" height="64"/>
<object id="28" gid="66" x="2304" y="1040" width="64" height="64" rotation="-90"/>
<object id="29" gid="61" x="1175.33" y="611.167" width="64" height="64"/>
<object id="30" gid="61" x="1199.33" y="622.167" width="64" height="64"/>
<object id="31" gid="61" x="1223.33" y="634.167" width="64" height="64"/>
<object id="32" gid="61" x="920" y="796.5" width="64" height="64"/>
<object id="33" gid="61" x="944" y="807.5" width="64" height="64"/>
<object id="34" gid="61" x="968" y="819.5" width="64" height="64"/>
<object id="35" gid="61" x="1809.33" y="799.167" width="64" height="64"/>
<object id="36" gid="61" x="1833.33" y="810.167" width="64" height="64"/>
<object id="37" gid="61" x="1857.33" y="822.167" width="64" height="64"/>
<object id="38" gid="69" x="3108.67" y="720" width="64" height="64"/>
<object id="39" gid="69" x="2975.33" y="521.333" width="64" height="64"/>
<object id="40" gid="69" x="3106.67" y="323.333" width="64" height="64"/>
<object id="41" gid="69" x="2713.33" y="322" width="64" height="64"/>
<object id="42" gid="61" x="3616.17" y="443.5" width="64" height="64"/>
<object id="43" gid="61" x="3634.17" y="461.5" width="64" height="64"/>
<object id="44" gid="61" x="3653.17" y="480.5" width="64" height="64"/>
<object id="45" gid="61" x="4722.83" y="1040.17" width="64" height="64"/>
<object id="46" gid="61" x="4740.83" y="1058.17" width="64" height="64"/>
<object id="47" gid="61" x="4759.83" y="1077.17" width="64" height="64"/>
<object id="48" gid="61" x="4147" y="627.5" width="64" height="64"/>
<object id="49" gid="61" x="4171" y="638.5" width="64" height="64"/>
<object id="50" gid="61" x="4195" y="650.5" width="64" height="64"/>
<object id="51" gid="62" x="7442" y="1216" width="64" height="64">
<object id="25" gid="100" x="3869" y="512" width="64" height="64"/>
<object id="26" gid="109" x="88" y="640" width="64" height="64"/>
<object id="28" gid="102" x="2304" y="1040" width="64" height="64" rotation="-90"/>
<object id="35" gid="97" x="1809.33" y="799.167" width="64" height="64"/>
<object id="36" gid="97" x="1833.33" y="810.167" width="64" height="64"/>
<object id="37" gid="97" x="1857.33" y="822.167" width="64" height="64"/>
<object id="38" gid="105" x="3108.67" y="720" width="64" height="64"/>
<object id="39" gid="105" x="2975.33" y="521.333" width="64" height="64"/>
<object id="40" gid="105" x="3106.67" y="323.333" width="64" height="64"/>
<object id="41" gid="105" x="2713.33" y="322" width="64" height="64"/>
<object id="42" gid="97" x="3616.17" y="443.5" width="64" height="64"/>
<object id="43" gid="97" x="3634.17" y="461.5" width="64" height="64"/>
<object id="44" gid="97" x="3653.17" y="480.5" width="64" height="64"/>
<object id="45" gid="97" x="4722.83" y="1040.17" width="64" height="64"/>
<object id="46" gid="97" x="4740.83" y="1058.17" width="64" height="64"/>
<object id="47" gid="97" x="4759.83" y="1077.17" width="64" height="64"/>
<object id="48" gid="97" x="4147" y="627.5" width="64" height="64"/>
<object id="49" gid="97" x="4171" y="638.5" width="64" height="64"/>
<object id="50" gid="97" x="4195" y="650.5" width="64" height="64"/>
<object id="51" gid="98" x="7442" y="1216" width="64" height="64">
<properties>
<property name="Kind" value="1UP"/>
</properties>
</object>
<object id="52" gid="2147483715" x="6864" y="1249" width="64" height="64"/>
<object id="53" gid="67" x="3184" y="256" width="64" height="64"/>
<object id="54" gid="67" x="880" y="448" width="64" height="64"/>
<object id="55" gid="2147483715" x="720" y="448" width="64" height="64"/>
<object id="56" gid="68" x="304" y="909" width="64" height="64"/>
<object id="57" gid="1073741889" x="720" y="640" width="64" height="64"/>
<object id="58" gid="62" x="112" y="320" width="64" height="64">
<object id="52" gid="2147483751" x="6864" y="1249" width="64" height="64"/>
<object id="53" gid="103" x="3184" y="256" width="64" height="64"/>
<object id="54" gid="103" x="880" y="448" width="64" height="64"/>
<object id="55" gid="2147483751" x="720" y="448" width="64" height="64"/>
<object id="56" gid="104" x="177" y="960" width="64" height="64"/>
<object id="58" gid="98" x="112" y="320" width="64" height="64">
<properties>
<property name="Kind" value="INVINCIBILITY"/>
</properties>
</object>
<object id="59" gid="62" x="112" y="192" width="64" height="64">
<object id="59" gid="98" x="112" y="192" width="64" height="64">
<properties>
<property name="Kind" value="SPEEDSHOES"/>
</properties>
</object>
<object id="60" gid="101" x="1552" y="384" width="64" height="64"/>
<object id="61" gid="101" x="1584" y="384" width="64" height="64"/>
<object id="65" gid="101" x="2064" y="384" width="64" height="64"/>
<object id="67" gid="101" x="2096" y="384" width="64" height="64"/>
<object id="68" gid="101" x="1808" y="384" width="64" height="64"/>
<object id="69" gid="101" x="1840" y="384" width="64" height="64"/>
<object id="70" gid="99" x="1520" y="256" width="64" height="64"/>
<object id="71" gid="99" x="1615" y="256" width="64" height="64"/>
<object id="76" gid="99" x="1648" y="256" width="64" height="64"/>
<object id="72" gid="99" x="1775" y="256" width="64" height="64"/>
<object id="77" gid="99" x="1743" y="256" width="64" height="64"/>
<object id="73" gid="99" x="1871" y="256" width="64" height="64"/>
<object id="78" gid="99" x="1904" y="256" width="64" height="64"/>
<object id="74" gid="99" x="2032" y="256" width="64" height="64"/>
<object id="79" gid="99" x="1999" y="256" width="64" height="64"/>
<object id="75" gid="99" x="2127" y="256" width="64" height="64"/>
<object id="80" gid="101" x="1936" y="384" width="64" height="64"/>
<object id="81" gid="101" x="1968" y="384" width="64" height="64"/>
<object id="82" gid="101" x="1680" y="384" width="64" height="64"/>
<object id="83" gid="101" x="1712" y="384" width="64" height="64"/>
<object id="84" gid="105" x="1632" y="190" width="64" height="64"/>
<object id="85" gid="105" x="1755" y="190" width="64" height="64"/>
<object id="86" gid="105" x="1888" y="190" width="64" height="64"/>
<object id="87" gid="105" x="2016" y="190" width="64" height="64"/>
<object id="88" gid="97" x="1102" y="735.167" width="64" height="64"/>
<object id="89" gid="97" x="1126" y="746.167" width="64" height="64"/>
<object id="90" gid="97" x="1150" y="758.167" width="64" height="64"/>
<object id="91" gid="97" x="1315" y="613.5" width="64" height="64"/>
<object id="92" gid="97" x="1339" y="624.5" width="64" height="64"/>
<object id="93" gid="97" x="1363" y="636.5" width="64" height="64"/>
<object id="95" gid="103" x="1264" y="253" width="64" height="64"/>
<object id="96" gid="98" x="2321" y="384" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="97" gid="98" x="2321" y="576" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="98" gid="101" x="32" y="1423" width="64" height="64" rotation="90"/>
<object id="99" gid="101" x="896" y="1744" width="64" height="64" rotation="-90"/>
<object id="100" gid="103" x="240" y="2065" width="64" height="64"/>
<object id="101" gid="2147483751" x="2320" y="960" width="64" height="64"/>
<object id="102" gid="101" x="32" y="1936" width="64" height="64" rotation="90"/>
<object id="103" gid="1073741925" x="16" y="1728" width="64" height="64"/>
<object id="104" gid="103" x="752" y="2097" width="64" height="64"/>
<object id="105" gid="101" x="368" y="2304" width="64" height="64"/>
<object id="106" gid="101" x="1264" y="1920" width="64" height="64"/>
<object id="107" gid="101" x="1392" y="1792" width="64" height="64"/>
<object id="108" gid="99" x="1295" y="1984" width="64" height="64"/>
<object id="109" gid="99" x="1327" y="1984" width="64" height="64"/>
<object id="110" gid="99" x="1359" y="1984" width="64" height="64"/>
<object id="111" gid="99" x="1423" y="1856" width="64" height="64"/>
<object id="112" gid="99" x="1455" y="1856" width="64" height="64"/>
<object id="113" gid="99" x="1487" y="1856" width="64" height="64"/>
<object id="114" gid="103" x="1680" y="1952" width="64" height="64"/>
<object id="115" gid="1073741927" x="1760" y="1904" width="64" height="64"/>
<object id="116" gid="103" x="1840" y="1984" width="64" height="64"/>
<object id="117" gid="99" x="1872" y="2048" width="64" height="64"/>
<object id="118" gid="99" x="1904" y="2048" width="64" height="64"/>
<object id="119" gid="99" x="1936" y="2048" width="64" height="64"/>
<object id="120" gid="99" x="1968" y="2048" width="64" height="64"/>
<object id="121" gid="99" x="2000" y="2048" width="64" height="64"/>
<object id="122" gid="99" x="2032" y="2048" width="64" height="64"/>
<object id="123" gid="99" x="2064" y="2048" width="64" height="64"/>
<object id="124" gid="99" x="2096" y="2048" width="64" height="64"/>
<object id="125" gid="99" x="2128" y="2048" width="64" height="64"/>
<object id="126" gid="99" x="1680" y="2240" width="64" height="64"/>
<object id="127" gid="99" x="1712" y="2240" width="64" height="64"/>
<object id="128" gid="99" x="1744" y="2240" width="64" height="64"/>
<object id="129" gid="101" x="1904" y="1824" width="64" height="64"/>
<object id="130" gid="101" x="2384" y="2240" width="64" height="64"/>
<object id="132" gid="102" x="2593" y="2304" width="64" height="64"/>
<object id="133" gid="101" x="2736" y="2048" width="64" height="64"/>
<object id="155" gid="101" x="2704" y="2048" width="64" height="64"/>
<object id="136" gid="101" x="2960" y="2048" width="64" height="64"/>
<object id="137" gid="101" x="2992" y="2048" width="64" height="64"/>
<object id="138" gid="99" x="2767" y="1920" width="64" height="64"/>
<object id="139" gid="99" x="2800" y="1920" width="64" height="64"/>
<object id="140" gid="99" x="2927" y="1920" width="64" height="64"/>
<object id="141" gid="99" x="2895" y="1920" width="64" height="64"/>
<object id="142" gid="99" x="3023" y="1920" width="64" height="64"/>
<object id="143" gid="99" x="3056" y="1920" width="64" height="64"/>
<object id="145" gid="99" x="3151" y="1920" width="64" height="64"/>
<object id="147" gid="101" x="3088" y="2048" width="64" height="64"/>
<object id="148" gid="101" x="3120" y="2048" width="64" height="64"/>
<object id="149" gid="101" x="2832" y="2048" width="64" height="64"/>
<object id="150" gid="101" x="2864" y="2048" width="64" height="64"/>
<object id="151" gid="105" x="2784" y="1854" width="64" height="64"/>
<object id="152" gid="105" x="2914" y="1854" width="64" height="64"/>
<object id="153" gid="105" x="3041" y="1854" width="64" height="64"/>
<object id="156" gid="107" x="2720" y="1993" width="64" height="64"/>
<object id="157" gid="98" x="2192" y="2048" width="64" height="64">
<properties>
<property name="Kind" value="1UP"/>
</properties>
</object>
<object id="158" gid="98" x="2321" y="2240" width="64" height="64">
<properties>
<property name="Kind" value="SHIELD"/>
</properties>
</object>
<object id="159" gid="2147483752" x="3152" y="1824" width="64" height="64"/>
<object id="161" gid="101" x="3152" y="960" width="64" height="64"/>
<object id="162" gid="105" x="2601" y="1792" width="64" height="64"/>
<object id="163" gid="98" x="2898" y="2304" width="64" height="64">
<properties>
<property name="Kind" value="1UP"/>
</properties>
</object>
<object id="164" gid="98" x="2868" y="2304" width="64" height="64">
<properties>
<property name="Kind" value="1UP"/>
</properties>
</object>
<object id="165" gid="98" x="2514" y="1664" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="167" gid="98" x="2770" y="672" width="64" height="64">
<properties>
<property name="Kind" value="1UP"/>
</properties>
</object>
<object id="168" gid="98" x="1008" y="1728" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="169" gid="107" x="368" y="2227" width="64" height="64"/>
<object id="170" gid="99" x="2639" y="1920" width="64" height="64"/>
<object id="171" gid="100" x="662" y="2080" width="64" height="64"/>
<object id="172" gid="100" x="2541" y="1920" width="64" height="64"/>
<object id="173" gid="104" x="2928" y="1408" width="64" height="64"/>
<object id="174" gid="2147483752" x="3152" y="1184" width="64" height="64"/>
<object id="175" gid="103" x="2928" y="928" width="64" height="64"/>
<object id="180" gid="97" x="2954.83" y="1396.83" width="64" height="64"/>
<object id="181" gid="97" x="2972.83" y="1377.83" width="64" height="64"/>
<object id="182" gid="97" x="2991.83" y="1359.83" width="64" height="64"/>
<object id="183" gid="97" x="2953.5" y="918.833" width="64" height="64"/>
<object id="184" gid="97" x="2971.5" y="899.833" width="64" height="64"/>
<object id="185" gid="97" x="2990.5" y="881.833" width="64" height="64"/>
<object id="186" gid="97" x="3089.83" y="1136.83" width="64" height="64"/>
<object id="187" gid="97" x="3107.83" y="1154.83" width="64" height="64"/>
<object id="188" gid="97" x="3126.83" y="1173.83" width="64" height="64"/>
<object id="189" gid="107" x="3151" y="912" width="64" height="64"/>
<object id="192" gid="99" x="335" y="2080" width="64" height="64"/>
<object id="193" gid="99" x="303" y="2080" width="64" height="64"/>
</objectgroup>
</group>
</map>

View file

@ -1,77 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.11.0" orientation="orthogonal" renderorder="right-down" width="255" height="31" tilewidth="128" tileheight="128" infinite="0" backgroundcolor="#3f007f" nextlayerid="6" nextobjectid="233">
<map version="1.10" tiledversion="1.11.2" orientation="orthogonal" renderorder="right-down" width="255" height="31" tilewidth="128" tileheight="128" infinite="0" backgroundcolor="#3f007f" nextlayerid="6" nextobjectid="258">
<tileset firstgid="1" source="128x128.tsx"/>
<tileset firstgid="61" source="../COMMON/objects_common.tsx"/>
<tileset firstgid="97" source="../COMMON/objects_common.tsx"/>
<layer id="1" name="LAYER0" width="255" height="31">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,13,2,2,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,2,19,19,2,5,0,6,14,12,13,5,0,6,2,14,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,2,14,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,19,19,19,14,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,12,12,12,12,12,12,13,0,24,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,6,2,5,0,6,2,2,2,5,0,0,6,2,2,14,12,12,12,12,12,9,9,9,9,9,9,0,25,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,6,14,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,4,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,4,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,0,0,0,4,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,2,14,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,13,2,2,5,0,0,0,0,0,20,20,33,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,7,65,66,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,10,9,39,65,66,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,2,2,0,10,12,12,65,2,14,12,13,5,0,6,2,14,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,2,14,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,19,19,19,14,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,41,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,91,3,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,12,12,12,12,12,12,13,0,24,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,12,0,0,0,0,0,0,0,0,10,9,9,9,9,9,9,12,9,9,9,9,9,9,9,83,9,9,39,13,2,2,73,0,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,12,9,9,9,9,9,9,9,39,12,12,12,12,12,13,5,0,6,2,5,0,6,2,2,2,5,0,0,6,2,2,14,12,12,12,12,12,9,9,9,9,9,9,0,25,0,0,0,6,14,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,3,0,0,0,0,59,66,67,0,0,0,0,0,12,0,0,0,0,74,2,0,81,66,67,0,0,12,12,12,65,66,67,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,7,12,12,12,12,38,9,11,0,10,9,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,6,14,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,12,12,12,12,12,12,12,12,61,66,67,0,0,9,18,18,18,76,12,8,0,10,9,9,18,20,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,4,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,39,12,12,12,61,2,2,2,68,12,12,12,0,0,0,0,0,0,94,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,4,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,0,0,0,4,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,2,14,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
<group id="3" name="OBJECTS">
<objectgroup id="4" name="COMMON">
<object id="208" gid="72" x="16160" y="3200.03" width="64" height="64"/>
<object id="209" gid="62" x="-16" y="320" width="64" height="64">
<object id="208" gid="108" x="16416" y="3072" width="64" height="64"/>
<object id="209" gid="98" x="-16" y="320" width="64" height="64">
<properties>
<property name="Kind" value="SPEEDSHOES"/>
</properties>
</object>
<object id="210" gid="69" x="735.531" y="447.531" width="64" height="64"/>
<object id="211" gid="69" x="2077.03" y="768.031" width="64" height="64"/>
<object id="212" gid="69" x="2332.53" y="829.031" width="64" height="64"/>
<object id="213" gid="69" x="3357.53" y="765.031" width="64" height="64"/>
<object id="214" gid="69" x="4001.53" y="830.031" width="64" height="64"/>
<object id="215" gid="69" x="5535.53" y="894.031" width="64" height="64"/>
<object id="216" gid="69" x="6304.03" y="1214.53" width="64" height="64"/>
<object id="217" gid="69" x="6572.03" y="1095.86" width="64" height="64"/>
<object id="218" gid="69" x="6572.03" y="1115.36" width="64" height="64"/>
<object id="219" gid="69" x="12066.3" y="3083.03" width="64" height="64"/>
<object id="220" gid="69" x="12066.3" y="3105.03" width="64" height="64"/>
<object id="221" gid="69" x="13151.5" y="3205.53" width="64" height="64"/>
<object id="222" gid="69" x="13919" y="3073.03" width="64" height="64"/>
<object id="223" gid="69" x="14104" y="3071.03" width="64" height="64"/>
<object id="224" gid="69" x="14491" y="2939.03" width="64" height="64"/>
<object id="225" gid="69" x="15004" y="2941.53" width="64" height="64"/>
<object id="226" gid="69" x="14766" y="2947.03" width="64" height="64"/>
<object id="227" gid="69" x="14881" y="3908.53" width="64" height="64"/>
<object id="228" gid="62" x="14464" y="3712.03" width="64" height="64">
<object id="210" gid="105" x="735.531" y="447.531" width="64" height="64"/>
<object id="211" gid="105" x="1235.03" y="514.031" width="64" height="64"/>
<object id="212" gid="105" x="2332.53" y="829.031" width="64" height="64"/>
<object id="213" gid="105" x="3357.53" y="765.031" width="64" height="64"/>
<object id="214" gid="105" x="4001.53" y="830.031" width="64" height="64"/>
<object id="215" gid="105" x="5535.53" y="894.031" width="64" height="64"/>
<object id="216" gid="105" x="6304.03" y="1214.53" width="64" height="64"/>
<object id="217" gid="105" x="6572.03" y="1095.86" width="64" height="64"/>
<object id="218" gid="105" x="6572.03" y="1115.36" width="64" height="64"/>
<object id="219" gid="105" x="12066.3" y="3083.03" width="64" height="64"/>
<object id="220" gid="105" x="12066.3" y="3105.03" width="64" height="64"/>
<object id="221" gid="105" x="13151.5" y="3205.53" width="64" height="64"/>
<object id="222" gid="105" x="13919" y="3073.03" width="64" height="64"/>
<object id="223" gid="105" x="14104" y="3071.03" width="64" height="64"/>
<object id="224" gid="105" x="14491" y="2939.03" width="64" height="64"/>
<object id="225" gid="105" x="15004" y="2941.53" width="64" height="64"/>
<object id="226" gid="105" x="14766" y="2947.03" width="64" height="64"/>
<object id="227" gid="105" x="14881" y="3908.53" width="64" height="64"/>
<object id="228" gid="98" x="14464" y="3712.03" width="64" height="64">
<properties>
<property name="Kind" value="SHIELD"/>
</properties>
</object>
<object id="229" gid="73" x="156" y="384" width="64" height="64"/>
<object id="230" gid="69" x="9904.64" y="2246.61" width="64" height="64"/>
<object id="231" gid="69" x="9904.64" y="2268.61" width="64" height="64"/>
<object id="232" gid="66" x="0" y="336" width="64" height="64" rotation="90"/>
<object id="229" gid="109" x="156" y="384" width="64" height="64"/>
<object id="230" gid="105" x="9904.64" y="2246.61" width="64" height="64"/>
<object id="231" gid="105" x="9904.64" y="2268.61" width="64" height="64"/>
<object id="232" gid="102" x="0" y="336" width="64" height="64" rotation="90"/>
<object id="233" gid="113" x="3200" y="3328" width="64" height="64">
<properties>
<property name="frequency" type="int" value="1"/>
</properties>
</object>
<object id="234" gid="113" x="4480" y="3520" width="64" height="64"/>
<object id="235" gid="101" x="5392" y="3264" width="64" height="64"/>
<object id="236" gid="2147483752" x="9680" y="3328" width="64" height="64"/>
<object id="238" gid="104" x="9328" y="3136" width="64" height="64"/>
<object id="239" gid="2147483752" x="9680" y="2848" width="64" height="64"/>
<object id="240" gid="104" x="9328" y="2592" width="64" height="64"/>
<object id="241" gid="113" x="6784" y="3328" width="64" height="64">
<properties>
<property name="frequency" type="int" value="1"/>
</properties>
</object>
<object id="242" gid="102" x="6912" y="3280" width="64" height="64" rotation="90"/>
<object id="243" gid="113" x="5632" y="3584" width="64" height="64"/>
<object id="244" gid="98" x="2416" y="3200" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="245" gid="98" x="5104" y="3584" width="64" height="64">
<properties>
<property name="Kind" value="RING"/>
</properties>
</object>
<object id="246" gid="105" x="4380" y="3527.33" width="64" height="64"/>
<object id="247" gid="107" x="4467.33" y="3327.33" width="64" height="64"/>
<object id="248" gid="105" x="5409.33" y="2918.67" width="64" height="64"/>
<object id="249" gid="105" x="6848" y="3264" width="64" height="64"/>
<object id="250" gid="105" x="7808" y="3328" width="64" height="64"/>
<object id="251" gid="105" x="8960" y="3328" width="64" height="64"/>
<object id="252" gid="105" x="7296" y="3328" width="64" height="64"/>
<object id="253" gid="105" x="8448" y="3328" width="64" height="64"/>
<object id="254" gid="105" x="5688" y="3332" width="64" height="64"/>
<object id="255" gid="100" x="6171" y="3136" width="64" height="64"/>
<object id="256" gid="100" x="6912" y="1152" width="64" height="64"/>
<object id="257" gid="113" x="14516" y="3712" width="64" height="64">
<properties>
<property name="frequency" type="int" value="2"/>
</properties>
</object>
</objectgroup>
</group>
</map>

View file

@ -1,30 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.11.0" orientation="orthogonal" renderorder="right-down" width="255" height="31" tilewidth="128" tileheight="128" infinite="0" backgroundcolor="#3f007f" nextlayerid="6" nextobjectid="110">
<map version="1.10" tiledversion="1.11.2" orientation="orthogonal" renderorder="right-down" width="255" height="31" tilewidth="128" tileheight="128" infinite="0" backgroundcolor="#3f007f" nextlayerid="6" nextobjectid="224">
<tileset firstgid="1" source="128x128.tsx"/>
<tileset firstgid="61" source="../COMMON/objects_common.tsx"/>
<tileset firstgid="97" source="../COMMON/objects_common.tsx"/>
<layer id="1" name="LAYER0" width="255" height="31">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,19,19,2,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,12,10,40,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,12,0,0,10,40,5,0,0,0,0,0,0,0,0,0,0,6,2,5,0,0,23,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,12,0,0,0,0,10,13,19,14,12,51,55,2,5,56,9,9,12,12,54,0,23,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,19,19,49,19,19,49,49,49,49,0,0,0,0,0,53,54,0,6,2,2,2,12,54,0,0,0,0,12,0,0,10,9,9,9,39,51,50,0,12,12,0,53,23,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,18,18,18,18,18,50,2,2,14,12,12,51,19,19,19,19,14,12,12,0,0,0,19,19,0,18,18,9,18,18,0,58,0,0,0,0,0,0,12,12,54,0,23,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,9,18,18,18,53,19,54,0,0,0,6,2,19,19,19,57,0,0,0,0,12,12,0,53,23,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,0,2,57,0,0,0,59,2,44,9,11,0,0,0,0,12,51,50,50,50,12,12,54,0,23,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,0,0,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,24,12,23,0,0,23,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,9,26,6,14,23,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,13,5,0,59,19,19,14,12,12,13,5,0,0,0,0,0,0,59,0,14,12,12,23,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,0,12,12,12,23,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,0,6,2,19,2,5,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,11,0,0,0,10,9,17,17,9,9,9,17,9,9,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,19,19,2,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,12,10,40,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,37,9,9,9,41,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,12,0,0,10,40,5,0,0,0,0,0,0,0,0,0,0,6,2,5,0,0,12,12,12,12,23,41,12,23,24,37,9,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,12,0,0,0,0,10,13,19,14,12,51,55,2,5,56,9,9,12,12,54,0,12,12,12,12,23,24,12,23,24,23,41,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,19,19,49,19,19,49,49,49,49,0,0,0,0,0,53,54,0,6,2,2,2,12,54,0,0,0,0,12,0,0,10,9,9,9,39,51,50,0,12,12,0,53,12,12,12,37,26,24,12,23,0,23,24,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,18,18,18,18,18,50,2,2,14,12,12,51,19,19,19,19,14,12,12,0,0,0,19,19,0,18,18,9,18,18,0,58,0,0,0,0,0,0,12,12,54,0,12,12,12,23,89,24,12,12,2,2,27,12,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,9,18,18,18,53,19,54,0,0,0,6,2,19,19,19,57,0,0,0,0,12,12,0,53,12,12,12,23,9,9,9,9,9,9,9,9,12,40,5,0,0,0,0,0,0,0,0,6,44,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,0,2,57,0,0,0,59,2,44,9,11,0,0,0,0,12,51,50,50,50,12,12,54,0,12,12,12,23,0,0,0,0,0,0,0,0,12,0,10,40,5,0,0,0,0,6,44,11,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,0,0,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,24,12,23,0,0,12,12,12,46,2,2,2,2,2,2,81,20,12,0,0,0,10,40,2,2,44,11,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,9,26,6,14,12,12,12,23,0,29,29,29,29,29,29,29,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,13,5,0,59,19,19,14,12,12,13,5,0,0,0,0,0,0,59,0,14,12,12,12,12,12,23,89,29,29,29,29,29,29,29,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,0,12,12,12,12,12,12,23,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,0,12,12,12,12,12,12,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,0,37,9,9,9,9,41,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,0,23,0,0,0,0,24,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,0,6,2,19,2,5,25,26,0,0,0,0,0,0,0,6,2,19,2,5,0,6,2,19,2,5,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,11,0,0,0,10,9,17,17,9,9,9,17,9,9,11,0,0,0,10,9,11,0,0,0,10,9,9,9,9,17,9,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,0,0,0,0,0,12,12,12,12,12,12,12,0,0,0,0,12,12,12,12,12,12,12,12,0,0,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@ -39,74 +39,149 @@
</layer>
<group id="3" name="OBJECTS">
<objectgroup id="4" name="COMMON">
<object id="58" gid="72" x="6560.06" y="2048" width="64" height="64"/>
<object id="59" gid="62" x="113.063" y="672" width="64" height="64">
<object id="58" gid="108" x="8864" y="2048" width="64" height="64"/>
<object id="59" gid="98" x="113.063" y="672" width="64" height="64">
<properties>
<property name="Kind" value="SPEEDSHOES"/>
</properties>
</object>
<object id="60" gid="69" x="768.063" y="578" width="64" height="64"/>
<object id="61" gid="69" x="894.063" y="578" width="64" height="64"/>
<object id="62" gid="69" x="1021.06" y="578" width="64" height="64"/>
<object id="63" gid="69" x="1150.06" y="578" width="64" height="64"/>
<object id="64" gid="65" x="896.063" y="656" width="64" height="64" rotation="90"/>
<object id="65" gid="66" x="1664.06" y="656" width="64" height="64" rotation="90"/>
<object id="66" gid="69" x="2014.06" y="577.333" width="64" height="64"/>
<object id="67" gid="69" x="2852.98" y="64.75" width="64" height="64"/>
<object id="68" gid="62" x="4208.06" y="512" width="64" height="64">
<object id="60" gid="105" x="768.063" y="578" width="64" height="64"/>
<object id="61" gid="105" x="894.063" y="578" width="64" height="64"/>
<object id="62" gid="105" x="1021.06" y="578" width="64" height="64"/>
<object id="63" gid="105" x="1150.06" y="578" width="64" height="64"/>
<object id="64" gid="101" x="896.063" y="656" width="64" height="64" rotation="90"/>
<object id="65" gid="102" x="1664.06" y="656" width="64" height="64" rotation="90"/>
<object id="66" gid="105" x="2014.06" y="577.333" width="64" height="64"/>
<object id="67" gid="105" x="2852.98" y="64.75" width="64" height="64"/>
<object id="68" gid="98" x="4208.06" y="512" width="64" height="64">
<properties>
<property name="Kind" value="1UP"/>
</properties>
</object>
<object id="69" gid="69" x="3743.4" y="454" width="64" height="64"/>
<object id="70" gid="69" x="4762.73" y="545.333" width="64" height="64"/>
<object id="71" gid="69" x="5018.06" y="318.667" width="64" height="64"/>
<object id="72" gid="71" x="5426.06" y="532" width="64" height="64"/>
<object id="73" gid="71" x="5428.06" y="786" width="64" height="64"/>
<object id="74" gid="71" x="5264.06" y="940.333" width="64" height="64"/>
<object id="75" gid="71" x="5024.06" y="1453" width="64" height="64"/>
<object id="76" gid="69" x="2972.06" y="1400" width="64" height="64"/>
<object id="77" gid="69" x="4128.06" y="720.667" width="64" height="64"/>
<object id="78" gid="69" x="3872.73" y="672.667" width="64" height="64"/>
<object id="79" gid="62" x="3697.06" y="672" width="64" height="64">
<object id="69" gid="105" x="3743.4" y="454" width="64" height="64"/>
<object id="70" gid="105" x="4762.73" y="545.333" width="64" height="64"/>
<object id="71" gid="105" x="5018.06" y="318.667" width="64" height="64"/>
<object id="72" gid="107" x="5426.06" y="532" width="64" height="64"/>
<object id="73" gid="107" x="5428.06" y="786" width="64" height="64"/>
<object id="74" gid="107" x="5264.06" y="940.333" width="64" height="64"/>
<object id="75" gid="107" x="5024.06" y="1453" width="64" height="64"/>
<object id="76" gid="105" x="2972.06" y="1400" width="64" height="64"/>
<object id="77" gid="105" x="4128.06" y="720.667" width="64" height="64"/>
<object id="78" gid="105" x="3872.73" y="672.667" width="64" height="64"/>
<object id="79" gid="98" x="3697.06" y="672" width="64" height="64">
<properties>
<property name="Kind" value="SPEEDSHOES"/>
</properties>
</object>
<object id="80" gid="62" x="3537.06" y="672" width="64" height="64">
<object id="80" gid="98" x="3537.06" y="672" width="64" height="64">
<properties>
<property name="Kind" value="INVINCIBILITY"/>
</properties>
</object>
<object id="81" gid="69" x="3618.06" y="896" width="64" height="64"/>
<object id="82" gid="69" x="3354.73" y="958" width="64" height="64"/>
<object id="83" gid="69" x="2584.06" y="776" width="64" height="64"/>
<object id="84" gid="69" x="2584.06" y="752" width="64" height="64"/>
<object id="85" gid="69" x="2959.73" y="572" width="64" height="64"/>
<object id="86" gid="69" x="2959.73" y="548" width="64" height="64"/>
<object id="87" gid="69" x="3040.06" y="683" width="64" height="64"/>
<object id="88" gid="69" x="3212.23" y="1255.17" width="64" height="64"/>
<object id="89" gid="69" x="3212.23" y="1231.17" width="64" height="64"/>
<object id="90" gid="69" x="5019.56" y="2048.5" width="64" height="64"/>
<object id="91" gid="71" x="4928.06" y="741" width="64" height="64"/>
<object id="92" gid="73" x="140" y="575" width="64" height="64"/>
<object id="93" gid="67" x="2544.06" y="448" width="64" height="64"/>
<object id="94" gid="67" x="2544.06" y="256" width="64" height="64"/>
<object id="95" gid="2147483715" x="2768.06" y="576" width="64" height="64"/>
<object id="96" gid="2147483715" x="2768.06" y="368.5" width="64" height="64"/>
<object id="97" gid="2147483715" x="2768.06" y="160" width="64" height="64"/>
<object id="98" gid="61" x="2574.06" y="241.5" width="64" height="64"/>
<object id="99" gid="61" x="2592.06" y="222.5" width="64" height="64"/>
<object id="100" gid="61" x="2611.06" y="204.5" width="64" height="64"/>
<object id="101" gid="61" x="2705.56" y="529.5" width="64" height="64"/>
<object id="102" gid="61" x="2723.56" y="547.5" width="64" height="64"/>
<object id="103" gid="61" x="2742.56" y="566.5" width="64" height="64"/>
<object id="104" gid="1073741889" x="4991.73" y="1280.33" width="64" height="64"/>
<object id="105" gid="1073741889" x="5023.73" y="1280.33" width="64" height="64"/>
<object id="106" gid="1073741889" x="5055.73" y="1280.33" width="64" height="64"/>
<object id="107" gid="71" x="5265.39" y="664.667" width="64" height="64"/>
<object id="108" gid="65" x="3041.06" y="704" width="64" height="64"/>
<object id="109" gid="64" x="4685.06" y="928" width="64" height="64"/>
<object id="81" gid="105" x="3618.06" y="896" width="64" height="64"/>
<object id="82" gid="105" x="3354.73" y="958" width="64" height="64"/>
<object id="83" gid="105" x="2584.06" y="776" width="64" height="64"/>
<object id="84" gid="105" x="2584.06" y="752" width="64" height="64"/>
<object id="85" gid="105" x="2959.73" y="572" width="64" height="64"/>
<object id="86" gid="105" x="2959.73" y="548" width="64" height="64"/>
<object id="87" gid="105" x="3040.06" y="683" width="64" height="64"/>
<object id="88" gid="105" x="3212.23" y="1255.17" width="64" height="64"/>
<object id="89" gid="105" x="3212.23" y="1231.17" width="64" height="64"/>
<object id="90" gid="105" x="5019.56" y="2048.5" width="64" height="64"/>
<object id="91" gid="107" x="4928.06" y="741" width="64" height="64"/>
<object id="92" gid="109" x="140" y="575" width="64" height="64"/>
<object id="93" gid="103" x="2544.06" y="448" width="64" height="64"/>
<object id="94" gid="103" x="2544.06" y="256" width="64" height="64"/>
<object id="95" gid="2147483751" x="2768.06" y="576" width="64" height="64"/>
<object id="96" gid="2147483751" x="2768.06" y="368.5" width="64" height="64"/>
<object id="97" gid="2147483751" x="2768.06" y="160" width="64" height="64"/>
<object id="98" gid="97" x="2574.06" y="241.5" width="64" height="64"/>
<object id="99" gid="97" x="2592.06" y="222.5" width="64" height="64"/>
<object id="100" gid="97" x="2611.06" y="204.5" width="64" height="64"/>
<object id="101" gid="97" x="2705.56" y="529.5" width="64" height="64"/>
<object id="102" gid="97" x="2723.56" y="547.5" width="64" height="64"/>
<object id="103" gid="97" x="2742.56" y="566.5" width="64" height="64"/>
<object id="104" gid="1073741925" x="4991.73" y="1280.33" width="64" height="64"/>
<object id="105" gid="1073741925" x="5023.73" y="1280.33" width="64" height="64"/>
<object id="106" gid="1073741925" x="5055.73" y="1280.33" width="64" height="64"/>
<object id="107" gid="107" x="5265.39" y="664.667" width="64" height="64"/>
<object id="108" gid="101" x="3041.06" y="704" width="64" height="64"/>
<object id="109" gid="100" x="4685.06" y="928" width="64" height="64"/>
<object id="110" gid="100" x="6016" y="1408" width="64" height="64"/>
<object id="111" gid="1073741926" x="6928" y="384" width="64" height="64"/>
<object id="112" gid="99" x="6447" y="640" width="64" height="64"/>
<object id="113" gid="99" x="6480" y="640" width="64" height="64"/>
<object id="116" gid="99" x="6095" y="768" width="64" height="64"/>
<object id="117" gid="99" x="6127" y="768" width="64" height="64"/>
<object id="118" gid="99" x="6159" y="768" width="64" height="64"/>
<object id="121" gid="99" x="6095" y="1408" width="64" height="64"/>
<object id="122" gid="99" x="6127" y="1408" width="64" height="64"/>
<object id="123" gid="99" x="6159" y="1408" width="64" height="64"/>
<object id="124" gid="99" x="6191" y="1408" width="64" height="64"/>
<object id="126" gid="99" x="6223" y="1408" width="64" height="64"/>
<object id="127" gid="99" x="6255" y="1408" width="64" height="64"/>
<object id="128" gid="99" x="6287" y="1408" width="64" height="64"/>
<object id="135" gid="99" x="6319" y="1408" width="64" height="64"/>
<object id="136" gid="99" x="6351" y="1408" width="64" height="64"/>
<object id="137" gid="99" x="6383" y="1408" width="64" height="64"/>
<object id="138" gid="99" x="6415" y="1408" width="64" height="64"/>
<object id="139" gid="99" x="6447" y="1408" width="64" height="64"/>
<object id="140" gid="99" x="6479" y="1408" width="64" height="64"/>
<object id="141" gid="99" x="6511" y="1408" width="64" height="64"/>
<object id="142" gid="99" x="6543" y="1408" width="64" height="64"/>
<object id="143" gid="99" x="6575" y="1408" width="64" height="64"/>
<object id="144" gid="99" x="6607" y="1408" width="64" height="64"/>
<object id="145" gid="99" x="6639" y="1408" width="64" height="64"/>
<object id="146" gid="99" x="6671" y="1408" width="64" height="64"/>
<object id="147" gid="99" x="6703" y="1408" width="64" height="64"/>
<object id="148" gid="99" x="6735" y="1408" width="64" height="64"/>
<object id="149" gid="99" x="6767" y="1408" width="64" height="64"/>
<object id="150" gid="99" x="6799" y="1408" width="64" height="64"/>
<object id="151" gid="99" x="6831" y="1408" width="64" height="64"/>
<object id="152" gid="99" x="6863" y="1408" width="64" height="64"/>
<object id="153" gid="99" x="6895" y="1408" width="64" height="64"/>
<object id="154" gid="99" x="6927" y="1408" width="64" height="64"/>
<object id="155" gid="99" x="6959" y="1408" width="64" height="64"/>
<object id="156" gid="99" x="6991" y="1408" width="64" height="64"/>
<object id="131" gid="99" x="6800" y="704" width="64" height="64"/>
<object id="132" gid="99" x="6511" y="704" width="64" height="64"/>
<object id="133" gid="99" x="6543" y="704" width="64" height="64"/>
<object id="134" gid="99" x="6575" y="704" width="64" height="64"/>
<object id="189" gid="99" x="5936" y="1088" width="64" height="64"/>
<object id="190" gid="99" x="5968" y="1088" width="64" height="64"/>
<object id="191" gid="99" x="6000" y="1088" width="64" height="64"/>
<object id="192" gid="99" x="6032" y="1088" width="64" height="64"/>
<object id="193" gid="99" x="6064" y="1088" width="64" height="64"/>
<object id="194" gid="99" x="6096" y="1088" width="64" height="64"/>
<object id="195" gid="99" x="6128" y="1088" width="64" height="64"/>
<object id="196" gid="99" x="6160" y="1088" width="64" height="64"/>
<object id="197" gid="99" x="6192" y="1088" width="64" height="64"/>
<object id="198" gid="99" x="6224" y="1088" width="64" height="64"/>
<object id="199" gid="99" x="6256" y="1088" width="64" height="64"/>
<object id="200" gid="99" x="6288" y="1088" width="64" height="64"/>
<object id="201" gid="99" x="6320" y="1088" width="64" height="64"/>
<object id="202" gid="99" x="6352" y="1088" width="64" height="64"/>
<object id="203" gid="99" x="6384" y="1088" width="64" height="64"/>
<object id="204" gid="99" x="6416" y="1088" width="64" height="64"/>
<object id="205" gid="99" x="6448" y="1088" width="64" height="64"/>
<object id="206" gid="99" x="6480" y="1088" width="64" height="64"/>
<object id="207" gid="99" x="6512" y="1088" width="64" height="64"/>
<object id="208" gid="99" x="6544" y="1088" width="64" height="64"/>
<object id="209" gid="99" x="6576" y="1088" width="64" height="64"/>
<object id="210" gid="99" x="6608" y="1088" width="64" height="64"/>
<object id="211" gid="99" x="6640" y="1088" width="64" height="64"/>
<object id="212" gid="99" x="6672" y="1088" width="64" height="64"/>
<object id="213" gid="99" x="6704" y="1088" width="64" height="64"/>
<object id="214" gid="99" x="6736" y="1088" width="64" height="64"/>
<object id="215" gid="105" x="6963" y="1345.5" width="64" height="64"/>
<object id="216" gid="105" x="6819" y="1331.5" width="64" height="64"/>
<object id="217" gid="105" x="6673" y="1316" width="64" height="64"/>
<object id="218" gid="105" x="6490.5" y="1306" width="64" height="64"/>
<object id="219" gid="105" x="6182" y="1301.5" width="64" height="64"/>
<object id="220" gid="105" x="5967" y="1021.5" width="64" height="64"/>
<object id="221" gid="105" x="6137" y="1011.5" width="64" height="64"/>
<object id="222" gid="105" x="6394" y="999.5" width="64" height="64"/>
<object id="223" gid="105" x="6636.5" y="975.5" width="64" height="64"/>
</objectgroup>
</group>
</map>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.11.0" orientation="orthogonal" renderorder="right-down" width="32" height="120" tilewidth="16" tileheight="16" infinite="0" nextlayerid="5" nextobjectid="1">
<map version="1.10" tiledversion="1.11.2" orientation="orthogonal" renderorder="right-down" width="32" height="192" tilewidth="16" tileheight="16" infinite="0" nextlayerid="5" nextobjectid="1">
<tileset firstgid="1" source="tiles16.tsx"/>
<layer id="1" name="solid" width="32" height="120">
<layer id="1" name="solid" width="32" height="192">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,29,0,0,0,0,0,0,0,0,0,0,0,0,30,32,
@ -20,12 +20,12 @@
11,11,11,23,25,26,0,0,0,0,27,28,24,11,11,11,0,0,0,0,0,0,75,60,59,74,0,0,0,0,0,0,
11,11,11,11,11,23,25,26,27,28,24,11,11,11,11,11,0,0,0,0,0,0,0,75,74,0,0,0,0,0,0,0,
2,3,3,3,3,3,3,4,72,73,11,11,11,11,11,11,11,11,11,11,11,11,70,71,2,3,3,3,3,3,3,4,
10,11,11,11,11,11,11,12,0,0,72,73,11,11,11,11,11,11,11,11,70,71,0,0,10,11,11,11,11,11,11,12,
10,11,11,11,11,11,11,12,0,0,0,0,72,73,11,11,11,11,70,71,0,0,0,0,10,11,11,11,11,11,11,12,
18,19,19,19,19,19,19,20,0,0,0,0,0,0,72,73,70,71,0,0,0,0,0,0,10,11,11,11,11,11,11,12,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,11,11,11,11,11,12,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,11,11,11,11,11,12,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,11,11,11,11,11,12,
10,11,11,11,11,11,11,12,0,0,72,73,11,11,11,11,11,11,11,11,70,71,0,0,10,53,51,51,51,51,54,12,
10,11,11,11,11,11,11,12,0,0,0,0,72,73,11,11,11,11,70,71,0,0,0,0,10,13,53,51,51,54,14,12,
18,19,19,19,19,19,19,20,0,0,0,0,0,0,72,73,70,71,0,0,0,0,0,0,10,13,13,11,11,14,14,12,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,13,13,11,11,14,14,12,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,13,55,52,52,56,14,12,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,55,52,52,52,52,56,12,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,19,19,19,19,19,20,
25,26,0,0,0,0,0,0,0,0,0,0,0,0,27,28,25,26,0,0,0,0,0,0,0,0,0,0,0,0,27,28,
11,23,25,26,0,0,0,0,0,0,0,0,27,28,24,11,11,23,25,26,0,0,0,0,0,0,0,0,27,28,11,11,
@ -115,17 +115,89 @@
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,3,3,3,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,3,3,3,3,0,0,0,0,0,0,0,0,
11,11,11,11,31,29,0,0,0,0,0,0,0,0,0,0,0,0,30,32,11,11,11,11,0,0,0,0,0,0,0,0,
11,11,11,11,11,31,29,0,0,0,0,0,0,0,0,0,0,30,32,11,11,11,11,11,0,0,0,0,0,0,0,0,
11,11,11,11,11,11,31,29,0,0,0,0,0,0,0,0,30,32,11,11,11,11,11,11,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,54,0,0,0,0,53,54,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,14,0,0,0,0,13,14,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,14,0,0,0,0,13,14,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,14,0,0,0,0,13,14,
3,3,3,3,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,3,3,3,3,13,14,0,0,0,0,13,14,
11,11,11,11,31,29,0,0,0,0,0,0,0,0,0,0,0,0,30,32,11,11,11,11,13,14,0,0,0,0,13,14,
11,11,11,11,11,31,29,0,0,0,0,0,0,0,0,0,0,30,32,11,11,11,11,11,13,14,0,0,0,0,13,14,
11,11,11,11,11,11,31,29,0,0,0,0,0,0,0,0,30,32,11,11,11,11,11,11,55,56,0,0,0,0,55,56,
263,264,265,0,0,0,0,0,263,264,265,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,94,95,3,3,3,4,
11,11,104,105,0,0,0,0,11,11,268,269,0,0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,12,
11,11,11,108,109,100,0,0,11,11,11,272,273,0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,12,
11,11,11,11,11,114,115,116,11,11,11,11,275,0,0,0,0,0,0,0,0,0,0,0,19,19,19,19,19,19,19,20,
11,11,11,11,11,11,11,11,11,11,11,11,180,181,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
11,11,11,11,11,11,11,11,11,11,11,11,11,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
11,11,11,11,11,11,11,11,11,11,11,11,11,11,200,201,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,204,205,206,207,0,0,0,0,0,0,0,0,0,0,0,0,0,
263,264,265,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,260,261,262,
11,11,104,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,107,11,11,
11,11,11,108,109,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,112,113,11,11,11,
11,11,11,11,11,114,115,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,118,119,11,11,11,11,11,
11,11,11,11,11,11,94,95,3,3,3,3,263,264,265,0,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,
11,53,51,51,51,54,11,53,51,51,51,51,54,11,104,105,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,
11,13,11,11,11,14,11,13,11,11,11,11,14,11,11,108,109,100,0,0,0,0,0,0,11,11,11,11,11,11,11,11,
11,55,52,52,52,56,11,55,52,52,52,52,56,11,11,11,11,114,115,116,0,0,0,0,11,11,11,11,11,11,11,11,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,260,261,262,3,3,3,3,96,97,11,11,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,107,11,11,10,11,11,11,11,11,11,11,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,112,113,11,11,11,10,11,11,11,11,11,11,11,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,118,119,11,11,11,11,11,18,19,19,19,19,19,19,19,
0,0,0,0,0,0,0,0,0,260,261,262,3,3,3,3,96,97,11,11,11,11,11,11,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,106,107,11,53,51,51,54,11,11,53,51,51,51,51,54,11,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,111,112,113,11,11,13,11,11,14,11,11,13,11,11,11,11,14,11,0,0,0,0,0,0,0,0,
0,0,0,0,117,118,119,11,11,11,11,55,52,52,56,11,11,55,52,52,52,52,56,11,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,260,261,262,96,97,11,11,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,107,11,11,11,11,11,11,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,112,113,11,11,11,11,11,11,11,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,118,119,11,11,11,11,11,11,11,11,11,
263,264,265,0,0,0,0,0,0,0,0,0,0,260,261,262,3,3,3,3,96,97,11,11,11,11,11,11,11,11,11,11,
11,11,104,105,0,0,0,0,0,0,0,0,106,107,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
11,11,11,108,109,100,0,0,0,0,111,112,113,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
11,11,11,11,11,114,115,116,117,118,119,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,3,3,3,3,4,53,54,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,11,11,11,11,11,12,13,14,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,10,11,11,11,11,11,11,12,13,14,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,27,28,24,11,10,11,19,19,19,19,19,20,13,14,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,27,28,24,11,11,11,13,14,0,0,0,0,0,0,13,14,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,27,28,24,11,11,11,11,11,13,14,0,0,0,0,0,0,13,14,0,0,0,0,0,0,
0,0,0,0,0,0,27,28,11,11,11,11,11,11,11,11,13,14,0,0,0,0,0,0,13,14,0,0,0,0,0,0,
0,0,0,0,27,28,24,11,11,11,11,11,11,11,11,11,13,14,0,0,0,0,0,0,55,56,0,0,0,0,0,0,
53,54,0,0,0,0,0,0,0,0,0,0,0,0,53,54,53,54,0,0,0,0,53,54,53,54,0,0,0,0,0,0,
13,14,0,0,0,0,0,0,0,0,0,0,0,0,13,14,13,14,0,0,0,0,13,14,13,14,0,0,0,0,0,0,
13,14,0,0,0,0,0,0,0,0,0,0,0,0,13,14,13,14,0,0,0,0,13,14,13,14,0,0,0,0,0,0,
55,56,0,0,0,0,0,0,0,0,0,0,0,0,13,14,13,14,0,0,0,0,55,56,13,14,0,0,0,0,0,0,
2,3,3,3,3,3,3,4,0,0,0,0,0,0,13,14,13,14,0,0,0,0,0,0,13,14,0,0,0,0,53,54,
10,11,11,11,11,11,11,12,0,0,0,0,0,0,13,14,13,14,0,0,0,0,0,0,13,14,0,0,0,0,13,14,
10,11,11,11,11,11,11,12,0,0,0,0,0,0,13,14,13,14,0,0,0,0,0,0,13,14,0,0,0,0,13,14,
18,19,19,19,19,19,19,20,0,0,0,0,0,0,55,56,55,56,0,0,0,0,0,0,55,56,0,0,0,0,55,56,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,54,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,14,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,14,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,14,
29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,30,3,3,3,3,0,0,0,0,0,0,13,14,
31,29,0,0,0,0,0,0,0,0,0,0,0,0,30,32,0,0,30,32,11,11,11,11,0,0,0,0,0,0,13,14,
11,31,29,0,0,0,0,0,0,0,0,0,0,30,32,11,0,30,32,11,11,11,11,11,0,0,0,0,0,0,13,14,
11,11,31,29,0,0,0,0,0,0,0,0,30,32,11,11,30,32,11,11,11,11,11,11,0,0,0,0,0,0,55,56,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,54,2,4,0,0,0,0,2,4,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,14,10,12,0,0,0,0,10,12,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,14,10,12,0,0,0,0,10,12,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,56,10,12,0,0,0,0,10,12,0,0,0,0,0,0,0,0,
0,0,0,0,53,54,0,0,0,0,0,0,0,0,0,0,10,12,0,0,0,0,10,12,53,54,0,0,0,0,0,0,
0,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,10,12,0,0,0,0,10,12,13,14,0,0,0,0,0,0,
0,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,10,12,0,0,0,0,10,12,13,14,0,0,0,0,0,0,
0,0,0,0,55,56,0,0,0,0,0,0,0,0,0,0,18,20,0,0,0,0,18,20,55,56,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,2,3,3,4,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,11,12,10,11,11,12,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,11,12,10,11,11,12,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,11,12,10,11,11,12,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,11,11,12,10,11,11,15,3,3,3,4,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,11,11,12,10,11,11,7,19,19,19,20,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,11,12,10,11,11,12,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,19,20,18,19,19,20,0,0,0,0
</data>
</layer>
<layer id="2" name="oneway" width="32" height="120" opacity="0.9">
<layer id="2" name="oneway" width="32" height="192" opacity="0.9">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@ -246,10 +318,82 @@
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,2,3,3,3,3,3,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,3,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
<layer id="3" name="none" width="32" height="120" opacity="0.5">
<layer id="3" name="none" width="32" height="192" opacity="0.5">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@ -370,10 +514,82 @@
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,18,19,19,19,19,19,19,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
19,19,19,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,18,19,19,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
<layer id="4" name="front" width="32" height="120">
<layer id="4" name="front" width="32" height="192" opacity="0.47">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@ -494,6 +710,78 @@
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,51,51,54,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,11,11,14,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,11,11,14,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,11,11,14,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,11,11,14,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,52,52,56,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>

View file

@ -103,12 +103,20 @@
</tile>
<tile id="22">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
<object id="1" x="0" y="0" width="16" height="16">
<properties>
<property name="floor_angle" value="0xef3"/>
</properties>
</object>
</objectgroup>
</tile>
<tile id="23">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
<object id="1" x="0" y="0" width="16" height="16">
<properties>
<property name="floor_angle" value="0x10c"/>
</properties>
</object>
</objectgroup>
</tile>
<tile id="24">
@ -155,12 +163,20 @@
</tile>
<tile id="30">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
<object id="1" x="0" y="0" width="16" height="16">
<properties>
<property name="floor_angle" value="0xe2b"/>
</properties>
</object>
</objectgroup>
</tile>
<tile id="31">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
<object id="1" x="0" y="0" width="16" height="16">
<properties>
<property name="floor_angle" value="0x1ea"/>
</properties>
</object>
</objectgroup>
</tile>
<tile id="32">
@ -590,6 +606,13 @@
</object>
</objectgroup>
</tile>
<tile id="103">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<polygon points="0,0 7.90909,-0.0909091 16,5.27273 16,16 0,16"/>
</object>
</objectgroup>
</tile>
<tile id="104">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="6.1875">
@ -599,21 +622,31 @@
</tile>
<tile id="105">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="16">
<polygon points="0,0 15.9375,-9.875 16,0"/>
<object id="2" x="0" y="16">
<properties>
<property name="floor_angle" value="0x16c"/>
</properties>
<polygon points="0,0 15.9091,-10 16,0"/>
</object>
</objectgroup>
</tile>
<tile id="106">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="6.125">
<properties>
<property name="floor_angle" value="0x16c"/>
</properties>
<polygon points="0,0 8.8125,-6 16,-6.125 16,9.875 0,9.875"/>
</object>
</objectgroup>
</tile>
<tile id="107">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
<object id="1" x="0" y="0" width="16" height="16">
<properties>
<property name="floor_angle" value="0xe93"/>
</properties>
</object>
</objectgroup>
</tile>
<tile id="108">
@ -633,25 +666,38 @@
<tile id="110">
<objectgroup draworder="index" id="2">
<object id="1" x="7.8125" y="15.9375">
<properties>
<property name="floor_angle" value="0x16c"/>
</properties>
<polygon points="0,0 8.125,-4.8125 8.1875,0.0625"/>
</object>
</objectgroup>
</tile>
<tile id="111">
<objectgroup draworder="index" id="2">
<object id="1" x="0.0625" y="11.5">
<polygon points="0,0 15.75,-10.375 15.9375,4.5 -0.0625,4.5"/>
<object id="2" x="0.0909091" y="11.1818">
<properties>
<property name="floor_angle" value="0x16c"/>
</properties>
<polygon points="0,0 15.9091,-11.1818 15.9091,4.81818 -0.0909091,4.81818"/>
</object>
</objectgroup>
</tile>
<tile id="112">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
<object id="1" x="0" y="0" width="16" height="16">
<properties>
<property name="floor_angle" value="0x16c"/>
</properties>
</object>
</objectgroup>
</tile>
<tile id="113">
<objectgroup draworder="index" id="2">
<object id="1" x="0.0625" y="0.0625">
<properties>
<property name="floor_angle" value="0xe93"/>
</properties>
<polygon points="0,0 8.6875,0 15.875,4.4375 15.9375,15.9375 -0.0625,15.9375"/>
</object>
</objectgroup>
@ -687,6 +733,9 @@
<tile id="118">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="4.75">
<properties>
<property name="floor_angle" value="0x16c"/>
</properties>
<polygon points="0,0 8.4375,-4.625 16,-4.75 16,11.25 0,11.25"/>
</object>
</objectgroup>
@ -1617,22 +1666,22 @@
</tile>
<tile id="259">
<objectgroup draworder="index" id="2">
<object id="1" x="7.875" y="15.9375">
<polygon points="0,0 8.1875,-4.9375 8.125,0.0625"/>
<object id="2" x="16" y="11">
<polygon points="0,0 -7.75,4.8125 0.1875,4.875"/>
</object>
</objectgroup>
</tile>
<tile id="260">
<objectgroup draworder="index" id="2">
<object id="1" x="0.125" y="10.3125">
<polygon points="0,0 10.0625,-4.375 15.875,-6.1875 15.875,5.6875 -0.125,5.6875"/>
<object id="2" x="16" y="4">
<polygon points="0,0 -15.8125,6 -16.0625,11.875 -0.0625,11.875"/>
</object>
</objectgroup>
</tile>
<tile id="261">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="4.25">
<polygon points="0,0 8.1875,-3.25 16,-3.25 16,11.75 0,11.75"/>
<object id="2" x="16" y="1">
<polygon points="0,0 -7.8125,-0.0625 -15.8125,3.0625 -15.9375,14.875 0.0625,14.875"/>
</object>
</objectgroup>
</tile>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 410 KiB

After

Width:  |  Height:  |  Size: 414 KiB

Before After
Before After

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.11.0" orientation="orthogonal" renderorder="right-down" width="255" height="31" tilewidth="128" tileheight="128" infinite="0" nextlayerid="5" nextobjectid="161">
<map version="1.10" tiledversion="1.11.1" orientation="orthogonal" renderorder="right-down" width="255" height="31" tilewidth="128" tileheight="128" infinite="0" nextlayerid="5" nextobjectid="161">
<tileset firstgid="1" source="128x128.tsx"/>
<tileset firstgid="73" source="../COMMON/objects_common.tsx"/>
<layer id="1" name="LAYER0" width="255" height="31">
@ -9,7 +9,7 @@
9,0,0,9,0,0,9,0,0,0,0,0,25,28,27,0,14,14,15,4,4,32,14,14,31,4,4,13,0,15,4,32,31,4,4,32,0,0,9,0,0,0,2,2,0,0,2,2,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
9,0,0,9,0,0,9,0,0,0,0,0,0,0,0,25,29,30,56,4,21,41,0,0,0,9,9,0,0,0,9,0,0,3,3,5,6,23,9,0,0,0,16,16,0,0,16,16,16,16,0,0,16,25,29,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,8,8,3,5,6,9,7,7,7,18,19,20,7,18,30,24,20,56,4,21,41,25,28,27,9,9,0,22,22,4,32,31,9,9,2,2,2,17,32,34,35,0,0,0,34,35,0,0,34,35,7,7,18,30,0,0,25,26,27,25,26,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,2,2,2,2,2,17,16,16,17,13,0,15,17,13,0,14,15,4,4,4,0,0,24,20,9,9,25,26,27,21,0,0,9,9,29,29,29,29,27,37,38,8,41,23,36,38,8,41,36,38,17,17,13,23,0,0,8,0,25,26,27,7,7,7,49,50,51,7,18,19,20,18,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,2,2,2,2,2,17,16,16,17,13,0,15,17,13,0,14,15,4,4,4,0,0,24,20,9,9,25,26,27,21,0,0,9,9,29,29,29,29,27,37,38,8,41,59,60,38,8,41,36,38,17,17,13,23,0,0,8,0,25,26,27,7,7,7,49,50,51,7,18,19,20,18,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,2,2,2,2,2,2,0,0,2,8,8,8,2,8,8,5,6,9,9,9,25,29,27,15,4,21,22,14,15,4,49,51,9,9,0,0,0,0,0,0,0,9,0,0,0,0,9,0,0,0,9,9,25,27,15,4,2,39,40,5,6,17,17,17,32,31,17,17,13,0,15,17,39,40,5,6,18,19,26,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,17,17,17,0,0,0,0,17,17,32,16,31,17,32,31,17,17,5,6,0,0,0,0,0,9,0,0,0,0,9,0,0,0,9,9,25,28,27,9,2,2,2,2,2,2,2,2,0,52,2,2,0,0,0,2,2,2,2,2,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,8,2,2,41,12,42,2,0,0,2,2,2,2,2,2,32,34,35,9,0,0,0,0,9,0,0,0,9,9,25,29,27,9,19,29,9,19,20,9,29,29,19,20,2,2,0,0,0,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.11.0" orientation="orthogonal" renderorder="right-down" width="32" height="144" tilewidth="16" tileheight="16" infinite="0" nextlayerid="5" nextobjectid="1">
<map version="1.10" tiledversion="1.11.1" orientation="orthogonal" renderorder="right-down" width="32" height="144" tilewidth="16" tileheight="16" infinite="0" nextlayerid="5" nextobjectid="1">
<tileset firstgid="1" source="tiles16.tsx"/>
<layer id="1" name="solid" width="32" height="144">
<data encoding="csv">
@ -115,14 +115,14 @@
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
246,247,246,247,246,247,246,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
259,260,259,260,259,260,259,260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,27,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,249,250,
0,0,0,0,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,261,262,263,
0,0,0,0,0,0,0,27,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,261,
0,0,0,0,0,0,44,45,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,61,62,63,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,76,77,78,79,80,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,93,94,95,96,78,98,99,100,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,0,0,0,0,0,102,0,0,0,0,0,0,0,0,0,0,0,
0,114,115,116,117,118,119,120,121,122,123,124,125,126,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@ -267,7 +267,7 @@
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

View file

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.11.0" orientation="orthogonal" renderorder="right-down" width="255" height="31" tilewidth="128" tileheight="128" infinite="0" nextlayerid="4" nextobjectid="195">
<map version="1.10" tiledversion="1.11.2" orientation="orthogonal" renderorder="right-down" width="255" height="31" tilewidth="128" tileheight="128" infinite="0" nextlayerid="4" nextobjectid="197">
<tileset firstgid="1" source="128x128.tsx"/>
<tileset firstgid="85" source="../COMMON/objects_common.tsx"/>
<layer id="1" name="LAYER0" width="255" height="31">
<data encoding="csv">
36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,78,63,63,63,66,0,0,0,0,0,0,0,0,0,0,76,76,76,76,5,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
36,0,0,0,0,0,16,3,3,3,3,3,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,2,45,46,5,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,69,76,0,0,0,21,22,76,16,17,61,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,75,14,75,5,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
36,0,0,0,0,0,58,0,20,0,0,20,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
36,0,0,0,0,0,19,3,19,3,3,19,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,78,63,63,63,66,0,0,0,0,0,0,0,0,0,0,76,76,76,76,5,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
36,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,2,45,46,5,2,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,69,76,0,0,0,21,22,76,16,17,61,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,75,14,75,5,2,2,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
36,0,0,0,0,0,2,4,45,50,46,2,4,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,8,44,14,14,14,14,51,49,2,2,2,36,0,0,0,0,0,0,0,0,0,0,0,70,54,54,54,54,63,23,3,4,4,19,79,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,63,63,63,63,63,63,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
36,20,0,8,0,8,10,76,66,66,66,76,10,16,22,8,0,24,27,26,0,0,0,0,0,0,0,0,3,4,2,2,2,2,4,40,2,2,4,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,67,66,66,66,66,66,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
34,19,17,37,3,3,3,3,0,76,12,3,3,2,23,3,3,28,25,3,6,0,0,0,0,0,0,0,30,31,31,47,32,32,33,0,10,0,10,0,21,9,57,18,17,58,16,22,0,0,0,0,0,58,59,64,22,9,76,76,0,0,0,0,0,76,0,16,17,65,73,0,73,0,0,0,0,0,74,15,15,15,74,15,15,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@ -64,7 +64,6 @@
<object id="14" gid="90" x="2992" y="848" width="64" height="64"/>
<object id="15" gid="2147483739" x="3536" y="539" width="64" height="64"/>
<object id="16" gid="89" x="4544" y="976" width="64" height="64" rotation="90"/>
<object id="17" gid="90" x="5424" y="1408" width="64" height="64"/>
<object id="18" gid="86" x="5425" y="1408" width="64" height="64">
<properties>
<property name="Kind" value="1UP"/>
@ -178,7 +177,6 @@
</properties>
</object>
<object id="166" gid="93" x="7454" y="960" width="64" height="64"/>
<object id="167" gid="95" x="7215" y="992" width="64" height="64"/>
<object id="168" gid="95" x="7215" y="1192" width="64" height="64"/>
<object id="169" gid="87" x="9007" y="1248" width="64" height="64"/>
<object id="170" gid="87" x="9039" y="1248" width="64" height="64"/>
@ -210,6 +208,8 @@
<object id="190" gid="88" x="2380" y="512" width="64" height="64"/>
<object id="192" gid="88" x="5421" y="672" width="64" height="64"/>
<object id="193" gid="88" x="7278" y="288" width="64" height="64"/>
<object id="195" gid="89" x="5424" y="1408" width="64" height="64"/>
<object id="196" gid="85" x="7215" y="968" width="64" height="64"/>
</objectgroup>
</group>
</map>

View file

@ -4,16 +4,16 @@
<tileset firstgid="85" source="../COMMON/objects_common.tsx"/>
<layer id="1" name="LAYER0" width="255" height="31">
<data encoding="csv">
7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,0,15,25,2,5,2,5,2,5,0,0,0,0,0,0,0,0,0,0,0,64,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,63,28,7,27,26,27,26,27,41,0,0,0,0,0,0,0,0,0,0,0,71,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,66,42,7,26,27,26,26,26,34,0,0,0,0,0,0,0,0,0,0,0,2,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,74,20,40,27,27,27,26,27,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,5,2,5,2,5,2,5,2,5,2,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,34,24,23,33,34,19,24,40,41,23,7,48,0,0,78,0,78,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,0,15,25,2,5,2,5,2,5,11,0,78,78,0,0,78,0,0,78,0,64,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,63,28,7,27,26,27,26,27,41,17,22,22,22,25,22,25,22,22,22,12,71,73,10,69,68,3,4,0,0,0,0,0,0,0,0,0,0,0,0,64,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,66,42,7,26,27,26,26,26,34,20,0,0,0,20,0,20,0,0,0,80,2,5,16,38,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,74,20,40,27,27,27,26,27,41,19,0,0,0,19,0,19,0,0,0,0,23,24,19,24,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,5,2,5,2,5,2,5,2,5,2,69,0,0,20,0,20,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,34,24,23,33,34,19,24,40,41,23,7,48,0,19,78,19,78,0,0,0,0,78,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,34,0,0,40,41,20,0,33,34,0,7,0,15,25,25,25,25,25,0,15,25,25,25,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,41,0,0,33,34,19,0,40,41,0,7,0,28,23,24,23,24,14,0,28,23,24,23,17,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
6,34,0,0,40,41,20,0,33,34,0,7,25,25,11,0,0,0,21,0,28,0,0,0,24,17,2,31,32,78,0,0,0,0,15,25,18,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

View file

@ -952,6 +952,10 @@
<tile id="340">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0xa00"/>
<property name="lwall_angle" value="0xa00"/>
</properties>
<polygon points="0,0 16,0 16,13.0435 11.1304,16 0,16"/>
</object>
</objectgroup>
@ -959,6 +963,10 @@
<tile id="341">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0x955"/>
<property name="lwall_angle" value="0x955"/>
</properties>
<polygon points="0,0 16,0 16,6.04348 0.0869565,12.9565"/>
</object>
</objectgroup>
@ -966,6 +974,10 @@
<tile id="342">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0x888"/>
<property name="lwall_angle" value="0x888"/>
</properties>
<polygon points="0,0 16,0 16,2.08696 0.0434783,6"/>
</object>
</objectgroup>
@ -973,6 +985,10 @@
<tile id="343">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0x822"/>
<property name="lwall_angle" value="0x822"/>
</properties>
<polygon points="0,0 16,0 0.0434783,2"/>
</object>
</objectgroup>
@ -985,6 +1001,10 @@
<tile id="345">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0xa00"/>
<property name="lwall_angle" value="0xa00"/>
</properties>
<polygon points="0,0 16,0 16.0435,9.04348 9.04348,16.0435 0,16"/>
</object>
</objectgroup>
@ -992,6 +1012,10 @@
<tile id="346">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0xa00"/>
<property name="lwall_angle" value="0xa00"/>
</properties>
<polygon points="0,0 11,0.0434783 0,9.17391"/>
</object>
</objectgroup>
@ -999,6 +1023,10 @@
<tile id="347">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0xa00"/>
<property name="lwall_angle" value="0xa00"/>
</properties>
<polygon points="0,0 16,0 16.0435,10.913 13.087,15.9565 0,16"/>
</object>
</objectgroup>
@ -1006,6 +1034,10 @@
<tile id="348">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0xa00"/>
<property name="lwall_angle" value="0xa00"/>
</properties>
<polygon points="0,0 8.86957,0 0.0434783,11.0435"/>
</object>
</objectgroup>
@ -1013,6 +1045,10 @@
<tile id="349">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0xaaa"/>
<property name="lwall_angle" value="0xaaa"/>
</properties>
<polygon points="0,0 13,0.0434783 6.08696,16 0,16"/>
</object>
</objectgroup>
@ -1020,6 +1056,10 @@
<tile id="350">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0xb77"/>
<property name="lwall_angle" value="0xb77"/>
</properties>
<polygon points="0,0 5.95652,0.0434783 2.13043,15.913 0,16"/>
</object>
</objectgroup>
@ -1027,6 +1067,10 @@
<tile id="351">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0xbdd"/>
<property name="lwall_angle" value="0xbdd"/>
</properties>
<polygon points="0,0 2,0.0869565 0,16"/>
</object>
</objectgroup>
@ -1034,6 +1078,10 @@
<tile id="352">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0x7dd"/>
<property name="rwall_angle" value="0x7dd"/>
</properties>
<polygon points="0,0 16,0 16.0435,2"/>
</object>
</objectgroup>
@ -1041,6 +1089,10 @@
<tile id="353">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0x777"/>
<property name="rwall_angle" value="0x777"/>
</properties>
<polygon points="0,0 16,0 16.087,5.95652 0.0434783,2.04348"/>
</object>
</objectgroup>
@ -1048,6 +1100,10 @@
<tile id="354">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0x6aa"/>
<property name="rwall_angle" value="0x6aa"/>
</properties>
<polygon points="0,0 16,0 16.0435,12.913 0,6.08696"/>
</object>
</objectgroup>
@ -1055,6 +1111,10 @@
<tile id="355">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0x600"/>
<property name="rwall_angle" value="0x600"/>
</properties>
<polygon points="0,0 16,0 16,16 3.04348,15.913 0,13.087"/>
</object>
</objectgroup>
@ -1072,6 +1132,10 @@
<tile id="358">
<objectgroup draworder="index" id="2">
<object id="1" x="3.17391" y="0.0434783">
<properties>
<property name="ceil_angle" value="0x600"/>
<property name="rwall_angle" value="0x600"/>
</properties>
<polygon points="0,0 12.8261,-0.0434783 12.8261,8.86957"/>
</object>
</objectgroup>
@ -1079,6 +1143,10 @@
<tile id="359">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0x600"/>
<property name="rwall_angle" value="0x600"/>
</properties>
<polygon points="0,0 16,0 16,16 6.04348,16.0435 0,9"/>
</object>
</objectgroup>
@ -1086,6 +1154,10 @@
<tile id="361">
<objectgroup draworder="index" id="2">
<object id="1" x="6.30435" y="0.0869565">
<properties>
<property name="ceil_angle" value="0x600"/>
<property name="rwall_angle" value="0x600"/>
</properties>
<polygon points="0,0 9.69565,-0.0869565 9.73913,10.8696"/>
</object>
</objectgroup>
@ -1093,6 +1165,10 @@
<tile id="362">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="ceil_angle" value="0x600"/>
<property name="rwall_angle" value="0x600"/>
</properties>
<polygon points="0,0 16,0 16,16 2.04348,16 0.0434783,11.0435"/>
</object>
</objectgroup>
@ -1100,6 +1176,10 @@
<tile id="363">
<objectgroup draworder="index" id="2">
<object id="1" x="2.08696" y="0.0869565">
<properties>
<property name="ceil_angle" value="0x555"/>
<property name="rwall_angle" value="0x555"/>
</properties>
<polygon points="0,0 13.913,-0.0869565 13.913,15.913 6.91304,15.8261"/>
</object>
</objectgroup>
@ -1107,6 +1187,10 @@
<tile id="364">
<objectgroup draworder="index" id="2">
<object id="1" x="8.86957" y="0">
<properties>
<property name="ceil_angle" value="0x488"/>
<property name="rwall_angle" value="0x488"/>
</properties>
<polygon points="0,0 7.13043,0 7.13043,16 4.13043,15.9565"/>
</object>
</objectgroup>
@ -1114,6 +1198,10 @@
<tile id="365">
<objectgroup draworder="index" id="2">
<object id="1" x="12.7826" y="0.0434783">
<properties>
<property name="ceil_angle" value="0x422"/>
<property name="rwall_angle" value="0x422"/>
</properties>
<polygon points="0,0 3.21739,-0.0434783 3.21739,15.9565"/>
</object>
</objectgroup>
@ -1121,6 +1209,10 @@
<tile id="429">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="floor_angle" value="0xc22"/>
<property name="lwall_angle" value="0xc22"/>
</properties>
<polygon points="0,0 1.95652,15.8261 0,16"/>
</object>
</objectgroup>
@ -1128,6 +1220,10 @@
<tile id="430">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="floor_angle" value="0xc88"/>
<property name="lwall_angle" value="0xc88"/>
</properties>
<polygon points="0,0 2.30435,0.0434783 5.91304,15.7826 0,16"/>
</object>
</objectgroup>
@ -1135,6 +1231,10 @@
<tile id="431">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="floor_angle" value="0xd55"/>
<property name="lwall_angle" value="0xd55"/>
</properties>
<polygon points="0,0 6.04348,0.0434783 12.9565,15.913 0,16"/>
</object>
</objectgroup>
@ -1142,6 +1242,10 @@
<tile id="432">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="floor_angle" value="0xe00"/>
<property name="lwall_angle" value="0xe00"/>
</properties>
<polygon points="0,0 12.913,0 16,5.08696 16,16 0,16"/>
</object>
</objectgroup>
@ -1149,6 +1253,10 @@
<tile id="433">
<objectgroup draworder="index" id="2">
<object id="1" x="0.0869565" y="4.95652">
<properties>
<property name="floor_angle" value="0xe00"/>
<property name="lwall_angle" value="0xe00"/>
</properties>
<polygon points="0,0 8.86957,11.0435 -0.0869565,11.0435"/>
</object>
</objectgroup>
@ -1161,6 +1269,10 @@
<tile id="435">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="floor_angle" value="0xe00"/>
<property name="lwall_angle" value="0xe00"/>
</properties>
<polygon points="0,0 8.91304,0.0869565 15.9565,6.91304 16,16 0,16"/>
</object>
</objectgroup>
@ -1168,6 +1280,10 @@
<tile id="436">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="7">
<properties>
<property name="floor_angle" value="0xe00"/>
<property name="lwall_angle" value="0xe00"/>
</properties>
<polygon points="0,0 11,8.95652 0,9"/>
</object>
</objectgroup>
@ -1175,6 +1291,10 @@
<tile id="437">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<properties>
<property name="floor_angle" value="0xe00"/>
<property name="lwall_angle" value="0xe00"/>
</properties>
<polygon points="0,0 10.9565,0 15.9565,2.95652 16,16 0,16"/>
</object>
</objectgroup>
@ -1182,6 +1302,10 @@
<tile id="438">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="2.91304">
<properties>
<property name="floor_angle" value="0xeaa"/>
<property name="lwall_angle" value="0xeaa"/>
</properties>
<polygon points="0,0 15.913,7 16,13.087 0,13.087"/>
</object>
</objectgroup>
@ -1189,6 +1313,10 @@
<tile id="439">
<objectgroup draworder="index" id="2">
<object id="1" x="0.130435" y="9.91304">
<properties>
<property name="floor_angle" value="0xf77"/>
<property name="lwall_angle" value="0xf77"/>
</properties>
<polygon points="0,0 15.8696,3.04348 15.8696,6.08696 -0.130435,6.08696"/>
</object>
</objectgroup>
@ -1196,6 +1324,10 @@
<tile id="440">
<objectgroup draworder="index" id="2">
<object id="1" x="0.0434783" y="13.3478">
<properties>
<property name="floor_angle" value="0xfdd"/>
<property name="lwall_angle" value="0xfdd"/>
</properties>
<polygon points="0,0 15.9565,2.65217 -0.0434783,2.65217"/>
</object>
</objectgroup>
@ -1203,6 +1335,10 @@
<tile id="441">
<objectgroup draworder="index" id="2">
<object id="1" x="16" y="0">
<properties>
<property name="floor_angle" value="0x3dd"/>
<property name="rwall_angle" value="0x3dd"/>
</properties>
<polygon points="0,0 0,16 -2.08696,16.0435"/>
</object>
</objectgroup>
@ -1210,6 +1346,10 @@
<tile id="442">
<objectgroup draworder="index" id="2">
<object id="1" x="16" y="0">
<properties>
<property name="floor_angle" value="0x377"/>
<property name="rwall_angle" value="0x377"/>
</properties>
<polygon points="0,0 0,16 -6,16.0435 -2,0.0434783"/>
</object>
</objectgroup>
@ -1217,6 +1357,10 @@
<tile id="443">
<objectgroup draworder="index" id="2">
<object id="1" x="16" y="0">
<properties>
<property name="floor_angle" value="0x2aa"/>
<property name="rwall_angle" value="0x2aa"/>
</properties>
<polygon points="0,0 0,16 -13.0435,15.913 -6,0"/>
</object>
</objectgroup>
@ -1224,6 +1368,10 @@
<tile id="444">
<objectgroup draworder="index" id="2">
<object id="2" x="15.9565" y="4.95652">
<properties>
<property name="floor_angle" value="0x200"/>
<property name="rwall_angle" value="0x200"/>
</properties>
<polygon points="0,0 0.0434783,11.0435 -8.95652,10.9565"/>
</object>
</objectgroup>
@ -1231,6 +1379,10 @@
<tile id="445">
<objectgroup draworder="index" id="2">
<object id="2" x="3.04348" y="-0.0434783">
<properties>
<property name="floor_angle" value="0x200"/>
<property name="rwall_angle" value="0x200"/>
</properties>
<polygon points="0,0 12.9565,0.0434783 12.9565,16.0435 -3.04348,16.0435 -3,4.26087"/>
</object>
</objectgroup>
@ -1238,6 +1390,10 @@
<tile id="446">
<objectgroup draworder="index" id="2">
<object id="1" x="16.0435" y="7.04348">
<properties>
<property name="floor_angle" value="0x200"/>
<property name="rwall_angle" value="0x200"/>
</properties>
<polygon points="0,0 -0.0434783,8.95652 -11.0435,8.91304"/>
</object>
</objectgroup>
@ -1245,6 +1401,10 @@
<tile id="447">
<objectgroup draworder="index" id="3">
<object id="2" x="6.6087" y="0">
<properties>
<property name="floor_angle" value="0x200"/>
<property name="rwall_angle" value="0x200"/>
</properties>
<polygon points="0,0 9.3913,0 9.3913,16 -6.6087,16 -6.56522,6.95652"/>
</object>
</objectgroup>
@ -1257,6 +1417,10 @@
<tile id="449">
<objectgroup draworder="index" id="2">
<object id="1" x="16.0435" y="13.8696">
<properties>
<property name="floor_angle" value="0x022"/>
<property name="rwall_angle" value="0x022"/>
</properties>
<polygon points="0,0 -0.0434783,2.13043 -16.0435,2.13043"/>
</object>
</objectgroup>
@ -1264,6 +1428,10 @@
<tile id="450">
<objectgroup draworder="index" id="2">
<object id="1" x="16" y="9.91304">
<properties>
<property name="floor_angle" value="0x088"/>
<property name="rwall_angle" value="0x088"/>
</properties>
<polygon points="0,0 0,6.08696 -16,6.08696 -16,3.95652"/>
</object>
</objectgroup>
@ -1271,6 +1439,10 @@
<tile id="451">
<objectgroup draworder="index" id="3">
<object id="2" x="16" y="2.95652">
<properties>
<property name="floor_angle" value="0x155"/>
<property name="rwall_angle" value="0x155"/>
</properties>
<polygon points="0,0 0,13.0435 -16,13.0435 -15.9565,6.95652"/>
</object>
</objectgroup>
@ -1278,6 +1450,10 @@
<tile id="452">
<objectgroup draworder="index" id="2">
<object id="1" x="4.69565" y="0">
<properties>
<property name="floor_angle" value="0x200"/>
<property name="rwall_angle" value="0x200"/>
</properties>
<polygon points="0,0 11.3043,0 11.3043,16 -4.69565,16 -4.65217,2.82609"/>
</object>
</objectgroup>

BIN
assets/levels/R9/128.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.10" tiledversion="1.11.1" name="128x128" tilewidth="128" tileheight="128" tilecount="84" columns="4">
<image source="128.png" width="512" height="2688"/>
</tileset>

BIN
assets/levels/R9/16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
assets/levels/R9/8x8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
assets/levels/R9/BG0.TIM Normal file

Binary file not shown.

BIN
assets/levels/R9/BG0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
assets/levels/R9/BG1.TIM Normal file

Binary file not shown.

BIN
assets/levels/R9/BG1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
assets/levels/R9/TILES.TIM Normal file

Binary file not shown.

50
assets/levels/R9/Z1.tmx Normal file
View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.11.1" orientation="orthogonal" renderorder="right-down" width="255" height="31" tilewidth="128" tileheight="128" infinite="0" nextlayerid="4" nextobjectid="10">
<tileset firstgid="1" source="128x128.tsx"/>
<tileset firstgid="85" source="../COMMON/objects_common.tsx"/>
<layer id="1" name="LAYER0" width="255" height="31">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
5,0,6,18,19,20,0,0,0,0,0,0,0,17,0,28,5,25,31,32,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
4,3,4,22,23,24,10,11,12,13,9,14,15,16,8,26,27,29,30,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
<group id="2" name="OBJECTS">
<objectgroup id="3" name="COMMON">
<object id="4" gid="97" x="28.8331" y="3839.67" width="64" height="64"/>
<object id="5" gid="93" x="280.833" y="3837.67" width="64" height="64"/>
<object id="6" gid="93" x="648.167" y="3842.33" width="64" height="64"/>
<object id="7" gid="90" x="2016" y="3920" width="64" height="64" rotation="-90"/>
<object id="8" gid="89" x="2256" y="3872" width="64" height="64"/>
<object id="9" gid="95" x="2255" y="3824" width="64" height="64"/>
</objectgroup>
</group>
</map>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,113 @@
[clouds1]
u0 = 0
v0 = 256
width = 256
height = 41
single = false
scrollx = 0.07
speedx = 0.07
y0 = 0
[clouds2]
u0 = 0
v0 = 256
width = 256
height = 41
single = false
scrollx = 0.072
speedx = 0.072
y0 = 41
# ===========
[high_city]
u0 = 0
v0 = 144
width = 256
height = 80
single = false
scrollx = 0.05
speedx = 0.0
y0 = 25
[water_surface]
u0 = 0
v0 = 224
width = 256
height = 8
single = false
scrollx = 0.055
speedx = 0.0
y0 = 105
[water1]
u0 = 0
v0 = 232
width = 256
height = 8
single = false
scrollx = 0.06
speedx = 0.06
y0 = 113
[water2]
u0 = 0
v0 = 239
width = 256
height = 10
single = false
scrollx = 0.07
speedx = 0.07
y0 = 121
[water3]
u0 = 0
v0 = 239
width = 256
height = 10
single = false
scrollx = 0.08
speedx = 0.08
y0 = 131
[water4]
u0 = 0
v0 = 239
width = 256
height = 10
single = false
scrollx = 0.09
speedx = 0.09
y0 = 141
# =========
[city1]
u0 = 0
v0 = 0
width = 256
height = 64
single = false
scrollx = 0.1
speedx = 0.0
y0 = 96
[city2]
u0 = 0
v0 = 0
width = 128
height = 64
single = false
scrollx = 0.12
speedx = 0.0
y0 = 120
[city3]
u0 = 0
v0 = 64
width = 256
height = 80
single = false
scrollx = 0.14
speedx = 0.0
y0 = 160

View file

@ -0,0 +1,692 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.11.1" orientation="orthogonal" renderorder="right-down" width="32" height="168" tilewidth="16" tileheight="16" infinite="0" nextlayerid="5" nextobjectid="1">
<tileset firstgid="1" source="tiles16.tsx"/>
<layer id="1" name="solid" width="32" height="168">
<data encoding="csv">
0,0,0,0,0,0,0,0,4,3,2,2,2,2,3,4,0,0,0,0,0,0,0,0,13,53,53,53,53,53,53,13,
0,0,0,0,0,0,0,0,4,3,2,2,2,2,3,4,0,0,0,0,0,0,0,0,113,33,73,73,73,73,33,113,
0,0,0,0,0,0,0,0,4,3,2,2,2,2,3,4,0,0,0,0,0,0,0,0,4,2,321,321,321,321,2,4,
0,0,0,0,0,0,0,0,4,3,2,2,2,2,3,4,0,0,0,0,0,0,0,0,4,2,321,321,321,321,2,4,
0,0,0,0,0,0,0,0,4,3,2,2,2,2,3,4,13,53,53,53,53,53,53,13,4,2,321,321,321,321,2,4,
0,0,0,0,0,0,0,0,4,3,2,2,2,2,3,4,113,33,73,73,73,73,33,113,4,2,321,321,321,321,2,4,
0,0,0,0,0,0,0,0,4,3,2,2,2,2,3,4,4,2,321,321,321,321,2,4,4,2,321,321,321,321,2,4,
0,0,0,0,0,0,0,0,4,3,2,2,2,2,3,4,4,2,321,321,321,321,2,4,4,2,321,321,321,321,2,4,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,321,321,321,321,2,4,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,321,321,321,321,2,4,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,321,321,321,321,2,4,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,321,321,321,321,2,4,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,321,321,321,321,2,4,7,8,83,101,102,102,102,103,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,321,321,321,321,2,4,101,102,103,121,146,122,146,123,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,321,321,321,321,2,4,121,128,123,121,166,122,166,123,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,321,321,321,321,2,4,121,148,123,121,122,122,122,123,
0,0,0,0,0,0,0,0,25,26,27,28,29,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,45,46,47,48,49,81,82,83,50,163,164,165,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,2,2,2,68,71,121,122,123,46,47,48,185,81,82,82,83,82,81,82,83,7,8,81,83,
0,0,0,0,0,0,0,0,2,310,311,2,2,121,122,123,2,2,2,121,121,122,122,123,122,121,146,123,122,122,121,123,
0,0,0,0,0,0,0,0,2,2,2,2,2,121,122,123,2,2,2,121,121,122,122,123,122,121,166,123,122,122,121,123,
0,0,0,0,0,0,0,0,2,2,2,2,2,121,122,123,2,2,2,121,121,122,122,123,122,121,122,123,149,150,121,123,
0,0,0,0,0,0,0,0,2,2,2,2,2,121,122,123,2,2,2,121,121,122,122,123,122,121,128,123,122,122,121,123,
0,0,0,0,0,0,0,0,2,2,2,2,2,121,122,123,2,2,2,121,121,122,122,123,122,121,148,123,122,122,121,123,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
25,26,27,28,29,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
45,46,47,48,49,81,82,83,50,163,164,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,2,2,68,71,121,122,123,46,47,48,185,81,82,82,83,13,53,53,53,53,53,53,53,53,53,53,53,53,53,53,13,
2,2,2,2,2,121,122,123,2,2,2,121,121,122,122,123,113,33,73,73,73,73,73,73,73,73,73,73,73,73,33,113,
2,2,2,2,2,121,122,123,2,2,2,121,121,122,122,123,4,2,321,321,321,321,321,321,321,321,321,321,321,321,2,4,
2,2,2,2,2,121,122,123,2,2,2,121,121,122,122,123,4,2,321,321,321,321,321,321,321,321,321,321,321,321,2,4,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,173,174,191,7,8,13,13,13,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,172,173,174,191,192,193,194,206,43,43,73,73,113,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,81,83,192,193,194,310,311,3,3,3,2,2,321,2,4,14,14,14,14,13,13,13,13,13,
0,0,0,0,0,0,0,0,121,123,122,122,122,122,122,3,3,3,24,4,321,2,4,34,34,34,34,33,33,33,33,33,
0,0,0,0,0,0,0,0,121,123,122,122,101,102,103,4,4,23,4,21,22,4,24,21,321,22,5,43,3,4,3,3,
0,0,0,0,0,0,0,0,121,123,122,122,121,122,123,3,5,321,4,321,5,21,321,21,3,4,5,5,3,4,3,3,
0,0,0,0,0,0,0,0,121,123,122,122,141,142,143,3,5,321,4,321,5,321,3,3,3,4,5,5,3,23,321,321,
0,0,0,0,0,0,0,0,101,102,102,103,178,179,180,61,5,321,43,43,43,43,3,3,3,4,23,22,3,3,3,3,
0,0,0,0,0,0,0,0,121,310,311,123,198,199,200,2,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,
0,0,0,0,0,0,0,0,141,142,142,143,218,219,220,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,53,53,53,53,53,13,13,13,13,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,34,34,34,34,34,33,33,33,33,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,321,321,321,321,22,5,43,3,4,3,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,3,3,3,4,5,5,3,4,3,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,101,102,103,81,82,83,4,3,3,3,4,5,5,3,23,321,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,121,146,123,121,122,123,4,3,3,3,4,23,22,3,3,3,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,121,166,123,121,128,123,62,43,43,43,43,43,43,43,43,43,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,121,122,123,121,148,123,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,
13,13,13,13,0,0,0,0,101,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
33,33,33,113,0,0,0,0,121,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,3,3,4,101,102,102,103,121,123,0,0,0,0,0,0,81,83,0,0,0,0,0,0,0,0,25,26,27,28,29,30,
3,3,3,23,121,146,146,123,121,123,0,0,0,0,0,0,225,227,249,250,251,252,249,250,251,252,45,46,47,48,49,50,
321,321,321,321,121,166,166,123,121,123,0,0,0,0,0,0,225,227,269,270,271,272,269,270,271,272,101,102,102,102,103,70,
3,3,3,22,121,310,311,123,121,123,0,0,0,0,0,0,225,227,253,254,255,254,255,254,255,256,121,149,150,146,108,122,
43,43,43,43,121,128,128,123,121,123,0,0,0,0,0,0,225,227,0,290,291,0,0,290,291,0,121,310,311,166,122,149,
3,3,3,42,121,148,148,123,141,143,0,0,0,0,0,0,141,143,0,0,0,0,0,0,0,0,141,142,142,142,142,142,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
27,28,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
47,48,49,82,7,8,82,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
122,146,123,226,226,226,226,227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
150,166,123,226,226,226,226,227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
142,142,143,142,142,142,142,143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
<layer id="2" name="oneway" width="32" height="168">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
129,129,129,129,129,129,129,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,312,313,314,315,229,230,231,232,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
<layer id="3" name="none" width="32" height="168" opacity="0.4">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201,202,203,204,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,222,223,224,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,242,243,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,75,76,304,305,76,76,75,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,201,202,203,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,221,222,223,224,0,0,0,0,201,202,203,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,241,242,243,0,0,0,0,0,221,222,223,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,262,263,0,228,0,0,0,241,242,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,282,283,0,248,0,0,0,0,262,263,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,262,263,0,248,0,0,0,0,282,283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
115,116,115,244,245,116,268,12,115,75,76,304,305,76,75,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,288,289,0,0,0,0,0,0,288,289,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,308,309,0,0,0,0,0,0,308,309,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,242,243,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,0,0,0,0,0,0,262,263,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,0,0,0,0,282,283,0,0,288,289,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,116,268,116,115,116,115,116,115,304,305,116,115,308,309,116,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,310,311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201,202,203,204,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,222,223,224,0,0,0,0,201,202,203,204,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,242,243,0,0,0,0,0,221,222,223,224,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,0,0,262,263,0,0,0,0,0,241,242,243,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,282,283,0,0,0,0,0,0,262,263,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,0,76,284,285,0,0,0,228,0,0,282,283,0,
201,202,203,204,0,0,0,0,288,289,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,248,0,0,262,263,0,
221,222,223,224,0,0,0,0,308,309,0,0,0,0,0,0,0,0,0,0,0,0,0,76,75,76,248,76,75,266,267,75,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
201,202,203,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
221,222,223,224,0,0,0,0,0,288,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
241,242,243,0,0,0,0,0,0,308,309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,262,263,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,282,283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,262,263,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
76,284,285,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,116,
0,0,0,0,36,0,288,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,308,309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
<layer id="4" name="front" width="32" height="168" opacity="0.68">
<data encoding="csv">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
109,109,109,109,109,109,109,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,292,293,294,295,292,293,294,295,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
</map>

View file

@ -0,0 +1,568 @@
<?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.10" tiledversion="1.11.1" name="tiles16" tilewidth="16" tileheight="16" tilecount="340" columns="20">
<image source="16x16.png" width="320" height="272"/>
<tile id="1">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="2">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="3">
<objectgroup draworder="index" id="2">
<object id="2" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="4">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="6">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="7">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="12">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
<object id="2" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="13">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="14">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="15">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="20">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="21">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="22">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="23">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="24">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<polygon points="0,0 15.9091,1.09091 16,16 0,16"/>
</object>
</objectgroup>
</tile>
<tile id="25">
<objectgroup draworder="index" id="2">
<object id="1" x="0.272727" y="1.09091">
<polygon points="0,0 15.5455,2 15.7273,14.9091 -0.272727,14.9091"/>
</object>
</objectgroup>
</tile>
<tile id="26">
<objectgroup draworder="index" id="2">
<object id="1" x="0.0909091" y="3.45455">
<polygon points="0,0 16,3.45455 15.9091,12.5455 -0.0909091,12.5455"/>
</object>
</objectgroup>
</tile>
<tile id="27">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="7.09091">
<polygon points="0,0 15.8182,3.90909 16,8.90909 0,8.90909"/>
</object>
</objectgroup>
</tile>
<tile id="28">
<objectgroup draworder="index" id="2">
<object id="2" x="0.0909091" y="11">
<polygon points="0,0 15.9091,5 -0.0909091,5"/>
</object>
</objectgroup>
</tile>
<tile id="32">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="33">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="40">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="41">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="42">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="44">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="45">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="46">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="47">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="48">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="49">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<polygon points="0,0 16.0909,3.18182 16,16 0,16"/>
</object>
</objectgroup>
</tile>
<tile id="52">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="53">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="54">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="55">
<objectgroup draworder="index" id="3">
<object id="2" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="60">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="61">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="67">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="68">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="69">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="70">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="71">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="72">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="73">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="80">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="81">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="82">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="92">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="93">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="94">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="95">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="100">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="101">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="102">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="112">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="113">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="120">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="121">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="122">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="128">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="8"/>
</objectgroup>
</tile>
<tile id="130">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="8"/>
</objectgroup>
</tile>
<tile id="132">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="133">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="134">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="135">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="140">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="141">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="142">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="160">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<polygon points="0,0 16,1.18182 16,16 0,16"/>
</object>
</objectgroup>
</tile>
<tile id="161">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="1">
<polygon points="0,0 15.9091,2 16,15 0,15"/>
</object>
</objectgroup>
</tile>
<tile id="162">
<objectgroup draworder="index" id="2">
<object id="1" x="0.0909091" y="3.27273">
<polygon points="0,0 15.7273,3.81818 15.9091,12.7273 -0.0909091,12.7273"/>
</object>
</objectgroup>
</tile>
<tile id="163">
<objectgroup draworder="index" id="2">
<object id="1" x="0.181818" y="6.63636">
<polygon points="0,0 15.8182,4.36364 15.8182,9.36364 -0.181818,9.36364"/>
</object>
</objectgroup>
</tile>
<tile id="164">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="11.1818">
<polygon points="0,0 16,4.81818 0,4.81818"/>
</object>
</objectgroup>
</tile>
<tile id="171">
<objectgroup draworder="index" id="2">
<object id="1" x="16.0909" y="11.2727">
<properties>
<property name="floor_angle" value="0x78"/>
</properties>
<polygon points="0,0 -0.0909091,4.72727 -16.0909,4.72727"/>
</object>
</objectgroup>
</tile>
<tile id="172">
<objectgroup draworder="index" id="2">
<object id="1" x="16.1818" y="7">
<properties>
<property name="floor_angle" value="0x78"/>
</properties>
<polygon points="0,0 -0.181818,9 -16.1818,9 -16.1818,4"/>
</object>
</objectgroup>
</tile>
<tile id="173">
<objectgroup draworder="index" id="2">
<object id="1" x="15.8182" y="3.27273">
<properties>
<property name="floor_angle" value="0x78"/>
</properties>
<polygon points="0,0 0.181818,12.7273 -15.8182,12.7273 -15.8182,3.54545"/>
</object>
</objectgroup>
</tile>
<tile id="174">
<objectgroup draworder="index" id="2">
<object id="1" x="15.9091" y="1.09091">
<polygon points="0,0 0.0909091,14.9091 -15.9091,14.9091 -15.8182,1.81818"/>
</object>
</objectgroup>
</tile>
<tile id="175">
<objectgroup draworder="index" id="2">
<object id="1" x="16" y="0">
<polygon points="0,0 0,16 -16,16 -16,1.18182"/>
</object>
</objectgroup>
</tile>
<tile id="180">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="181">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="182">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="183">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="184">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="185">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0">
<polygon points="0,0 15.8182,3 16,16 0,16"/>
</object>
</objectgroup>
</tile>
<tile id="190">
<objectgroup draworder="index" id="2">
<object id="1" x="16" y="0">
<properties>
<property name="floor_angle" value="0x78"/>
</properties>
<polygon points="0,0 0,16 -16,16 -15.9091,2.81818"/>
</object>
</objectgroup>
</tile>
<tile id="191">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="192">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="193">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="194">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="195">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="224">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="225">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="226">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="228">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="8"/>
</objectgroup>
</tile>
<tile id="229">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="8"/>
</objectgroup>
</tile>
<tile id="230">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="8"/>
</objectgroup>
</tile>
<tile id="231">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="8"/>
</objectgroup>
</tile>
<tile id="309">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="310">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
<tile id="311">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="8"/>
</objectgroup>
</tile>
<tile id="312">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="8"/>
</objectgroup>
</tile>
<tile id="313">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="8"/>
</objectgroup>
</tile>
<tile id="314">
<objectgroup draworder="index" id="3">
<object id="2" x="0" y="0" width="16" height="8"/>
</objectgroup>
</tile>
<tile id="320">
<objectgroup draworder="index" id="2">
<object id="1" x="0" y="0" width="16" height="16"/>
</objectgroup>
</tile>
</tileset>

BIN
assets/misc/CHARSEL.TIM Normal file

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

BIN
assets/misc/charsel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

@ -1,13 +0,0 @@
#!/bin/bash
for f in *.ogg; do
ffmpeg -y -i "$f" -acodec pcm_s16le -ac 1 -ar 22050 "${f%%.ogg}.WAV";
wav2vag "${f%%.ogg}.WAV" "${f%%.ogg}.VAG";
rm "${f%%.ogg}.WAV";
done
# for f in *.wav; do
# ffmpeg -y -i "$f" -acodec pcm_s16le -ac 1 -ar 22050 "${f%%.wav}_2.WAV";
# wav2vag "${f%%.wav}_2.WAV" "${f%%.wav}.VAG";
# rm "${f%%.wav}_2.WAV";
# done

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Before After
Before After

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before After
Before After

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Before After
Before After

View file

@ -20,7 +20,6 @@ void font_flush();
void font_draw_big(const char *text, int16_t vx, int16_t vy);
void font_draw_sm(const char *text, int16_t vx, int16_t vy);
void font_draw_hg(const char *text, int16_t vx, int16_t vy);
void font_draw_logo(int16_t vx, int16_t vy, uint16_t w, uint16_t h);
uint16_t font_measurew_big(const char *text);
uint16_t font_measurew_sm(const char *text);

View file

@ -3,7 +3,6 @@
typedef enum {
PLAYBACK_XA,
PLAYBACK_STR,
} PlaybackType;
void cd_set_callbacks(PlaybackType type);

View file

@ -34,8 +34,8 @@ typedef struct {
void load_chara(Chara *chara, const char *filename, TIM_IMAGE *tim);
void free_chara(Chara *chara);
void chara_render_frame(Chara *chara, int16_t framenum,
int16_t vx, int16_t vy, uint8_t flipx);
void chara_draw_gte(Chara *chara, int16_t framenum,
int16_t vx, int16_t vy,
uint8_t flipx, int32_t angle);
#endif

View file

@ -1,61 +0,0 @@
#ifndef MDEC_H
#define MDEC_H
#include "render.h"
#include <psxcd.h>
//#define BLOCK_SIZE 24
#define BLOCK_SIZE 16
typedef struct {
uint16_t width, height;
uint32_t bs_data[0x2000]; // Bitstream data read from the disc
uint32_t mdec_data[0x8000]; // Decompressed data to be fed to the MDEC
} StreamBuffer;
typedef struct {
StreamBuffer frames[2];
uint32_t slices[2][BLOCK_SIZE * SCREEN_YRES / 2];
int frame_id, sector_count;
int dropped_frames;
RECT slice_pos;
int frame_width;
volatile int8_t sector_pending, frame_ready;
volatile int8_t cur_frame, cur_slice;
} StreamContext;
typedef struct {
uint16_t magic; // Always 0x0160
uint16_t type; // 0x8001 for MDEC
uint16_t sector_id; // Chunk number (0 = first chunk of this frame)
uint16_t sector_count; // Total number of chunks for this frame
uint32_t frame_id; // Frame number
uint32_t bs_length; // Total length of this frame in bytes
uint16_t width, height;
uint8_t bs_header[8];
uint32_t _reserved;
} STR_Header;
typedef enum {
FMV_SONICTEAM = 0,
FMV_PS30YRS = 1,
FMV_NUM_VIDEOS = FMV_PS30YRS + 1,
} FMVOption;
// Load all locations of FMVs on disc
void mdec_fmv_init();
// Use this function as main playback entrypoint.
// It will override the game loop and be stuck in a playback loop.
// Do not call the other functions directly unless you know what you're doing.
void mdec_play(FMVOption);
void mdec_start(volatile CdlLOC *loc);
void mdec_stop();
void mdec_loop();
#endif

View file

@ -8,38 +8,26 @@
#include "input.h"
#include "player_constants.h"
/* #define X_ACCEL 0x000c0 */
/* #define X_AIR_ACCEL 0x00180 */
/* #define X_FRICTION 0x000c0 */
/* #define X_DECEL 0x00800 */
/* #define X_TOP_SPD 0x06000 */
/* #define Y_GRAVITY 0x00380 */
/* #define Y_HURT_GRAVITY 0x00300 */
/* #define Y_MIN_JUMP 0x04000 */
/* #define Y_JUMP_STRENGTH 0x06800 */
/* #define X_MIN_ROLL_SPD 0x01000 */
/* #define X_MIN_UNCURL_SPD 0x00800 */
/* #define X_ROLL_FRICTION 0x00060 */
/* #define X_ROLL_DECEL 0x00200 */
/* #define X_SLOPE_MIN_SPD 0x000d0 */
/* #define X_SLOPE_NORMAL 0x00200 */
/* #define X_SLOPE_ROLLUP 0x00140 */
/* #define X_SLOPE_ROLLDOWN 0x00500 */
/* #define X_MAX_SPD 0x10000 */
/* #define X_MAX_SLIP_SPD 0x02800 */
/* #define X_DRPSPD 0x08000 */
/* #define X_DRPMAX 0x0c000 */
/* #define Y_HURT_FORCE 0x04000 */
/* #define X_HURT_FORCE 0x02000 */
// Constants for adjusting hitbox and sensors
#define WIDTH_RADIUS_NORMAL 9
#define HEIGHT_RADIUS_NORMAL 19
#define LEDGE_SENSOR_MAGNITUDE 26
#define WIDTH_RADIUS_ROLLING 7
#define HEIGHT_RADIUS_ROLLING 14
#define PUSH_RADIUS 10
#define HEIGHT_RADIUS_CLIMB 10
#define PLAYER_HURT_IFRAMES 120
#define PLAYER_FLY_MAXFRAMES 480
typedef enum {
CHARA_SONIC = 0,
CHARA_MILES = 1,
CHARA_KNUCKLES = 2,
} PlayerCharacter;
#define CHARA_MAX CHARA_KNUCKLES
typedef enum {
ACTION_NONE,
@ -49,45 +37,68 @@ typedef enum {
ACTION_JUMPING,
ACTION_ROLLING,
ACTION_SPINDASH,
ACTION_PEELOUT,
ACTION_DROPDASH,
ACTION_SPRING,
ACTION_HURT,
ACTION_GASP,
// Miles actions
ACTION_FLY,
// Knuckles actions
ACTION_GLIDE,
ACTION_GLIDERECOVER,
ACTION_DROP,
ACTION_DROPRECOVER,
ACTION_CLIMB,
ACTION_CLAMBER,
} PlayerAction;
// Alias to make things look less weird
typedef LinecastDirection CollMode;
typedef enum {
PC_DEFAULT,
PC_UNDERWATER,
PC_SPEEDSHOES,
} PlayerConstantType;
// declared in player_constants.c
PlayerConstants *getconstants(PlayerCharacter, PlayerConstantType);
typedef struct {
InputState input;
PlayerConstants *cnst;
Chara chara;
PlayerCharacter character;
CharaAnim *cur_anim;
CharaAnim *tail_cur_anim;
VECTOR pos;
VECTOR vel; // vel.vz = ground speed
int32_t angle;
uint8_t anim_frame;
uint8_t anim_timer;
uint8_t tail_anim_frame;
uint8_t tail_anim_timer;
uint8_t frame_duration;
uint8_t loopback_frame;
int8_t anim_dir;
uint8_t idle_timer;
uint8_t grnd;
uint8_t ceil;
uint8_t push;
uint32_t spinrev;
uint32_t spinrev; // Also used as flight and glide direction toggle
uint8_t ctrllock;
uint8_t airdirlock;
uint8_t framecount;
uint16_t framecount; // Used for many purposes incl. flight and glide
uint8_t holding_jump;
uint16_t iframes;
uint8_t shield;
int32_t speedshoes_frames;
// TODO: Change this to player value modes.
// For now we're only storing info on whether
// player is underwater
uint8_t underwater;
uint16_t remaining_air_frames;
uint8_t underwater;
uint16_t remaining_air_frames;
int8_t glide_turn_dir;
uint8_t sliding;
// Collision modes
CollMode gsmode;
@ -95,6 +106,7 @@ typedef struct {
PlayerAction action;
uint8_t col_ledge;
CollisionEvent ev_grnd1;
CollisionEvent ev_grnd2;
CollisionEvent ev_left;
@ -102,10 +114,17 @@ typedef struct {
CollisionEvent ev_ceil1;
CollisionEvent ev_ceil2;
// Collision detectors for Knuckles.
// Used for dropping of the bottom of a wall
// or clambering it up.
CollisionEvent ev_climbdrop;
CollisionEvent ev_clamber;
VECTOR startpos;
VECTOR respawnpos;
} Player;
void load_player(Player *player, const char *chara_filename, TIM_IMAGE *sprites);
void load_player(Player *player, PlayerCharacter character, const char *chara_filename, TIM_IMAGE *sprites);
void free_player(Player *player);
void player_set_animation(Player *player, const char *name);
@ -115,6 +134,7 @@ void player_set_frame_duration(Player *player, uint8_t duration);
uint32_t player_get_current_animation_hash(Player *player);
CharaAnim *player_get_animation(Player *player, uint32_t sum);
CharaAnim *player_get_animation_by_name(Player *player, const char *name);
void player_set_action(Player *player, PlayerAction action);
void player_update(Player *player);
void player_draw(Player *player, VECTOR *screen_pos);

View file

@ -3,6 +3,15 @@
#include <stdint.h>
#define MILES_GRAVITY_FLYDOWN 0x00000080
#define MILES_GRAVITY_FLYUP 0x00000200 // Fly up by SUBTRACTING this gravity
#define KNUX_GLIDE_X_ACCEL 0x00000040
#define KNUX_GLIDE_X_TOPSPD 0x00018000
#define KNUX_GLIDE_GRAVITY 0x00000200 // May be added or subtracted
#define KNUX_GLIDE_TURN_STEP 0x00000020 // 20.12 scale for a range [0.5 -- 0]
#define KNUX_GLIDE_FRICTION 0x00000200
// Constants for running the game at a fixed 60 FPS.
// These constants are also in a 12-scale format for fixed point math.
typedef struct {
@ -29,7 +38,8 @@ typedef struct {
x_drpspd,
x_drpmax,
y_hurt_force,
x_hurt_force;
x_hurt_force,
x_peelout_spd;
} PlayerConstants;
// SEE PLAYER_CONSTANTS.C FOR CONSTANTS DEFINITIONS!!!!

View file

@ -32,6 +32,7 @@
#define OTZ_LAYER_LEVEL_FG_FRONT 2
#define OTZ_LAYER_OBJECTS 3
#define OTZ_LAYER_PLAYER 4
#define OTZ_LAYER_UNDER_PLAYER 5
#define OTZ_LAYER_LEVEL_FG_BACK (OT_LENGTH - 3)
#define OTZ_LAYER_LEVEL_BG (OT_LENGTH - 2)

View file

@ -7,11 +7,12 @@ typedef enum {
SCREEN_DISCLAIMER,
SCREEN_LEVELSELECT,
SCREEN_LEVEL,
/* SCREEN_FMV, */
SCREEN_TITLE,
SCREEN_MODELTEST,
SCREEN_SLIDE,
SCREEN_CREDITS,
SCREEN_SPRITETEST,
SCREEN_CHARSELECT,
} ScreenIndex;
void scene_change(ScreenIndex scr);

View file

@ -0,0 +1,9 @@
#ifndef SCREENS_CHARSELECT_H
#define SCREENS_CHARSELECT_H
void screen_charselect_load();
void screen_charselect_unload(void *);
void screen_charselect_update(void *);
void screen_charselect_draw(void *);
#endif

View file

@ -1,15 +0,0 @@
#ifndef SCREENS_FMV_H
#define SCREENS_FMV_H
#include "screen.h"
#include "mdec.h"
void screen_fmv_load();
void screen_fmv_unload(void *);
void screen_fmv_update(void *);
void screen_fmv_draw(void *);
void screen_fmv_set_next(ScreenIndex next);
void screen_fmv_enqueue(FMVOption);
#endif

View file

@ -1,7 +1,7 @@
#ifndef SCREENS_LEVEL_H
#define SCREENS_LEVEL_H
#include <stdint.h>
#include "player.h"
typedef enum {
LEVEL_MODE_NORMAL,
@ -20,5 +20,7 @@ uint8_t screen_level_getlevel(void);
void screen_level_setstate(uint8_t state);
uint8_t screen_level_getstate();
void screen_level_setmode(LEVELMODE mode);
void screen_level_setcharacter(PlayerCharacter character);
PlayerCharacter screen_level_getcharacter();
#endif

View file

@ -3,9 +3,8 @@
typedef enum {
SLIDE_COMINGSOON = 0,
SLIDE_PS30YRS = 1,
SLIDE_SEGALOGO = 2,
SLIDE_CREATEDBY = 3,
SLIDE_SEGALOGO = 1,
SLIDE_CREATEDBY = 2,
SLIDE_NUM_SLIDES = (SLIDE_CREATEDBY + 1),
} SlideOption;

View file

@ -0,0 +1,13 @@
#ifndef SCREEN_SPRITE_TEST_H
#define SCREEN_SPRITE_TEST_H
#include "player.h"
void screen_sprite_test_load();
void screen_sprite_test_unload(void *);
void screen_sprite_test_update(void *);
void screen_sprite_test_draw(void *);
void screen_sprite_test_setcharacter(PlayerCharacter character);
#endif

View file

@ -95,7 +95,8 @@ typedef enum {
BGM_DAWNCANYON = 11,
BGM_AMAZINGOCEAN = 12,
BGM_EGGMANLAND = 13,
BGM_NUM_SONGS = BGM_EGGMANLAND + 1,
BGM_WINDMILLISLE = 14,
BGM_NUM_SONGS = BGM_WINDMILLISLE + 1,
} BGMOption;
typedef struct {
@ -110,4 +111,9 @@ void sound_bgm_play(BGMOption);
const BGMTableEntry *sound_bgm_get_data(BGMOption);
void sound_bgm_check_stop(BGMOption);
/* SFX audio */
void sound_sfx_init();
#endif

62
iso.xml
View file

@ -14,7 +14,7 @@
<!-- <license file="${PROJECT_SOURCE_DIR}/LCNSFILE/LICENSEJ.DAT" /> -->
<directory_tree>
<file name="SYSTEM.CNF" type="data" source="${PROJECT_SOURCE_DIR}/system.cnf" />
<file name="ENGINE.EXE" type="data" source="engine.exe" />
<file name="SONIC.EXE" type="data" source="sonic.exe" />
<dir name="SPRITES">
<file name="SONIC.TIM"
@ -23,6 +23,18 @@
<file name="SONIC.CHARA"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/sprites/CHARA/SONIC.CHARA" />
<file name="MILES.TIM"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/sprites/CHARA/MILES.TIM" />
<file name="MILES.CHARA"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/sprites/CHARA/MILES.CHARA" />
<file name="KNUX.TIM"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/sprites/CHARA/KNUX.TIM" />
<file name="KNUX.CHARA"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/sprites/CHARA/KNUX.CHARA" />
<file name="BASEFONT.TIM"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/sprites/BASEFONT.TIM" />
@ -234,6 +246,36 @@
type="data"
source="${PROJECT_SOURCE_DIR}/assets/levels/R8/PRL.PRL" />
</dir>
<dir name="R9">
<file name="Z1.LVL"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/levels/R9/Z1.LVL" />
<file name="Z1.OMP"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/levels/R9/Z1.OMP" />
<file name="MAP128.MAP"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/levels/R9/MAP128.MAP" />
<file name="MAP16.COL"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/levels/R9/MAP16.COL" />
<file name="MAP16.MAP"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/levels/R9/MAP16.MAP" />
<file name="TILES.TIM"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/levels/R9/TILES.TIM" />
<file name="BG0.TIM"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/levels/R9/BG0.TIM" />
<file name="BG1.TIM"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/levels/R9/BG1.TIM" />
<file name="PRL.PRL"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/levels/R9/PRL.PRL" />
</dir>
</dir> <!-- LEVELS -->
@ -258,9 +300,6 @@
<file name="SOON.TIM"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/misc/SOON2.TIM" />
<file name="PS30YRS.TIM"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/misc/PS30YRS.TIM" />
<file name="SEGALOGO.TIM"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/misc/SEGALOGO.TIM" />
@ -270,6 +309,9 @@
<file name="LVLSEL.TIM"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/misc/LVLSEL.TIM" />
<file name="CHARSEL.TIM"
type="data"
source="${PROJECT_SOURCE_DIR}/assets/misc/CHARSEL.TIM" />
</dir>
<dir name="SFX">
@ -339,6 +381,9 @@
<file name="BGM003.XA"
type="xa"
source="${PROJECT_SOURCE_DIR}/assets/bgm/BGM003.XA" />
<file name="BGM004.XA"
type="xa"
source="${PROJECT_SOURCE_DIR}/assets/bgm/BGM004.XA" />
<file name="MNU001.XA"
type="xa"
source="${PROJECT_SOURCE_DIR}/assets/bgm/MNU001.XA" />
@ -350,15 +395,6 @@
source="${PROJECT_SOURCE_DIR}/assets/bgm/EVENT001.XA" />
</dir>
<!-- <dir name="FMV"> -->
<!-- <file name="SONICT.STR" -->
<!-- type="mixed" -->
<!-- source="${PROJECT_SOURCE_DIR}/assets/fmv/SONICT.STR" /> -->
<!-- <file name="PS30YRS.STR" -->
<!-- type="mixed" -->
<!-- source="${PROJECT_SOURCE_DIR}/assets/fmv/PS30YRS.STR" /> -->
<!-- </dir> -->
<dummy sectors="1024"/>
</directory_tree>
</track>

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 MiB

View file

@ -56,6 +56,8 @@ static uint8_t glyph_info_big[] = {
0xff, 0, 0, 0, // = (no char)
0xff, 0, 0, 0, // ! (no char)
0xff, 0, 0, 0, // ? (no char)
115, 11, 6, 11, // <
121, 11, 6, 11, // >
};
static uint8_t glyph_info_sm[] = {
@ -107,6 +109,8 @@ static uint8_t glyph_info_sm[] = {
103, 29, 6, 7, // =
110, 29, 4, 7, // !
115, 29, 7, 7, // ?
0xff, 0, 0, 0, // < (no char)
0xff, 0, 0, 0, // > (no char)
};
static uint8_t glyph_info_hg[] = {
@ -159,6 +163,8 @@ static uint8_t glyph_info_hg[] = {
0xff, 0, 0, 0, // =
0xff, 0, 0, 0, // !
0xff, 0, 0, 0, // ?
0xff, 0, 0, 0, // < (no char)
0xff, 0, 0, 0, // > (no char)
};
void
@ -197,29 +203,12 @@ _draw_glyph(
setRGB0(sprt, font_color[0], font_color[1], font_color[2]);
increment_prim(sizeof(SPRT));
setXY0(sprt, vx, vy);
sprt->w = w;
sprt->h = h;
setWH(sprt, w, h);
setUV0(sprt, u0, v0);
sprt->clut = getClut(0, 490);
sort_prim(sprt, OTZ_LAYER_HUD);
}
void
font_draw_logo(
int16_t vx, int16_t vy,
uint16_t w, uint16_t h)
{
POLY_FT4 *poly = get_next_prim();
setPolyFT4(poly);
setRGB0(poly, font_color[0], font_color[1], font_color[2]);
increment_prim(sizeof(POLY_FT4));
setXYWH(poly, vx, vy, w, h);
setUVWH(poly, 0, 195, 160, 60);
poly->tpage = getTPage(font_mode & 0x3, 1, 960, 256);
poly->clut = getClut(0, 490);
sort_prim(poly, OTZ_LAYER_HUD);
}
uint16_t
_font_measurew_generic(const char *text,
const uint8_t ws_w,
@ -261,6 +250,8 @@ _font_measurew_generic(const char *text,
case '=': offset = 40; break;
case '!': offset = 41; break;
case '?': offset = 42; break;
case '<': offset = 43; break;
case '>': offset = 44; break;
default: offset = 0xff; break;
}
}
@ -346,6 +337,8 @@ _font_draw_generic(const char *text, int16_t vx, int16_t vy,
case '=': offset = 40; break;
case '!': offset = 41; break;
case '?': offset = 42; break;
case '<': offset = 43; break;
case '>': offset = 44; break;
default: offset = 0xff; break;
}
}

View file

@ -4,8 +4,6 @@
#include <psxetc.h>
extern void _xa_cd_event_callback(CdlIntrResult, uint8_t *);
/* extern void _mdec_cd_event_callback(CdlIntrResult, uint8_t *); */
/* extern void _mdec_dma_callback(void); */
void
cd_set_callbacks(PlaybackType type)
@ -15,10 +13,6 @@ cd_set_callbacks(PlaybackType type)
case PLAYBACK_XA:
CdReadyCallback(_xa_cd_event_callback);
break;
case PLAYBACK_STR:
/* DMACallback(1, &_mdec_dma_callback); */
/* CdReadyCallback(_mdec_cd_event_callback); */
break;
default: break; // ???????????
}
ExitCriticalSection();

View file

@ -1,6 +1,7 @@
#include "chara.h"
#include "util.h"
#include "render.h"
#include "basic_font.h"
#include <psxgpu.h>
#include <inline_c.h>
#include <stdlib.h>
@ -97,16 +98,33 @@ free_chara(Chara *chara)
}
}
// Extern variables
uint8_t frame_debug = 0;
void
chara_render_frame(Chara *chara, int16_t framenum, int16_t vx, int16_t vy, uint8_t flipx)
chara_draw_gte(Chara *chara, int16_t framenum,
int16_t vx, int16_t vy,
uint8_t flipx, int32_t angle)
{
CharaFrame *frame = &chara->frames[framenum];
int16_t left = frame->x >> 3;
int16_t right = 7 - (frame->width >> 3) - left;
// Prepare position
VECTOR pos = {
.vx = vx - CENTERX,
.vy = vy - CENTERY,
.vz = frame_debug ? 0 : SCREEN_Z,
};
SVECTOR rotation = { 0, 0, angle, 0 };
int otz;
MATRIX world = { 0 };
TransMatrix(&world, &pos);
RotMatrix(&rotation, &world);
gte_SetTransMatrix(&world);
gte_SetRotMatrix(&world);
for(uint16_t row = 0; row < frame->rows; row++) {
for(uint16_t colx = 0; colx < frame->cols; colx++) {
uint16_t col = flipx ? frame->cols - colx - 1 : colx;
@ -114,51 +132,74 @@ chara_render_frame(Chara *chara, int16_t framenum, int16_t vx, int16_t vy, uint8
idx = frame->tiles[idx];
if(idx == 0) continue;
uint16_t precty = chara->precty;
// Get upper left UV from tile index on tileset
uint16_t v0idx = idx >> 5; // divide by 32
uint16_t u0idx = idx - (v0idx << 5);
uint8_t
u0 = (u0idx << 3),
v0 = (v0idx << 3);
SVECTOR xy0 = {
vx + (colx << 3) + (flipx ? (right << 3) : frame->x) - (chara->width >> 1),
vy + (row << 3) + frame->y - (chara->height >> 1),
0, 0,
};
// I don't know why, but it works
uint8_t tw, th;
tw = (u0 < 248 ? 8 : 7);
th = (v0 < 248 ? 8 : 7);
if(flipx) {
if (u0 > 0) u0--;
if (u0 + tw >= 254) tw--;
uint16_t v0idx = idx / 28;
uint16_t u0idx = idx - (v0idx * 28);
uint16_t
u0 = u0idx * 9,
v0 = v0idx * 9;
if((v0 + 9) >= 256) {
// Go to TPAGE right below
v0idx -= 28;
v0 = v0idx * 9;
precty = 256;
}
// Use a textured quad since we need to reverse
// our UVs manually
POLY_FT4 *poly = (POLY_FT4 *) get_next_prim();
POLY_FT4 *poly = (POLY_FT4 *)get_next_prim();
increment_prim(sizeof(POLY_FT4));
setPolyFT4(poly);
setRGB0(poly, level_fade, level_fade, level_fade);
setTPage(poly, 1, 1, chara->prectx, chara->precty); // 8-bit CLUT
// 8-bit CLUT
setTPage(poly, 1, 1, chara->prectx, precty);
setClut(poly, chara->crectx, chara->crecty);
setXYWH(poly, xy0.vx, xy0.vy, 8, 8);
if(flipx) {
setUV4(
poly,
u0 + tw, v0,
u0, v0,
u0 + tw, v0 + th,
u0, v0 + th);
if(u0 > 0) u0--;
setUV4(poly,
u0 + 8, v0,
u0, v0,
u0 + 8, v0 + 8,
u0, v0 + 8);
} else {
setUVWH(poly, u0, v0, tw, th);
setUV4(poly,
u0, v0,
u0 + 8, v0,
u0, v0 + 8,
u0 + 8, v0 + 8);
}
int16_t tilex = (colx << 3) + (flipx ? (right << 3) : frame->x) - (chara->width >> 1) + 5;
int16_t tiley = (row << 3) + frame->y - (chara->height >> 1) - 5;
SVECTOR vertices[] = {
{ -4 + tilex, -4 + tiley, 0, 0 },
{ 4 + tilex, -4 + tiley, 0, 0 },
{ -4 + tilex, 4 + tiley, 0, 0 },
{ 4 + tilex, 4 + tiley, 0, 0 },
};
RotAverageNclip4(
&vertices[0],
&vertices[1],
&vertices[2],
&vertices[3],
(uint32_t *)&poly->x0,
(uint32_t *)&poly->x1,
(uint32_t *)&poly->x2,
(uint32_t *)&poly->x3,
&otz);
sort_prim(poly, OTZ_LAYER_PLAYER);
if(frame_debug) {
char buffer[10];
sprintf(buffer, "%d\n", idx);
if(!(idx % 2)) font_set_color(0, 128, 0);
else font_set_color(0, 128, 128);
font_draw_sm(buffer, poly->x0 + 4, poly->y0 + 4);
}
}
}
}

View file

@ -21,11 +21,11 @@
#include "memalloc.h"
#include "screen.h"
#include "basic_font.h"
/* #include "mdec.h" */
/*
Locations of common textures on frame buffer:
================================================
Title screen: 320x0 No CLUT
Player 1: 320x0; CLUT: 0x480
Common objects: 576x0; CLUT: 0x481 (8-bit only)
Level tiles: 448x0; CLUT: 0x482 (4 or 8-bit CLUT)
@ -68,8 +68,8 @@ main(void)
// Initial loads from disc
render_loading_logo();
sound_sfx_init();
sound_bgm_init();
/* mdec_fmv_init(); */
// Set first scene
scene_change(SCREEN_DISCLAIMER);

View file

@ -1,376 +0,0 @@
#include "mdec.h"
#include <psxpress.h>
#include <psxapi.h>
#include <psxetc.h>
#include <psxcd.h>
#include <stdlib.h>
#include <stdio.h>
#include "input.h"
#include "cd_callback.h"
#include "memalloc.h"
#include "screen.h"
#define VRAM_X_COORD(x) ((x) * BLOCK_SIZE / 16)
#define MAX_FRAME_BUFFER_ATTEMPTS 10
// Since the stream context in this case can use approx. 320K of RAM,
// it seems like a better choice to let it live on the heap.
// No need to manage this using an arena allocator, though.
static volatile StreamContext *str_ctx = NULL;
// MDEC lookup table, generally lives on the scratchpad
// Using v2 because it looks much better after AVI conversion!
static volatile VLC_TableV2 *lookup_table;
// Temporary area for CD sectors read from CD.
// Accessed by DMA, therefore must not be on heap
static volatile STR_Header sector_header;
static int decode_errors;
static int frame_time;
static volatile int should_abort;
// Extern structure and functions related to render buffers
extern RenderContext ctx;
extern int debug_mode;
extern void render_mdec_prepare(void);
extern void render_mdec_dispose(void);
// Forward declarations
void _mdec_dma_callback(void);
void _mdec_cd_event_callback(CdlIntrResult, uint8_t *);
void _mdec_cd_sector_handler(void);
StreamBuffer *_mdec_get_next_frame(void);
int _mdec_should_abort();
void _mdec_swap_buffers();
// FMV table register
typedef struct {
const char *filename;
CdlLOC loc;
} FMVTableEntry;
static volatile FMVTableEntry fmv_table[] = {
{ "\\FMV\\SONICT.STR;1", (CdlLOC){ 0 } },
{ "\\FMV\\PS30YRS.STR;1", (CdlLOC){ 0 } },
};
void
mdec_fmv_init()
{
CdlFILE file;
for(int i = 0; i < FMV_NUM_VIDEOS; i++) {
// Find file on CD.
// We won't be using the util.h library since we need to find
// the actual file position to stream
if(!CdSearchFile((CdlFILE *)&file, fmv_table[i].filename)) {
printf("Could not find .STR file %s.\n", fmv_table[i].filename);
fmv_table[i].loc = (CdlLOC){ 0 };
}
fmv_table[i].loc = file.pos;
}
}
void
mdec_play(FMVOption option)
{
mdec_start(&fmv_table[option].loc);
mdec_loop();
mdec_stop();
}
void
mdec_start(volatile CdlLOC *loc)
{
printf("Preparing MDEC playback.\n");
should_abort = 0;
DecDCTReset(0);
render_mdec_prepare();
// Hook MDEC callbacks
cd_set_callbacks(PLAYBACK_STR);
// Copy MDEC lookup table to scratchpad
lookup_table = fastalloc_malloc(sizeof(VLC_TableV2));
DecDCTvlcCopyTableV2((VLC_TableV2 *)lookup_table);
// Setup stream context.
// Use current screen storage for that
if(!str_ctx) str_ctx = screen_alloc(sizeof(volatile StreamContext));
str_ctx->cur_frame = 0;
str_ctx->cur_slice = 0;
decode_errors = 0;
frame_time = 1;
// Prepare context
str_ctx->frame_id = -1;
str_ctx->dropped_frames = 0;
str_ctx->sector_pending = 0;
str_ctx->frame_ready = 0;
// Read at 2x speed to play any XA-ADPCM sectors that could be
// interleaved with the data
// Start reading in real-time mode (doesn't retry in case of errors).
uint8_t mode = CdlModeRT | CdlModeSpeed | CdlModeAP;
CdControl(CdlSetmode, (const uint8_t *)&mode, 0);
CdControlF(CdlReadS, (const void *)loc);
// Wait for first frame to be buffered.
_mdec_get_next_frame();
}
void
mdec_stop()
{
// Force playback end on context
cd_detach_callbacks();
str_ctx->frame_ready = -1;
CdControl(CdlPause, 0, 0);
if(str_ctx) {
str_ctx = NULL;
}
fastalloc_free();
render_mdec_dispose();
}
void
mdec_loop()
{
int frame_start, decode_time, cpu_usage;
frame_start = decode_time = cpu_usage = 0;
printf("Starting MDEC playback.\n");
while(1) {
if(debug_mode) frame_start = TIMER_VALUE(1);
// Wait for a full frame read from disc
StreamBuffer *frame = _mdec_get_next_frame();
if(!frame) { // If no frame was fetched, assume that playback ended
should_abort = 1;
printf("MDEC playback ended\n");
return;
}
if(_mdec_should_abort()) {
printf("MDEC playback aborted\n");
return;
}
if((pad_pressing(PAD_L1) && pad_pressed(PAD_R1)) ||
(pad_pressed(PAD_L1) && pad_pressing(PAD_R1))) {
debug_mode = (debug_mode + 1) % 3;
}
if(debug_mode) decode_time = TIMER_VALUE(1);
// Decompress bitstream into a format expected by the MDEC
VLC_Context vlc_ctx;
if(DecDCTvlcStart(
&vlc_ctx,
frame->mdec_data,
sizeof(frame->mdec_data) / 4,
frame->bs_data))
{
decode_errors++;
printf("Error decoding FMV! (#%d)\n", decode_errors);
continue;
}
if(debug_mode) {
decode_time = (TIMER_VALUE(1) - decode_time) & 0xffff;
cpu_usage = decode_time * 100 / frame_time;
}
// Wait for MDEC to finish decoding the previous frame
// and manually flip the framebuffers
VSync(0);
DecDCTinSync(0);
DecDCToutSync(0);
if(debug_mode) {
// Draw overlay
FntPrint(-1, "FRAME:%6d READ ERRORS: %6d\n",
str_ctx->frame_id, str_ctx->dropped_frames);
FntPrint(-1, "CPU: %6d%% DECODE ERRORS:%6d\n",
cpu_usage, decode_errors);
FntFlush(-1);
}
// Manual buffer swap
_mdec_swap_buffers();
// Feed newly compressed frame to the MDEC.
// The MDEC will not actually start decoding it until an output
// buffer is also configured by calling DecDCTout().
//DecDCTin(frame->mdec_data, DECDCT_MODE_24BPP);
DecDCTin(frame->mdec_data, DECDCT_MODE_16BPP);
// Place frame at the center of the currently active framebuffer,
// then start decoding the first slice.
// Decoded slices will be uploaded to VRAM in the background
// by _mdec_dma_callback().
RECT *clip = render_get_buffer_clip();
int offsetx = (clip->w - frame->width) >> 1;
int offsety = (clip->h - frame->height) >> 1;
str_ctx->slice_pos.x = clip->x + VRAM_X_COORD(offsetx);
str_ctx->slice_pos.y = clip->y + offsety;
str_ctx->slice_pos.w = BLOCK_SIZE;
str_ctx->slice_pos.h = frame->height;
str_ctx->frame_width = VRAM_X_COORD(frame->width);
DecDCTout(
(uint32_t *)str_ctx->slices[str_ctx->cur_slice],
BLOCK_SIZE * str_ctx->slice_pos.h / 2);
if(debug_mode) frame_time = (TIMER_VALUE(1) - frame_start) & 0xffff;
}
}
/* ========================================== */
// DMA callback for MDEC transfers.
// NOTE: This is leveraged from cd_callback.h
void
_mdec_dma_callback(void)
{
// Handle sectors that were not processed by _mdec_cd_sector_handler
// while a DMA transfer is in progress.
// As the MDEC has just finished decoding a slice, they can be
// safely handled now
if(str_ctx->sector_pending) {
_mdec_cd_sector_handler();
str_ctx->sector_pending = 0;
}
// Upload the decoded slice to VRAM and start decoding
// the next slice into another buffer, if any
LoadImage((const RECT *)&str_ctx->slice_pos, (const uint32_t *)str_ctx->slices[str_ctx->cur_slice]);
str_ctx->cur_slice ^= 0x1;
str_ctx->slice_pos.x += BLOCK_SIZE;
if(str_ctx->slice_pos.x < str_ctx->frame_width) {
DecDCTout(
(uint32_t *)str_ctx->slices[str_ctx->cur_slice],
BLOCK_SIZE * str_ctx->slice_pos.h / 2);
}
}
// CD event callback for FMV reading.
// NOTE: This is leveraged from cd_callback.h
void
_mdec_cd_event_callback(CdlIntrResult event, uint8_t *)
{
// Ignore events that are not that of a sector being ready
if(event != CdlDataReady) return;
// Only handle sectors immediately if the MDEC is not decoding
// a frame, otherwise defer handling to _mdec_dma_callback.
// This is a workaround for a hardware conflict between the
// DMA channels used for the CD drive and MDEC output, which
// do not run simultaneously.
if(DecDCTinSync(1)) str_ctx->sector_pending = 1;
else _mdec_cd_sector_handler();
}
// CD sector handler for processing sectors that were read from the CD.
void
_mdec_cd_sector_handler(void)
{
volatile StreamBuffer *frame = &str_ctx->frames[str_ctx->cur_frame];
// Fetch .STR header of the sector that has been read and
// make sure it is valid. If not, assume the file has ended
// and set frame_ready as a signal for the playback loop to
// stop playback.
CdGetSector((void *)&sector_header, sizeof(STR_Header) >> 2);
if(sector_header.magic != 0x0160) {
str_ctx->frame_ready = -1;
return;
}
// Ignore any non-MDEC sectors.
if(sector_header.type != 0x8001) return;
// If this sector is part of a new frame, validate the sectors
// that have been read so far and flip the bistream data buffers.
// If the frame number is lower than the current one, assume the
// drive has started another .STR file and stop playback.
if((int)sector_header.frame_id < str_ctx->frame_id) {
str_ctx->frame_ready = -1;
return;
}
if((int)sector_header.frame_id > str_ctx->frame_id) {
// Do not set ready flag if a sector has been missed.
if(str_ctx->sector_count) str_ctx->dropped_frames++;
else str_ctx->frame_ready = 1;
str_ctx->frame_id = sector_header.frame_id;
str_ctx->sector_count = sector_header.sector_count;
str_ctx->cur_frame ^= 0x1;
frame = &str_ctx->frames[str_ctx->cur_frame];
// Initialize the next frame; round up dimensions
// to the nearest multiple of 16 since the MDEC
// operates on 16x16 blocks
frame->width = (sector_header.width + 15) & 0xfff0;
frame->height = (sector_header.height + 15) & 0xfff0;
}
// Append payload contained in this sector to the current buffer
str_ctx->sector_count--;
CdGetSector(
(void *)&(frame->bs_data[2016 / 4 * sector_header.sector_id]),
2016 / 4);
}
StreamBuffer *
_mdec_get_next_frame(void)
{
while(!str_ctx->frame_ready) {
__asm__ volatile("");
if(_mdec_should_abort()) {
should_abort = 1;
return NULL;
}
}
if(str_ctx->frame_ready < 0) {
return NULL;
}
str_ctx->frame_ready = 0;
return (StreamBuffer *)&str_ctx->frames[str_ctx->cur_frame ^ 0x1];
}
int
_mdec_should_abort()
{
// Call this when the CPU isn't doing anything or
// should check for user input.
pad_update();
return pad_pressed(PAD_CROSS) || pad_pressed(PAD_START);
}
void
_mdec_swap_buffers()
{
ctx.active_buffer ^= 1;
DrawSync(0);
PutDrawEnv(&ctx.buffers[ctx.active_buffer].draw_env);
PutDispEnv(&ctx.buffers[ctx.active_buffer ^ 1].disp_env);
SetDispMask(1);
}

View file

@ -26,7 +26,7 @@ alloc_arena_malloc(ArenaAllocator *arena, size_t size)
{
if(size == 0) return NULL;
// Align size so we don't get unaligned memory access
// ALIGN SIZE so we don't get unaligned memory access
size += 8 - (size % 8);
uintptr_t p = (uintptr_t)arena->ptr;

View file

@ -141,7 +141,7 @@ load_object_placement(const char *filename, void *lvl_data)
case OBJ_DUMMY_STARTPOS:
// Initialize player at position
player.startpos = (VECTOR){ .vx = vx << 12, .vy = (vy - 8) << 12, .vz = 0 };
player.pos = player.startpos;
player.pos = player.respawnpos = player.startpos;
break;
default: break;
}
@ -225,7 +225,7 @@ begin_render_routine:
vx -= 32 + frame->h;
vy -= (frame->w >> 1);
} else {
vx -= frame->w >> 1;
vx -= (frame->w >> 1);
if(flipmask & MASK_FLIP_FLIPY) vy -= 64 - frame->h;
vy -= frame->h;
}
@ -298,7 +298,7 @@ begin_render_routine:
|| (state->id == OBJ_EXPLOSION)
|| (state->id == OBJ_BUBBLE))
? OTZ_LAYER_OBJECTS
: OTZ_LAYER_PLAYER;
: OTZ_LAYER_UNDER_PLAYER;
// NOTABLE EXCEPTION: if this is a bubble object which animation has gone
// beyond the first digit display, it should be rendered on text layer

View file

@ -16,11 +16,12 @@
#include "screens/slide.h"
#define ANIM_WALKING 0x0854020e
#define ANIM_ROLLING 0x08890218
#define ANIM_GASP 0x02d9012c
// Extern elements
extern Player player;
extern Camera camera;
extern PlayerConstants CNST_SPEEDSHOES;
extern TileMap16 map16;
extern TileMap128 map128;
extern LevelData leveldata;
@ -64,28 +65,30 @@ static void _bubble_update(ObjectState *state, ObjectTableEntry *, VECTOR *);
// Player hitbox information. Calculated once per frame.
static int32_t player_vx, player_vy; // Top left corner of player hitbox
static uint8_t player_attacking;
// TODO: ADJUST ACCORDING TO CHARACTER
static int32_t player_width = 16;
static int32_t player_height = HEIGHT_RADIUS_NORMAL << 1;
static uint8_t player_attacking;
int player_hitbox_shown;
void
_draw_player_hitbox()
{
if(player_hitbox_shown) return;
player_hitbox_shown = 1;
uint16_t
rel_vx = player_vx - (camera.pos.vx >> 12) + CENTERX,
rel_vy = player_vy - (camera.pos.vy >> 12) + CENTERY;
POLY_F4 *hitbox = get_next_prim();
increment_prim(sizeof(POLY_F4));
setPolyF4(hitbox);
setSemiTrans(hitbox, 1);
setXYWH(hitbox, rel_vx, rel_vy, 16, player_height);
setRGB0(hitbox, 0xfb, 0x94, 0xdc);
sort_prim(hitbox, OTZ_LAYER_OBJECTS);
}
/* void */
/* _draw_player_hitbox() */
/* { */
/* if(player_hitbox_shown) return; */
/* player_hitbox_shown = 1; */
/* uint16_t */
/* rel_vx = player_vx - (camera.pos.vx >> 12) + CENTERX, */
/* rel_vy = player_vy - (camera.pos.vy >> 12) + CENTERY; */
/* POLY_F4 *hitbox = get_next_prim(); */
/* increment_prim(sizeof(POLY_F4)); */
/* setPolyF4(hitbox); */
/* setSemiTrans(hitbox, 1); */
/* setXYWH(hitbox, rel_vx, rel_vy, 16, player_height); */
/* setRGB0(hitbox, 0xfb, 0x94, 0xdc); */
/* sort_prim(hitbox, OTZ_LAYER_OBJECTS); */
/* } */
void
object_update(ObjectState *state, ObjectTableEntry *typedata, VECTOR *pos)
@ -98,15 +101,16 @@ object_update(ObjectState *state, ObjectTableEntry *typedata, VECTOR *pos)
player_attacking = (player.action == ACTION_JUMPING ||
player.action == ACTION_ROLLING ||
player.action == ACTION_SPINDASH ||
player.action == ACTION_DROPDASH);
player.action == ACTION_DROPDASH ||
player.action == ACTION_GLIDE);
player_height = (player_attacking
? HEIGHT_RADIUS_ROLLING
: HEIGHT_RADIUS_NORMAL) << 1;
player_vy = (player.pos.vy >> 12) - (player_height >> 1) - 1;
if(debug_mode > 1) {
_draw_player_hitbox();
}
/* if(debug_mode > 1) { */
/* _draw_player_hitbox(); */
/* } */
switch(state->id) {
default: break;
@ -251,7 +255,7 @@ _goal_sign_update(ObjectState *state, ObjectTableEntry *, VECTOR *pos)
// Set animation according to character
state->timer = 360; // 6-seconds music
state->anim_state.animation = 2;
player.action = ACTION_NONE;
player_set_action(&player, ACTION_NONE);
screen_level_setmode(LEVEL_MODE_FINISHED);
_goal_sign_change_score();
}
@ -272,13 +276,11 @@ _goal_sign_update(ObjectState *state, ObjectTableEntry *, VECTOR *pos)
screen_level_setstate(3);
} else if(screen_level_getstate() == 4) {
uint8_t lvl = screen_level_getlevel();
// TODO: This is temporary and goes only upto R2Z1
if(lvl < 10) {
if(lvl == 4) {
// Transition from GHZ1 to SWZ1
// TODO: THIS IS TEMPORARY
screen_level_setlevel(6);
} else if(lvl == 6) {
if(lvl == 3) {
// Finished engine test
scene_change(SCREEN_TITLE);
} else if(lvl < 10) {
if(lvl == 6) {
// Transition from SWZ1 to AOZ1
// TODO: THIS IS TEMPORARY
screen_level_setlevel(10);
@ -339,7 +341,7 @@ _monitor_update(ObjectState *state, ObjectTableEntry *entry, VECTOR *pos)
{
player.ev_grnd1.collided = player.ev_grnd2.collided = 1;
player.ev_grnd1.angle = player.ev_grnd2.angle = 0;
player.ev_grnd1.coord = player.ev_grnd2.coord = solidity_vy;
player.ev_grnd1.coord = player.ev_grnd2.coord = solidity_vy + 4;
} else if((player_vy + 8) > solidity_vy) {
// Check for intersection on left/right
if((player_vx + 8) < pos->vx) {
@ -361,9 +363,9 @@ static void
_spring_update(ObjectState *state, ObjectTableEntry *, VECTOR *pos, uint8_t is_red)
{
if(state->anim_state.animation == 0) {
int32_t solidity_vx = pos->vx - 16;
int32_t solidity_vx = pos->vx - 15;
int32_t solidity_vy = pos->vy - 16; // Spring is 32x16 solid
int32_t solidity_w = 32;
int32_t solidity_w = 31;
int32_t solidity_h = 16;
if(state->flipmask & MASK_FLIP_ROTCW) {
@ -398,6 +400,8 @@ _spring_update(ObjectState *state, ObjectTableEntry *, VECTOR *pos, uint8_t is_r
player.anim_dir = -1;
state->anim_state.animation = 1;
sound_play_vag(sfx_sprn, 0);
if(player.action != ACTION_ROLLING)
player_set_action(&player, ACTION_NONE);
} else if(state->flipmask & MASK_FLIP_ROTCW) { // Right-pointing spring
//player.pos.vx = (solidity_vx + solidity_w + player_width + 8) << 12;
player.ev_left.collided = 0; // Detach player from left wall if needed
@ -407,12 +411,15 @@ _spring_update(ObjectState *state, ObjectTableEntry *, VECTOR *pos, uint8_t is_r
player.anim_dir = 1;
state->anim_state.animation = 1;
sound_play_vag(sfx_sprn, 0);
if(player.action != ACTION_ROLLING)
player_set_action(&player, ACTION_NONE);
} else if(state->flipmask == 0) { // Top-pointing spring
player.pos.vy = (solidity_vy - (player_height >> 1)) << 12;
player.grnd = 0;
player.vel.vy = is_red ? -0x10000 : -0xa000;
player.angle = 0;
player.action = ACTION_SPRING;
player.ctrllock = 0;
player_set_action(&player, ACTION_SPRING);
state->anim_state.animation = 1;
sound_play_vag(sfx_sprn, 0);
} else if(state->flipmask & MASK_FLIP_FLIPY) { // Bottom-pointing spring
@ -420,7 +427,8 @@ _spring_update(ObjectState *state, ObjectTableEntry *, VECTOR *pos, uint8_t is_r
player.grnd = 0;
player.vel.vy = is_red ? 0x10000 : 0xa000;
player.angle = 0;
player.action = ACTION_SPRING;
player.ctrllock = 0;
player_set_action(&player, ACTION_SPRING);
state->anim_state.animation = 1;
sound_play_vag(sfx_sprn, 0);
}
@ -444,6 +452,11 @@ _checkpoint_update(ObjectState *state, ObjectTableEntry *, VECTOR *pos)
state->props |= OBJ_FLAG_CHECKPOINT_ACTIVE;
state->frag_anim_state->animation = 1;
state->frag_anim_state->frame = 0;
player.respawnpos = (VECTOR){
.vx = pos->vx << 12,
.vy = (pos->vy - 8) << 12,
.vz = 0
};
sound_play_vag(sfx_chek, 0);
}
}
@ -496,6 +509,8 @@ _spring_diagonal_update(ObjectState *state, ObjectTableEntry *, VECTOR *pos, uin
if(collision_side == OBJ_SIDE_NONE) return;
player.grnd = 0;
player.pos.vx = pos->vx << 12;
player.pos.vy = (pos->vy - 16) << 12;
player.vel.vx = is_red ? SPRND_ST_R : SPRND_ST_Y;
player.vel.vy = is_red ? SPRND_ST_R : SPRND_ST_Y;
if(!(state->flipmask & MASK_FLIP_FLIPY)) player.vel.vy *= -1;
@ -505,7 +520,7 @@ _spring_diagonal_update(ObjectState *state, ObjectTableEntry *, VECTOR *pos, uin
} else player.anim_dir = 1; // No flip on X: point player right
player.angle = 0;
player.airdirlock = 1;
player.action = ACTION_SPRING;
player_set_action(&player, ACTION_SPRING);
state->anim_state.animation = 1;
sound_play_vag(sfx_sprn, 0);
@ -606,7 +621,7 @@ _monitor_image_update(ObjectState *state, ObjectTableEntry *, VECTOR *)
case MONITOR_KIND_SPEEDSHOES:
// Start speed shoes count
player.speedshoes_frames = 1200; // 20 seconds
player.cnst = &CNST_SPEEDSHOES;
player.cnst = getconstants(player.character, PC_SPEEDSHOES);
sound_bgm_play(BGM_SPEEDSHOES);
break;
default: break;
@ -629,6 +644,10 @@ _shield_update(ObjectState *state, ObjectTableEntry *, VECTOR *)
state->freepos->vx = player.pos.vx;
state->freepos->vy = player.pos.vy + (16 << 12);
if(player_get_current_animation_hash(&player) == ANIM_ROLLING) {
state->freepos->vy += 4 << 12;
}
// Compensate position since it is drawn before player update
state->freepos->vx += player.vel.vx;
state->freepos->vy += player.vel.vy;
@ -844,9 +863,9 @@ _bubble_update(ObjectState *state, ObjectTableEntry *, VECTOR *pos)
state->props |= OBJ_FLAG_DESTROYED;
player.remaining_air_frames = 1800;
// TODO: Cancel any drowning music.
// TODO: Setup proper action.
player.action = ACTION_NONE;
player_set_animation_direct(&player, ANIM_WALKING); // TODO!!!
player_set_action(&player, ACTION_GASP);
player_set_animation_direct(&player, ANIM_GASP);
player.ctrllock = player.grnd ? 15 : 10;
player.grnd = 0;
player.vel.vx = player.vel.vy = player.vel.vz = 0;
sound_play_vag(sfx_bubble, 0);

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,8 @@
#include "player_constants.h"
#include "player.h"
// Default player values
PlayerConstants CNST_DEFAULT = {
static PlayerConstants CNST_DEFAULT = {
.x_accel = 0x000c0,
.x_air_accel = 0x00180,
.x_friction = 0x000c0,
@ -24,12 +25,13 @@ PlayerConstants CNST_DEFAULT = {
.x_drpspd = 0x08000,
.x_drpmax = 0x0c000,
.y_hurt_force = 0x04000,
.x_hurt_force = 0x02000
.x_hurt_force = 0x02000,
.x_peelout_spd = 0x0c000
};
// Underwater player values.
// Most values are simply halved from base defaults
PlayerConstants CNST_UNDERWATER = {
static PlayerConstants CNST_UNDERWATER = {
.x_accel = 0x00060, // Changed
.x_air_accel = 0x000c0, // Changed
.x_friction = 0x00060, // Changed
@ -52,11 +54,12 @@ PlayerConstants CNST_UNDERWATER = {
.x_drpspd = 0x08000,
.x_drpmax = 0x0c000,
.y_hurt_force = 0x02000, // Changed
.x_hurt_force = 0x01000 // Changed
.x_hurt_force = 0x01000, // Changed
.x_peelout_spd = 0x05fff // Changed
};
// Speed shoes (only used outside water)
PlayerConstants CNST_SPEEDSHOES = {
static PlayerConstants CNST_SPEEDSHOES = {
.x_accel = 0x00180, // Changed
.x_air_accel = 0x00300, // Changed
.x_friction = 0x00180, // Changed
@ -79,5 +82,108 @@ PlayerConstants CNST_SPEEDSHOES = {
.x_drpspd = 0x08000,
.x_drpmax = 0x0c000,
.y_hurt_force = 0x04000,
.x_hurt_force = 0x02000
.x_hurt_force = 0x02000,
.x_peelout_spd = 0x0c000
};
/* Knuckles values */
static PlayerConstants CNST_DEFAULT_K = {
.x_accel = 0x000c0,
.x_air_accel = 0x00180,
.x_friction = 0x000c0,
.x_decel = 0x00800,
.x_top_spd = 0x06000,
.y_gravity = 0x00380,
.y_hurt_gravity = 0x00300,
.y_min_jump = 0x04000,
.y_jump_strength = 0x06000,
.x_min_roll_spd = 0x01000,
.x_min_uncurl_spd = 0x00800,
.x_roll_friction = 0x00060,
.x_roll_decel = 0x00200,
.x_slope_min_spd = 0x000d0,
.x_slope_normal = 0x00200,
.x_slope_rollup = 0x00140,
.x_slope_rolldown = 0x00500,
.x_max_spd = 0x10000,
.x_map_slip_spd = 0x02800,
.x_drpspd = 0x08000,
.x_drpmax = 0x0c000,
.y_hurt_force = 0x04000,
.x_hurt_force = 0x02000,
.x_peelout_spd = 0x0c000
};
static PlayerConstants CNST_UNDERWATER_K = {
.x_accel = 0x00060, // Changed
.x_air_accel = 0x000c0, // Changed
.x_friction = 0x00060, // Changed
.x_decel = 0x00400, // Changed
.x_top_spd = 0x03000, // Changed
.y_gravity = 0x00100, // Changed
.y_hurt_gravity = 0x000c0, // Changed, not documented, y_gravity - half diff on default
.y_min_jump = 0x02000, // Changed
.y_jump_strength = 0x03000, // Changed
.x_min_roll_spd = 0x01000,
.x_min_uncurl_spd = 0x00800,
.x_roll_friction = 0x00030, // Changed
.x_roll_decel = 0x00200,
.x_slope_min_spd = 0x000d0,
.x_slope_normal = 0x00200,
.x_slope_rollup = 0x00140,
.x_slope_rolldown = 0x00500,
.x_max_spd = 0x10000,
.x_map_slip_spd = 0x02800,
.x_drpspd = 0x08000,
.x_drpmax = 0x0c000,
.y_hurt_force = 0x02000, // Changed
.x_hurt_force = 0x01000, // Changed
.x_peelout_spd = 0x05fff // Changed
};
static PlayerConstants CNST_SPEEDSHOES_K = {
.x_accel = 0x00180, // Changed
.x_air_accel = 0x00300, // Changed
.x_friction = 0x00180, // Changed
.x_decel = 0x00800,
.x_top_spd = 0x0c000, // Changed
.y_gravity = 0x00380,
.y_hurt_gravity = 0x00300,
.y_min_jump = 0x04000,
.y_jump_strength = 0x06000,
.x_min_roll_spd = 0x01000,
.x_min_uncurl_spd = 0x00800,
.x_roll_friction = 0x000c0, // Changed
.x_roll_decel = 0x00200,
.x_slope_min_spd = 0x000d0,
.x_slope_normal = 0x00200,
.x_slope_rollup = 0x00140,
.x_slope_rolldown = 0x00500,
.x_max_spd = 0x10000,
.x_map_slip_spd = 0x02800,
.x_drpspd = 0x08000,
.x_drpmax = 0x0c000,
.y_hurt_force = 0x04000,
.x_hurt_force = 0x02000,
.x_peelout_spd = 0x0c000
};
PlayerConstants *
getconstants(PlayerCharacter c, PlayerConstantType pct)
{
if(c == CHARA_KNUCKLES) {
switch(pct) {
default: return &CNST_DEFAULT_K;
case PC_UNDERWATER: return &CNST_UNDERWATER_K;
case PC_SPEEDSHOES: return &CNST_SPEEDSHOES_K;
}
}
switch(pct) {
default: return &CNST_DEFAULT;
case PC_UNDERWATER: return &CNST_UNDERWATER;
case PC_SPEEDSHOES: return &CNST_SPEEDSHOES;
}
}

View file

@ -4,7 +4,6 @@
#include <inline_c.h>
RenderContext ctx;
static int using_mdec = 0;
void
setup_context()
@ -22,7 +21,6 @@ setup_context()
SetDefDispEnv(&ctx.buffers[1].disp_env, 0, SCREEN_YRES, SCREEN_XRES, SCREEN_YRES);
// Set the default background color and enable auto-clearing.
using_mdec = 0;
set_clear_color(0, 0, 0);
ctx.buffers[0].draw_env.isbg = 1;
ctx.buffers[1].draw_env.isbg = 1;
@ -89,9 +87,7 @@ swap_buffers()
// prevent screen tearing.
DrawSync(0);
// Don't use vsync here on MDEC since MDEC playback handles it
// accordingly
if(!using_mdec) VSync(0);
VSync(0);
RenderBuffer *draw_buffer = &ctx.buffers[ctx.active_buffer];
RenderBuffer *disp_buffer = &ctx.buffers[ctx.active_buffer ^ 1];
@ -99,17 +95,14 @@ swap_buffers()
// Display the framebuffer the GPU has just finished drawing and start
// rendering the display list that was filled up in the main loop.
PutDispEnv(&disp_buffer->disp_env);
if(!using_mdec)
DrawOTagEnv(&draw_buffer->ot[OT_LENGTH - 1], &draw_buffer->draw_env);
DrawOTagEnv(&draw_buffer->ot[OT_LENGTH - 1], &draw_buffer->draw_env);
// Switch over to the next buffer, clear it and reset the packet allocation
// pointer.
ctx.active_buffer ^= 1;
ctx.next_packet = disp_buffer->buffer;
// No need if not using MDEC. Save those CPU cycles. :)
if(!using_mdec)
ClearOTagR(disp_buffer->ot, OT_LENGTH);
ClearOTagR(disp_buffer->ot, OT_LENGTH);
}
void *
@ -168,35 +161,6 @@ render_get_buffer_clip(void)
}
void
render_mdec_prepare(void)
{
using_mdec = 1;
// Disable buffer clearing to prevent flickering
ctx.buffers[0].draw_env.isbg = 0;
ctx.buffers[1].draw_env.isbg = 0;
// Set color mode to 24bpp
//ctx.buffers[0].disp_env.isrgb24 = 1;
//ctx.buffers[1].disp_env.isrgb24 = 1;
}
void
render_mdec_dispose(void)
{
using_mdec = 0;
// Enable buffer clearing
ctx.buffers[0].draw_env.isbg = 1;
ctx.buffers[1].draw_env.isbg = 1;
// Set color mode to 16bpp
//ctx.buffers[0].disp_env.isrgb24 = 0;
//ctx.buffers[1].disp_env.isrgb24 = 0;
}
void
draw_quad(int16_t vx, int16_t vy,
int16_t w, int16_t h,

View file

@ -12,11 +12,12 @@
#include "screens/disclaimer.h"
#include "screens/levelselect.h"
#include "screens/level.h"
/* #include "screens/fmv.h" */
#include "screens/title.h"
#include "screens/modeltest.h"
#include "screens/slide.h"
#include "screens/credits.h"
#include "screens/sprite_test.h"
#include "screens/charselect.h"
// Start with 64k until we make the actual level scene
// an object as well
@ -75,11 +76,12 @@ scene_load()
case SCREEN_DISCLAIMER: screen_disclaimer_load(); break;
case SCREEN_LEVELSELECT: screen_levelselect_load(); break;
case SCREEN_LEVEL: screen_level_load(); break;
/* case SCREEN_FMV: screen_fmv_load(); break; */
case SCREEN_TITLE: screen_title_load(); break;
case SCREEN_MODELTEST: screen_modeltest_load(); break;
case SCREEN_SLIDE: screen_slide_load(); break;
case SCREEN_CREDITS: screen_credits_load(); break;
case SCREEN_SPRITETEST: screen_sprite_test_load(); break;
case SCREEN_CHARSELECT: screen_charselect_load(); break;
default: break; // Unknown scene???
}
}
@ -91,11 +93,12 @@ scene_unload()
case SCREEN_DISCLAIMER: screen_disclaimer_unload(scene_data); break;
case SCREEN_LEVELSELECT: screen_levelselect_unload(scene_data); break;
case SCREEN_LEVEL: screen_level_unload(scene_data); break;
/* case SCREEN_FMV: screen_fmv_unload(scene_data); break; */
case SCREEN_TITLE: screen_title_unload(scene_data); break;
case SCREEN_MODELTEST: screen_modeltest_unload(scene_data); break;
case SCREEN_SLIDE: screen_slide_unload(scene_data); break;
case SCREEN_CREDITS: screen_credits_unload(scene_data); break;
case SCREEN_SPRITETEST: screen_sprite_test_unload(scene_data); break;
case SCREEN_CHARSELECT: screen_charselect_unload(scene_data); break;
default: break; // Unknown scene???
}
}
@ -107,11 +110,12 @@ scene_update()
case SCREEN_DISCLAIMER: screen_disclaimer_update(scene_data); break;
case SCREEN_LEVELSELECT: screen_levelselect_update(scene_data); break;
case SCREEN_LEVEL: screen_level_update(scene_data); break;
/* case SCREEN_FMV: screen_fmv_update(scene_data); break; */
case SCREEN_TITLE: screen_title_update(scene_data); break;
case SCREEN_MODELTEST: screen_modeltest_update(scene_data); break;
case SCREEN_SLIDE: screen_slide_update(scene_data); break;
case SCREEN_CREDITS: screen_credits_update(scene_data); break;
case SCREEN_SPRITETEST: screen_sprite_test_update(scene_data); break;
case SCREEN_CHARSELECT: screen_charselect_update(scene_data); break;
default: break; // Unknown scene???
}
}
@ -124,11 +128,12 @@ scene_draw()
case SCREEN_DISCLAIMER: screen_disclaimer_draw(scene_data); break;
case SCREEN_LEVELSELECT: screen_levelselect_draw(scene_data); break;
case SCREEN_LEVEL: screen_level_draw(scene_data); break;
/* case SCREEN_FMV: screen_fmv_draw(scene_data); break; */
case SCREEN_TITLE: screen_title_draw(scene_data); break;
case SCREEN_MODELTEST: screen_modeltest_draw(scene_data); break;
case SCREEN_SLIDE: screen_slide_draw(scene_data); break;
case SCREEN_CREDITS: screen_credits_draw(scene_data); break;
case SCREEN_SPRITETEST: screen_sprite_test_draw(scene_data); break;
case SCREEN_CHARSELECT: screen_charselect_draw(scene_data); break;
default: break; // Unknown scene???
}
}

186
src/screen_charselect.c Normal file
View file

@ -0,0 +1,186 @@
#include <stdlib.h>
#include "screen.h"
#include "screens/charselect.h"
#include "player.h"
#include "render.h"
#include "util.h"
#include "input.h"
#include "basic_font.h"
#include "sound.h"
#include "screens/level.h"
#define BG_PAUSE 90
#define BG_FPS 4
#define BG_FRAMES 4
#define CHARSEL_PADDING (SCREEN_XRES >> 2)
extern SoundEffect sfx_switch;
typedef struct {
int8_t character;
int32_t bg_prect_x;
int32_t bg_prect_y;
uint8_t bg_mode;
uint8_t bg_frame;
uint8_t bg_state;
uint16_t bg_timer;
uint8_t charsel_mode;
} screen_charselect_data;
// TIM 15bpp -- TPAGE: 384x0
// Sonic: 0x0+22+40
// Tails: 22x0+40+40
// Knuckles: 62x0+40+40
void
screen_charselect_load()
{
screen_charselect_data *data = screen_alloc(sizeof(screen_charselect_data));
data->character = screen_level_getcharacter();
uint32_t length;
TIM_IMAGE tim;
uint8_t *img = file_read("\\MISC\\LVLSEL.TIM;1", &length);
load_texture(img, &tim);
data->bg_mode = tim.mode;
data->bg_prect_x = tim.prect->x;
data->bg_prect_y = tim.prect->y;
free(img);
img = file_read("\\MISC\\CHARSEL.TIM;1", &length);
load_texture(img, &tim);
data->charsel_mode = tim.mode;
free(img);
data->bg_frame = 0;
data->bg_state = 0;
data->bg_timer = BG_PAUSE;
sound_bgm_play(BGM_TITLESCREEN);
}
void
screen_charselect_unload(void *)
{
sound_stop_xa();
screen_free();
}
void
screen_charselect_update(void *d)
{
screen_charselect_data *data = (screen_charselect_data *)d;
if((data->bg_state == 0) || (data->bg_state == 2)) {
data->bg_timer--;
if(data->bg_timer == 0) {
data->bg_state++;
data->bg_timer = BG_FPS;
}
} else if(data->bg_state == 1) {
data->bg_timer--;
if(data->bg_timer == 0) {
data->bg_frame++;
data->bg_timer = BG_FPS;
if(data->bg_frame == BG_FRAMES - 1) {
data->bg_state++;
data->bg_timer = BG_PAUSE;
}
}
} else if(data->bg_state == 3) {
data->bg_timer--;
if(data->bg_timer == 0) {
data->bg_frame--;
data->bg_timer = BG_FPS;
if(data->bg_frame == 0) {
data->bg_state = 0;
data->bg_timer = BG_PAUSE;
}
}
}
if(pad_pressed(PAD_RIGHT) && (data->character < CHARA_MAX)) {
data->character++;
sound_play_vag(sfx_switch, 0);
}
if(pad_pressed(PAD_LEFT) && (data->character > 0)) {
data->character--;
sound_play_vag(sfx_switch, 0);
}
if(pad_pressed(PAD_CROSS) || pad_pressed(PAD_START)) {
screen_level_setcharacter(data->character);
// NOTE: screen_level_setlevel should have
// been called from previous screen
screen_level_setmode(LEVEL_MODE_NORMAL);
scene_change(SCREEN_LEVEL);
}
}
const char *
_get_char_name(int8_t character)
{
switch(character) {
case CHARA_SONIC: return "SONIC";
case CHARA_MILES: return "TAILS";
case CHARA_KNUCKLES: return "KNUCKLES";
}
return "UNKNOWN";
}
void
screen_charselect_draw(void *d)
{
screen_charselect_data *data = (screen_charselect_data *)d;
static const char *title = "CHARACTER SELECT";
font_set_color(128, 128, 128);
uint16_t text_hsize = font_measurew_big(title) >> 1;
uint16_t text_xpos = CENTERX - text_hsize;
font_draw_big(title, text_xpos, SCREEN_YRES >> 3);
// Draw characters
for(uint16_t i = 0; i < 3; i++) {
int16_t xpos = (CHARSEL_PADDING + (i * CHARSEL_PADDING));
int16_t ypos = (SCREEN_YRES >> 1);
uint8_t is_current_char = (data->character == i);
uint8_t dim = is_current_char ? 128 : 64;
POLY_FT4 *poly = (POLY_FT4 *)get_next_prim();
increment_prim(sizeof(POLY_FT4));
setPolyFT4(poly);
setRGB0(poly, dim, dim, dim);
setTPage(poly, data->charsel_mode & 0x3, 0, 384, 0);
poly->clut = 0;
setXYWH(poly, xpos - 20, ypos - 20, 40, 40);
setUVWH(poly, 40 * i, 0, 40, 40);
sort_prim(poly, OTZ_LAYER_PLAYER);
if(is_current_char) {
const char *charname = _get_char_name(data->character);
text_hsize = font_measurew_sm(charname) >> 1;
font_draw_sm(charname, xpos - text_hsize, ypos + 30);
}
}
// Draw background
for(uint16_t y = 0; y < SCREEN_YRES; y += 32) {
for(uint16_t x = 0; x < SCREEN_XRES; x += 48) {
POLY_FT4 *poly = (POLY_FT4 *)get_next_prim();
increment_prim(sizeof(POLY_FT4));
setPolyFT4(poly);
setRGB0(poly, 96, 96, 96);
poly->tpage = getTPage(data->bg_mode & 0x3,
0,
data->bg_prect_x,
data->bg_prect_y);
poly->clut = 0;
setXYWH(poly, x, y, 48, 32);
setUVWH(poly, 0, 32 * data->bg_frame, 48, 32);
sort_prim(poly, OTZ_LAYER_LEVEL_BG);
}
}
}

View file

@ -90,6 +90,11 @@ static const char *creditstxt[] = {
"By Richard Jacques",
"\r",
"Windmill Isle",
"Windmill Isle Day: Silent Dreams Remix",
"By Silent Dreams",
"\r",
/* SFX */
"Sound Effects Ripping",
"luksamuk",
@ -98,9 +103,17 @@ static const char *creditstxt[] = {
/* Graphics credits */
"Character Sprites Ripping",
"Triangly",
"Paraemon",
/* "Character Sprites Ripping", */
/* "Triangly", */
/* "Paraemon", */
/* "TCRF Community", */
/* "Sonic Retro Community", */
/* "Devon", */
/* "Vector T", */
/* "\r", */
"Original Character Sprites",
"CartoonsAnimate22",
"\r",
"Level and Menu Graphics Ripping",
@ -114,6 +127,7 @@ static const char *creditstxt[] = {
"Techokami",
"Blue Frenzy",
"DerZocker",
"Enrico Cartmanuel",
"\r",
"Fonts Ripping",
@ -146,7 +160,7 @@ static const char *creditstxt[] = {
"\r",
"Special Thanks",
"Gustavo Pezzi",
"Pikuma.com",
"PSXDEV Network",
"The Spriters Resource",
"Schnappy",

Some files were not shown because too many files have changed in this diff Show more