Jappy Jird

This game is a clone of the famous international hit Flappy Bird.
You control the little pixel-bird, while it flaps through three different scenes and tries to avoid deadly pipes. Your score is measured by how many pipes you can pass.

Controls

  • Escape pauses and resumes the game
  • F1 takes a screenshot
  • Up arrow keys makes the bird flap

Bird flapping in the night Bird flaps in the summer Bird in the winter


# Python 2.7.7 Code
# Pygame 1.9.1 (for Python 2.7.7)
# Jonathan Frech 29th of March, 2016
#         edited 30th of March, 2016
#         edited 31st of March, 2016

# importing needed modules
import pygame, sys, time, math, os, random

""" CLASSES """
# bird class
class Bird():
	# initialize bird
	def __init__(self):
		self.pos = [9, 23]
		self.lasthopped = 0
		
		# bird's graphic
		self.size = [5, 4]
		self.pixels = [
			[[2, 0], [255, 255, 0]],
			[[3, 0], [255, 255, 0]],
			[[1, 1], [255, 255, 0]],
			[[2, 1], [0, 0, 0]],
			[[3, 1], [255, 255, 0]],
			[[4, 1], [255, 255, 0]],
			[[0, 2], [255, 255, 0]],
			[[1, 2], [255, 255, 0]],
			[[2, 2], [255, 255, 0]],
			[[3, 2], [255, 150, 0]],
			[[4, 2], [255, 150, 0]],
			[[1, 3], [255, 255, 0]],
			[[2, 3], [255, 255, 0]]
		]
		
	# tick bird
	def tick(self):
		self.lasthopped += 1
		if self.lasthopped > 20:
			if G.gameticks % 10 == 0:
				self.pos[1] += 1

		# upper and lower bounds
		if self.pos[1] < 0:
			self.pos[1] = 0
		elif self.pos[1] > G.height - self.size[1]:
			self.pos[1] = G.height - self.size[1]

	# handle events
	def handle(self, event):
		if event.type == pygame.KEYDOWN:
			if event.key == pygame.K_UP:
				self.lasthopped = 0
				self.pos[1] -= 1

	# render bird
	def render(self, surface):
		for p in self.pixels:
			surface.set_at([self.pos[0] + p[0][0], self.pos[1] + p[0][1]], p[1])

	# score if bird passed a previously unpassed pipe
	def checkscore(self, pipes):
		for pipe in pipes:
			if not pipe.scored and self.pos[0] > pipe.pos[0]:
				pipe.scored = True
				G.addscore()

	# check if the bird collides with a pipe
	def checkcollision(self, pipes):
		for pipe in pipes:
			for p in self.pixels:
				p = [self.pos[0] + p[0][0], self.pos[1] + p[0][1]]
				
				# check for main pole
				if p[0] >= pipe.pos[0] and p[0] <= pipe.pos[0] + pipe.size[0] and not (p[1] > pipe.pos[1]-1 and p[1] < pipe.pos[1] + pipe.size[1]):
					return True

				# check for special pixels
				for p2 in pipe.pixels:
					if p[0] == pipe.pos[0] + p2[0][0] and p[1] == pipe.pos[1] + p2[0][1]:
						return True

		# no collision detected
		return False

# pipe class
class Pipe():
	# initialize pipe
	def __init__(self, x):
		# size defines the gap's size
		self.size = [5, 7]
		
		# checks if the bird has passed this pipe already
		self.scored = False
		self.pos = [x, random.randint(1, 42)]
		
		# special pixels
		self.pixels = [
			[[self.size[0], -1], [0, 150, 0]],
			[[self.size[0], -2], [0, 150, 0]],
			[[self.size[0], self.size[1]], [0, 150, 0]],
			[[self.size[0], self.size[1]+1], [0, 150, 0]],

			[[self.size[0]-1, -2], [0, 150, 0]],
			[[self.size[0]-1, self.size[1]+1], [0, 150, 0]],

			[[-1, -1], [0, 255, 0]],
			[[-1, -2], [0, 255, 0]],
			[[-1, self.size[1]], [0, 255, 0]],
			[[-1, self.size[1]+1], [0, 255, 0]]
		]

	# render pipe
	def render(self, surface):
		# render two main poles
		pygame.draw.rect(surface, [0, 255, 0], [self.pos[0], self.pos[1]-50, 5, 50])
		pygame.draw.rect(surface, [0, 255, 0], [self.pos[0], self.pos[1]+self.size[1], 5, 50])
		pygame.draw.line(surface, [0, 150, 0], [self.pos[0]+self.size[0]-1, self.pos[1]-3], [self.pos[0]+self.size[0]-1, self.pos[1]-50])
		pygame.draw.line(surface, [0, 150, 0], [self.pos[0]+self.size[0]-1, self.pos[1]+self.size[1]+2], [self.pos[0]+self.size[0]-1, self.pos[1]+self.size[1]+2+50])
		
		# render details
		for p in self.pixels:
			surface.set_at([self.pos[0] + p[0][0], self.pos[1] + p[0][1]], p[1])

