The Tweetjar source code

View raw source.

pico-8 cartridge // http://www.pico-8.com
version 41
__lua__
--the tweetjar
--a museum of tweetcarts

--◆caoimhe ni chaoimh◆
--oakreef.ie

--init

bbs = true
obs = bbs and '🅾️' or 'z'
obl = bbs and '🅾️' or 'z '
xbs = bbs and '❎' or 'x'
xbl = bbs and '❎' or 'x '


plr = {x=4.9,y=11.3,f=⬆️}
dx=0
dy=0
clock=0
mode = 'museum'
display = nil
scroll = 0
lofi=false
hifi=false
countdown=0
-->8

-->8
--data

exh={
	intro={
		name='introduction',
		x1=6,x2=8,y1=7,y2=9
 },
	
	spiral={
		name='spiral',
		x1=5,x2=8,y1=3,y2=5,
		note={
			x1=7,x2=8,y1=3,y2=5
		}
	},
	
	orrery={
		name='orrery',
		x1=10,x2=13,y1=7,y2=9,
		note={
			x1=12,x2=13,y1=7,y2=9
		}
	},
	
	game={
		name='game',
		x1=10,x2=13,y1=3,y2=5,
		note={
			x1=12,x2=13,y1=3,y2=5
		}
	},
	
	spin={
		name='spin',
		x1=15,x2=17,y1=7,y2=9,
		note={
			x1=16,x2=17,y1=7,y2=9
		}
	},
	
	wolf={
		name='wolfenstein deathscreen',
		x1=15,x2=18,y1=3,y2=5,
		note={
			x1=17,x2=18,y1=3,y2=5
		}
	},
	
	life={
		name='game of life',
		x1=20,x2=24,y1=10,y2=12,
		note={
			x1=23,x2=24,y1=10,y2=12
		}
	},
	
	warp={
		name='warp drive',
		x1=11,x2=14,y1=15,y2=17,
		note={
			x1=13,x2=14,y1=16,y2=17
		}
	},
	
	tune1={
		name='music',
		x1=15,x2=17,y1=12,y2=14,
		note={
			x1=15,x2=16,y1=12,y2=14
		}
	},
	
	tune2={
		name='original music',
		x1=17,x2=18,y1=12,y2=14
	},
	
	game2={
		name='game 2: rise of the game',
		x1=7,x2=10,y1=15,y2=16,
		note={
			x1=9,x2=10,y1=15,y2=16
		}
	}
}

intro = {
"welcome to the tweetjar.",
"each display represents a",
"programme that fits inside a",
"single tweet.",
"",
"most were written in fewer than",
"140 characters, with a couple",
"inside the new limit of 280.",
"",
"everything here, including the",
"museum itself, was written for",
"the pico-8 fantasy console.",
"",
"strict limits necessitate",
"creative solutions and ",
"intimate knowledge of a",
"platform allow lots of fun",
"tricks to be used.",
"",
"each display is accompanied",
"by notes showing the original",
"code in full and an explanation",
"of the piece.",
"",
"to view a display simply",
"approach it and press " .. obs .. ".",
"when finished with any display",
"(including this one) return to",
"the musuem by pressing " .. xbs.. ".",
"",
"for more information on pico-8",
"please visit lexaloffle.com",
"",
"to see more programmes like the",
"ones shown here just search for",
"tweetcart or tweetjam on",
"twitter.",
"",
"more of caoimhe's work can be",
"found at oakreef.ie",
"",
"please enjoy your visit ♥"
}


exh.spiral.code={
"t=0::_::cls()b=100 c=0.2",
"for i=0,470,c do d=i/b+t",
"circfill(cos(d)*i*c+64,",
"sin(d)*i*c+64,i/b,6)end",
"t+=0.01 flip()goto _"
}

exh.spiral.text={
"pico-8 has built-in drawing",
"and trignometric functions",
"that allows very terse code.",
"",
"here is a basic spiral using",
"just sine and cosine functions",
"and a circle drawing command.",
"",
"t is simple counter that goes",
"up every iteration. most",
"examples here will have this.",
"",
"::_:: sets a label called '_'",
"that is the start of the loop.",
"the 'goto _' at the end sends",
"the code back to here.",
"",
"cls() clears the screen to",
"make a blank canvas every",
"frame.",
"",
"the flip() at the end tells",
"the programme to wait till the",
"next frame before continuing.",
"",
"the rest is a compact for loop",
"that draws the spiral every",
"frame.",
"",
"circfill(x,y,r,c) draws a",
"circle at screen position x,y",
"with radius r and colour c."
}

exh.orrery.code = {
"t=8::_::cls()for i=1,7 do",
"j=i-1;r={4,1,2,1.7,2,3,1.9}",
"k=t*r[i]/i",
"circfill(64+j*12*cos(k),",
"64+j*12*sin(k+.1),",
"r[i],9+i%7)",
"end;t+=.02;flip()goto _"
}
exh.orrery.text = {
"a simple model of a solar",
"system.",
"",
"the table r represents all",
"data we have on our planets.",
"position in the table is our",
"orbital radius (with the first",
"entry being the sun itself).",
"the numbers are the radius of",
"the planets and are also used",
"as their mass.",
"",
"the orbits are not terribly",
"accurate to reality but do at",
"least two things right:",
"further out objects orbit more",
"slowly and more massive",
"objects orbit faster.",
"",
"pico-8 has a fixed palette of",
"16 colours where each has an",
"index number of 0-15. to save",
"much needed space each planet",
"is coloured based off its",
"position in the table r.",
"",
"if you count you may notice",
"this is a little more than",
"140 characters. some new line",
"characters have been added for",
"readability. this is true for",
"other displays here too."
}

