pico8-moonbus/moonbus.p8
2024-08-28 14:37:32 +02:00

846 lines
62 KiB
Lua
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

pico-8 cartridge // http://www.pico-8.com
version 42
__lua__
-- moonbus
-- by dejvino
def_fuel_cons=0.01
function reset()
plr_money=0
plr_level=1
plr_target={}
levels={
{map_start=0,map_height=8},
{map_start=8,map_height=8},
{map_start=16,map_height=16},
{map_start=16,map_height=15,gravity=0}
}
flag_solid=0
flag_start=1
flag_dock=7
cam={}
load_level()
menuitem(1, "next level", function()
plr_win=true
sfx(6)
make_progress()
end)
menuitem(2, "prev level", function()
plr_win=true
plr_level-=2
sfx(6)
make_progress()
end)
menuitem(3, "cheat: fuel", function()
def_fuel_cons=0
fuel_cons=def_fuel_cons
sfx(6)
end)
end
function load_level()
plr_alive=true
plr_win=false
plr_docked=false
plr_speed={x=0,y=0.5}
plr_static=false
plr_engine=-1
plr_fuel=1
plr_landings=0
plr_transed=0
local maplevel=levels[plr_level]
mapy=maplevel.map_start
maph=maplevel.map_height
gravity=maplevel.gravity or 0.01
engine_power=0.1
fuel_cons=def_fuel_cons
fuel_warning=0.3
fuel_warning_on=false
land_speed_limit=1
bonus_docked=1
transed_per_level=5
plr_pos=find_random_point_by_flag(1)
telem_spd={}
particles={}
next_target()
end
function _init()
main_menu=true
reset()
end
function _update()
if main_menu then
if btn() then
main_menu=false
else
return
end
end
debug_points={}
if not plr_alive and btn() then
load_level()
end
-- controlls
plr_engine=-1
if plr_alive and plr_fuel>0 then
if not plr_docked then
if btn(🅾) and dist(plr_speed)>0.01 then
if abs(plr_speed.x) > abs(plr_speed.y) then
plr_engine=(plr_speed.x>0) and or
else
plr_engine=(plr_speed.y<0) and or
end
end
if btn() then plr_engine= end
if btn() then plr_engine= end
if btn() then plr_engine= end
if btn() then plr_engine= end
end
if plr_docked and btn() then
plr_docked=false
plr_static=false
plr_engine=
plr_speed={x=0,y=0.5}
if not plr_win then
sfx(4)
else
--
end
make_progress()
end
end
-- engine
if plr_engine== then
plr_speed.y+=engine_power
elseif plr_engine== then
plr_speed.y-=engine_power
elseif plr_engine== then
plr_speed.x-=engine_power
elseif plr_engine== then
plr_speed.x+=engine_power
end
if plr_engine != -1 then
sfx(2,2)
plr_fuel=max(0,min(1,plr_fuel-fuel_cons))
generate_particle(true)
else
sfx(-1,2)
end
if plr_alive and plr_fuel < fuel_warning then
if plr_fuel <= 0.01 then
sfx(5,3)
elseif not fuel_warning_on then
fuel_warning_on=true
sfx(5,3)
end
else
fuel_warning_on=false
sfx(-1,3)
end
if plr_docked then
plr_fuel=min(1,plr_fuel+fuel_cons)
end
-- move objects
move(plr_pos,plr_speed,0.1)
plr_pos.x=plr_pos.x%128
-- gravity pull
if not plr_static then
plr_speed.y-=gravity
end
-- particles
for i,part in pairs(particles) do
part.spd.y-=gravity/5
move(part.p,part.spd,0.1)
part.age=max(0,part.age)+1
if (part.age >= part.limit) then del(particles,part) end
end
-- crash detection
local pc=plus(plr_pos,{x=0.5,y=-0.5})
local crashed=false
if plr_alive and (plr_pos.y<=0 or plr_pos.y>17) then
crashed=true
elseif pc.y <= maph+1 and not plr_static then
for p in all({plus(pc,clearx(unit(plr_speed,0.4))), plus(pc,cleary(unit(plr_speed,0.4)))}) do
local pmaps=0
if (p.y>=0 and p.y<=maph) then
pmaps=mget(p.x,mapy+maph-p.y)
end
local dock=fget(pmaps,7)
local target=dist(plr_pos,plr_target)<=1
local solid=fget(pmaps,0)
local slow=dist(plr_speed) < land_speed_limit
if dock and slow and p.y < pc.y then
plr_speed={x=0,y=0}
plr_pos={x=flr(plr_pos.x+0.5),y=flr(plr_pos.y+0.5)}
plr_docked=true
plr_static=true
plr_landings+=1
if target then
plr_money+=bonus_docked
plr_transed+=1
check_progress()
end
sfx(1)
break
elseif solid then
crashed=true
break
end
end
end
if crashed then
plr_speed.y*=-0.75
plr_speed.x*=0.5
plr_alive=false
if (dist(plr_speed) > 1) then
for i=1,10 do generate_particle(false) end
sfx(0)
else
for i=1,20 do generate_particle(false) end
plr_speed.x=0
plr_speed.y=0
plr_static=true
sfx(3)
end
end
if plr_alive then
telem_spd=mul(plr_speed,1)
end
cam={x=plr_pos.x*8-60, y=0}
end
function _draw()
cls()
if main_menu then
map(0,64-16, 0, 0)
if t() > 0.5 then
print("moon bus", 50,40,9)
end
if t() > 1 then
print("press ❎ to start!", 32,60,11)
print("cONTROLS:", 10,70,3)
print("⬅️➡️⬆️⬇️ - engines", 50,70,3)
print("🅾️ - stabilizers", 50,80,3)
print("❎ - continue", 50,90,3)
end
return
end
camera(cam.x,cam.y)
local lvl=mapy
map(0,lvl, 0, 128-maph*8)
map(0,lvl, -128*8, 128-maph*8)
map(0,lvl, 128*8, 128-maph*8)
local px,py=to_scrn(plr_pos)
local img=0
if plr_docked then
img=5
elseif not plr_alive then
img=4
elseif plr_engine== then
img=2
elseif plr_engine== then
img=2
elseif plr_engine== then
img=3
elseif plr_engine== then
img=1
end
spr(img,px,py)
for p in all(debug_points) do
local px,py=to_scrn(p)
pset(px,py,8)
end
for part in all(particles) do
local p=part.p
local px,py=to_scrn(p)
circ(px,py,cos(part.age/20)*0.6+1.5,part.age < 20 and 8 or (part.age < part.limit/2 and 5 or 1))
end
-- target
if plr_alive then
local tg={x=plr_target.x,y=plr_target.y}
if plr_target.x-plr_pos.x>64 then
tg.x-=128
elseif plr_target.x-plr_pos.x<-64 then
tg.x+=128
end
local tx,ty=to_scrn(tg)
local dst=dist(plr_pos,tg)
local c=flr(t())%2==0 and 3 or 11
if dst > 8 then
local dir=atan2(tx-px,ty-py)
line(px+4+cos(dir)*10,py+4+sin(dir)*10,tx+4,ty+4,c)
end
if dst > 3 then
print("",tx,ty+2,c)
else
print("__",tx,ty+4,c)
end
end
--
-- HUD
--
camera(0,0)
-- fuel
local fw=20
local fh=6
local fx=85
local fy=0
rect(fx,fy,fx+fw,fy+fh,5)
if plr_fuel > 0 then
rectfill(fx+1,fy+1,fx+1+plr_fuel*(fw-2),fy+fh-1,plr_fuel > fuel_warning and 13 or 8)
end
print("fuel", fx+3,fy+1,plr_fuel <= fuel_warning and 9 or 1)
-- telemetry
local cr=10
local cp={x=127-cr,y=cr}
local spd={x=limit(telem_spd.x,1),y=limit(telem_spd.y,1)}
circ(cp.x,cp.y,cr,3)
line(cp.x,cp.y,cp.x+spd.x*cr,cp.y,11)
line(cp.x,cp.y,cp.x,cp.y-spd.y*cr,11)
circ(cp.x+spd.x*cr,cp.y-spd.y*cr,1,dist(telem_spd)<land_speed_limit and 3 or 8)
if not plr_alive then
line(cp.x+(-0.3*cr),cp.y+(-0.6*cr),cp.x,cp.y,5)
line(cp.x+(-0.7*cr),cp.y+(-0.3*cr),cp.x,cp.y,5)
line(cp.x,cp.y,cp.x+0.6*cr,cp.y+0.3*cr,5)
line(cp.x+0.6*cr,cp.y+0.3*cr,cp.x+0.2*cr,cp.y+0.8*cr,5)
end
if plr_alive then
if plr_docked then
if plr_win then
print("wohoo! level complete.", 0,0,3)
print("press ❎ to advance.", 32,60,11)
else
print("smooth! you docked.", 0,0,3)
print("press ❎ to undock.", 32,60,11)
end
else
print("land gently to dock.", 0,0,3)
end
else
print("oops! you crashed.", 0,0,8)
print("press ❎ to reset.", 32,60,11)
end
print(""..plr_landings, fx,fy+fh+2+0,3)
print(""..plr_transed.."/"..transed_per_level, fx,fy+fh+2+8,3)
print(""..plr_money, fx,fy+fh+2+16,3)
print("lvl "..plr_level, fx+20,fy+fh+2+16,3)
end
function get_new_level()
return max(1,min(#levels,plr_level + 1))
end
function check_progress()
if plr_transed >= transed_per_level then
plr_win=true
end
end
function make_progress()
if (plr_win) then
plr_level=get_new_level()
load_level()
else
next_target()
end
end
function find_random_point_by_flag(f)
local pts={}
for x=0,127 do
for y=0,maph-1 do
local m=mget(x,mapy+y)
local pt=fget(m,f)
if pt then
add(pts,{x=x,y=y})
end
end
end
local di=flr(rnd(#pts))+1
local mp=pts[di]
return {x=mp.x,y=maph-mp.y}
end
function next_target()
local docks={}
for x=0,127 do
for y=0,maph-1 do
local m=mget(x,mapy+y)
local dock=fget(m,7)
local new=x!=plr_target.x and y!=plr_target.y
if dock and new then
add(docks,{x=x,y=y})
end
end
end
local di=flr(rnd(#docks))+1
local mp=docks[di]
plr_target={x=mp.x,y=maph-mp.y+1}
end
function generate_particle(hot)
hot=hot or false
add(particles,{
p=plus(plus(plr_pos,{x=0.25,y=-0.85}),{x=rnd(),y=rnd()},0.5),
spd=plus(mul({x=rnd(2)-1,y=rnd(2)-1},0.1),mul(plr_speed,rnd(0.5))),
age=rnd(20) + (hot and 0 or 20),
limit=80+flr(rnd(40)) + (hot and 0 or 20)
})
end
function to_scrn(p)
local x=p.x*8
local y=128-p.y*8
return x,y
end
function move(p,d,a)
a=a or 1
p.x+=d.x*a
p.y+=d.y*a
end
function plus(p,d,a)
a=a or 1
return {
x=p.x+d.x*a,
y=p.y+d.y*a
}
end
function clearx(p)
return {
x=0,
y=p.y
}
end
function cleary(p)
return {
x=p.x,
y=0
}
end
function mul(p,a)
a=a or 1
return {
x=p.x*a,
y=p.y*a
}
end
function neg(p)
return mul(p,-1)
end
function dist(p,p2)
p2=p2 or {x=0,y=0}
return abs(p.x-p2.x) + abs(p.y-p2.y)
end
function unit(p,u)
u=u or 1
local x = 0
local y = 0
if p.x>0 then x=u end
if p.x<0 then x=-u end
if p.y>0 then y=u end
if p.y<0 then y=-u end
return {x=x,y=y}
end
function limit(val,lim)
if (abs(val) > lim) then
return val*lim/abs(val)
end
return val
end
__gfx__
000000000000000000000000000000000000aa000000000050000005000000009009f00000000000000000000000000000000000000000000000000000000000
00a9a90000a9a90000a9a90000a9a90000a9000000a9a90000000000000000009ffff99f00000000000000000000000000000000000000000000000000000000
0011110000111100001111000011110000010000001111000000000000000000099fe9f000000000000000000000000000000000000000000000000000000000
0111111001111110011111100111111001001010011111100000000000000000009d99f000000000000000000000000000000000000000000000000000000000
0a9999400a9999400a9999400a9999400a9990400a77654000000000000000000f9fe0f90000000000000000d000000d00000000000000000000000000000000
5a9999458a9999455a9999455a999948000909555a7c56450000000000000000099ef999000a9000000000000d0000d000000000000000000000000000000000
59494445894944455949444559494448594904405967154500000000000000009ffed0f000a9a900090a09000e0000e000000000000000000000000000000000
0055550000555500008888000055550050555500007c560050000005000000000f0ed000000a90000990090a0e0000e000000000000000000000000000000000
66566665000000000000000560000000d8ddddbd000000000056666000000000000dddddddddddddddddd0007766776600000000000000000000000000000000
666666660000000000000006660000005d7c56d500000000066666660000000000dddd2d2ddddd2d2ddddd007665766500000000000000000000000000000000
566666570000000000000057566000005667155700000000066666570000000002d2265d52d2265d52d226505226525200000000000000000000000000000000
66756666000000000000066666750000667c5666000000006675666600000000222252d2222252d2222252d2226252d200000000000000000000000000000000
66666666000000000000666666666000666715660000000066666666000000000622222226222222262222202222222200000000000000000000000000000000
66666665006600000006666566666600667c5565000000006666666500000000d2252225d2252225d2252225d252522500000000000000000000000000000000
65666657076567600066665765666650656556570000000065666650000000005222225252222252522222505222525200000000000000000000000000000000
67656666666666566765666667656666666566660000000007656600000000000225262222252622222526202652562200000000000000000000000000000000
00000007777777777d8ddbd770000000065666656656666000000000000000002522252225222522252225220000000000000007777777777000000000000000
000000767676767676dddd766500000000666666666666000000000000000000022d2226222d2226222d2220000000000000007f979797979200000000000000
000000776666666666611666650000000006665756666000000000000000000052222652522226525222265200000000000007f77f797f792f20000000000000
0000007661116116616d16165500000000006666667500000000000000000000222252d2222252d2222252d00000000000007f7ffffffffff2f2000000000000
000000776d161dd66d166dd66500000000000666666000000000000000000000022222222622222226222200000000000007979f9f9f9f9f9f2f200000000000
000000766666666666666666550000000000006566000000000000000000000000252225d2252225d225222500000000007f79fff9fff9fff9f2f20000000000
00000076656565656565656565000000000000076000000000000000000000005222225252222252522222500000000007f7ffffffffffffffff2f2000000000
0000000555555555555555555000000000000000000000000000000000000000022526222225262222252620000000007f7f9f9f9f9f9f9f9f9f929200000000
6460000677c0000000000000000000000000000000000000000000000000000025222522252225222522252200000000deeeedeedeeeedeedeeeedee00000000
545646666611cc00000000000000000000000000000000000000000000000000222d2226222de226222dbb2600000000dddddddddddddddddddddddd00000000
6555456661d1115000000000000000000000000000000000000000000000000052262652522e8852522b331200000000e5eede5eee11d11eee11d11e00000000
5455556661dd1565000000000000000000000000000000000000000000000000226552d2222882d2222211d200000000dddddddddddddddddddddddd00000000
655545666666565500000000000000000000000000000000000000000000000022651222262226222622222200000000edee5eeeed11e11eed11e11e00000000
5455556666656555000000000000000000000000000000000000000000000000d2212225d2262225d225222500000000dddddddddddddddddddddddd00000000
555111665656555000000000000000000000000000000000000000000000000052222252522225225222225200000000ee5eed5eee11d11eeee666ee00000000
111000065555550000000000000000000000000000000000000000000000000022252622222526222225262200000000dddddddddddddddddd65556d00000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000003122212130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
61000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
12320000000000501100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
01123200000021410101310000000021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
01013100021212121201013111002101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
01010101010101010101010101010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__label__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005666600000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066666660000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066666570000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000667566660000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000666666660000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000666666650000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000656666500000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076566000000000000000000
00000000000000000000000064600006777777777d8ddbd77777777777c000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000545646667676767676dddd76767676766611cc000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000006555456666666666666116666666666661d111500000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000005455556661116116616d16166111611661dd15650000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000655545666d161dd66d166dd66d161dd6666656550000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000054555566666666666666666666666666666565550000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000055511166656565656565656565656565565655500000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000011100006555555555555555555555555555555000000000000000000000000000000000000000000000000000000000000000000
00566660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
06666666000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
06666657000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
66756666000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
66666666000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
66666665000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
65666650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
07656600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000999000000000000000009990000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000999009900990990000009090909009900000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000909090909090909000009900909090000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000909090909090909000009090909000900000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000909099009900909000009990099099000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000a9a90000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000011110000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000111111000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000a99994000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000005a99994500000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000005949444500000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000088880000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
77777777700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
7676767665000000000000000000000000000000000000000000000000a9a9000000000000000000000000000000000000000000000000000000000000000000
66666666650000000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000000000000000000000000000
61116116550000000000000000000000000000000000000000000000011111100000000000000000000000000000000000000000000000000000000000000000
6d161dd66500000000000000000000000000000000000000000000000a7765400000000000000000000000000000000000000000000000000000000000000000
666666665500000000000000000000000000000000000000000000005a7c56450066000000000000000000000000000000000000000000000000000000000000
65656565650000000000000000000000000000000000000000000000596715450765676000000000000000000000000000000000000000000000000000000000
55555555500000000000000000000000000000000000000000000000007c56006666665600000000000000000000000000000000000000000000000000000000
66566665777777777000000000000000000000000000000000000005d8ddddbd6656666566566665600000000000000000000000000000000000000000000005
666666667676767665000000000000000000000000000000000000065d7c56d56666666666666666660000000000000000000000000000000000000000000006
56666657666666666500000000000000000000000000000000000057566715575666665756666657566000000000000000000000000000000000000000000057
66756666611161165500000000000000000000000000000000000666667c56666675666666756666667500000000000000000000000000000000000000000666
666666666d161dd66500000000000000000000000000000000006666666715666666666666666666666660000000000000000000000000000000000000006666
66666665666666665500000000000000000000000000000000066665667c55656666666566666665666666000000000000000000000000000000000000066665
65666657656565656500000000000000000000000000000000666657656556576566665765666657656666500000000000000000000000000000000000666657
67656666555555555000000000000000000000000000000067656666666566666765666667656666676566660000000000000000000000000000000067656666
66566665665666656000000000000000000000077777777777777777777777777777777766566665665666656000000000000000000000000000000566566665
66666666666666666600000000000000000000767676767676767676767676767676767666666666666666666600000000000000000000000000000666666666
56666657566666575660000000000000000000776666666666666666666666666666666656666657566666575660000000000000000000000000005756666657
66756666667566666675000000000000000000766111611661116116611161166111611666756666667566666675000000000000000000000000066666756666
66666666666666666666600000000000000000776d161dd66d161dd66d161dd66d161dd666666666666666666666600000000000000000000000666666666666
66666665666666656666660000000000000000766666666666666666666666666666666666666665666666656666660000660000000000000006666566666665
65666657656666576566665000000000000000766565656565656565656565656565656565666657656666576566665007656760000000000066665765666657
67656666676566666765666600000000000000055555555555555555555555555555555567656666676566666765666666666656000000006765666667656666
66566665665666656656666566566665665666656656666566566665665666656656666566566665665666656656666566566665665666656656666566566665
66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
56666657566666575666665756666657566666575666665756666657566666575666665756666657566666575666665756666657566666575666665756666657
66756666667566666675666666756666667566666675666666756666667566666675666666756666667566666675666666756666667566666675666666756666
66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
66666665666666656666666566666665666666656666666566666665666666656666666566666665666666656666666566666665666666656666666566666665
65666657656666576566665765666657656666576566665765666657656666576566665765666657656666576566665765666657656666576566665765666657
67656666676566666765666667656666676566666765666667656666676566666765666667656666676566666765666667656666676566666765666667656666
__gff__
0000000000000200010000000000000001000000810001000101018100000000000181000000000001010100010101000101000000000000010101000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000011001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000001210141000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2123000000000006110000000000000000000000000000000000000000000000121021212123000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000110000000000000000000000000000111120
1021230000001214101013000000001221212300000000000000000000000012102121211013000000000000000000000000000000000000110000000000000011000000000000000000000020212123202123000000000000000000110000121010130000000000000000202122101300000000000000000000000012101010
1010130020212121211010131100121021212123110000110000000000121010101021211010130011000000000012142123000000000012101300000000001110130000000000000011001120212121212123000000000011001210101010101010101300001100000000202121101013000012101300000000001210101010
1010101010101010101010101010101010101010101010101010141010101010102121212110101010101010101010101010101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010101010101010101010101010212221101010101010
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000b0900000000000000000000000000000000000000000000000900000000000000000a080000000000000000000000080a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000060000000000080a090000000000000000181b1a000000000000000000080a000000000000000000000018191b1a000000000018191a00000000000a0a00000a1819192d2e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000900
0000000b000008091829292a00000000080a090a28392a002c2d2e0000000000282a0000000000000000000000283e3d2a080000000028292a000000181919191919192929293d3d00000000000000000000000000000000000000000000000000000000000018191a00000000002c2d2e000000000000000000000008181a09
08000a1b091819192929392a0a0a0a181919191929292a0a3c3d3e0a0a091b08282a000008000a00090800001819191919191a000000283a2a080000282929293a29293929293c3e0000090800000a000809000000090a08000a080000000a08000a181a00002838291a00080b003e3c3d080a080a0a08080a0a080a1829381a
191919191919292939292929191919292929292929292929292929292938292929292929292929292929292929292929292929292929292929292929293a29292929392929292929291b292929292929292929292929292929292929292929292929292929292929292929291b29292929292929292929292929292929292929
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000016000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000121413000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000001100000000000000000000000000000016000000000030223100000000000000000000003022212300000000000000101010000000000016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000121000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000241025000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000162500000000001100000030212231000000000000000000000000000000000000302121222300000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000121013000000000000000000000016000000000000000000000000302121213100000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000160000000000000000241025000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000110000000000000000000000001100000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000012101600000000000000000000121013000011000000000000000000000000001100110000000011000000000000000000000000001100000000111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0011001210102500000000000000000012101010131210130000000000110000000000202121212300202121212300000000000000000000121000000000101013000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0010101010100000002021212300001210101010101021212223000012102123000020212121212300202121212123000000001100000012102500000000241010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1210101010101300122121212123121010101010101021212123111210212123000012212121211300122121212113000000121013001210102021230000121010130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1010101010101014101010101010101010101010101010101010101010101010101010101010101014101010101010101010101010101010101010101410101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010
__sfx__
000400002c2501f250132503365036660396503764035630316202f6202c620246201d6101b6101b61019610126100e61010610116100c6000d6000e6000c6000a60007600016000060000000000000000000000
010800003d0202d0203d0203d61421620216201d6101c6101a6150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0101002005770087700b7700b7700a750067500375005750087600a7600b7600a76009760047700477006770097700a7700a75009750087500675006760087600a7600a76008760067700677008770097700a770
00020000226502265026150241501d150161500e1500c150061500315001150001500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
010800002605000000260502163021610216102161600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000a00082405024050240500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0003000015150181501b15021150251502b1503115039150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
002000001885000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000