""" FUNCTIONS """
# background 1
def getscenes():
	# data
	data1 = """22\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\x96\xc8\xc8\x96\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8d\xc8\xc8d\xc8\xc8d\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8d\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\x00\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\xfa\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xc8\xc8\xfa\xc8\xc8\xfa\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2ZZZZZZ\xc8\xc8d\xc8\xc8dZZZ\xc8\xc8d\xc8\xc8dZZZ\xc8\xc8d\xc8\xc8dZZZZZZ\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2ZZZZZZ\xc8\xc8d\xc8\xc8dZZZ\xc8\xc8d\xc8\xc8dZZZ\xc8\xc8d\xc8\xc8dZZZZZZ\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222222222222222222222222ZZZ\xc8\xc8d\xc8\xc8dZZZZZZZZZZZZZZZ\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222222222222222222222222ZZZ\xc8\xc8d\xc8\xc8dZZZZZZZZZZZZZZZ\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222\xc8\xc8d\xc8\xc8d222\xc8\xc8d\xc8\xc8d222222ZZZZZZZZZZZZZZZZZZZZZZZZ\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222\xc8\xc8d\xc8\xc8d222\xc8\xc8d\xc8\xc8d222222ZZZZZZZZZZZZ\xc8\xc8d\xc8\xc8dZZZZZZ\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222222222222222222222222ZZZZZZZZZZZZ\xc8\xc8d\xc8\xc8dZZZZZZ\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222\xc8\xc8d\xc8\xc8d222222222222222ZZZZZZZZZZZZZZZZZZZZZZZZ\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222\xc8\xc8d\xc8\xc8d222\xc8\xc8d\xc8\xc8d222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222\xc8\xc8d\xc8\xc8d222222222222222ZZZZZZZZZZZZ\xc8\xc8d\xc8\xc8dZZZZZZ\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222\xc8\xc8d\xc8\xc8d222\xc8\xc8d\xc8\xc8d222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222222222222222222222222ZZZZZZZZZZZZ\xc8\xc8d\xc8\xc8dZZZZZZ\xa0\xa0\xd2\xa0\xa0\xd2nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222222222222\xc8\xc8d\xc8\xc8d222222ZZZZZZZZZZZZZZZZZZZZZZZZ\xa0\xa0\xd2nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222\xc8\xc8d\xc8\xc8d222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222222222222\xc8\xc8d\xc8\xc8d222222ZZZ\xc8\xc8d\xc8\xc8dZZZ\xc8\xc8d\xc8\xc8dZZZZZZ\xa0\xa0\xd2nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222\xc8\xc8d\xc8\xc8d222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222222222222222222222222ZZZ\xc8\xc8d\xc8\xc8dZZZ\xc8\xc8d\xc8\xc8dZZZZZZnn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222\xc8\xc8d\xc8\xc8d222222222222222ZZZZZZZZZZZZZZZZZZZZZZZZnn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222\xc8\xc8d\xc8\xc8d222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222\xc8\xc8d\xc8\xc8d222222222222222ZZZ\xc8\xc8d\xc8\xc8dZZZZZZZZZZZZZZZnn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0222222222222222\xc8\xc8d\xc8\xc8d222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222222222222222222222222ZZZ\xc8\xc8d\xc8\xc8dZZZZZZZZZZZZZZZnn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222222222222\xc8\xc8d\xc8\xc8d222222ZZZZZZZZZZZZZZZZZZZZZZZZnn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222\xc8\xc8d\xc8\xc8d222222nn\xa0nn\xa0nn\xa0nn\xa0222222\xc8\xc8d\xc8\xc8d222222222222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222222222222\xc8\xc8d\xc8\xc8d222222ZZZZZZZZZZZZ\xc8\xc8d\xc8\xc8dZZZZZZnn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222\xc8\xc8d\xc8\xc8d222222nn\xa0nn\xa0nn\xa0nn\xa0222222\xc8\xc8d\xc8\xc8d222222222222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222222222222222222222222ZZZZZZZZZZZZ\xc8\xc8d\xc8\xc8dZZZZZZnn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222\xc8\xc8d\xc8\xc8d222222222222222ZZZZZZZZZZZZZZZZZZZZZZZZnn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0222222222222222\xc8\xc8d\xc8\xc8d222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222\xc8\xc8d\xc8\xc8d222222222222222ZZZ\xc8\xc8d\xc8\xc8dZZZZZZZZZZZZZZZnn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0222222222222222\xc8\xc8d\xc8\xc8d222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222222222222222222222222ZZZ\xc8\xc8d\xc8\xc8dZZZZZZZZZZZZZZZnn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222\xc8\xc8d\xc8\xc8d222222222222222ZZZZZZZZZZZZZZZZZZZZZZZZnn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222\xc8\xc8d\xc8\xc8d222222nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222\xc8\xc8d\xc8\xc8d222222222222222ZZZZZZZZZZZZZZZZZZZZZZZZnn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222\xc8\xc8d\xc8\xc8d222222nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2\xa0\xa0\xd2222222222222222222222222222ZZZZZZZZZZZZZZZZZZZZZZZZnn\xa0nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0222222222222222222222222222nn\xa0nn\xa0nn\xa0nn\xa0"""
	data2 = """22\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\xff\xc8\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\xff\xc8\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\xc8\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\xff\x962\xff\x962\xff\x962\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\xff\x962\x00d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00222222222222222222222222222\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00222222222222222222222222222\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00222222\xff\xc82\xff\xc82222\xff\xc82\xff\xc82222222\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00222222\xff\xc82\xff\xc82222\xff\xc82\xff\xc82222222\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00d\x00\x00d\x00\x00d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00222222222222222222222222222\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00d\x00\x00d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00222222222222222\xff\xc82\xff\xc82222222\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00d\x00\x00d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00222222222222222\xff\xc82\xff\xc82222222\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00d\x00\x00d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00222222222222222222222222222\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00d\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00d\x00\x00P\x00\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00222222\xff\xc82\xff\xc82222\xff\xc82\xff\xc82222222\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00222222\xff\xc82\xff\xc82222\xff\xc82\xff\xc82222222\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00222222222222222222222222222\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00222222222222222\xff\xc82\xff\xc82222222\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00222222222222222222222222\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00\x00\x00\x00\x00\x00\xff\xc82\xff\xc82\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00222222222222222\xff\xc82\xff\xc82222222\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00222222222222222222222222\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x002\x00\x002\x00\x002\x00\x002\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x00P\x00\x002\x00222222222222222222222222222\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00222\xff\xc82\xff\xc82222\xff\xc82\xff\xc82222222\x00P\x00\x00P\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x00P\x00\x00P\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00P\x00\x00P\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00222222\xff\xc82\xff\xc82222222222222222\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00222\xff\xc82\xff\xc82222\xff\xc82\xff\xc82222222\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x00P\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00222222\xff\xc82\xff\xc82222222222222222\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00222222222222222222222222\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x00P\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00222222222222222222222222222\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00222222222222222222222222\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00\x002\x00"""
	data3 = """22\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xea\xe5\xad\x00"N\x00"N\x00"N\x00"N\x00"N\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\x00"N\x00"N\x00"N\x00"N\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\x00"N\x00"N\x00"N\x00"N\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\x00"N\x00"N\x00"N\x00"N\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\x00"N\x00"N\x00"N\x00"N\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\xcf\xca\x91\xcf\xca\x91\xcf\xca\x91\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\x00"N\x00"N\x00"N\x00"N\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\xcf\xca\x91\xcf\xca\x91\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\x00"N\x00"N\x00"N\x00"N\x00"N\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\xcf\xca\x91\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\xea\xe5\xad\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00\x196\x00\x196\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x006\x85\x006\x85\x006\x85\x00\x196\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00;\x95\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00;\x95\x00;\x95\x00;\x95\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x00"N\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x006\x85\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00D\xae\x006\x85\x006\x85\x006\x85\x006\x85\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00D\xae\x00D\xae\x006\x85\x006\x85\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x19\x19\x19\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x19\x19\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x19\x19\x19\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x19\x19\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x19\x19\x19\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x19\x19\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x19\x19\x19\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00D\xae\x00D\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x00;\x95\x00;\x95\x00;\x95\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00;\x95\x00;\x95\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x19\x19\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x00;\x95\x00;\x95\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x19\x19\x19\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00D\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00D\xae\x00D\xae\x00D\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x00D\xae\x00D\xae\x00D\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xc8\x00\x00\x00\x00\x00D\xae\x00D\xae\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\xc8\xc8\x00\xc8\xc8\x00\x19\x19\x19\x00D\xae\x00D\xae\x00D\xae\x00\x00\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\xc8\xc8\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00D\xae\x00D\xae\x00D\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xc8\x00\x00\x00\x00\x00D\xae\x00D\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00;\x95\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00;\x95\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x19\x00D\xae\x00D\xae\x00D\xae\x00\x00\x00\xc8\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00D\xae\x00D\xae"""
	
	data = [data1, data2, data3]
	scenes = []

	for d in data:
		# variables
		size = [ord(d[0]), ord(d[1])]
		pixels = d[2:len(d)]
		surface = pygame.Surface(size)

		# draw pixels
		for _ in range(0, len(pixels), 3):
			surface.set_at([(_/3)%size[0], (_/3)/size[1]], [ord(pixels[_]), ord(pixels[_+1]), ord(pixels[_+2])])

		# add scene
		scenes.append(surface)

	# return
	return scenes