exh.game.code={
"x,y,u,v,b=9,0,5,0,btn::_::",
"u=b(0)and-1 or b(1)",
"  and 1 or u*.9",
"v=y>99 and(b(4)and-2 or 0)",
"  or b(4)and v+.1 or v+.2",
"x+=u;y+=v",
"pset(x,y)flip()goto _"
}

exh.game.text={
"this was attempt to make as",
"complex platformer as possible",
"with as many good 'gamefeel'",
"touches as possible such as",
"gradual deceleration and",
"variable jump height.",
"",
"b is used as an alias for the",
"btn() command which checks for",
"player input.",
"",
"the structure 'x=a and b or c'",
"acts as a ternary operator:",
"x is set as b if a is true and",
"c if a is false. it's used to",
"make complicated control logic",
"as terse as possible here.",
"",
"pset() colours a single pixel.",
"the colour is not specified",
"which means it uses the same",
"colour as whatever the last",
"drawing operation used.",
"",
"it also never uses cls() so",
"it just draws over whatever",
"was already on screen.",
"",
"some line breaks were added to",
"break up overly long lines."
}

exh.spin.code={
"memcpy(0,24576,8192)q=0::_::",
"for j=0,128 do",
"for i=0,128 do",
"w=cos(q)",
"pset(i,j,i-64>abs(w*64)and",
"  0 or sget(i/w-64/w+64,j))",
"end;end;q+=.02;goto _"
}

exh.spin.text={
"pico-8 has well defined memory",
"layout that is accessable to",
"programmes. 24576 is the start",
"of the address block where the",
"current screen data is stored.",
"",
"the screen is 128 pixels wide",
"and 128 tall. each byte of",
"memory stores the data for two",
"pixels, so this block is 8192",
"bytes long.",
"",
"it's copied to address 0,",
"which is normally for storing",
"sprite data.",
"",
"each frame this data is simply",
"read back from the sprite data",
"with a rotation applied."
}


exh.wolf.code={
"b,v,i=band,1,0",
"pset(0,0,8)::_::",
"v=bxor(flr(shr(v,1)),",
"  b(-b(v,1),14338))",
"i+=1",
"if(i%256==0)flip()",
"pset(shr(b(v,16256),7),",
"  b(v,127),8)",
"goto _"
}

exh.wolf.text={
"this is a recreation of the",
"effect used on player death",
"in wolfenstein 3d. although",
"it looks random each pixel is",
"always filled in in the same",
"order.",
"",
"each pixel is also selected",
"exactly once without repeat.",
"this keeps the effect take a",
"consistent amount of time to",
"fill the screen and there is",
"no need to keep track of what",
"parts of the screen have",
"already been drawn to",
"",
"the technique used is called",
"a 'linear feedback shift",
"register'. it uses several",
"bitwise xor operators."
}


exh.life.code={
"k=8192::_::for a=0,k do",
"n=0 for x=0,8 do",
"n+=peek(k*3+a+x/3+x%3*64-65)",
"end",
"poke(a,n==12 and 4 or n==16",
"  and peek(a))end",
"memcpy(k*3,0,k)goto _"
}

exh.life.text={
"conway's game of life is",
"simulation of life using a",
"grid of cells where each cell",
"is either 'dead' or 'alive'.",
"",
"each cycle every cell is",
"updated based on the state",
"of its neighbours.",
"",
"a live cell with fewer than",
"two neighbours dies.",
"(underpopulation)",
"",
"a live cell with more than",
"three neighbours dies.",
"(overpopulation)",
"",
"a dead cell with three live",
"neighbours comes to life.",
"(reproduction)",
"",
"normally a simulation like",
"this would require two data",
"tables to iterate over. as",
"screen memory in pico-8 is",
"accessable directly the screen",
"itself is used as a data store",
"in the iteration.",
"",
"the next iteration is written",
"cell by cell to some blank",
"memory and then copied all at",
"once over the screen memory.",
"",
"because of this the starting",
"condition of the simulation",
"is dependant on whatever is on",
"the screen when the code runs.",
"",
"each byte in memory represents",
"two pixels of the screen, so",
"each cell of the automaton is",
"also two pixels.",
"",
"a live cell is a brown and",
"black pixel (value: 4) and",
"each dead cell is two black",
"pixels (value: 0). these",
"values were chosen as they",
"produced interesting results",
"when run against the default",
"pico-8 start up screen.",
"",
"for this demonstration the",
"screen data is randomized",
"before it runs in order to",
"produce varied results.",
"",
"the peek() command reads the",
"value of a byte of memory at",
"the given address while the",
"poke() command writes to one,",
"",
"the neighbouring cells are",
"the cells immediately before",
"and after the current cell as",
"well as the ones 64 positions",
"before and after (because each",
"line of the screen memory is",
"64 bytes long).",
"",
"this doesn't take into account",
"the edges of the screen so",
"cells on the left and right",
"edges read data from cells",
"on the opposite edge and one",
"row above or below",
"respectively, which gives the",
"simulation an imperfect",
"looping behaviour at the",
"boundaries."
}


exh.warp.code={
"t,s=0,{}::_::cls()r=rnd",
"add(s,{r()-.5,r()-.5})",
"add(s,{r()-.5,r()-.5})",
"for j=1,#s do;p=s[j]",
"p[1]*=1.15;p[2]*=1.15",
"pset(p[1]+74,p[2]+60,7)end",
"for i=0,120,6 do;q=t-i",
"h=3^(q%60/15)",
"circ(64+cos(q/60)*10,",
"64+sin(q/60+0.2)*5,h,",
"flr(h)%2>0.5 and 12 or 13)",
"end;t+=1;flip()goto _"
}

exh.warp.text={
"in november 2017 twitter",
"doubled the character limit",
"to 280 characters. with eased",
"limitations tweetcarts become",
"a lot more forgiving and",
"layering effects together",
"to give each other context",
"becomes much easier.",
"",
"here an expanding series of",
"rings are combined with a",
"zooming starfield to give the",
"impression of some sort of",
"sci-fi warp drive travelling",
"through space.",
"",
"this is the first code example",
"that uses the built in random",
"number generator, rnd(), to",
"create random starting",
"positions for the stars.",
"",
"",
""
}


exh.tune1.code={
"a=12800",
"t={[27]=84,[60]=141,",
"[65]=12,[66]=0,[67]=32}",
"for i=0,67 do",
"poke(a+i,",
"({129,84,148})[i%4+1])",
"if(t[i])poke(a+i,t[i])end",
"sfx(0)::_::goto _"
}

exh.tune1.text={
"pico-8 has a dedicated portion",
"of memory for storing music",
"and sound effects. this code",
"just inserts a pre-defined set",
"of data into the relevant",
"memory and plays it.",
"",
"this is not particularly",
"complex but was interesting",
"as an exercise for understand",
"how the system stored musical",
"data.",
"",
"the tune is the intro section",
"of a very basic track i made",
"for a previous game jam game i",
"made called 'super fash bash'.",
"",
"the speaker on the left runs",
"the code here (except for the",
"infinite loop) the speaker on",
"the right plays the original",
"version from the game jam.",
"see if you can hear the",
"difference.",
"",
"you can stop the music just by",
"activating the speaker a",
"second time."
}

exh.game2.text={
"with the extra 140 characters",
"the game has been expanded",
"to include hazards, a score",
"and something of an implicit",
"objective.",
"",
"there is nothing code-wise",
"that is not in other displays",
"but it shows how much of a",
"difference the extra 140",
"characters makes."
}

exh.game2.code={
"s=0::l::x,y,u,v,b,t=9,0,5...",
",0,btn,0::_::cls()u=b(0) ...",
"and-2 or b(1)and 2 or u*.9",
"v=y>=99 and(b(4) and-6 or",
" 0)or b(4)and v+.4 or v+.7",
"x+=u;y+=v;circ(x,y,3,9)",
"q=t*5%140;if(q==0)h=rnd(36)",
"if(abs(x-q)<3 and y>101-h)",
" s=t;goto l",
"rect(q-3,101-h,q+3,101,8)",
"print(s..'-'..t)t+=1",
"flip()goto _"
}
-->8
--functions


function col(x,y)
	return fget(mget(x,y),0)
end


function bcol(x,y)
	return col(x-.4,y) or col(x+.4,y) or col(x-.4,y+.5) or col(x+.4,y+.5)
end

function tget(x,y)
	for i,e in pairs(exh) do
		if x>=e.x1 and x<=e.x2 and y>=e.y1 and y<=e.y2 then
			local nn = false
			local n = e.note
			if n!=nil then
				if x>=e.x1 and x<=e.x2 and y>=e.y1 and y<=e.y2 then
					nn = x>=n.x1 and x<=n.x2 and y>=n.y1 and y<=n.y2
				end
			end
			return e, nn
		end
	end
end


function plook()
	local lm = 2
	local lp = {x=plr.x, y=plr.y}
	local _x,_y = 0,0
	for ld=0,lm,0.2 do
		if plr.f == ⬅️ then
			_x,_y = plr.x-ld, plr.y
		elseif plr.f == ➡️ then
			_x,_y = plr.x+ld, plr.y
		elseif plr.f == ⬆️ then
			_x,_y = plr.x, plr.y-ld
		elseif plr.f == ⬇️ then
			_x,_y = plr.x, plr.y+ld+0.5
		end
		_a,_b = tget(_x,_y)
		if _a != nil then
			break
		end
	end
	return _a,_b
end