# write in 7-segment font
def write(N, surface, pos = [1, 1]):
	# offset
	xoff, yoff = 0, 0

	# all 7 segments
	segments = [
		[[1, 0], [2, 0]],
		[[3, 1], [3, 2]],
		[[3, 4], [3, 5]],
		[[1, 6], [2, 6]],
		[[0, 4], [0, 5]],
		[[0, 1], [0, 2]],
		[[1, 3], [2, 3]]
	]
	
	# all symbols that can be written
	font = {
		"0": [0, 1, 2, 3, 4, 5],
		"1": [1, 2],
		"2": [0, 1, 3, 4, 6],
		"3": [0, 1, 2, 3, 6],
		"4": [1, 2, 5, 6],
		"5": [0, 2, 3, 5, 6],
		"6": [0, 2, 3, 4, 5, 6],
		"7": [0, 1, 2],
		"8": [0, 1, 2, 3, 4, 5, 6],
		"9": [0, 1, 2, 3, 5, 6]
	}

	for N in str(N):
		if N in font:
			for n in font[N]:
				for s in segments[n]:
					surface.set_at([s[0] + pos[0] + xoff, s[1] + pos[1] + yoff], [255, 255, 255])
		xoff += 5

""" GAME """
# game class
class GAME():
	# initialize program
	def __init__(self):
		# surface variables
		self.width, self.height = 50, 50
		self.size = [self.width, self.height]
		self.surface = pygame.Surface(self.size)
		
		# pixelated appearence
		self.scale = 10
		self.scaledwidth, self.scaledheight = self.width * self.scale, self.height * self.scale
		self.scaledsize = [self.scaledwidth, self.scaledheight]
		self.screen = pygame.display.set_mode(self.scaledsize)

		# basic variables
		self.ticks = 0
		self.running = True

		# pixels for paused game
		self.pausedpixels = [
			[[-2, -2], [255, 255, 255]],
			[[-2, -3], [255, 255, 255]],
			[[-2, -4], [255, 255, 255]],

			[[-4, -2], [255, 255, 255]],
			[[-4, -3], [255, 255, 255]],
			[[-4, -4], [255, 255, 255]]
		]

		# save path
		self.path = os.getcwd() + "/Jappy Jird Game Files/"
		self.score = 0
		self.highscore = 0
		self.loadhighscore()

		# game related variables
		self.backgrounds = getscenes()
		self.reset()
	
	# reset variables
	def reset(self):
		if self.score > self.highscore:
			self.highscore = self.score

		self.bird = Bird()
		self.pipes = []
		self.pipex = 60
		self.score = 0
		self.paused = False
		self.gameticks = 0
		self.screenshotindicator = 0
		
		self.background = self.backgrounds[random.randint(0, len(self.backgrounds)-1)]
		self.caption()

	def loadhighscore(self):
		try:
			doc = open(self.path + "highscore.txt", "r")
			self.highscore = int(doc.readlines()[0])
			doc.close()
		except:
			# failed to load...
			pass

	def savehighscore(self):
		try:
			# create folder
			if not os.path.isdir(self.path):
				os.mkdir(self.path)

			doc = open(self.path + "highscore.txt", "w")
			doc.write(str(self.highscore))
			doc.close()
		except:
			# failed to save...
			pass

	# add a score value and update the screen's caption
	def addscore(self):
		self.score += 1
		self.caption()

	def caption(self):
		pygame.display.set_caption("Jappy Jird (" + str(self.score) + [" points", " point"][self.score == 1] +  ", highscore " + str(self.highscore) + ")")

	# tick function
	def tick(self):
		# tick increment
		if not self.paused:
			self.gameticks += 1

		# handle events
		for event in pygame.event.get():
			# quit game
			if event.type == pygame.QUIT:
				self.quit()
			
			# handle keys
			if event.type == pygame.KEYDOWN:
				# take a screenshot
				if event.key == pygame.K_F1:
					self.screenshot()
					self.screenshotindicator = 10

				# pause and resume game
				elif event.key == pygame.K_ESCAPE:
					self.paused = not self.paused

			# handle bird
			if not self.paused:
				self.bird.handle(event)

		# tick game
		if not self.paused:
			# tick bird
			self.bird.tick()
			self.bird.checkscore(self.pipes)

			# bird crashed into a pipe
			if self.bird.checkcollision(self.pipes):
				self.reset()

			# move pipes
			if self.gameticks % 10 == 0:
				for pipe in self.pipes:
					pipe.pos[0] -= 1

			# add new pipes
			if self.gameticks % 40 == 0:
				self.pipes.append(Pipe(self.pipex))
				self.pipex += 40

		# count down screenshot indicator
		if self.screenshotindicator > 0:
			self.screenshotindicator -= 1

	# render function
	def render(self):
		# blit background
		self.surface.blit(self.background, [0, 0])

		# render pipes
		for pipe in self.pipes:
			pipe.render(self.surface)

		# render the bird (or jird...)
		self.bird.render(self.surface)
		
		# render paused game
		if self.paused:
			for p in self.pausedpixels:
				self.surface.set_at([p[0][0] + self.width, p[0][1] + self.height], p[1])

		# write the score (disabled)
		# write(str(self.score), self.surface)

		# screenshot indicator
		if self.screenshotindicator > 0:
			self.surface.fill([255, 255, 255])

		# blit and flip
		self.screen.blit(pygame.transform.scale(self.surface, self.scaledsize), [0, 0])
		pygame.display.flip()
	
	# quits
	def quit(self):
		# save the highscore
		self.savehighscore()

		# quit
		self.running = False

	# takes a screenshot
	def screenshot(self):
		try:
			# create folder
			if not os.path.isdir(self.path):
				os.mkdir(self.path)
			
			name = "img" + str(len(os.listdir(self.path))) + ".png"
			pygame.image.save(pygame.transform.scale(self.surface, self.scaledsize), self.path + name)
		except:
			pass

	# run function (uses tick() and render())
	def run(self):
		ticksPerSecond = 60
		lastTime = time.time() * 1000000000
		nsPerTick =  1000000000.0 / float(ticksPerSecond)
	
		ticks = 0
		frames = 0
	
		lastTimer = time.time() * 1000
		delta = 0.0
		
		while self.running:
			now = time.time() * 1000000000
			delta += float(now - lastTime) / float(nsPerTick)
			lastTime = now
			shouldRender = False
					
			while delta >= 1:
				ticks += 1
				self.ticks += 1
				self.tick()
				delta -= 1
				shouldRender = True
			
			if shouldRender:
				frames += 1
				self.render()
			
			if time.time() * 1000 - lastTimer >= 1000:
				lastTimer += 1000
				
				# debug
				#print("Frames: " + str(frames) + ", ticks: " + str(ticks))
			
				frames = 0
				ticks = 0

# start game
G = GAME()
G.run()
Advertisements

One thought on “Jappy Jird

  1. Pingback: Second Anniversary – J-Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s