function printc(t,x,y,c)
	print(t,x-#t*2,y,c)
end


-->8
--update--
::_museum_::
clock+=1
if countdown > 0 then
	countdown-=1
end


if plr.x > 4 and plr.x < 6 and plr.y > 16 and plr.y < 16.2 then
	goto _exit_
end



lai, lan = plook()



if lai !=nil then
	if btnp(🅾️) then
		if lan then
			dx=0
			dy=0
			scroll=0
			display = lai
		elseif lai.name=='introduction'then
			goto _intro_
		elseif lai.name=='spiral'then
			goto _spiral_
		elseif lai.name=='orrery'then
			goto _solar_
		elseif lai.name=='game'then
			goto _game_
		elseif lai.name=='spin'then
			goto _spin_
		elseif lai.name=='sparkle'then
			goto _spark_
		elseif lai.name=='wolfenstein deathscreen'then
			goto _wolf_
		elseif lai.name=='game of life'then
			goto _life_
		elseif lai.name=='warp drive'then
			goto _warp_
		elseif lai.name=='music'then
			goto  _tune1_
		elseif lai.name=='stop music'then
			goto _tunestop_
		elseif lai.name=='original music'then
			goto _tune2_
		elseif lai.name=='game 2: rise of the game'then
			goto _game2_
		end
	end
end

::_museuma_::

if not lan or btn() then
	display = nil
end

if display == nil then

	if btn(⬅️)then
		dx=-0.15
		plr.f = ⬅️
	elseif btn(➡️) then
		dx=0.15
		plr.f = ➡️
	else
		dx=0
	end
	
	if btn(⬆️) then
		dy=-0.15
		plr.f = ⬆️
	elseif btn(⬇️) then
		dy=0.15
		plr.f = ⬇️
	else
		dy=0
	end

else 
	if btn(⬇️) then
		scroll +=1
	elseif btn(⬆️) then
		scroll -=1
	end
	if scroll < 0 then
		scroll = 0
	end
	local lim = (#display.text-8)*6
	if scroll > lim then
		scroll = lim
	end
end


if not bcol(plr.x+dx,plr.y) then
	plr.x+=dx
end
if not bcol(plr.x,plr.y+dy) then
	plr.y+=dy
end


	





-->8
--drawing
cls()
cx = plr.x > 10 and plr.x or 10
cx = cx > 18 and 18 or cx
cy = plr.y-8
cy = cy < 0 and 0 or cy
cy = cy > 7 and 7 or cy
camera(cx*8-64,cy*8-64*0)
--draw mini exhibits
--spiral
for i=0,150 do
	local b1=40
	local c1=0.06 
	pset(
		cos(i/b1+clock/50)*i*c1+48,
		sin(i/b1+clock/50)*i*c1+31,
		6)
end

--life
sspr(27+(flr(clock/15)%3)*10,64,10,10,163,82)
if flr(clock/15)%2 == 0 then
	line(175,85,177,85,4)
	line(177,88,177,90,4)
else
	line(176,84,176,86,4)
	line(176,89,178,89,4)
end

--wolf
sspr((flr(clock/20)%6)*11
	,112,10,10,123,26)

--game
spr((flr(clock/3)%11)+182
,10*8+3,3*8+3)

--game2
spr((flr(clock/3)%8)+166
	,7*8+3,15*8+3)

--warp
circ(12*8,16*8-1,clock%8,12)

	--draw museum
map(0,0,0,0,25,20)


--draw player
moving = dx != 0 or dy != 0

if moving then
	if plr.f == ⬇️ then
		sspr(8,0,9,10,plr.x*8-4,plr.y*8-6)
	elseif plr.f == ⬆️ then
		sspr(27,0,9,10,plr.x*8-4,plr.y*8-6)
	elseif plr.f == ➡️ then
		sspr(18,0,9,10,plr.x*8-4,plr.y*8-6)
	elseif plr.f == ⬅️ then
		sspr(18,0,9,10,plr.x*8-4,plr.y*8-6,9,10,true)
	end
	
	if plr.f == ⬆️ or plr.f == ⬇️ then
		line(
			plr.x*8+(flr(clock/8)%2==0 and 2 or -2),
			plr.y*8+4,
			plr.x*8+(flr(clock/8)%2==0 and 1 or -1),
			plr.y*8+4,12)
	elseif plr.f == ⬅️ or plr.f == ➡️ then
		line(
			plr.x*8+(flr(clock/8)%2==0 and -2 or 1),
			plr.y*8+(flr(clock/8)%2==0 and 3 or 4),
			plr.x*8+(flr(clock/8)%2==0 and -1 or 2),
			plr.y*8+(flr(clock/8)%2==0 and 4 or 3),
			12)
	end
else
	if plr.f == ⬇️ then
		sspr(8,0,9,11,plr.x*8-4,plr.y*8-6)
	elseif plr.f == ⬆️ then
		sspr(27,0,9,11,plr.x*8-4,plr.y*8-6)
	elseif plr.f == ➡️ then
		sspr(18,0,9,11,plr.x*8-4,plr.y*8-6)
	elseif plr.f == ⬅️ then
		sspr(18,0,9,11,plr.x*8-4,plr.y*8-6,9,11,true)
	end
end

--spinner
palt(0,false)
sspr(80,64,10,10,124.5-5*cos(clock/64),56,10*cos(clock/64),10)
palt()

--music on lights
if hifi then
pset(17*8+5,12*8+4,11)
end
if lofi then
pset(16*8+5,12*8+4,11)
end


--draw ui
camera()
rectfill(0,0,127,10,1)
line(0,10,127,10,13)
rectfill(0,117,127,127,1)
line(0,117,127,117,13)

if lai != nil then
	printc('"'..lai.name..'"',
	64,2,12)
end

if display == nil then
	print('move:⬅️⬆️⬇️➡️           view:'..obl,
	2,121,12)
else
	print('scroll:⬆️⬇️             back:'..xbl,
	2,121,12)
end


--debug info
if false then
	print(plr.x..','..plr.y,64,100,7)
	print(countdown,64,106,7)
	print(lofi,64,112,7)
end


--draw exhibit info
if display != nil then
	rectfill(5,8,122,#display.code
*6+8,7)
	for i,l in pairs(display.code) do
		print(l,8,i*6+3,13)
	end
	
	cy = 64
	clh= 51
	if lai.name == 'warp drive' or lai.name=='game 2: rise of the game' then
		cy = 84
		clh= 31
	end
	
	rectfill(3,cy,125,116,7)
	clip(4,cy+1,121,clh)
	for i,l in pairs(display.text) do
		print(l,4,cy-4+i*6-scroll,1)
	end
	clip()
end

flip()
goto _museum_
-->8
--exhibits

--introduction
::_intro_::
scroll=0

::_introl_::
if btn(⬇️) then
		scroll +=1
	elseif btn(⬆️) then
		scroll -=1
	end
	if scroll < 0 then
		scroll = 0
	end
	lim = (#intro-12)*6
	if scroll > lim then
		scroll = lim
	end
cls()
camera(0,scroll)
sspr(0,96,128,16,0,14)
for i=1,#intro do
print(intro[i],
		2,i*6+30,7)
end

--
if btn() then
goto _museum_
end
camera()
rectfill(0,0,127,10,1)
line(0,10,127,10,13)
rectfill(0,117,127,127,1)
line(0,117,127,117,13)
printc('"'..lai.name..'"',64,2,12)
print('scroll:⬆️⬇️             back:'..xbl,
	2,121,12)
--
flip()
goto _introl_




::_exit_::

cls()
camera(0)
sspr(0,96,128,16,0,14)
printc('thank you for visiting!',64,64,7)
flip()
goto _exit_


-- if blocks have been added
-- around tweetcart code to
-- create new scope blocks as a
-- hack to deal with an issue
-- that has arisen in newer
-- versions of pico-8 involving
-- using goto to jump into code
-- and skipping variable
-- declaration. i cannot be
-- arsed to rewrite this mess
-- into something better so i've
-- gone with this.

--spiral
::_spiral_::
if true then
t=0::_✽_::cls()b=100
c=0.2
for i=0,470,c do
d=i/b+t
circfill(cos(d)*i*c+64,
sin(d)*i*c+64,i/b,6)end
t+=0.01
--
if btn() then
goto _museum_
end
camera()
rectfill(0,0,127,10,1)
line(0,10,127,10,13)
rectfill(0,117,127,127,1)
line(0,117,127,117,13)
printc('"'..lai.name..'"',64,2,12)
print('                        back:'..xbl,
	2,121,12)
--
flip()
goto _✽_
end

::_solar_::
if true then
t=9::_★_::cls()for i=1,7 do
j=i-1
r={4,1,2,1.7,2,3,1.9}k=t*r[i]/i
circfill(64+j*12*cos(k),64+j*12*sin(k+.1),r[i],9+i%7)end
t+=.02
--
if btn() then
goto _museum_
end
camera()
rectfill(0,0,127,10,1)
line(0,10,127,10,13)
rectfill(0,117,127,127,1)
line(0,117,127,117,13)
printc('"'..lai.name..'"',64,2,12)
print('                        back:'..xbl,
	2,121,12)
--
flip()goto _★_
end
--v=y>99 and(b(4)and-2 or 0)or not b(4)and v<-1 and-1 or v+.1



::_game_::
if true then
x,y,u,v,b=9,0,5,0,btn
::_gamel_::
u=b(0)and-1 or b(1)and 1 or u*.9
v=y>99 and(b(4)and-2 or 0)or b(4)and v+.1 or v+.2
x+=u;y+=v
pset(x,y)
--
if btn() then
goto _museum_
end
camera()
rectfill(0,0,127,10,1)
line(0,10,127,10,13)
rectfill(0,117,127,127,1)
line(0,117,127,117,13)
printc('"'..lai.name..'"',64,2,12)
print('move:⬅️➡️    jump:'..obl..'    back:'..xbl,
	2,121,12)
--
flip()goto _gamel_
end


::_spin_::
if true then
camera()
rectfill(0,0,127,10,1)
line(0,10,127,10,13)
rectfill(0,117,127,127,1)
line(0,117,127,117,13)
printc('"'..lai.name..'"',64,2,12)
print('                        back:'..xbl,
	2,121,12)
memcpy(0,24576,8192)q=0
::_spinl_::
--
if btn() then
reload(0,0,8192)
goto _museum_
end
--
for j=0,128 do
for i=0,128 do
w=cos(q)pset(i,j,i-64>
abs(w*64)and 0 or sget(i/w-64/w+64,j))
end
end
q+=.02
flip()goto _spinl_
end



::_spark_::
if true then
poke(24365,1)k,m=24576,memcpy
::_sparkl_::
--
if btn() then
goto _museum_
end
--
pset(stat(32),stat(33),rnd(8)+8)for i=0,127 do
l=k+64*i
m(l,l+rnd(2),63)end
m(k+64,k,8064)
--
camera()
rectfill(0,0,127,10,1)
line(0,10,127,10,13)
rectfill(0,117,127,127,1)
line(0,117,127,117,13)
printc('"'..lai.name..'"',64,2,12)
print('                        back:'..xbl,
	2,121,12)
--
flip()
goto _sparkl_
end


::_wolf_::
if true then
b,v,i=band,1,0
pset(0,0,8)
::_wolfl_::
--
if btn() then
goto _museum_
end
--
v=bxor(flr(shr(v,1)),b(-b(v,1),14338))i+=1
--
camera()
rectfill(0,0,127,10,1)
line(0,10,127,10,13)
rectfill(0,117,127,127,1)
line(0,117,127,117,13)
printc('"'..lai.name..'"',64,2,12)
print('                        back:'..xbl,
	2,121,12)
--
if(i%256==0)flip()
pset(shr(b(v,16256),7),b(v,127),8)
goto _wolfl_
end


::_life_::
if true then
for i=0,8191 do
val=(flr(rnd(3)-1))
if(val!=1)val=0
val*=12
poke(0x6000+i,val)
end
k=8192
::_lifel_::
--
if btn() then
reload(0,0,8192)
goto _museum_
end
--
for a=0,k do
n=0 for x=0,8 do
n+=peek(k*3+a+x/3+x%3*64-65)
end
poke(a,n==12 and 4 or n==16 and peek(a))end
memcpy(k*3,0,k)
--
camera()
rectfill(0,0,127,10,1)
line(0,10,127,10,13)
rectfill(0,117,127,127,1)
line(0,117,127,117,13)
printc('"'..lai.name..'"',64,2,12)
print('                        back:'..xbl,
	2,121,12)
--
goto _lifel_
end

::_warp_::
if true then
t,s=0,{}
::_warpl_::
--
if btn() then
goto _museum_
end
--
cls()r=rnd
add(s,{r()-.5,r()-.5})add(s,{r()-.5,r()-.5})
for j=1,#s do
p=s[j]
p[1]*=1.15
p[2]*=1.15
pset(p[1]+74,p[2]+60,7)end
for i=0,120,6 do
q=t-i
h=3^(q%60/15)circ(64+cos(q/60)*10,64+sin(q/60+0.2)*5,h,flr(h)%2>0.5 and 12 or 13)end
t+=1
--
camera()
rectfill(0,0,127,10,1)
line(0,10,127,10,13)
rectfill(0,117,127,127,1)
line(0,117,127,117,13)
printc('"'..lai.name..'"',64,2,12)
print('                        back:'..xbl,
	2,121,12)
--
flip()
goto _warpl_
end

::_tune1_::
if true then
if countdown <= 0 then
music(-1)
sfx(-1)
countdown=15
lofi=not lofi
hifi=false
if lofi then
--
a=12800
t={[27]=84,[60]=141,[65]=12,[66]=0,[67]=32}for i=0,67 do
poke(a+i,({129,84,148})[i%4+1])
if(t[i])poke(a+i,t[i])end
sfx(0)
--
else
reload()
end
end
goto _museuma_
end

::_tune2_::
if true then
if countdown <= 0 then
	reload()
	countdown=15
	music(-1)
	sfx(-1)
	lofi=false
	hifi=not hifi
	if hifi then
		music(4)
	end
end
goto _museuma_
end

::_tunestop_::
lofi=false
hifi=false
music(-1)
sfx(-1)
goto _museuma_


::_game2_::
s=0
::_game2s_::
x,y,u,v,b,t=9,0,5,0,btn,0
::_game2l_::
--
if btn() then
goto _museum_
end
--
cls()
u=b(0)and-2 or b(1)and 2 or u*.9
v=y>=99 and(b(4)and-6 or 0)or b(4)and v+.4 or v+.7
x+=u;y+=v
circ(x,y,3,9)q=t*5%140
if(q==0)h=rnd(36)
if(abs(x-q)<3 and y>101-h)s=t;goto _game2s_
rect(q-3,101-h,q+3,101,8)
print(s..'-'..t,0,11)t+=1--cheating here by adding coodinates. shhhh
--
camera()
rectfill(0,0,127,10,1)
line(0,10,127,10,13)
rectfill(0,117,127,127,1)
line(0,117,127,117,13)
printc('"'..lai.name..'"',64,2,12)
print('move:⬅️➡️    jump:'..obl..'    back:'..xbl,
	2,121,12)
--
flip()
goto _game2l_
__gfx__
0000000000ccc1c00000cccc10000c1ccc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000c11111c000ccc11c000ccccccc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700c1c1c1c1c0ccc1c1cd0ccccccccc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000ccd1c1dcc0ccc1ddcd0ccccccccc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00077000cc1ddd1cc0cc1c11100ccccccccc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700700c1111111c0cc11dc1001ccccccc100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000001dcd1000c11ddd10001ccccc1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000001cdddc10000cdddc0000111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000011ccc1100001ccc100011ccc11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000d111d00000011100000d111d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000cc0cc0000000cc00000cc0cc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
55555555ffffffffffffffff55555555ffffffff00000000fff666666666666666666ffff67000000000076f0000000000000000fff6666666666fff77777777
44454444ffffffffffffffff44454444ffffffff00000000ff67777777777777777776fff67000000000076f0000000000000000ff677777777776ff00000077
55555555ffffffffffffffff55555555ffffffff00000000f6770000000000000000776ff67000000000076f1010101010101010f67700000000776f00000007
44444454ffffffffffffffffeeeeeeeeffffffff00000000f6700000000000000000076ff67700000000776f1111111111111111f67000000000076f00000007
555555559f999f99ffffffffefefefefffffffff00000000f6700000000000000000076f9f6777777777769f0101010101010101f67000000c00076f00000007
44454444fffffffffffffffffefefefef777777600000000f6700000000000000000076ff6767e777777676f1111111111111111f670000c0000076f00000007
5555555599999999ffffffffeeeeeeeef7dddd7600000000f6700000000000000000076f9676e7e7777e67691212121212121212f670000000c0076f00000007
44444454aaaaaaaaffffffffeeeeeeeef777777600000000f6700000000000000000076fa6767e777e77676a2222222222222222f670c0c00000076f00000007
00000000000000000000000000000000f7dddd7600000000f6700000000000000000076f55667777777766552121212121212121f6700000c0c0076f00000007
00000000000000000000000000000000f777777600000000f6700000000000000000076f44466666666664442222222222222222f670cc0000ccc76f00000007
00000000000000000000000000000000f7dddd7600000000f6700000000000000000076f55555555555555551212121212121212f67000000000076f00000007
00000000000000000000000000000000f777777600000000f6770000000000000000776f44444454444444542222222222222222f67700000000776f00000007
00000000000000000000000000000000f6666666000000009f677777777777777777769955555555555555552e2e2e2e2e2e2e2e9f6777777777769900000007
00000000000000000000000000000000ffffffff00000000fff666666666666666666fff4445444444454444eeeeeeeeeeeeeeeef6767e777777676f00000007
0000000000000000000000000000000099999999000000009999999999999999999999995555555555555555e2e2e2e2e2e2e2e29676e7e7777e676900000077
00000000000000000000000000000000aaaaaaaa00000000aaaaaaaaaaaaaaaaaaaaaaaa4444445444444454eeeeeeeeeeeeeeeea6767e777e77676a77777777
5555555555555555555555550000000055555555555555555555555555555555555555550000000000000000eeeeeeeeeeeeeeee000000000000000000000000
4445444444454444444544440000000044777744444544444445444444454444444544440000000000000000efefefefefefefef000000000000000000000000
5550000000000055555555550000000057555575577577757575777577757775777555550000000000000000fefefefefefefefe000000000000000000000000
4400000000000004477777760000000074477474747474747474747474447454744444540000000000000000eeeeeeeeeeeeeeee000000000000000000000000
550008000666660557dddd7600000000757575757575777577557755775577557755555500000000000000005555555555555555000000000000000000000000
440097f0000000044777777600000000744747447475747474757474744574447445444400000000000000004445444444454444000000000000000000000000
550a777e0666660557dddd7600000000575555557755757575757575777577757555555500000000000000005555555555555555000000000000000000000000
4400b750000000044777777600000000447777544444445444444454444444544444445400000000000000004444445444444454000000000000000000000000
55000c000666660557dddd7600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
44000000000000044777777600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
55066666666666055666666600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
4400000000000004444d44d400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
5506666666666605555d55d500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
4400000000000004444d44d400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
55000000000000055ddddddd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
44444454444444544444445400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000004400000004400000004400000000000000440000000400400000000000000000000000000222222222200000000000000000000000000000000000000
0000000400000000400000000400004444000000444400000040040000000000000000000000000021ff1f000200000000000000000000000000000000000000
0000440400000440400000440400004004000000000000000440044000000000000000000000000027ffff000200000000000000000000000000000000000000
00040040000040440000040040004440044400404004040444000044400000000000000000000000244444000200000000000000000000000000000000000000
00040000000004000000044000004000000404400000044000000000000000000000000000000000294464f11200000000000000000000000000000000000000
00000400000004000000004400004000000404400000044000000000000000000000000000000000274474fff200000000000000000000000000000000000000
00400400000440400000400400004440044400404004040444000044400000000000000000000000200044444200000000000000000000000000000000000000
04044000004044000004044000000040040000000000000004400440000000000000000000000000200044444200000000000000000000000000000000000000
040000000040000000040000000000444400000044440000004004000000000000000000000000002fff44000200000000000000000000000000000000000000
44000000044000000044000000000000000000000440000000400400000000000000000000000000222222222200000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
55555599555555555555555555555555000000005555555500000000090000000090000000000000000000000000000000000000000000000000000000000000
49a949aa944549444544444444454444000000004445444400000000909000000909000000090000000000000000000000000000000000000000000000000000
5aaa59aa95a59a955555555555555555000000005555555500000000090000000090000000909000000090000000000000000000000000000000000000000000
49a94499449449544000000444444454000000004444445400000000000000000000000000090000000909000000900000000000000000000000000000000000
55955922959559555005580555555555000000005555555500000000000000000000000000000000000090000009090000009000000000000000000000000000
44954922999549444005500444454444000000004445444400000000000000000000000080000000880000008880900008890900008890000008980000000000
55999992255559555000000555555555000000005555555500000000000000000000000080000000080000008080000008089000008909000009090000000000
44444229999999544005500444444454000000004444445400000000000000000000000080000000880000008880000008880000008890000008980000000000
55577222277555557050050777777777000000005771177500000000000000000000000000000000000000000000000000000000000000000000000000000000
44479222297544447050050777788777000000004711117400000000000000000000000000000000000000000000c0000000c0000000c0000000c0000000c000
555799999975555570055007777887770000000057d11d7500000000000000000000000000000000000c0000000c0000000c0c00000c0c00000c0c00000c0c00
4447799997744454700000077772277700000000477dd77400000000000000000000000000000000000000000000000000000000000000000000000000000000
55577777777555557777777777777777000000005777777500000000000000000000000000c0000000c0000000c0000000c0000000c000c000c000c000c000c0
44466666666544446666666666666666000000004666666400000000000000000000000000000000000000000000000000000000000000000000000000000000
55566666666555556666666666666666000000005666666500000000c0000000cc000000cc000000cc000000cc000000cc000000cc000000cc00000ccc00000c
44466666666444546666666666666666000000004666666400000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000888000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000888000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000888000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000999777fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000cccc0c00000000
00000000000999777fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000cc0000000cccccc000000000
00000000000999777fff0000000000000000777770700000000007777700000000000000000000700000000000000000000000000ccc00000ccccccc00000000
00000000aaa777777777eee00000000000000070007000007700000700707070077000770070000007770707700000000000000000ccccc00ccccc0000000000
00000000aaa777777777eee000000000000000700077700700700007007070707007070070777070700700700700000000000000cccccccccccccc0000000000
00000000aaa777777777eee0000000000000007000700707770000070070707077700777007000707007007000000000000000000ccccccccccccc0000000000
00000000000bbb77755500000000000000000070007007070070000700707070700707007070007070070070000000000000000000ccccccccccc00000000000
00000000000bbb777555000000000000000000700070070077000007000777700770007700077070077070700000000000000000ccccccccccccc00000000000
00000000000bbb7775550000000000000000000000000000000000000000000000000000000000700000000000000000000000000ccccccccccc000000000000
00000000000000ccc000000000000000000000000000000000000000000000000000000000007700000000000000000000000000000cccccccc0000000000000
00000000000000ccc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cccccc00000000000000
00000000000000ccc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cccccc0000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ccccc000000000000000000
0000000000c8000800000c8000800800c8800880800c8808880808c8888888888c00000000000000000000000000000000000000000000000000000000000000
0000000000c0080008808c0080088808c8080088888c8080088888c8888888888c00000000000000000000000000000000000000000000000000000000000000
0000000000c0000800000c0800800000c0808808008c0888808888c8888888888c00000000000000000000000000000000000000000000000000000000000000
0000000000c8008000080c8088008880c8088088880c8088088880c8888888888c00000000000000000000000000000000000000000000000000000000000000
0000000000c0080000008c0880080808c0880880808c0888888808c8888888888c00000000000000000000000000000000000000000000000000000000000000
0000000000c0008008000c0808008008c0808008808c0888088888c8888888888c00000000000000000000000000000000000000000000000000000000000000
0000000000c8000000080c8000880080c8080880080c8888888880c8888888888c00000000000000000000000000000000000000000000000000000000000000
0000000000c0008008000c0808008080c8808088888c8888088888c8888888888c00000000000000000000000000000000000000000000000000000000000000
0000000000c0800000008c0880800008c0880808008c0880808888c8888888888c00000000000000000000000000000000000000000000000000000000000000
0000000000c0000000000c8000080800c8888080880c8888888888c8888888888c00000000000000000000000000000000000000000000000000000000000000
0000000000cccccccccccccccccccccccccccccccccccccccccccccccccccccccc00000000000000000000000000000000000000000000000000000000000000
__label__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000888000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000888000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000888000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000999777fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000cccc0c00000000
00000000000999777fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000cc0000000cccccc000000000
00000000000999777fff0000000000000000777770700000000007777700000000000000000000700000000000000000000000000ccc00000ccccccc00000000
00000000aaa777777777eee00000000000000070007000007700000700707070077000770070000007770707700000000000000000ccccc00ccccc0000000000
00000000aaa777777777eee000000000000000700077700700700007007070707007070070777070700700700700000000000000cccccccccccccc0000000000
00000000aaa777777777eee0000000000000007000700707770000070070707077700777007000707007007000000000000000000ccccccccccccc0000000000
00000000000bbb77755500000000000000000070007007070070000700707070700707007070007070070070000000000000000000ccccccccccc00000000000
00000000000bbb777555000000000000000000700070070077000007000777700770007700077070077070700000000000000000ccccccccccccc00000000000
00000000000bbb7775550000000000000000000000000000000000000000000000000000000000700000000000000000000000000ccccccccccc000000000000
00000000000000ccc000000000000000000000000000000000000000000000000000000000007700000000000000000000000000000cccccccc0000000000000
00000000000000ccc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cccccc00000000000000
00000000000000ccc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cccccc0000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ccccc000000000000000000
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
00000000000000000077707070777077007070000070700770707000007770077077700000707077700770777077707770770007700700000000000000000000
00000000000000000007007070707070707070000070707070707000007000707070700000707007007000070007000700707070000700000000000000000000
00000000000000000007007770777070707700000077707070707000007700707077000000707007007770070007000700707070000700000000000000000000
00000000000000000007007070707070707070000000707070707000007000707070700000777007000070070007000700707070700000000000000000000000
00000000000000000007007070707070707070000077707700077000007000770070700000070077707700777007007770707077700700000000000000000000
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

__gff__
0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100010001010101010101010101000000000100010101000000000101010101010000000000000000000000000001010100000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000010101000001000000000000000000000101010100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000004242424242424242424242424242424200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000004242464844424246484442424648444200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000041415658544141494a5441415658544100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000040404040404040595a4040404040404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000004040404040404040404040404040404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000040404060614040a0a16240404062404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000040404070714040b0b1724040b572404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000004040404040404040404040404040404042424242424200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000004040404040404040404040404040404042464748444200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000043430000000000000000404040404041565758544100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000004062a2a24040404040404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000004072b2b24040404040404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000004242424242424242424242404040404040404040404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000424b4c4246484442464844404040404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000415b5c41494a5441565854404040404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000406b6c40595a4040404040404040404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000004040404040406465666768404040404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000004040404040404040404040404040404000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
010c000001255000000125500000012550000001255000000125500000012550000002255142550d2550000001255000000125500000012550000001255000000125500000012550000002255000000d25500000
__music__
00 41424344
00 41424344
00 41424344
00 41424344
03 10424344