## Pythonban képek Szűrke konverziója
%pylab inline
from PIL import Image
## Visszaolvasás
img = Image.open(r'c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus.jpg').convert('L')
img.show() # kép megjelenítése
### Using scikit-image's astronaut dataset
print(img.width, img.height, img.mode, img.format, type(img)) # kép méret és formátum miolvaássa kiírása
img.save(r'c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2.jpg')
Populating the interactive namespace from numpy and matplotlib 3008 2000 L None <class 'PIL.Image.Image'>
## pythonban nyissunk meg egy képet, forgassuk el, jelenítsük meg, és írjunk ki róla pár dolgot
from PIL import Image, TiffImagePlugin, TiffTags
import os, sys
import glob
im = Image.open(r"c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2.jpg") ## kép megnyítása
#im.rotate(45).show() ## elforgatás és megjelenítése
#im.transpose(Image.FLIP_LEFT_RIGHT).show()
im.transpose(Image.FLIP_TOP_BOTTOM).show() # megfordít
#im.transpose(Image.ROTATE_90)
#im.transpose(Image.ROTATE_180)
#im.transpose(Image.ROTATE_270)
print (im.format, im.size, im.mode) ## kép info kiírás
print (im.size[0])
print('\n----------------------------\n)')
# munka könyvtár beállítása a képek könyvtárra
os.chdir(r"c:\Users\User\Documents\kepek\allat")
for infile in glob.glob("*.jpg"): ## könyvtár bejárása és jpg képállományok sorra beolvasása
file, ext = os.path.splitext(infile)
try:
im = Image.open(infile)
if im.size[0] > 200 : ## kis eredeti meretű képről ne készüljön kiskép
im.thumbnail((128, 128), Image.ANTIALIAS)
im.save(file + "_thumbnail.jpg", "JPEG")
print ('Kiskép elkészült : ', infile,' ->', im.size, im.mode )
except IOError:
print ("Nem készült kiskép : ", infile,' ->', im.size, im.mode )
im = Image.open(r"c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2.jpg")
croppedIm = im.crop((335, 345, 565, 560)) ## terület kimetszés
croppedIm.show()
croppedIm.save(r"c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2_cropped.jpg")
JPEG (3008, 2000) L 3008 ---------------------------- ) Kiskép elkészült : Dsc_8596_mokus.jpg -> (128, 85) RGB Kiskép elkészült : Dsc_8601_mokus.jpg -> (128, 85) RGB Kiskép elkészült : Dsc_8619_mokus.jpg -> (128, 85) RGB Kiskép elkészült : Dsc_8619_mokus_szurke2.jpg -> (128, 85) L Kiskép elkészült : Dsc_8619_mokus_szurke2_cropped.jpg -> (128, 119) L Kiskép elkészült : Dsc_8619_mokus_szurke2_logo.jpg -> (128, 85) L
Kezelni kell néhány más úgynevezett literális karakter, amelynek speciális jelentése van.
karakter jelentés \n sortörés \r kocsi vissza \t vízszintes kihagyás (TAB) \v függőleges kihagyás (TAB) \xhh.. hexadecimális karakter hh.. értékkel
## Könyvtár végilolvasásához alapok (játek a könyvtárakkal)
import os, sys
print("Jelenlegi munka könyvtár1 " , os.getcwd()) ## munkakönyvtár kiírása
os.chdir(r"c:\Users\User\Documents\kepek\allat") ## munkakönyvtár beállítása
print("Jelenlegi munka könyvtár2 " , os.getcwd()) ## munkakönyvtxxár kiírása
## ---------------- könyvtárban levő állományok listába olvasása 1. (walk)
print('------------------- walk')
from os import walk
myfiles = []
mypath=os.getcwd()
for (dirpath, dirnames, filenames) in walk(mypath): ## kiolvasás
myfiles.extend(filenames)
for i in myfiles: ## megjelenítés
print(i)
print('------------------- walk')
# r=root, d=directories, f = files
for r, d, f in os.walk(mypath):
for file in f:
if ".jpg" in file:
print(os.path.join(r, file))
print('-------------------listdir')
## ---------------- könyvtárban levő állományok listába olvasása 2. (listdir)
from os import listdir
from os.path import isfile, join
mypath=os.getcwd()
myfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
for i in myfiles: ## megjelenítés
print(i)
print('------------------- glob')
## ---------------- könyvtárban levő kép (jpg) állományok listába olvasása 3. (glob)
import glob
myfiles = []
mypath=os.getcwd()
print(mypath)
# myfiles = glob.glob(mypath + r'\*.jpg') ## közvetlen betöltéssel és teljes elérési névvel
# myfiles = [f for f in glob.glob("*.jpg")] ## list comprehension-al
for file in glob.glob(r'*.jpg'):
myfiles.append(file)
for i in myfiles: ## megjelenítés
print(i)
print('------------------- lisdir')
import os
myfiles = [os.path.abspath(x) for x in os.listdir()] ## teljes elérési névvel
for i in myfiles: ## megjelenítés
print(i)
print('------------------- glob és pathlib')
import pathlib
py = pathlib.Path().glob("*.jpg")
for file in py:
print(file)
print('------------------- scandir')
import os
with os.scandir() as i:
for entry in i:
if entry.is_file():
print(entry.name)
Jelenlegi munka könyvtár1 c:\Users\User\Documents\kepek\allat Jelenlegi munka könyvtár2 c:\Users\User\Documents\kepek\allat ------------------- walk drawing.png Dsc_8579_roka.jpg Dsc_8579_roka_thumbnail.jpg Dsc_8596_mokus.jpg Dsc_8596_mokus_thumbnail.jpg Dsc_8601_mokus.jpg Dsc_8601_mokus_thumbnail.jpg Dsc_8619_mokus.jpg Dsc_8619_mokus_szurke2.jpg Dsc_8619_mokus_szurke2_cropped.jpg Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg Dsc_8619_mokus_szurke2_logo.jpg Dsc_8619_mokus_szurke2_thumbnail.jpg Dsc_8619_mokus_thumbnail.jpg python_rajz.png python_rajz2.png text_kepbe.png ------------------- walk c:\Users\User\Documents\kepek\allat\Dsc_8579_roka.jpg c:\Users\User\Documents\kepek\allat\Dsc_8579_roka_thumbnail.jpg c:\Users\User\Documents\kepek\allat\Dsc_8596_mokus.jpg c:\Users\User\Documents\kepek\allat\Dsc_8596_mokus_thumbnail.jpg c:\Users\User\Documents\kepek\allat\Dsc_8601_mokus.jpg c:\Users\User\Documents\kepek\allat\Dsc_8601_mokus_thumbnail.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2_cropped.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2_logo.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2_thumbnail.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_thumbnail.jpg -------------------listdir drawing.png Dsc_8579_roka.jpg Dsc_8579_roka_thumbnail.jpg Dsc_8596_mokus.jpg Dsc_8596_mokus_thumbnail.jpg Dsc_8601_mokus.jpg Dsc_8601_mokus_thumbnail.jpg Dsc_8619_mokus.jpg Dsc_8619_mokus_szurke2.jpg Dsc_8619_mokus_szurke2_cropped.jpg Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg Dsc_8619_mokus_szurke2_logo.jpg Dsc_8619_mokus_szurke2_thumbnail.jpg Dsc_8619_mokus_thumbnail.jpg python_rajz.png python_rajz2.png text_kepbe.png ------------------- glob c:\Users\User\Documents\kepek\allat Dsc_8579_roka.jpg Dsc_8579_roka_thumbnail.jpg Dsc_8596_mokus.jpg Dsc_8596_mokus_thumbnail.jpg Dsc_8601_mokus.jpg Dsc_8601_mokus_thumbnail.jpg Dsc_8619_mokus.jpg Dsc_8619_mokus_szurke2.jpg Dsc_8619_mokus_szurke2_cropped.jpg Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg Dsc_8619_mokus_szurke2_logo.jpg Dsc_8619_mokus_szurke2_thumbnail.jpg Dsc_8619_mokus_thumbnail.jpg ------------------- lisdir c:\Users\User\Documents\kepek\allat\drawing.png c:\Users\User\Documents\kepek\allat\Dsc_8579_roka.jpg c:\Users\User\Documents\kepek\allat\Dsc_8579_roka_thumbnail.jpg c:\Users\User\Documents\kepek\allat\Dsc_8596_mokus.jpg c:\Users\User\Documents\kepek\allat\Dsc_8596_mokus_thumbnail.jpg c:\Users\User\Documents\kepek\allat\Dsc_8601_mokus.jpg c:\Users\User\Documents\kepek\allat\Dsc_8601_mokus_thumbnail.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2_cropped.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2_logo.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2_thumbnail.jpg c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_thumbnail.jpg c:\Users\User\Documents\kepek\allat\python_rajz.png c:\Users\User\Documents\kepek\allat\python_rajz2.png c:\Users\User\Documents\kepek\allat\text_kepbe.png ------------------- glob és pathlib Dsc_8579_roka.jpg Dsc_8579_roka_thumbnail.jpg Dsc_8596_mokus.jpg Dsc_8596_mokus_thumbnail.jpg Dsc_8601_mokus.jpg Dsc_8601_mokus_thumbnail.jpg Dsc_8619_mokus.jpg Dsc_8619_mokus_szurke2.jpg Dsc_8619_mokus_szurke2_cropped.jpg Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg Dsc_8619_mokus_szurke2_logo.jpg Dsc_8619_mokus_szurke2_thumbnail.jpg Dsc_8619_mokus_thumbnail.jpg ------------------- scandir drawing.png Dsc_8579_roka.jpg Dsc_8579_roka_thumbnail.jpg Dsc_8596_mokus.jpg Dsc_8596_mokus_thumbnail.jpg Dsc_8601_mokus.jpg Dsc_8601_mokus_thumbnail.jpg Dsc_8619_mokus.jpg Dsc_8619_mokus_szurke2.jpg Dsc_8619_mokus_szurke2_cropped.jpg Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg Dsc_8619_mokus_szurke2_logo.jpg Dsc_8619_mokus_szurke2_thumbnail.jpg Dsc_8619_mokus_thumbnail.jpg python_rajz.png python_rajz2.png text_kepbe.png
import tkinter as tk
import os
def searchfiles(extension='.jpg', folder='c:\\'):
"insert all files in the listbox"
for r, d, f in os.walk(folder):
for file in f:
if file.endswith(extension):
lb.insert(0, r + "\\" + file)
def open_file():
os.startfile(lb.get(lb.curselection()[0]))
root = tk.Tk()
root.geometry("400x400")
mypath=os.getcwd()
bt = tk.Button(root, text="Search", command=lambda:searchfiles('.jpg', r'c:\Users\User\Documents\kepek\allat'))
bt.pack()
lb = tk.Listbox(root)
lb.pack(fill="both", expand=1)
lb.bind("<Double-Button>", lambda x: open_file())
root.mainloop()
## Python rajz készítés és lementése jpg filebe
from PIL import Image, ImageDraw
import os, sys
os.chdir(r"c:\Users\User\Documents\kepek\allat")
im = Image.new('RGBA', (200, 200), 'white')
draw = ImageDraw.Draw(im)
draw.line([(0, 0), (199, 0), (199, 199), (0, 199), (0, 0)], fill='black')
draw.rectangle((20, 30, 60, 60), fill='blue')
draw.ellipse((120, 30, 160, 60), fill='red')
draw.polygon(((57, 87), (79, 62), (94, 85), (120, 90), (103, 113)), fill='pink')
for i in range(100, 200, 10):
draw.line([(i, 0), (200, i - 100)], fill='blue')
im.save('python_rajz.png')
## Pythonban szoveg képállományba írása
from PIL import Image, ImageDraw, ImageFont
import os
os.chdir(r"c:\Users\User\Documents\kepek\allat")
im = Image.new('RGBA', (200, 200), 'white')
draw = ImageDraw.Draw(im)
draw.text((20, 150), 'Üdvözöllek ', fill='purple')
fontsFolder = r'c:\Windows\Fonts' # e.g. 'Library/Fonts'
arialFont = ImageFont.truetype(os.path.join(fontsFolder, 'arial.ttf'), 32)
draw.text((100, 150), 'Lajos', fill='red', font=arialFont)
im.save('text_kepbe.png')
##logos kép készítése
from PIL import Image
import os
os.chdir(r"c:\Users\User\Documents\kepek\allat")
filename=r"c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2.jpg"
logofilename=r"c:\Users\User\Documents\kepek\allat\python_rajz2.png"
im = Image.open(filename)
width, height = im.size
logoIm = Image.open(logofilename)
logoWidth, logoHeight = im.size
im.paste(logoIm, (width - logoWidth, height - logoHeight), logoIm)
# módosítások mentése
#im.save(os.path.join("logo', filename))
im.save(r"c:\Users\User\Documents\kepek\allat\Dsc_8619_mokus_szurke2_logo.jpg")
## exif információ kiolvasása kép fileből (pythonnal - PIL modul)
from PIL import Image
from PIL.ExifTags import TAGS
def get_exif(fn):
ret = {}
i = Image.open(fn)
info = i._getexif()
for tag, value in info.items():
decoded = TAGS.get(tag, tag)
ret[decoded] = value
return ret
kl=get_exif(r"c:\Users\User\Documents\kepek\allat\Dsc_8579_roka.jpg")
## csak bizonyos infók
for k, v in kl.items():
if k=='Make' or k=='DateTime' or k=='Model':
print(k,' -> ',v)
print('\n ------ új rész ---------- \n')
## Összes info kiveve a MakerNote-ot
for k, v in kl.items():
if k != 'MakerNote' :
print(k,' -> ',v)
Model -> NIKON D70 DateTime -> 2010:06:08 23:12:49 Make -> NIKON CORPORATION ------ új rész ---------- ExifVersion -> b'0221' ComponentsConfiguration -> b'\x01\x02\x03\x00' CompressedBitsPerPixel -> (4, 1) DateTimeOriginal -> 2010:06:08 23:12:49 DateTimeDigitized -> 2010:06:08 23:12:49 ExposureBiasValue -> (0, 6) MaxApertureValue -> (49, 10) MeteringMode -> 5 LightSource -> 0 Flash -> 31 FocalLength -> (1050, 10) UserComment -> b'ASCII\x00\x00\x00 ' ColorSpace -> 1 ExifImageWidth -> 3008 ExifInteroperabilityOffset -> 28060 SceneCaptureType -> 0 SubsecTime -> 00 SubsecTimeOriginal -> 00 SubsecTimeDigitized -> 00 ExifImageHeight -> 2000 SubjectDistanceRange -> 0 Model -> NIKON D70 Orientation -> 1 SensingMethod -> 2 YCbCrPositioning -> 2 FileSource -> b'\x03' ExposureTime -> (10, 600) XResolution -> (300, 1) YResolution -> (300, 1) FNumber -> (56, 10) SceneType -> b'\x01' ExposureProgram -> 2 CFAPattern -> b'\x00\x02\x00\x02\x02\x01\x01\x00' CustomRendered -> 0 ResolutionUnit -> 2 ExposureMode -> 0 FlashPixVersion -> b'0100' WhiteBalance -> 0 Software -> Ver.2.00 DateTime -> 2010:06:08 23:12:49 DigitalZoomRatio -> (1, 1) FocalLengthIn35mmFilm -> 157 GainControl -> 0 Contrast -> 1 Saturation -> 0 Sharpness -> 0 Make -> NIKON CORPORATION ExifOffset -> 216
Model -> NIKON D70
DateTime -> 2010:06:08 23:12:49
Make -> NIKON CORPORATION
------ új rész ----------
ExifVersion -> b'0221' ComponentsConfiguration -> b'\x01\x02\x03\x00' CompressedBitsPerPixel -> (4, 1) DateTimeOriginal -> 2010:06:08 23:12:49 DateTimeDigitized -> 2010:06:08 23:12:49 ExposureBiasValue -> (0, 6) MaxApertureValue -> (49, 10) MeteringMode -> 5 LightSource -> 0 Flash -> 31 FocalLength -> (1050, 10) UserComment -> b'ASCII\x00\x00\x00 ' ColorSpace -> 1 ExifImageWidth -> 3008 ExifInteroperabilityOffset -> 28060 SceneCaptureType -> 0 SubsecTime -> 00 SubsecTimeOriginal -> 00 SubsecTimeDigitized -> 00 ExifImageHeight -> 2000 SubjectDistanceRange -> 0 Model -> NIKON D70 Orientation -> 1 SensingMethod -> 2 YCbCrPositioning -> 2 FileSource -> b'\x03' ExposureTime -> (10, 600) XResolution -> (300, 1) YResolution -> (300, 1) FNumber -> (56, 10) SceneType -> b'\x01' ExposureProgram -> 2 CFAPattern -> b'\x00\x02\x00\x02\x02\x01\x01\x00' CustomRendered -> 0 ResolutionUnit -> 2 ExposureMode -> 0 FlashPixVersion -> b'0100' WhiteBalance -> 0 Software -> Ver.2.00 DateTime -> 2010:06:08 23:12:49 DigitalZoomRatio -> (1, 1) FocalLengthIn35mmFilm -> 157 GainControl -> 0 Contrast -> 1 Saturation -> 0 Sharpness -> 0 Make -> NIKON CORPORATION ExifOffset -> 216
#---- Minta1:
from PIL import Image
from PIL.ExifTags import TAGS
def get_exif(fn):
ret = {}
i = Image.open(fn)
info = i._getexif()
for tag, value in info.items():
decoded = TAGS.get(tag, tag)
ret[decoded] = value
return ret
kl=get_exif(r"c:\Users\User\Documents\kepek\allat\Dsc_8579_roka.jpg")
print('\n ----------------------------- \n')
for k, v in kl.items():
if k=='Make' or k=='DateTime' or k=='ISOSpeedRatings':
print(k,' -> ',v)
print('\n ----------------------------- \n')
fn = (r"c:\Users\User\Documents\kepek\allat\Dsc_8579_roka.jpg")
i = Image.open(fn)
info = i._getexif()
for tag, value in info.items():
decoded = TAGS.get(tag, tag)
print(decoded, ' -> ', tag, ' ->', value)
----------------------------- DateTime -> 2010:06:08 23:12:49 Make -> NIKON CORPORATION ----------------------------- ExifVersion -> 36864 -> b'0221' ComponentsConfiguration -> 37121 -> b'\x01\x02\x03\x00' CompressedBitsPerPixel -> 37122 -> (4, 1) DateTimeOriginal -> 36867 -> 2010:06:08 23:12:49 DateTimeDigitized -> 36868 -> 2010:06:08 23:12:49 ExposureBiasValue -> 37380 -> (0, 6) MaxApertureValue -> 37381 -> (49, 10) MeteringMode -> 37383 -> 5 LightSource -> 37384 -> 0 Flash -> 37385 -> 31 FocalLength -> 37386 -> (1050, 10) UserComment -> 37510 -> b'ASCII\x00\x00\x00 ' ColorSpace -> 40961 -> 1 ExifImageWidth -> 40962 -> 3008 ExifInteroperabilityOffset -> 40965 -> 28060 SceneCaptureType -> 41990 -> 0 SubsecTime -> 37520 -> 00 SubsecTimeOriginal -> 37521 -> 00 SubsecTimeDigitized -> 37522 -> 00 ExifImageHeight -> 40963 -> 2000 SubjectDistanceRange -> 41996 -> 0 Model -> 272 -> NIKON D70 Orientation -> 274 -> 1 SensingMethod -> 41495 -> 2 YCbCrPositioning -> 531 -> 2 FileSource -> 41728 -> b'\x03' ExposureTime -> 33434 -> (10, 600) XResolution -> 282 -> (300, 1) YResolution -> 283 -> (300, 1) FNumber -> 33437 -> (56, 10) SceneType -> 41729 -> b'\x01' ExposureProgram -> 34850 -> 2 CFAPattern -> 41730 -> b'\x00\x02\x00\x02\x02\x01\x01\x00' CustomRendered -> 41985 -> 0 ResolutionUnit -> 296 -> 2 ExposureMode -> 41986 -> 0 FlashPixVersion -> 40960 -> b'0100' WhiteBalance -> 41987 -> 0 Software -> 305 -> Ver.2.00 DateTime -> 306 -> 2010:06:08 23:12:49 DigitalZoomRatio -> 41988 -> (1, 1) FocalLengthIn35mmFilm -> 41989 -> 157 GainControl -> 41991 -> 0 Contrast -> 41992 -> 1 Saturation -> 41993 -> 0 Sharpness -> 41994 -> 0 Make -> 271 -> NIKON CORPORATION ExifOffset -> 34665 -> 216 MakerNote -> 37500 -> b'Nikon\x00\x02\x10\x00\x00MM\x00*\x00\x00\x00\x08\x00*\x00\x01\x00\x07\x00\x00\x00\x040210\x00\x02\x00\x03\x00\x00\x00\x02\x00\x00\x01\x90\x00\x04\x00\x02\x00\x00\x00\x08\x00\x00\x02\x06\x00\x05\x00\x02\x00\x00\x00\r\x00\x00\x02\x0e\x00\x06\x00\x02\x00\x00\x00\x07\x00\x00\x02\x1e\x00\x07\x00\x02\x00\x00\x00\x07\x00\x00\x02&\x00\x08\x00\x02\x00\x00\x00\r\x00\x00\x02.\x00\t\x00\x02\x00\x00\x00\r\x00\x00\x02>\x00\x0b\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\r\x00\x07\x00\x00\x00\x04\x00\x01\x06\x00\x00\x0e\x00\x07\x00\x00\x00\x04\x9b\x01\x0c\x00\x00\x11\x00\x04\x00\x00\x00\x01\x00\x00\x05\x96\x00\x12\x00\x07\x00\x00\x00\x04\x00\x01\x06\x00\x00\x13\x00\x03\x00\x00\x00\x02\x00\x00\x01\x90\x00\x16\x00\x03\x00\x00\x00\x04\x00\x00\x02N\x00\x17\x00\x07\x00\x00\x00\x04\x00\x01\x06\x00\x00\x18\x00\x07\x00\x00\x00\x04\x00\x01\x06\x00\x00\x19\x00\n\x00\x00\x00\x01\x00\x00\x02V\x00\x81\x00\x02\x00\x00\x00\t\x00\x00\x02^\x00\x83\x00\x01\x00\x00\x00\x01\x0e\x00\x00\x00\x00\x84\x00\x05\x00\x00\x00\x04\x00\x00\x02j\x00\x87\x00\x01\x00\x00\x00\x01\t\x00\x00\x00\x00\x88\x00\x07\x00\x00\x00\x04\x00\x00\x00\x01\x00\x89\x00\x03\x00\x00\x00\x01\x00\x00\x00\x00\x00\x8a\x00\x03\x00\x00\x00\x01\x00\x00\x00\x00\x00\x8b\x00\x07\x00\x00\x00\x04@\x01\x0c\x00\x00\x8d\x00\x02\x00\x00\x00\t\x00\x00\x02\x8a\x00\x90\x00\x02\x00\x00\x00\x0c\x00\x00\x02\x96\x00\x91\x00\x07\x00\x00\x01\xd1\x00\x00\x02\xa2\x00\x92\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x95\x00\x02\x00\x00\x00\x05\x00\x00\x04v\x00\x97\x00\x07\x00\x00\x00\x8c\x00\x00\x04~\x00\x98\x00\x07\x00\x00\x00\x1f\x00\x00\x05\n\x00\x9a\x00\x05\x00\x00\x00\x02\x00\x00\x05*\x00\xa0\x00\x02\x00\x00\x00\x15\x00\x00\x05:\x00\xa2\x00\x04\x00\x00\x00\x01\x00+c\xcb\x00\xa3\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\xa7\x00\x04\x00\x00\x00\x01\x00\x00OA\x00\xa8\x00\x07\x00\x00\x00\x14\x00\x00\x05R\x00\xa9\x00\x02\x00\x00\x00\x10\x00\x00\x05f\x00\xaa\x00\x02\x00\x00\x00\x10\x00\x00\x05v\x00\xab\x00\x02\x00\x00\x00\x10\x00\x00\x05\x86\x00\x00\x00\x00FINE \x00AUTO \x00\x00\x00\x00AUTO \x00\x00AF-S \x00\x00NORMAL \x00\x00\x00\x00Built-in,TTL\x00\x00\x00\x00\x00\x00\x00\x00\x0b\xc0\x07\xd0\x00\x00\x00\x00\x00\x00\x00\x01AUTO \x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\n\x00\x00\x07\xd0\x00\x00\x00\n\x00\x00\x00#\x00\x00\x00\n\x00\x00\x008\x00\x00\x00\nMODE1a \x00\x00\x00\x00SPEEDLIGHT \x000103\x00>$F\x01\x00\x00\x00\x00V\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\t\x00\x00\x00\x00\x0f\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\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00R\x01\x80\x00\x00\x00\x00\xe0\xda\xdb\xdc\xda\x00\x00\xc5\x00\xbf\x00n\x00y\x00\x0e\x01,\x00\x02\x00\x9d\x00\x03\x00\x00\x00\x00\x00\x02\x00\x01\x00\x00\x01\x11\x00\x00\x00d\x00\x00\x00\x00\x00\x04\x08\x00\x00\x00\x00\x00\x00\x00\x02\x02\x00\x01\x00\x02\x04\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x04\x04\x00\x00\x00\x08\x00\x02\x00\x00\x00"\x00\x00\x00\x00\x10\x00\x00\x10\x00\x00\x00\x00\x02\x00 \x01\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x80\x00@\x00\xe0\xda\xdb\xdc\xda\xe6\x00\xff\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x01\t\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$\x1eT\x9b\x08\x016$\x01\x00T$\x1e$\x00\x00\x00\xcc\x13\xa1\x8a\xf1\x00OA\x01\x00\x00\x00\x13\x00a\xa8\x00\x00\xc6\x08\x07\x18\xc3\x00\x00\x00\x00\x00\x0f\x01\x01\x01\x01\x01\x01\x03\x07\x02\x01\x03\x04\x03\x03\x03\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x00\x9c\x00!\x00\x00\x00\x00T\xf8\x13;\x8b\x00\x88kj\x8b@-\x80,<\xfd;\x13k\x17i\x00\x00\x00\x03\x03\x07\x07\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00OFF \x00\x00\x00\x000103\x01\x00\x01\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x15\x01\x00\x01\x95\x01\x00\x00\x00\x01\x08\x01\x00\x00\x00\x00\x00\x00p\x00\x0c\x00\x18\x00\x03\x01\x8c\xff\x89\xff\xeb\xff\xe3\x01\x7f\xff\x9e\xff\xff\xff\xc0\x01A\xff\xff\xff\xff\xff\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x02\x80\x00\x00\x03\x00\x00\x00\x02\x80\x00\x00\x00\x00\x12\x12\x00\xff\x00\xff\x00M\x00\x96\x00\x1d\xff\xc6\xff\xc9\x00q\x00\x9c\xffy\xff\xeb\x00\x00\x00\x02\x03)\x00\x10\x01\x00\x01R\x01\x18\x00\x00\x00\x150101\x13;\x8b\x00\x88kj\x8b@-\x80,<\xfd;\x13k\x17i\x00\x00\x00\x03\x03\x07\x07\x02\x00\x00\x00\x00N\x00\x00\x00\n\x00\x00\x00N\x00\x00\x00\nNO= 00021f4b \x00\x00\x00\x000100\x006\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00NORMAL \x00NORMAL \x00 \x00\x00\x07\x01\x03\x00\x03\x00\x00\x00\x01\x00\x06\x00\x00\x01\x1a\x00\x05\x00\x00\x00\x01\x00\x00\x05\xf2\x01\x1b\x00\x05\x00\x00\x00\x01\x00\x00\x05\xfa\x01(\x00\x03\x00\x00\x00\x01\x00\x02\x00\x00\x02\x01\x00\x04\x00\x00\x00\x01\x00\x00\x06\x02\x02\x02\x00\x04\x00\x00\x00\x01\x00\x00dH\x02\x13\x00\x03\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01,\x00\x00\x00\x01\x00\x00\x01,\x00\x00\x00\x01\xff\xd8\xff\xdb\x00\x84\x00\x07\t\n\x0c\n\x08\r\x0c\x0b\x0c\x0f\x0e\r\x10\x14!\x16\x14\x12\x12\x14)\x1d\x1f\x18!0+320+/.6<MA69I:./C[DIORVWV4@^e^TdMTVS\x01\x07\x0f\x0f\x14\x12\x14\'\x16\x16\'S7/7SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS\xff\xc0\x00\x11\x08\x01t\x024\x03\x01!\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x01\xa2\x00\x00\x01\x05\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x10\x00\x02\x01\x03\x03\x02\x04\x03\x05\x05\x04\x04\x00\x00\x01}\x01\x02\x03\x00\x04\x11\x05\x12!1A\x06\x13Qa\x07"q\x142\x81\x91\xa1\x08#B\xb1\xc1\x15R\xd1\xf0$3br\x82\t\n\x16\x17\x18\x19\x1a%&\'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\x01\x00\x03\x01\x01\x01\x01\x01\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x11\x00\x02\x01\x02\x04\x04\x03\x04\x07\x05\x04\x04\x00\x01\x02w\x00\x01\x02\x03\x11\x04\x05!1\x06\x12AQ\x07aq\x13"2\x81\x08\x14B\x91\xa1\xb1\xc1\t#3R\xf0\x15br\xd1\n\x16$4\xe1%\xf1\x17\x18\x19\x1a&\'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x92\x93\x94\x95\x96\x97\x98\x99\x9a\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xf9\xcc\xa9\x14\x94\x00u\xa5\xa0\x05\xa3\xa5 \x12\x8e)\x80RP\x03\xb9\xa4\xc1\xa0\x07\xf6\xa7\x05\xe2\x90\x0e\x00R\x90;P1\x86\x9aM\x02\x0c\xe6\x97\xb5\x00&(\xc1\xef@\x00RjO(\xe2\x80\x18P\x8an1@\x0bI@\x84\xc5.(\x18\x94\xb4\x00\x94\xfa\x04&)\xd8\xa0\x08\xe9h\x011O\x02\x81\x88F)(\x10Q@\x06\r\x03\xd2\x80\x03@\x14\x00\xb4\x84P\x02b\x8cP\x02\xd1@\x0fA\xcdY\\P2\\qP\xb2\x83@\x10\x9e:Q\xb8\x9e\xb4\x08U\xe2\xa3n\xb4\x00\xde\xb4\xa4`f\x81\x8c\xa4\xa6\x01Jh\x01)\xa6\x80\x10\xd3h\x02\xf6A\xa8\xca\x8e\xd4\x84G\x8ap\x1c\xd02B6\x8a\x86\x80\x17\x1cR\x11L\x07\x801O\xe2\x90\r\xa7\n\x00Jvh\x18f\x974\x84GN\xe2\x98\x0c\x03\x9a\x7fN(\x01\xdf\x8d&{R\x01\xc0\x81O\x12P1w\ni\x00\xd2\x022\x94\xa1x\xa6\x03q\xcd)\x14\x08n)(\x00\x02\xa6*1\xc5\x00&\xdai\x18\x14\x00\xdcQ\x8a\x00i"\x978\xa0\x07u\xa6\x1a\x00Jx\\\xd3\x10\x84Q@\tFh\x00\xcd\x1dh\x00\xc5H\x00\xa0\x06\xb6*2h\x01\xc0\xe0T\xaaI4\x0c\xb0zu\xa8N}h\x01\x84Rg\x14\x00\xe0F)\xaa\x01\xa0B\x10*2{P1\r-0\x12\x90\xd0\x01M\xa0\x04n\xd4\xda\x00\x97<S\x87\xd6\x90\x12\x01\x9awJC\x10\x9c\xf5\xa4 P\x033I\x9ab\x1f\x9a;P\x033Fh\x00\xa7s@\x12\x05&\x9cT\x81Hc\x00\xf6\xa0\x8ab\x17\x14\xc29\xa0\x07t\xa4\x034\x00\xa7\xadH\x06i\x0ciS\x9ap8\xa0\x03u% \x1d\xc5\x18\x14\x00\xf0\xb4\x850(\x1d\x88\xf3\xcd;4\xc9\x138\xe2\x90\x9c\xd01q\xc5FA\xa0\x06\xe2\x82)\x881K\x8a\x00i\xebK\xda\x81\x0bM\xcf4\x0c\r%\x02\x13\x14\xf0(\x18\xd2y\xa34\x00\xb8\xe2\x9b@\x0fQ\xefV\x00\xc0\xa0\x04\x19&\x9cV\x80!\xd8sHW\x14\x08i\xa4\x1c\x0e(\x00\x194\xec\n\x00e6\x81\x8b\xde\x90\xd0!(\xe8i\x8ccSh\x02P\xb5(J@<\x1cS\x81\xe2\x90\xc6\x11\x83HzP\x03@\xa7\x05\xcd1\x01Z]\xbcs@\xc5\t\xefK\xb0R\x01\xdb\x054\xf1@\x12\x86\xe2\x83\x93Hc\xd4\n\x19s\xda\x90\xc60\xc0\xa8\x8ei\x904\x9ax\xe2\x98\xc2\xa5ZC\x07\xa8\xc7LP\x02\x05$\xd2\xb2\xe2\x80\x008\xebI@\x0e\xdcEH_+@\x10w\xa4\xa6 \x00\xd3\x87\x06\x80%\xea*.\xb4\x80B\xa4Rb\x98\x06(\xeb@\x84\xc5!\xa0ch\xa6!G5+\x00\x16\x90\x10\x85\xefR\x81\x9a\x061\x94Rb\x98\x80S\xb0(\x01@\xa9T\x81@\x01`\r&\xfc\xd0\x03\x81\xc5D\xed\x9a\x00\x8f\x14t\xa0@8\xa7\x12)\x01\x11\xebK\x8ac\x14.M!\\\x1cP\x031F)\x80\xd7\x18\xc52\x80-c\x91S\xaa\xf1R2\x1e\xb4\xa2\x80\x0e\xb4\x98\xa0\x03\x15(\x14\x00\xfe\xd4\xdaC\x18r)\x07\\\xd3\x11(4\xacF8\xa41\x80\x00jrF)\x01\x0f~*u9\x14\r\x08\xc1\xbd*,P \x00R\x15\x1d\xa9\x80m f\x934\x00\xde}jA@\x12n\x03\xa5D\xc4\x9a@6\x95Fi\x80\xe2*28\xa0\x04\xe4R\xe2\x98\x87\xe3\x8aJC\x17\x9a\x8f<\xd0"L\xd3h\x18\xecTg\x8a\x00M\xd4\x9di\x92\x00Q\xb6\x81\x8e\x00\n\r\x00\x1d\xa9A\xa0\t1Q\xb7JC\x1a\x01\xa5"\x99"`\xd2w\xa0\x07m\xa5\t@\xc5n:TT\x00\xb8\xe2\x9b\xd6\x98\x87\xa8\xe6\x91\x80\x07\x8a@&)\xc0P\x01\xc8\xa6\x1eM1\r*h\xe9@\xc4\x93\xb5CL\x0b\xa0sRn\xc0\xc5@\xd0\xd3I\xd2\x98\xc4\xa5\x02\x81\x0b\xde\x8aC\x14qN\xc8&\x80\x1cT\x11Qb\x80\x00jLR\x18\xca\x7f\x18\xa6!\xe0\nz\xb0\x06\x90\xc9\x0b\x82:Uv9\xa41\x82\x9d\x91\x9a\xa1\x0e\xebL"\x90\x11\x81\xcd:\x98\x85Q\x8e\xb4\xa6\x80\x1b\x9c\x1a\t\xc5\x00&s\xde\xa4\nH\xe2\x80\x1b\x8aB(\x00\xa6\xf4\xa0\x07t\xa6c\x9a\x00\x94\x01Q\x9e\xb4\x00\xb4\xc2\x051\x08\x16\x94\x0cS\x01\xc7\x9a1Hc\x0fZ\x91\x004\x08F\x1c\xd0\x12\x80$\xe4t4\xaa\x9b\xf9\xcd!\x88\x06)\xa7\xad\x02\x17\x18\xedM\xdb\x93@\x0f \x8aL\x1e\xd4\x144\x0c\xf5\xa5\xc04\x08q^)\x85p(\x10\xdc\xd2\xed\xcd0,\xc7\x1fzk \xcf\xa1\xa9\x19\x0bP\x17\xbd1\nqL b\x81\x90K\x8c.*\n\xa2K\xdb\xb3\xd2\x90\xd2\x01qO\x02\x91B\x91I\xb0\xf6\xa0,&\xdcS\xd3\xaf4\x00\xac9\xa8\xb1\xcd\x00:\x94/\xad\x00(L\x9fj\xb1\xb4\nE\x11\x15\x04\xf1JPb\x81\x0cQS\x05\xa0\x08\xc8\xc1\xa4+\xc6h\x02:\x00\xa6!\xc4\x8afh\x01ih\x01s\x93A\xa41\xca3La\xce(\x13\x00\xb5aI\x02\x86\x08g9\xa8\x8fZ\n\x02\r\x00f\x98\x8b\n\x80\xd4r&\x0f\x14\x80E\x14\xd7^h\x02,sO\xa6"P\xbe\xd5\x19\xe0\xd2\x18\xf0)\x08\xcd\x00G\xe5\x9e\xd5\x19\x04\x1ab\xb1 \x19\xa9\xb0@\xa44FI\xa7)"\x98\x85\xdaO5&\xc3RU\x85\xda*#\xc1\xa0c\xf3\xebOR\r \x1b\xb3$\xd4l\x9bM1\x11\x8e\xb4\xf2\xbb\xb8\xcd2Fc\xb5;i\x1dE0\x1e\x8eE1\xceM \x10\x9c\xe2\xa5\xfe\x0cP\x04eA\x15\x1e\xdc\x8a`U\x90c\x15\x15Y&\x8bG\x8eE1\x06O5"E\xb0\xa2\xa1a\xcf\x06\xa4\xd4n\r(r8\xa6H\xa4\x9e\xa6\x94\x1cR\x18\xb8\xc9\xa5"\x80#"\x93&\x98\x12!\xa7\xb3qR1\x99\xa0\x93L\x08\xb3N\x0ci\x924\x93J\x18\x9a\x00S\xd6\x97\x8a\x06%&)\x00\xecf\x8cb\x80\x18E%1\x13\x03\xc5\x1bN2i\x0cE"\x94\xb0\xed@ \'\x8a\x8f<\xd0\x04\x80\x8cRf\x80\x13~\r\x1b\xf2y4X.)aI\x9c\xd0\x02\x11\xcd(\x18\xebLC\xfc\xccTe\xb3Hw\x1e\x0f\xcbOP\x1b\xad\x00J\xcb\x81UXs\xcd!\x8d\x15d\x1f\x92\x80\xb9\t>\xd4\xdc\xd5\x12J\x1e\x9c\xccz\n\x92\xc8\xc14\x8d\xc9\xa6!\xa4\x11\xd6\x95s\x9a\x04K\xf3\n\x8d\x89=i!\xb1\xa0\x1aU\xcfjd\x92\x81\xceMYf\x05\x00\xc5IE\x03\x90i\xa4\x1fJ\xb1\x00\x15)\x07n(\x11\x06qO>\xd4\x01^s\xf7j\xb5Q&\xd8`G5]\x8e\x1b\x8a\x92\x10\x84\x93J;\xd0j4\x9a\x14f\x80$>\xd4\x94\x864\x1c\x1aqjb\x19\xba\x9a\x06z\xd0\x03\xfe\xed/&\x90\xc5\xc6*LdR\x02\x121\xda\x801T!M\r\x8a@(52\xaa\x95\xeb\xcd&Q\x19\\SUs@\x17Q\x00\x15\x14\x8b\x93\xc5f\x9e\xa51\x04yZ\xaeF\xda\xd2\xe4\xb1\x07^*Vn(\x043\x1cS0i\x88\t\xa0\nb\x17\x18\xa6\x1c\x93@1B\x9av\xdc\xd0!\n\xe2\x83\xc0\xe2\x81\x88\x1b\x9ejB\xc2\x90\r\xcei\x05\x03%SN\xce9\xa41\x85\xceiK\xee\xa0C;\xd2\xe6\x98\x12\x00)\xcc\x00\x15%\x15\xcf\'\x8aPj\x89\x1f\x91\x8aa<\xd0\x03\xf9~*ER\xa2\x90\xecJ0G"\x9a\xca1H\xa2"p8\xa8\x81\xe6\xa8\x82c\xebJH\xedHe\xc8\xa2\x04d\xd2\xcb\x10\x1d\x05e}M\xb9t3\xf8\x1c\x11Rdc5\xa9\x90\xc2\xa1\xf0{\xd1\x80\x18\x0c\xd3$\xadv\xa1J\xe3\xde\xa8U\xa2I\xc4\x84T\xc1\xb3\xcd\x02\x1d\x9a\x91z\xd4\x94NTu\xa7\xe0\x01RQ\x03\x1c\x1a\x8c\xf3M\t\x8d\xc5H\xa9\x9ab\x14\xa0\x14\xdcqH\x06\x13K\x9e)\x80\xed\xd5&\xe1\x8aCC\xc1\x04t\xa7l\x0c*J #\x07\x14\x84\n\xa2H\xe9\xeb\x91\xde\x81\x13dT\xb1\xe3\x8c\xd4\x96i\x02\x81z\xd5\x07q\x9e*\x11L\x80\xb9\xc7\x14\xd5\xeb\xcdhA)\x02\xa0+\xc5\x00\x01I\xa7\x15\xc0\xa0\n\xe4R\x80@\xaa$fOz\x99x\x14\x00\xa4\x9ax!W\x9a@W\xdd\xba\x98x\xaa\x11\x1esO\x19\xa0D\xea8\xa7\xed\x15%\xa1\x18c\xa5\x00dP\x03\x8a\xf3Md\n8\xa0\x08\xd4\xfa\xd4\xa7\x19\xa0\x07\x0c\x8a\x8d\x98\x9aC\x17\x07\x15$h\t\xe6\x80\x15\xc0\x07\x8a\x8b\x14!\xd8\x98\x10\x16\x9c\xad\x9e\xb5#\x15\xb2:\n\x8c\x12z\x8a\x00a8\xa6\x82*\x89&b\x08\xaa\xf94!\x17\x04\x84/\xd2\x9ef\xcfZ\x8b\x1a\xdfB\xabc&\xa1\xcdhd>>M#\x0f\x9a\x80+\xdc\x9c\xed\xf6\xaauh\x92v^i\xe3\xa5\x02%^\x94\xf0y\xa9(~M&M!\x8c \x9a6\xe2\x98\x85\x1dj\\\xfb\xd2\x18\xdc\xd4F\x80\x003K\xc6i\x88P\xb4\xaa\xb94\x01i $\xf1Mpc8\xcdE\xca#\x07=i\x84S\x011\xc5 \xa6H\xa3\xde\x9d\xcfj\x06\x19=2ip1\xd6\x81\n\xa3\xd6\x93\xbd\x03$\r\xc5F\xc4\x91\xc5!\x8d\xe6\x9crh\x10\x9biv\xd3\x11\x19\x19\xed@\xa6\x02\x13\xda\xa3$\xd0!\xe0q\xd2\x82(\x00\xda((q\x91@\x0c\x19\x06\xadv\xcd\x03\x1f\xb8c\x06\xa38\xedRP\xe3\xd2\xa2\xe4\xf5\xa6!\x9b9\xa5\xdaT\xd3\x11(|ph\xc8&\x90\xc7\xf0N*\xda\xaa\x01\x9a\x86Z*1\x1b\xa8b1LC3\xc5(\xcf\xe1LF\x8cn\x80|\xc34\xad,Lp8\xa4"\xa4\xca\t\xe2\xa3\n\xb4\xc6<(\x039\xcd@Oa@\xc4\\\x9a\x1c\x11L\x92\x01\x9c\xd0I\xa6!@52\x1cu\xa1\x82*\\\x10Xb\xaa\xd5!3A\xf0EE\x90E \x01O\xcd\x02\x145\x19&\x81\x8f\x19\x14d\x93Ha\x82{R\x10E\x00(\x06\x8a\x00\x962\xa3\xad#\x90zT\x8c@8\xcd 8\xa6\x04\xe2v\x03\x8a\x81\x9c\xb14X\x07\xc63Ox\xf1\xcei\x0c`\xe3\x83O(:\x8ad\x90\x91\x83M=h\x02eR\xc2\x98\xc0\xa9\xe6\x91C\x0b`\xf1K\xbb4\xc4*\xf4\xa6\x9c\xe6\x81\n3V\x90.9\xa4\xcaDR\x11\x9e)\x13\xde\x90\x13\xf1\x8e*\xb9^\xb4\xc2\xc4%\t\xa7\xaa\xe0U\x19\x8d\xefO\xdb\x81\x9a\x043\xcb\'\x9c\xd4\xab\xc0\xc1\xa0c\xf6\x83\xc8\xa6\x83\xce)\x0cqQ\x9e)\x02\xf3\xcd"\x86\x13\x8a\x07\xcdL\x06\xf2\r.h\x10\xcd\xb9=h\xe5i\x80\xed\xd4\xd2\xc7\xd6\x8b\x0e\xe3\x81\x14\xd2rh$p\xe3\x9a\x94>x\x14\x87r2\xdd\xa9\xbd\x084\x01!~\x05DO\xbd0\xb8\xf0\xc7\x1dh\xe3\x14\x869FOZV\xe7\xbd\x000FX\xf1V~\xcc\xc0d\x8aW\x1aEv\x00Tf\x98\x8a\xb2\xf5\x15\x05Y\x05\xa6\xeai\xc1I\x19\xa4\x04\x98\xc50\x8a\x00\x99\x13=i\xac\xbbO\x14\x8a%T%s@e\x1djJ\x17\xcc\x04\xd274\x860\x92)\x98\'\x9a\xb31E?\x14\x86.\xfc\x0cP(\x18\xc2qH\x0ei\x88P\xc5MJ\xacX\x9c\xd2\x18\xad\xc9\xab\x11.\xe1R\xc6\x84\x92-\xa39\xaa\xbc\x1a\x13\xb85b\xf4,\xa0sM\x97k\xd4u/\xa1I\x93\x14c\x8a\xd4\xccE\x04\x9c\n\x9fi\xe8E\x0c\x11\x19B)U\t\x14\x87a\xa5q\xd6\x940\xe9@\x12+\x0cR1\xe6\x90\x11\xb3TE\xaa\x89\x1f\xd5sM\r\x8e)\x92L\x8d\x93\xcd6@;R\x18\x800\\\xd0\x01\xebL\x07\x069\xa5g\x19\xa9(g\x06\x94\x1d\xb4\xc0a9\xe6\x9e\r1\x0e\\n\xa7:\x86\x1c\x1a\x92\x8a\xb8 \xd2b\xac\xccp\xe2\x9fHbS\x94\x1c\xf4\xa0\x00\xa9\x1fZh\xf4\xc5\x02\x15\x94\x9e\x82\xa2 \x8a` \xa9\xc0\xa41\xcb\xd7\xadL\xa8=jYHz\xb0\x8e@ke\xeeQ\xa3\x00T4Q\x87&3U\xc8\xe6\xacEY\xd7\x1b}\xf3UkDC/6)\xeb\x9e\x82\x91$\xad\x1b.\t\xa6dq\xc5"\x89\x06I\xc0\xa70+\xd6\xa4\xa4&\xf2\x06*\x02)\x80\xe08\xa7\x03\x83\xcd\x008\xf7\xa6\xed=h\x02>\x94\xe1\xc9\xa6\x05\xc5\x89\x19}\xe9\x9bH8\x1c\xd6w.\xc5vR\x0e\rF\xa3\rVfY\x08\x18sL\xdb\xb4\xd2\xb8\xecL\x10m\xcd9d\xda\xb8\xa9\xdc\xb5\xa1\x1e\xf2\xc3\x19\xa81T\x95\x88b\x83\x8a]\xc7\xad\x03LfK\x1a\x94\x83\xde\x80\x1f\x17\xfa\xca\xb1;`\xe2\xa5\x94\x88<\xde1\x8a@\xd9\x14\xec!\xa5X\xd4epy\xaa%\x8c\x02\x94\x1cS\x10\xf0T\xd2\x11Hb\x11\x81\xc5FA\xa6"D\x07\xd2\xa51\xd2\xb9I\x0c$\x81\x8aA\x920h$\x7f\x96B\xe6\xa0#\x9eh\x06/Jx\x1b\xba\xd3$\x91\x90\x01P\xe3\x1fJC\x1c\x05\' \xf3LD\xb9\xe0\xd4]{R(@)zS\x02PELH\xc7J\x82\xc8A\xe7\x9e\x94\xfc\x0c\xd0+\x08\xf4\xcd\xbcf\x98\x11c"\x90\x8e*\x89\x1a3\x9a\xb03\xebC\x04D\xc0\x93R l`R\x18\xde\xfc\xd3\xca\x83\x92\r\x03(\xcer\x17\xf1\xaa\xd5h\x86hc&\x9c8aR\x05\xc6-*\xf1L\x11\x1c\xe2\xa4\xa2V\x1b;Q\x9d\xfdjM\x08\x9c\x00=\xea\n\xa4C\x10d\xf0)v\x9e\xf4\xc4!4\xe2\xc7\x14\xc44\x0e9\xa9Ux\xcd!\x8d\xc9\xcdL\xaeG\xb9\xa9)\x11\x1c\x96\xc9\x14\xd0pzS\x11(9\xa9Q7H\x05IE\xf6\x8bmdLFp(Bl\x8d\x05\r\x90kC!A\xe2\x83@"tL\x8c\xd3\xcfLT\x1b\x0fR\x11}\xea\x06!\xcd \x1c\xa0\x0e\xb4\xf6*\x05\x02"\xdd\x93OpH\xa6\x05`3\xedA\\U\x127\x03\xb5 $S\x10\x9c\x9a\xbc\xb1\x82\x9c\xd2cB}\xde\x055\x89\xc5Ide}\xe8\x03\x9a\xa2\t\x0b`b\xa3)\xc6s@\x0cd\xc5*\xf4\xc5\x02\x1cT\xe7\x15!\x87\xe4$\xb7>\x94\xd0\x88\x01\xc0\xc574\x08\x95@#\xad06\r!\x92\x02\x08\xa8y\x19\xe2\x81\x88\x07\xbdZ\x1c\xa7\xbd\x0c\x10\xcezRd\x8e\xb4\x8al3L\x0c\x7f\nflRq\xd2\x94c\x1c\xd24B\x8c\x13\x81C(\x03\xad\x03\x1a=jun(\x02\x16\xc37\xd6\xa3 \x83@\x8a\xb2\xf4Z\xafZ\x10n\xae\xd0\xb8=i\x8d\xb4\x8e\x95\x99B#\x11\xd2\xacF\xf8<\x8aE\t#\xe5\xbaqQ\x02A\xf6\xa4Q+\x00\xc2\xaa\x11\xefM\t\x8d\x1c\x1c\xd4\x99\xcd2\x07\x84\x19\xa6\x95\xa6f0\x8a\x94n\xedAW\x1c\x07\x14\x823\x9d\xdd\xa9\x0e\xf7$(H\xcdG\xe5\x9cg\x157.\xc4{YNH\xab\xd18^hcDR\xcaY\xb8<U"9\xaaFA\xcfj\\\x13LC\x82\x9e\xb8\xa9\x957R\x1a-*|\x9e\x95X\x9c\x9a\x83`u=1MQ\x81TH\xb8\x07\x90j.\xbcf\x98\x85)\x81\x9c\xd0$#\x83F\xe1\xb0\xd0\xc0\x9a\x99SwS@\xd13\xc2\xaa\x80\xe6\xa0*\xb8\xf7\xa9Lm\x08\xa0\x0e\xb4\xbb\x8f\xadQ!\xf8\xd3X\x1cR\x19\xd0XY\xa6\xc5\x96p\x08<\xa85\xa3wk\x1c\xcb\x84UB:\x11P\xefp8\xf9#))F\xe0\x83HA\xe2\xb4\x10\xb8\xc5C\x90\xad\x9a\x00\xb2\x801\xdc\xdfx\xfe\x95`r\xc7# \x03Z\x19\x99\x98\xc9\xa9\x80\xe3\x06\xa0\xb0*\x00\xebP\xe7\x9a\x01\x8ax\x19\xa3?-2\x08\xc6sS\xab`\xe34\r\x13n\xdarj\'\xe7\xa5Ia\xce\xdcRm88\xa6+\x11/\\U\x8d\xa7\xb8\xe2\x86\x08{\x01\xc6*\xb3sHc\xa3\x04\x9cT\xd2F\xca\xb4\x01QT\x9ej\xc7jl\x11Fq\xf7j\xadZ!\x9ae\xb2\xd560\xb8\xa8(t|\x1ei\xe3\x15%\x11n\x194\xbeg\x18\xa6\x02\x17\xa8\x81\xc9\xe6\x81\nB\x9e\x86\x93a\xc7\x15Fw\x18\x18\xa7Z\x94\x93\xb4\x91@\x98\x91\x92\x06H\xcdL\xcc6\xf1\xd6\x81\x15\x81rj\xe2\xb3\x05\xc5K5B\xe7\xe5\xa9\x04\x84\x0e\x95\x06\x88\x84\xbe\xee)\xa4\x8e\x94\xc4D\xd8\x1d*O(\xb2\xe6\xa8\x8b\r\x1c\x0ehS\x86\xa0\t\x0b\xf6\x02\x9a\t\x14\xac\x17\x1f\xbd\xcf\x02\x99\xb4\xe7\x8a\x07r}\x8cz\xee\'?\xad<\xdb\xb0\x00\x00G\x199\xefSr\xac@a~q\xd4s\xf5\xa8\x020n\x995i\x92\xd0\xf2{\x1e\xbe\x94\x83\x04t\xa41\x18\n\xb2a)\x18pi\xdc,W$\x91\xd6\x90t\xa0B\xe74v\xa0bf\xb54\xd8\x8d\xcd\xf4I\xb7p\x07s\x0e\xd8\x1dh\x15\xce\x82\xfeA\xe7\xe1>P9\xc5,rnN\xa35#\xe8P\xd4`\xf3`\x13\xae\x01A\x86\xf5"\xb9\xaei-\x81\x89\xc98\xeai\xe2.~n\xb5\xaa!\x96\x82\xe3\x18\x15$jLSI\x8e\x14c\xe8M7\xb1(\xcf\xf7\x14\xc2Nj\r\x03\x04\xd3J\xe2\x98\xac<\x03\x8e\x95\'\x92\xe5s\x8e)\\v\x10\xc7\x81Q\xf9L\xa74\\,X\x11\x92\x01=*gP\x00*>\xb57*\xc5g\xe7\xa5\\\xb5@O\xcdC\xd8kr\xdc\x96\xc80W\xadD\xca\x00\xc5gsD\x8c\xb7?1\x02\xa3\x02\xb60\x1f\x9d\x98\xc5N\xd2\xb3.\x0fJL\xa4C\x8e\x0f5\x114\xc9eI\x8ev\xd5z\xd1\x10i0\xf9\xb3J2:T\x80\x81\xa9\xcawt\xa0.0\xae)\xe8\xb9`\t\xe2\x80L\xb4B)\xc15]\x94d\xe3\xa5J-\x90\x94\xc5*\x87_\xa1\xaa&\xc2\xb0\xdd\xc5M\x9cE\xc7&\x82\x05\xdf\xb5y\x14\xdf$\x91\xbe\x95\xecRZ\x92\xab\x05\x18\xc5@\xcf\xf3g\x14\x8b\x147\xa0\xa7\x96\xc8\xc0\xa2\xc1p\xc7\x19\xa8\xc8\xa0\x06\x80j\xc2\xb1#\x1d\xa9\x88A\x82\xdc\xd5\x85\x8cn\xce8\xa9\x19\x03\xe0?J\x9dc\xdc3\xd1GS@\x16\xd57\xf0F8\xc6zf\x9cc\x1c\xec\xc6\x07\xa1\xebQr\x92$\x10\x8d\x85\xb9\x07=}j\xc3y\x81\x15p_=\xf3Y\xde\xe6\xa2\x84U\x1b\xa4\xc1\'\xb6z\xd5\x12\x83\x009\x1bs\xd6\xa6\xe3\xb1\x11\x85[\xf8\x80\xc9\xf4\xcd@\xd6\xd2.N2+U.\xe48\x80\x89\x8e\x0e0*\xea\xa6\xe1\xb7$\xd4\xb6RB\x8bt\x13l&\x9a\xd6\x9ceON\xa2\xa7\x9c|\xa57\x85\x80\xc9\x1c\x1a\x84\x1d\xa7\xa6k{\xdc\xca\xd6,\xbb\xa3\x0e\x17\x9a\xe8|4\xc2;\xdb\x80A\xdc\xd0\xb68\xfa\x1aD\xb1\xf7j\x1aV|\x8a\x96\x18\x99\xc0\xda\x03g\xa0\x1di\x8dlX1\x12\nH\x85C\r\xa7+\x8a\xe7\xe4\xd3gVd\\\x12?Z\xce\xf6\x19\xa1e\xa6\x86\xfb\xc3\xe7\xef\x9a\xbc\xfa`\xc8 \xe7\x9eis\x07)7\xf6z\x14\xdcHV^\xde\xb5\xcf\xdf\x05\xb5\xd3\x11q\x87\x9d\xb7\x9f\xa7j\xd2\xf7"\xd69\xe5<S\xc8\xf6\xaa(A\xe9H\x06M\x00? ~\x15hM\x85\x03\xb0\xa9e"&`\xc3\xa5=d\x016\x91J\xc3\xb8\xd2\xff\x00.\x05G\xbf\x03\x14\xec\x17\x13i\xc5Y\x89\xfc\xbeM\x02\x12[\x92rEV3\x12(\xb0s\x107<\xd2\xa1\x1d\xea\xc8[\x93,y9\xedOm\xb885%\x15\x98\xf1L\xebTC*M\xda\xabV\x88\x83M\xba\xd2F\xc7$\x1aD\x8fn\x9c\x8av\x14d\xe3\x18\xa9\x01\xab\xf3w\x06\x95W-\xc1\xa0}\t\x1e3\xd4\x8aH\xd7\x9cv\xa4V\xe3\x8aq\xcd&>^\r\x05\x15\xf3\x83\x83S\xa0\x00\x12i\x90.\xd0\xc7\'\xb5K\xe6\x80\xa4T\xee^\xc5bA\xa7l\xeaj\x89\x1a\x12\x8f\xbari\x14Ld\x04t\xaa\xc5\xbej\x12\x06\xc5\x0c\x05?w\xa5\x01q\x14\xe4\xf3WVB\xbd9\xa4\xc6\x88\xd9\xc3\xb7J\xd3\x11\x15@\x18\xf5\xe4\x0e\xf5 .\xdc\r\x81\x0bH\xc38\x1d\x85_\x89v\x8e\t\xcb\x1e\xdf\xe3P\xcbD\xc0?_\xbaG\xa0\xe0\xd3Dj\xe3*w0\xefX\xb3B\xb3.\xd3\x81\xf3z\x9c\xf1U\x1d\x94\x9c\x13\xb9\x8f\x18\x07\xfa\x1ahe\x98\xa1-\x18\xf9\xdb\'\xa0#\x14\xc7\x85T\x80\xd8b;n\xa5}@\x9a\x14R\x846W>\xbc\xd5\xe4\x18NW%z\xfa\x81R\xcb\x1a\xd1\xa9\xe7\x1f\x8dD\xea\xc38\x1c5AEG\x8f>\xc4z\xd4\x91\xdbo\x18 c\xd6\xaa\xe1b\xc2Y(\xe5\xb0x\xad\xcb\x04\x16\xd7K!\x18ES\x9c\xfat?\xce\xad7s\x16R\xbd\x87\x13\xba\xa8\'\xdcw\xa7\xdaZ9@\\\x85\xc8\xe9\xde\xba\xcc/cJh\xb0\xa3\x96$\xfa\xd4s\xbe\xc6V#\'\x18>\xfe\x95\xcf-\xcb\x8e\xc5t\x94n\x0cW8\xfdj\xc9\xb8@\xdc\xe4\x0e\xd5\x1b\xe8i\xb0\xeb\x86\xfd\xd9a\x9e\x9d\x05q\xbe!l\xcf\n\xe7\x85^\x95\xac73\x91\x80\xb8\xdb\xefS\xa1\xf5\xadI$]\x99\xa4*\x00\xe2\xa4\xa2\xbe\xc3\xd74\xc1\x8c\xe0\x9a\xb2K*Tpj|\xa7j\x8dJ\xbaDN\xa1Fj\xa6Ns\x8e*\x91\x9be\xe5a\xb7\x9a\x89\x98b\x91c\xd60\xc9\x93\xda\xaam\xcfJ\xa4f\xcbq\xda\xb3\x8c\x9a\xae\xf1\x04\x93ni\\\xd1\xa2\xd1\xc7\x97\xb5O5O\x1b[\x06\x9a%\x8e\x97\x04\xfc\xa3\x8aju\x14\xc5\xd4\xa7r0W\xf1\xaaU\xa2!\x9b\x03\x06\xa311\x19\xcdH\xac4\x9c\xadJ\xe3\xe4Q\x9e\xb4\x89a\x12\xeclm\xcf\xbd9\xa4Tl\x81LW\x17\xcd8\xc89\x14\x06\x07\x9aL\xd2$n\xc7\x1cS\x15\xbf:`\xc0\xfb\xd4\x8b\xcct\x80n})LD\x8d\xd9\xfc)\x0c@;S\x84\x818=*\xc9z\x8e\x12!nzTr0\'\x0b\xd2\x81j\x08\xb9\xa9L`\n\x96\xcd,BW\x8e\x94\xf8\xd7w\x14\x05\x87\x14\x00\xe0\xd2r\xb4\x86X\xb6\x8d\x9eB\xc3\x80\xbc\xd6\xcb8c\x97\x00z\x9fJ\x964>\x00\xad\x96l\x13\xd0\n\xb8s\x1e3\x81\xe9\x9e\xd5\x8b4E\xb1\x1b\x97\xfd\xd8!@;\xb3\x8a\x96 \xac3\x1a\x9d\xbe\x84\xf1\xff\x00\xd7\xac\x99ft\x90\xee\x97i \x03\xd8\x1a\xb5\x1c8\x04.W8\xfaR\xe81\xee\x8f\xb4\x82IP{\xe3\xfaUu\x8c\xc9\xf2\xb0`\x07LR\x182\xe3\x1fNH8?\x8d"\x93\xceH\xc7b\xd4\xc0\x96\x14f\xe8\x08\x03\xa9\x075`D\x98\x0b\xdf\xd4w\xa8(\xaa"g<\x9c\x8f\xafJ\xd1\x8a\x02\x18\xe4g\xdb4\xc4\xcbD\xaa\xe0\x0c~t\xe5\xf9\xfc\xc0\xac\x19\xc8\xdd\x80=\r5\xb9/b\'\x85\x8c\xac\xc0\xf0z\x83\xda\xaeZ\xb8U\xc0\x89\x14z\x93]i\x9c\xcd\tr\xeb\xbc/Q\xd8\x8a\xa9*\xf9\x8aT\x8a\xc1\x9b#\x18)\x8eV\x07\xa6\x05]S\xf2\xf1\x83\x91\xcey\xa8\xb9\xb1}0\xc9\xc7S\xd4\x13\xd2\xb8\x1dP\x06\xbb\xc6\xec\x91\xe9[Gs\t\x14\xa3E\'\x9a\x1c)\xe8k[\x93a\x8a@\xa9\xd78$\xd3b f-\xf4\xa1v\x83\xcd1\x12|\xa7\x9cT\x87k\x0f\x94\xd4\x8cA\xcf\x1d\xaa}\x8b\xd2\x8b\x8b\x94l\xb1\xa8\x1cT(\x146[\xa5+\x97a\xd38q\x85\xfaT+\x1e\xd1\x92qT\xb6!\xbdK\xc2l(\x0bT\x0f\xcc\xf9&\xa5#F\xc7\xf0\xbd\xe9\xa5\xc15V#\x99\x08~\xef\x14\x8a9\xc1\xa0\x19V\xf5@\xd9\x8fz\xce\xadV\xc6osdz\x8ac1\x14\x88\x059^\x9e\xf5+\x8d\xec\x07A\x81\xcdH\x88\x99\xf2\xbbS8\x14\xd4\xc08~\x95@YM\x80\xe4r*\'\xe4\x9d\xbc\n@\xb7\x1a\x14\x91Q\x95`r)\x8c\\\x9csS\x0cm\xc7\xbd\x03\x13\x198\x06\x9f\x90:\xd2\x06\xc8\xca\xee\xce(T\x18\xe6\x8b\x94\x91\x1b`\xf0\x05&\xdcS\x02P\xe4\npj\x92\x910PycC*\xf1\xb6\xa0\xd0p\x84\xe3$\xd3\x8a\xa0^Z\x8b\x92\x8b6\xfc\xc4\xcb\x8e\t\x19\xad\x97\x88,i\x12\xb0\xdd\xd4\x9aL\x11$\x01\x8a\x82\x80\x10{\x9e\x9f\x85]\t\x8c\x04 \x90\x0eX\x9e\xff\x00\xd2\xb1e\xa1\xf1\xc5\xe6\xfc\xad\xb7\x19\xc0\x04~\xb5`\xedN\xb8\xdex\n\x05A`\x91\xac \x80\xdf\xbcc\xc9\xc56H\xf0\xb8bNz\x8c\xd3&\xe4N\xd8%|\xc09\xe4c8\x14\xd0v\x9d\xc03\x0fq\x8a\x82\xc8\xa5\xd8\xc9\x96\xc2\x11\xdb\xaf\xff\x00\xaa\xa3B\xceTg \xf0I\x1cP\xcaZ\x97|\xa0\x83\x19*\x9d\xb03\x9a\x99"\xc0\xce\xd9\x06z\x12?\xc2\xa4.[\t\x95\x19F\x03\x18\xe4\xe3\xfaT\xfc*\xe0\x1ez\xe3\x9a\xb2J\xc3<\xeeU\xc9\xefQ>Q\xc6>R;\x8e\xb5\x99D\xee\xc4a\xbd\xb1\xf5\xa9v\x06PW\xaf"\xb6\x8c\x8c\xdcHX\xaa\xe7\x7fZb\x05\x04{\xd5\x14\x88fEf\xe3\x8fZ\xcd\xcb)\xeb\x83\xd8\xfa\xd79\xa9z\t\x0e\xe3\xb7\x07\x9eA\xed\\\xc6\xb1\tY7\xe4a\xbd\xabx=Lf\x8ew&\x95A&\xba\xcc\x0b\xa8\xa0u\xa4f\xed\xda\xb3f\x88\x88\x9cq\x8a\x8f*~\xb5h\x82\x7f)\xda>\x07\x15P\x16SB\x11`I\xda\xa7V\xe0\xfb\xd4\xb4h\x98|\xc7\xb6j\'\xe5q\xde\x90\x10\x84aNv-\xf2\xf4\xad70j\xc33\x8eE?\x00\xe2\x81\x10\xb2\x92\xdcSB\x90}\xa9\x8c\x90\xd2\x02K\n\x93B\x1b\xc1\x80\x9c\xe7\xaf\xf4\xac\xea\xd1lf\xf75pA\xa7u\xa0\x91\x08\xdaz\xf6\xa7\xcc\xf8\xc2\x8f\xc6\xa4\x81ve2*\xb0\xe4\x1c\xf4\xa0\x04\x0f\xb4\xe1G\xd4\xd6\x89\x8c\x94\xfa\xd3\x1e\xc59#\x91\x0f\x074\x07*>qH\xa6\x87\x01\xb8d~U?\x97\xf2\xe4\xd1q\x11\x14\xdb\xc85\x1eH?7JH\xa7\xa1cp#\x81H\xa0\xe7&\x91\xa0\xd26\xb6qR\x92\xbbs@\x15\xc7\xcd\xd3\xb59\x07<\xd3&\xe3\xf94\x83#\x8a\x92\x990Wn\t\xcd!\x88\xa1\xf9\xa9\\v\xd0\xd6\xb6\x8c\x13\x1f\\\x8eH\xf4\xf4\xad\t"\xef\x8ez\x16\xcdC\xdch\xb4\x80\x85\xda\xb9-\x8e\xb8\xab\xd1\x85`|\xc4\xc0\x1c\xf2x5\x9b(\xd0\x1b\x00\xc9\xcf=\xb3\xd7\xfc\xfb\xd2\xac9 \xb2\xe3\x8e\x14t\x15 G\xb1Uz\xe7>\x95\x1c\x8aN\xdc\x0c\x9f\xa6@\xff\x00\x1abDNH\x18\xc6\x00=}*\xa1;\xf0\x0e\x06;t\xa8,\xaaVF<`(\xc6N*\xfc\x11\x06\xc0\\\x91\xd3$c4\xa4h\x8b\xeb\x13\x02\x18\x0c\x9a\xb4\xca]\x87w\x1e\x9d)!2\xd3F\x152\x00\xe3\xaf\xa7\xebR\xc6\xe7\xf8\xbav\x04U\x12V\x9e0\xc4\xb75FHN\xc2\xc7\xb5IDer\xa3\'\x81M-\xb4\x01\x18b}H\xac\xba\x9b\xa2rC\x8d\xac\xb8=\xcdW\x8a\xdd\xc1\xe9\xc15\xb2z\x19\xb0\x94p@\xaa\xa1Q\x9dS\x9c\x9e\x07\xb5fY!\x84\xc6\xe2M\xbc\x96\xc6+\x07Z\xcb\xecq\x8cf\xb7\x8e\xe6\x12\xd8\xe6\xb2\x9d;\xd2\x92\x01\xe2\xba\x8c\x06\x879\xa59\xdb\x93L\x08\xf7\x83\xc0\xa7\xa2\x00\xdc\xd0E\xcd\x06\x9b\x11\xe0Vq<z\xd4\xa2\xee\n\xab\xde\x9d\xf9\xd3\x02tf\x03#\x9aj)f;\xb8\xa9(\xb7\xb4\x05\xe6\xb3\xe4P\xacx\xa5\x11\xc9\r\r\x8e\xd4\xac\xfb\x88\xc0\xc5hf:5\xcbd\x9a\x89\xbe\xf1\x03\xd6\x97Q\x069\x02\x94\x80\xbc\ne\x14n\x7f\x87\xf1\xaau\xaa2f\xe1\x19\xaa\xed\xefR!\xd8\xdcP\xf7<T\x8e\xaa\xccNi\x105\xcf=x\x1e\x95\x11\x19^x\x02\x98\xc7\xefT\xe89\xa472g\x9eV\x81X\x94J\x1b\x19\xe2\x9aNrO4\x8a\x1a\xaa~\x95\xab\x1cfLg\xa0\xa8\x93)jB\xd1\xe1\xbad\n\x88\x80\xc78\xe2\x92e[R-\xe5F\xd08\xa9#\x8d\xdf\x91\xd2\x99b\xb0#\x8cf\xa1\x0e\xb9\xe4P\x81\xe85\xc0\xfe\x1e*0\x1b\xd6\xac\x8b\x16\xd4\xf1O `w\xa8/\xa0D\xdb_=\xaa\xd1\x90\xcd*\x81\xd6\xa6\xda\x8dlj\xc7\xf2\\m<\x1cc\x8e\xf5\xa9\xb0dn_\x94\x9c\xb0S\xd7\xf3\xa8`\x8b\x08\xbbd\xc9`\x00\xfe\x1c\x1c\xe3\xe9W\xd1\x82\x1d\xcb\xf2\xb1\xe8q\xda\xa0a\n\xb1rH\xdd\xeb\xe8*\xe9Va\x8c\xed\x04\xf3\xb4T\x94\xca\xd2)E\'\x04\x0e\xb5X\x0c\xc9\x87a\xbb \x9e\xe0U\xb2\x11^i\x03r\xdc\x81\xc6;\x0fj\xa8\xb9g%S\x1e\xd4\x8a,,M#\x81\xc1\x1e\x83\xa5j\x04\xd9\xf2\xe4\x03\xea9\xaew\xb9\xba\xd8\xbf\x12\x8d\x83\x9c\x1f\x7f\xf3\xcdY\xdaB\x12\xc7\x19<\xf3\xc1\xaa$r|\xdf3`\xe2\xa5d\n7df\x98\x8aO\xf5\xaa\xf2\xe0Brz\nL\xa4W\x89\x0b\xaezs\xe9\xd6\xad\xb2&\x06\xe5\x03\xd7\x83M!6[\x8a\r\xd1\xe5\x00\xdb\xdf\xbdR\x98\xb2\xe4\x0e\x00\xe3\xd2\x86\x8bL\xces\x91\x9c\x1e}\xaa\x126\xb7\x1c`\xd4\x16\xc9\xd8\x06\x87\x1f\xc4\x00\xfc\xeb\x16\xfd\x03\xdb;\xe7\xe6\x1f0\x15\xaa\xdc\xc5\x9cK(4\xd1\xc7\xd2\xbb\x0eR@22:\xd2\x9eE"\xc8\xf6\x8ep9\xa9\x0cg\xa8<\xd3\xb9\x16\x11X\xa9\xc1\xa5\xc6[\x81@ T-\x90\x05H\xaaT\xe0\xf3Rhh\x98H\x87x=:\xd6X|\x9e*QL\xd4\xb7\x8d\x1f\xe6s\xc5P\x9c\xaf\x9a\xdbzR[\x8d\xecF\xc22\x83\xd6\xa0c\xb7\x81Z#61r\xc6\x82\xa4\x1e\rQ\x916\xc6#8\xa6a\xbb\xd2\xb9\xa9R\xe8\x01\xb7\x1e\xf5F\xb4[\x19=\xcd\xc0\xdbNOJF\ny\x06\xa4DI\xc4\x80\x1e\x99\xa7\x15\xcb\xf1\xd6\x82G7\xc8\x7f\xa5Ver\xfc\x9ab@U\x87Z\x90\x8e\x01\x04P1\xa9\xb7?7\x14\xf0\x1f\xa2\xf3@XF\xde\xac\x03\x0cV\x94\x13\x15\\c\x9a\x86\xae\x8aZ\x12<\xf8R1\xc9\xaa\xb0\xc8\x16L\x91\x91P\x91\xabw\x1d8R\xd9QB\x19\x152\xa7\x8a:j;k\xa0\x89&\xd3\x96\xefP\xcaC6EP\x88z\x9a\x99H\xf4\xa6$(8\xceEE\xb9\xb3\x91\x9cS3\xb6\xa3\xf7c\xa8\xebZ\x96\x83\xf7\xa1\x97\x9e=i\x05\xf56\x17\x8b\x9epW\x1c\xf1Z\x9b\x84\xa8Bt\x1dqX3b\xccj\xe5p3\xc9\xeeq\x8a\xbe\x9b\xb9\x078\xef\x8cT\x0c\xb5\x18\n0\xa1x\xf5\xcej\xe0\x03\x04\xf5\xc7zC2o_\x83\xf5\xac\xe1"(\xcfw<c\xbf\xe3\xd8U\x90F\xea<\xb2\x14\x9c\x81\xe9\xdf\xfaS`\xc6\xdd\xb9\x1e\xe7\xde\x82\x91\xabm\x16\\\x1c\x90\x07j\xd0\xda\xacs\x82\x00\xe4\x9e\xd5\xcct\x12F\xa1\x8eNB\xaf\xa9\xebS\x8d\xad\x96P08\x19\xef@\x89\x00\x01F\x06MF\xc4t\xea\x7fJ`Qf\x00\xd5v\x05\x98g\x18\xcf"\x9d\xae\x17\xb1\xa2\xb1\x88\xc6\n\x90\x0f\xa7J|\xc8\x1e0D\x99#\xb0\x15\xd1c\x9e\xe5`\xfeK\x81\xbc\xfe|\x0f\xc2\x9d$`>]\xbbv\xedY\xb4l\x99\x8d t\x90\x03\x91\xee\x05S\x91\xf6\x0c\xfc\xd85\x91\xa8\xc8\xe5,\x06\x0eT\xf1\x83Q<\x9b\xc3 \x00\xe3\xd2\x84\r\x1c\x84\xb1\xfe\xf1\xf6\xf2\x01\xa88\xcdv\xa3\x92Dx=E.\x0e*\x82\xc4\xe9\x13\x94,\xa3\x8a\x8bw\xafZ7\x10\xdcw4\x85\xfd(\x02U|\x1ei\xec\xd8\xe7\xaei\x14Hdm\x9b2@\xaaDm&\x92\x06J\x1b\x0b\xd7\x8a\x80\xf3VK\x1f\xb7r|\xbdj \x0eq@\x80\x8c\x1a\xb1\x12\xefn(\x02rH\xf9@\xe6\x90\xc3&3\x8a\xce\xf64\xb5\xcc\xcb\xd4(S\'\xd6\xb3k\xa1l`\xf7:8\xc8+\x86\x19\x15JH\xc2\x9c\xa9\xe2\x90\x87\xc6\x8c\xc4r\rHO\x96\xb8+\xf3T\x81S9l\x91\x93R\xb4\x9c\x0e:UXE\xaf/|a\xb1\x83Q\x08X\x03\x91Qr\xd4E\x08\n\xf3S\x0cF\x9b\x81\xe6\x91V+n.\xc7u:8\x8fPx\x15[\x18\xb6G!%\xf9\xfc\xe9\xc8\x03\x1cw\xa0kBUF\xc9\xcdX\xdf\xb56\xe2\xa1\xean\x9d\x8a\xa0n\xcesN\x00dS\x16\xe4\x8c\x15y\xf5\xaa\xa1\x889\x02\x92\xd4oB\xdf\x97\xbb\xa7$\xf6\xa7\x18\x99F(\xb8X\x9d\xad\xf7C\xbb8"\x92\xd8\x88\xe7\x1f61\xd6\x92`\xe3\xa5\xcd\xf9\x97\xe7\x07\xbflz\xd5\xe8X\x95\xcf\xa7\xbdd\xc3\xa1hr\xc0\x90O\xe1Zq32\x03\x8e;.1PQ{\xcb|\x00p=\xbd*W\xf9p23\x8e\x98\xa0\x0c\x8b\xe5\t\x11\xdd\xcf\xafz\xe7\x1e\xe7|\xb1\xaaa\x8a\x9c\x92?\xa5h\x895\x8e6\x8c\x1c\x93\xce\x054C\x87\x1b\x8f\xb1\x00R\x19\xb5\x10\xda\xdbTg=+C\x1b\x06\xd1\xc9\xcfS\xebX\xb3T/\x97\x98\xce\xe3\x8c\xf7\xf5\xa6\x90\xbbv\xe3\x81\xda\xa0\xb1\x17\x81\x8eI\xcf\xe7M\x99\xb9\x11\xa8\x01\x98\xfa\xf6\xaaBa\x1cJ\x01\'\x93\x8f\xca\xa3\x11\x90\xe5\x98g\xd3\x1d\xebx\xab\x9c\xf2e\xb8\xc8\xc9\n\xa4\x1a\x84+\xbc\xdd\x00=\xf8\xad\xeceqn-\\\x90\xd9\xf9Gj\xaa\xca\xfb?\xbb\x91\xe9\xcd`\xd5\x99\xd1\x17tsw\x82Hq!|\xe3\xb7\xb5A2\xcb\xe4\xc7"L\xc1\x18\xb6A\x8c`\x11\x9e\x9ds\xc6\x0fn\xbf\x9d\xc1G[\xf9\x94\xf9\xba\x15\xad\x03O\x18\xc9*\xc4d\xe3\xd6\x89\x91\xe1F\x90\xf5Z\xc6J\xcc\xd2:\xa3\x9b(O\xde8\xcf5\x0b \xce\x14\xd6\xe6\r\\\x9db*\xa6\xa3\x11\xe3\xa9\xa5sK\x17#\xb8\x11\x8d\x80q\xde\xab\xcb$A\x81+E\x9d\xc8\xd0\x95R7\x03oSU\xa4\x87kP\x9d\x81\xa2\xb3dv\xa8\xc3\x13\xf5\xad\x0c\xcb@\x16\xc7\x15&\xc5\xc8\xc8\xe9\xd6\xa4\xb1$E\xc9\xd9\xd2\xa0\x8e\x10\xc4\x82qE\xc5b\xd40\x920N\x05$\x90\x11J\xfa\x97b\xa8L\xb6\r[\xf2\x84X!\xb95Fd*\xcc\t\'\xadH\xd39\xc6O\x15-\\\xa4\xecd\xde\x1c\xec\xfck:\xba\x16\xc62\xdc\xd9\xc3g\x8a\xb1\x80\xea1\x80jHc\x144lpj6R\xf9c\xc9\xa0\x08\x809#\x1d;\xd4\xa3!i\x94Z\xcbn\x1b{Ropy\xac\xf4-]\x1185\x1a\x83\xbbi\x1cSB\xdc\x95p\x08\x18\xa5\xc0\x0c\x02\xe4\x0e\xf4\x89\xb1#\x85u\xe3\xb5UU\x1dG\x04P\xae^\x8c\x98Ls\x82A\xab\n\x17\xa9\xefI\xa1\xa61\xd4\xabp)\xa1I4\x8d\t\x19\x17\x194\xf8aG\x074\xaf\xa0\xadvZ\x8dR7\'=)K\x8d\xd9aPia\xaf"\xe7\xd0V~C\\\xa8\x04\x80Oj\xa8\xeeL\xb6;\x94\x88\xf9jOOJ\xac\xeaP\xee\xed\xec+7\xb9\x9a\xd8\xb8\x85I\xe0\x0c\xd6\x94LN8\xfcI\xe9PY\xa0\x87\n[\'\x9e\x07l\xd3d\x90D\x86F##\xb9\xe9@\xce2\xf2\xf1\xee\x0e\xd4\'nr\x00\x1f\xd6\xa1\x86\x00\xbc\x85\xc3w\xa7{"\x92:\x05\xc9A\xc9\'\xa7\x03\x1f\x87\xf2\xa9\xd1K09<z\x7f\x8dM\xc7b\xfcX\x1c\x9e\x00\xe0V\xa4?\xbc\x95\x8ex\x03\x15V3\xb8\xe0\t\x00\x8eA\xe9C.0\xa4\x80:\xb5gcK\x90\xaf+\xc7\xde\xf6\xedN\x8e\x12Y\x99\xba\x8e\x87\xd0U"[-y<\xf4\xfc)K\x82O\xb9\xe35\xd5\x05\xa1\xcf-\xc8\x99\xd5I\xcb\x00~\xb5\xa3\x14k*y\x89\x8czV\xe6D\xb7\nZ\xdc\x88\xfe\xf69\xacEW\xc1\xdc\xac~\xb5\xcb5\xa9\xd3\x07\xa1\x8bt2\xac\n\xeeo\xd7\x9a\xe5$\xb1\x91\\lv\n\x08!s\x91P\x9d\x99\xb3WE\xb8bx\xe5\xcb\x00\x07\xd3\x15\xafw\x10\x9e\x03\x8e\xa7\x8a$\xee\x11\xd0\xe1b\xb8\x0c\x81\x1drG\x15\x1c\xa5Cd.1[y\x18\xa5\xd4\xd0\x8d#\x96 ws\xe9Q\xb5\xa0\xc6Cb\x8b"y\x99\x0bY\x95M\xd9\xcej\xac\x90g\x9c\xd1{\x16\xb5+`\xc4\xff\x00!\xc9\xa9J\xcb)\xcfJ~b\xf2\x1a\x01\x0f\x86\xa6\xec\x1c\xf7\xa4;\x0eP\xeb\xc8\xa9\x0b\x12\xd9aH\xa1A\xc1\xe0S\xcb\x86>\x95#\x0f3\x18\x00\xf2*3+\x16\xc14\xec\x17\x1a\xfb\x07O\xbd\xde\xa1\xdd\x8e\xa75H\x96\x0c\xf9\\\x01\xf8\xd4l\xc7=*\xd1\x9b(\xdd6\xed\x9f\x8dQ\xad\x11\x9b\xdc\xe9T\x06<\x0c\xd5\xc8\xe3^\xa4rk\x99\xbb\x1dV\xb9\x14\x96\xcf\xd5\x06GqT\xcc%O\xb9\xea*\x93\xb9\x9c\x90\xc1\x13\xee\xc2\x8c\x9a\xbe-O\x97\x96\xe1\x87a\xde\x86\xc1"\x05\x89\xcf)\xd6\x9c\xd1\xc8>\xf8\xa0\xa4E\xb0\x96\xe5H\x15l\x94\x8c\x80\x06i1-\x0b\x12K\x08A\x85\xf9\x85Ty\x83g\n\x06jlS \x0c\x02\x91\x8e\xbd\xea2\x08\xe0b\xb4L\xcd\xa41!\xdd \'\x00\x8ejq\xceFzSfi\xebbo?\xa2\xb8\xe6\x9eO<VV:\x13#$\xf0\x0fz\xbb\xe4y[Nz\xf6\xa3\xa0\xfa\x93\xfd\x9c\x10\xcd\x9c`f\xb2Y\xf3\xd3\x93R\xb5)\xe8B3\x9f\x9b\xa5h\xd8\xe2;\xd8\xc8<\x13\x8a\xd8\xc5\xeczLqo\x03\x19\xc5:\xe2\xc9\xbc\xb3\xe9\x8a\xce\xda\x93{#\x9d\xf9\xa2b\xb8\xc0\x1d\x85hG1\xeb\xdb\x1fJ\xcd\xab\x16\x9d\xc9\x9a_\x94\xe0\xfeC\x9a\xc3\xb8vs\xb7\xcc\'\x15\x06\x88\xa8\x83kp9\x15~ \xd9\x18\xe7\xea*76z\x1b\xf0\xda\x9c\xe4\x8e\xa3\x06\xae=\xbe\xc4\xc8<\xf4<\xd6\xea\'+\x90\xab\x18\xc7^\x9d*\xecj\x02c9$\xe4\xd6\xa9\x19\xb6H\xec\\\x0f\xe1^\xdf\xe7\xfc\xf4\xa9\x9f\xcbT`:\xe3\x195-\t2\x08\xf2\x08\x18\xed\xd6\x80\xff\x009\xe7\x03\xa55\x11\xb6XI\x940\xe3\x8c\x13\xf8\xf6\xaa\xce\xc3\x00r\t\x15\xd0\x95\x8c\x8e~\xea|\xcf\xb3\xcc\x1c.O\xe9\xcf\xea*\xa1\xd4\xd2\xc7\x12y\xe0\xa0\xc8#\xd6\xa8GSi\xaa\xdb_F\x1e\xdd\xc6\xfc}\xdc\xe0\xff\x00\xf5\xabq\x15\xa4\x19\x05\x90\x9e\xd4\x98\xc8\xa4\xd3\x96\xe4\x00I\x0f\xd06:\xd6\x15\xd5\x8b\xdb>$<\xfa\xe2\xb9\xa4\xba\x9d0}\x0e^u\xc4\x84\x0c\xe3\xbdi\xdb\xe1\xa2\xc5s\x9d\'\r\xaaZ\xb5\xbd\xd1u_\x96C\x9f\xa1\xaaX\x91\x93\x18\xad\xaef\x91\x9eU\x95\xf2\x0e\rY\x13\xb8\x19aZne\xb0-\xdc\x84\xe3<\x1e\xd5\xbb\x1a\xac\x88\x0b\xa0\xcd\'\xa0\x8a\x12\x84Bp95NM\xdb\t\x07\x81I2\xecV\x8d\x19\xdb\xaf5\xa0-\x08\xc6\xd6\xc946\t\x13\xb5\xb9\x0b\xcfZ\xa4\xd9Pw~U%\nYp\x0b\x1f\x94S\x83E\xfaU\x0fA\xa1\xa3\'\x92)\xbf\'\x9a\xb89\x14\x95\xee\x0e\xd6#{rr\xc0\xf1\x9e\xb5 \x8d\n\xec^O\xadU\xc8\xb1j\xe2\xd9m\xd1X\x90sY\xac\xdb\xcb\x16_aL\x93.\xe8\x01\xb7\x1d\xf3T+u\xb1\x83\xdc\xe9\xc6W;z\x8e\xc6\xa5\x8d\x9br\x968\x07\xaf\xb5s\x9d7-\xf9\xac\xae\x02\x91\xf5\xaa\xd7R38,\x018\xe7\x15\x0br\xa4B\x1f`\xdd\x9ej\xe4\x12\x97!\xdd\xbe`x\x15\xa3Z\\\xcdob6\x99|\xe2@\xdaj\xfa\xba\xc8\xbdFEfhV\x91p\xb9\r\x9fj\xcb\x91\xc2\xb0b3Mn\'\xb0\xf0\x15\x81c\x8fj\x8a5$\x12z\n\xb2\x18\x04\xdc~Z\xb3\xe4\x1d\x9b\x86s\xdc\x1a\x1b\xb0$F\x8a\x0es\x9c\xd3\xd20\x84\x01\xd4\xf6\xa5rll\xad\xaa2\xe1\x97\x93\xde\xb2$\x82U\x94\x88\xf2@<T\xa7\xdc\xd1\xa1\xc5HlJ?\x1aq\'<g>\x94\xc8i\xdcw\xda\x1c\xc6\xc9\xb7\x93\xd0\xd5b\x9bc\x07\x1c\xf7\x14\x96\x85\xeeFrEK\x13\x14t\xc1\xda\x03\x0ej\xc9=\x8a\xc5\x95\xa1\x05\x7fZ\xbd+\xfe\xe8\xe0t\x15g9\xc7\xdf\x00\x90\x93\xdb\x195\xc8C\xa8\xa8$79\xf5\xa5%r\xa2\xcdf\xb8-\x0f\x07\xaf@*\xbd\xa9\x05\x01=I\xe4\xfa\xd7\x1b;bj\x98\xe2\xc6[9\xf7\xab\x91\xcd\x1cX%N}j\x13\xb3)\xab\x9d\r\xb5\xd4R\xa9\x1f.Olt\xabO\xb4\x8c\x82\x01?Nk\xd0[\x1es\xdc\xcd\xdb"\x16 \xfc\xbd\xea\xd4{\x8f\x19\xc1\xc7sT"\xfa\xae\xf1\xf3\x1e\x83\x8a\x91cG\x07\x07\x9c\xf3@\x0e\xda\x08\x05A\xff\x00\xeb\xd5Y#U9\x00\xe1\x86I\xaa\x11\x95s<p\x03\x93\xc0?\xfe\xaa\xe2\xee\xb5\xe0\xae\xea\xa3=Ho\xd3\x1f\x9d08\xbb\x8dBY\x981b\x08P\xbc\x1f|\xd6kH\xcf\xf7\x98\x9f\xad1\x93\xc3s$\x12\xac\xb1\xb9\x0e\xbd\x08\xafV\xd1\xbcN\xd7\x0c\x90NV9O\x01\xb3\x80\x7f\xc2\x90\x1d\xcd\x96\xa9"\\4s\x8f\x9b<c\x9c\x8fn\xf5\xd1\xcb%\xbd\xe48;Nzg\xaf\xf9\xe2\xa1\x8fc\xcd\xaec\xf2\xa5d\xc8<\xfeu^)\x02\xc8T\xe4d\xf4\xae\x19hw\xa7rK\xcbq4%{\xe3 \x9e\xc6\xb8)$x\xd8\xa9\x1bX\x1c\x11M\x01Q\x13s\xees\xc5>@\x84u\xad:\x93m\n\x80d\x9c\x0e\x95\xb3m\x13H\x0e\xd9\x0fN\x94\xd9\x99\x9f.RC\xb8\xe4\xd2\xb3!A\xd74\r>\xe4pH"\x94\x923S\xfd\xa2E;\xc2\xf1M\xab\x85\xc6\xfd\xa9\xf2\x1b\xb5U\x90\xb3\xb1>\xb4%`\xbd\xc8\x0fR\x1a\xa4]\xa0t\xad\x08%\xda\xacx\xebLd\xdb\x8c\x1a\x9b\x95aU\xe4*T\xb1\xc5"\xb0\x0f\xc3sL\x97\xb0Orea\xbb8\x1d\x05Y\x89\xe3#\x04qR\xd6\x85\xc5\xab\x99:\x82\xa8d*x9\xfc+&\xb7\x8e\xc7<\xb7:L\x1d\xf9^hm\xecOS\xcdg\xb9\xa6\xc5\x81\xf2\x10W\xaf\xbd\x12:\xbf\xcd\x8c7\xb5e\xd4~e}\xa5\x9b\xe78\x15n5\x083\x83\x93\xde\xa9\xf9\x0e>dR\xc7\x93\x90G5\x18V\x19\xd9\x9f\xc2\xa5\x17$8\x90\x07\xde$\xe3\x91U\x0bn\xc8\xc15\xa2Fm\x8e\x85N\xf0\x19I\xf6\xad \x91\xb3\x01\xca\xfa\xd2\x93\x1cQU\x8e2\xa3\x90\x0f\x15o\xcd\x94\xc6@\x1cb\xb3e+\xdc\xaa\x1f\x1b\x89\xeaj\xfd\xbb(\xed\xf8\xd3{\tn_O1\xe5\xd8\x0f\x18\xa9\x1e\x07\xd8\xde\xa2\xb1\xbfCC\x1d\xe3 \r\xd9\xcdB\x19\x91\xf2{V\xa8L\xb0\xce\x8e\x81\xf1\x87\x15\x9edb\xdf7 \xd5$&\xcb\x11\xc2\xa7\x96p\xbc\xd5\x99D^Y\xc3t\xefI\x8d\x1d\xde\x8a\\\xda\xa3pr+\xa7\x98\x81\x1fNMn\x8e6q\x1a\xbb\xfe\xe4\xae;r+\xcb\xe4\x8d\xd4\xe4\xe7\x06\xaa\xfa\x8e\xda\x17\xa2\x9c\xae\x18\x9es\xd2\xb7!\x94.6\x9e3\x91\\\xf3GE7\xd0\xe8U\xf7(=Oz\xa8\xdc\x1e\xf5\xc2\xf7:\xd1\xab\x0c\xa0\x8c\x00\rj\xa3\x903\xc9\xe3\xafJ\xf4!\xb1\xe7\xcfr\xecS+\x11\xbds\xdf\x91N\xf3\x03H\xb8\x03\xaf\\w\xad\x8c\x8b$0\xear\xb9\xeb\xe9Q\t<\xb9\x1b\'\x07\xf9\xfaP\x04o|\x91)\xcf\xf0\xf3\xc5p\x1a\x8f\x88\t\x0e\x916rx\xe2\xa8G\x1bu\xa8\xcdt\xc1\x9d\xb9\x03\x1cVn\x19\x8fJc\x1e"b:T\xdff\x90\xf4\x157*\xcd\x8f{9cM\xc4qT\xc0 \xf5\xc5\t\xdc\x1a\xb1\xdai\xda\xe8H\xc5\xbd\xe02\'E\x97\xf8\x96\xbd\x12\xd6\xed\xb6\x04y\xc3\xc4\xfc\xab\xee\xc9\x1f\xa7\xf3\xa0\x91\xafe$\xd9\x9697(\xe3\x06\xa4\x8e\xd0\xc8\xdb\n\xfc\xe3\x9cVn7-;\x15\xee#\x91T\x82\xdb\x08\xf4\xae\x0bS\xc7\x99\xe6)\x1c\xf0\xde\xc6\xb0J\xcc\xdd\xb3\x15[q\x034\xf3\xc6GZ\xdbb.\xd9\xa1l\x01\xeb\xf2\x8e\xf5r&D,A\xef\\\xec\xe8[\x15o\x02\xc8C/\x06\xaa\xf9D\xfd*\x93\xd0\xcd\xadG}\x9f-\x8c\xe353!@\x179\x14^\xe3\xd8c\x05 g\xb5T\xe8\xdcU"I\xbc\xbd\xd8fR3U\xe4M\xbd(\xb9v\x04F\xc1\xec=i\xa1\xbel\xb0\xc8\xaa3\x1eO\\w\xaa\xac\xb8\xc6:\xd3Bd\xd0H~\xe6\xc0KT\xf2\'\xce@\x18 d\x81\xda\x87\xb8\x93\xd0\xc5\xba\x04\x15\xcf\xbe*\x8dn\x8cN\x8cF\xc5\x9bb\x9e={R\xacl\x80\xef\x19&\xb0n\xc6\xc9\\p\xc0\x1diB\x86\x1e\xfe\x95\x1ef\xbeE\x91\x18B\x01\xc1#\xad[\x08K\x06\x03\x81\xda\xa1\xe8;\\\xaf$Y\x94\x1d\xbbs\xefM\xfbK\xc3\xf2\x80\x01\xeei-F\xf4"\x91\xc4\x8d\x91\xdczUI\x14\x83\xd3i=\xfdkdf\xcb*\xc1[$\xfc\xfd1RI0$/\xde?J\x9b\\w\xb19\x90\x05\xe21\xf5\xa6\x99\x1c\x01\xc8\x00\xd6f\x857e\x07\x1d\xe9R@2\x05ik\x91{3f\x19DL\x92\x83\x92:\x8fQS\\\xceg\x902\xfc\x80\xf6\xac\x0b2\xdd\xdc\xb1Pr\x16\xab\xf9n\xe38$V\xba"5d\xa66\xf23\x9c\n\xce<\x1fQV\x8c\xe5\xa1:\xab8\xe9K,\x0c\x13\x8e\x94\xae\x934J\xea\xe8\xf4m\x1aA\xf6H\xc6;c\xe9[7\x12\xe4\xf0s\x8e\x95\xb29\x19\xc4\xea\xd2l\x84\x93\xc9n++\xec\x8dq\x12\x92\x00\x00Vrv6\x89\x87qh\xf0\x1c\xe0\xb0\xefKl\xdb\x1bn}\xc5;\xf3 \xb7,\x8e\xb6\xd2^0i&\xe3#w=\x81\xae;\x1d}H\xd2S\x80U\xba\x1c\x1a\xd0\x12\xce\xb8c\x86\'\xf5\xae\xb8\xecq\xcfr\x94z\x94\xd0\xb8Y\x86@\xef\x9a\xe8\x95\x9d\x90\x1e9\xe75M\xe8%\x1dl^\x17\x8e\xbc\x11\x9c\r\xb5\xcbk72C\t\x91xr\x00\xces\xe8+>{\x95\xc9c\x84\x9a\xfey[qs\xc8\xc1\xe6\xb3\xf6\xb3\xb7|\xd7Q\x81a =\xebU#\xc2\xe0\xe35\x93f\xd1\x89j$Q\x8c\x8a\x9d\x91\\\x8d\xad\x83\xe9\\\xd7m\x9dVI\x16pv\x80pk\x12\xea\xd9Y\x8e\xc1\xcfz\xa5\xa3!\xea\x8cFR\x99\x07\xadi\xd8j2\xd9\x12\xa3\xe6\x89\xba\xa1?\xadv\x1cG\xb0\xe8\xfa\xac2\xc4Y\\\x1e\x80\xb0^\x7f\x1a\xea\xed\xd98q s\xfc\xe8\x11\xc8x\x9af\x87\x12\x82Dl1\x80;\xe2\xbc\x8ew\x7f8\xedbwa\xb1J\xc8\xab\x8e\x07\x9c\x8ax\x8f\xbes\x9a\xc8\xd8\xb3\xe5\xba\x8f\xadjZ\xac\x8b\x82\xd8\nGSY\xb3K\x15f\xb6h\xe4\x04\x1d\xcbJ\x18\xa0m\xa0\x9e9\xa9\x1d\x88\xc4\xb9\x1c\x8ej\xcf\x94\xc5G\x1c\xfb\xd0\xc1\x19\xe4\x1d\xc5s\xd3\xad5\xa3]\xa7i9\xaa\x15\xb4$Id\xfb9\x8b\x82?\x95@7\xe39\xe9\xda\x9e\x80\xae/\x98@ \x8c\x83\xda\x98\xe3\xe5\xc88\x14\xd0\x99\x1ad\x8c\x0c{\x93S\x95p\x0e\x14t\xa6\xc9Z\x93\xc4\x046\xce\xf8\xcb\xf4\x14\xdb^c\x90\x1f\xbc\xc7\x92j_V#\x1e\xfb\x82\x8az\x8c\xff\x00J\xcc\xae\x85\xb1\x93\xdc\xee\xa6\x942\x8d\xc0\xa9\xf5\x14\x9ek:\x04P0{\xd7)i\x94\xe4\xb2\x93\x96%@\xf5\xaa\xca\xac\xbc/5w\x1d\xf5/@v\xe4\x1e\xb5d\xb3\xaf\xdd<zW3\xdc\xecKB\xbbJpw`f\xa90g\xef\x91\x8e\xb5\xa4L\xa4&\\(\xfe\xe8\xe9J\xe0\xc8\xa4\x9f\xca\xb4\xd0\x8dH\xd0\x06p\xacH\x1e\xb5:F\x14\xfc\xa7$\xd52c\xdd\x96r\x0f\xc9\x8c\xb7\xa5V\x91\x02\x91\xc9\xc5gkh]\xef\xa9 H\xfc\xb2s\x96\xebM]\xdb\t\x00s\xdcS\r\xc6#08\xea}*\xfd\xbd\xca#\x93:g\xd3\x1d\xa8h.\xc9\x1ehd}\xeb\x8c\x93\xce*x\xe5`v\xc8\x98\x1d\x885\x9d\x8a\x1d-\xd48\x00\xc6p=\xeb\x16P\x85\xb2\x06\x01\xf7\xaaDKQ\xca\xc0&\x14\x11\x9e\x86\xa5\xf2\xa7h\xcbg8\xa3N\xa5+\xad\x8b\xfa-\xcbd\xc4O\xcc\xa7\xbdv\xd9n\xa4u\xef\xda\xbaQ\xca\xcecT\x01\xb6\x03\x9d\xaarj\x90\x9dT\xe1I\x03\xd3\xb5sL\xe9\xa6\x8aw\x97\x85\xb2\xa8\x06q\x8e\x95\xcd\xe1\xe0eb8\x15\xa4\x15\x91\x13\xdfC\xa2\x82B\xac\xa5NA\xee+^Q\xe6|\xc3\xef\x0e\xbe\xf5\x87S\xa1\x98\xc9+#\x8c\x8f\x93\xa7N\xd5\xd3\xda\xca\x86<\x907\x01\xcdl\xb49^\xa71r\xc2[\xce>\xe85\xden\xc2\x8e8\xf4\xace\xb1\xbcw#\x07.\x0bt5\xce\xf8\x83\x98\xca\x0e3\x8a\xce;\x97#\x8d\x8a\xdb\x9f\x9a\xb6\xbe\xcf\xb0&\xc4\x04\x9a\xeb\x94\x8c"\x89|\x96a\xb7oJ\x87\xc8\n\xc0<\x81Md\x99\xb3W)\x86\xfd\xee\x01\xc8\x07\xadj\xb6\xc5\xc9Q\x9f\xc6\x9b%jC\xe7\x9d\xc0\xed\xe9P\xa8%\xfa\xe2\x9b\x12\xd0\xadq\x08~\xf95\x86\xe8P\x90Eo\x16c%\xd4\x92\x19\xe5\x82@\xd19F\xf5\x06\xba\x04\xf1\x05\xe2.\x01]\xdf\xde\x03\x1f\xfdj\xd4\xc4e\xc6\xbdws\x03E.\xc2\xad\xd7\xe5\xac\x98efb\x18\x93\x9e\xe6\xa5\x8d\x1b\x02-\xc9\xb8qMUen\xbcW5\xce\xabu/!W\xe1\xdb\x18\xa8\x98\xc8r\x01\xc8\x1d0h\xb1\x9b\x96\xa3\x84\xd2\x80T\xf3\x9fj\x0c\xbeZ\x15\xdd\xcf~(\xb1W \x0cAbp\x00\xefV\xcc\xe5\xd0\x00\xd9\xc0\xa7\xca\x1c\xc6K\x90rA;\x8dJ\x8c\x08\xc6Nh\xe8R\xdcr\x85\xdb\x868\'\xb8\xa6\x94e`\x01$z\xd2\xb8\x87\x10\xa1\xb9\xcej\'\x038\x1f\xc5\xd6\x9a)\xd8\xb3\x1d\x99\x91A@r:\xe4\xd5\x9f\xb1\xcc\x0f\xf2\x19\xa4\xe4$\x89\xde\x17\x11\x15#\x1d\xeb6\x16"@\x0e1\x9ej\x11M\x14\xf5a\xf3\xa1\xc0\x1dG\x1f\x85`\xd7T69\xa4\xac\xce\xad\xc0\x89\xc0\x07\'\xd4\xd3\xb7\x92p\x07\xe5\xcds\xeen\xd1\xa9m*\xa37\x9eO c\xda\xa3b\xb9P\x98\xf9\xab\'\xb9KB\xa5\xcc{d*8#\xadV;\xc7S\x9a\xd1\r\xdchbO=\xea\xce\x15\x17$\xe7=\xa9\xfa\x13\xeaK\x1b(\x88\xab7S\x9e\x94\xc6U8\xda\xc1N;w\xa0\n\xa8\x01\xca\xe35z1\x93\x81\x8c\xfbU\xed\xa9\x9e\xfa\x13lULg\x93\xdf\xd6\xaa2\xfc\xc05e\xbb5\xd8\x82`#`Ppj\xf5\xbcM$yP=:\xd3{\\[2F\xb2q\x19f*1\xd7\x9a\xcc)\x87\xdb\x9ai\xdc\x19\x11!\t=\xeaH\xe6`\xd9N*\xecgrbCp\xc3\x0cz\x0cSQ9\xef\x81Qs[\\\x99\x01\x95\x82\xf4\x1e\xf5\xaa\x83\xc9\x8c\xecbs\xd8\xd41\xeed_D\xe8\xebu\x00 \xf4n+\xa8\xd2\xef\xcd\xe4#p;\x87\x04V\xd1\xd8\xc2kR\xd5\xfc\x05\xe0$\xe0\x1fj\xe4\x1e&\xce\xd5=)H\xa8\x16-`T\x8aGy\x147\xa1\xab\x12\xc1\x15\xc5\x96\xd4\xc08\xcek&\xfa\x9a(\xeesV\xeeQ\xfc\xa9\x0e0x\xae\x92\xdd\xf26\x9e\xa3\xbd\\\xb7\xb8Gk\x14\xaf\x90\xa3eq\xf8\x0e\xd4\xdb+\xc5\x8ep%\xfb\x9d\rh\xb69\xd9\xa5\xa8\xc2\x16@c\x18\xef\xc5t\xc9\xf3($\xf3\x8a\xe6\x91\xd3\x1e\xe4\x9d\x19F+\x92\xd6\x8eoV3\x9e\xa750\xdc\xa9\x18\xe5y\x19\x1f-^f\x00\x05C\xc0\xe9Z\xb1$0\xb4\xd2\x02\x17\xa0\xf4\xaa\xfeL\x8crW\x9fzz"u\x11"L\xb6\xfe\x08\xa9\x11\x08A\x8am\x89!\xfb\\\x8e\x80\x0f\xa5F\xc0\xa9\xe6\xa5jS\x14\x02\x18\xb3/\x07\xa5St\x0eO\x1c\x1a\xd5\x19=L\xc9-\x98r\xa35L\xab\x0e0kt\xcc\x1a\xb0\xdc\x1fJ\xea4\xcb\x05x\x8c\xb2\xa9$\x9f\x94\x1e\x952v@\x91\xd2\xc5m\x13B>Q\x9ct\xaa\xd2\xd9q\xc3\x04>\x98\xeb\\w7\xbb1\xae,\xd9\xdc+nS\xebUT5\xa4\xc0HKD\x7f\x8b\x1f\xadt\'\xd0\xceJ\xe6\xabM\n\xc7\xb8H\x08\xf4\xac\x96\x94\xcb\x90\xc8s\xd8\xd0\x91\x8cF\xc6\xac\xe7ny\xf4\xa9\xcc^Q\xc7F\xa6\xde\xa6\xe8I\x10\xb0\x07\xf9S\n\x90\x07\xad&\xcaH\x9e;m\xe7\x93\x8crkD[\xca6\x08\xb3\x92zVm\xf44J\xca\xe2\\C:0\xde\x80VT\x91I\x92\xccF\x07z\xa4\xd1>b\x1d\xea\xa0\xa9<\xf6\x14\xab,\x80\xf0\x0f\xe7M\xa4\t\x97V\xee\xe0w\x00\x01\xcey\xaax,N;\xd4\xda\xc3\xdc\xa5\xa8\x87\t\x0e\xff\x00|~\x95\x8b[\xc7c\tnu\x0e\xca\xcc7\x1e\x05G\xbd\x96O\xdd\xa9\xc7\xd3\xad`\x91\xb3z\x9a\x11DdV20\x07\xd0\xf4\xa0\xa1S\xb0\xe3#\xa5N\x81\xd0\x10(\x05\x9d\xb2\xde\xf5]H$\x9cq\x9a\x93Q7\xe0\xe1Fy\xa9%\n\xa9\xf3r\xde\x9f\xfdz\xab\x12\\\xb1}\xa5\x84\xa0\x05a\xc5B\xf1\xa8\x94\x9e\x00\xedJ\xe2HY!.\xc0\xc7\xd4\xf5\xc0\xa9\xad\xed\x1c8R>V\xe0\xf3\xcd\x17\xd2\xc2oR\xe4\xf6\xef\x12\xb6\xc0\x08\x03\x90Ee\xa2c\r\x83R\x8d\x06m\xc6r9\xf5\x15.\xf2\x00\x19#\xd7\x1cU\x08\xaf#;/\xde8\xfa\xd4\x18-\xdb\x9a\xa5\xa1/Q\x04l\xc3\x80\t\xf55\x0b\x9f/\xd0\xfd+S\x1b\xd8\x9e<\\>\xe9\x1fn;T\xc4\xa2\xb8\xf2\xdc\x8cVO{\x1b-\xaeJ\xa8\xce\xbb\xb2~\xb4\xe1)A\xc9\xc8\xa84$I\xf7\x03\x9e\x9e\xe6\xaf\xe8\xbf\xf1\xf5.\xc5\x1bI\xe9T\x95\x88z\xa3\xad\xb89R\x1c\xf6\xaei#\x89-H\x0cY\xd8\xe7\x9al\xca:\x193\xc3\xb1\x8f9\xcf|TJ\xe6#\xf2\x9fz\xcfs\xa4\xca\xbd\x02C\xe6\xa1\xe7\xb8\xabV3\x19\x08\x07\xef\x0f~\xb5\xb5\xbd\xd3\x04\xfd\xe3B\xe7\xe7\x18\xc7\x07\xbds\x8c6\xb1\xf5\xcfz\xa8\x99\xc8\xe9\xf4\xfb\xc1$\x0b\x04\x9fy\x0f\x04\xf7S]E\xa1\rj\x85}+\x19\xa3h\x1aj1"\xf1\xcdy\xbe\xa5!\x93Ur\xa7\x85\xe9\x9aPA&V\xdeKc\xef\x1a\x94:\x97\n~^1\xf5\xad,;\x9d=\xb7\x97\x14`\x1csX\xd7Aw\x91\x1fC\xfaRD\x94\xc7\xc8\xeav\xe5G\xebW\x16\xe20\x8c}OCR\xd3e\xa7a\x05\xca\xb2\xb2m\x19\xcf\x1c\xd5FvL\x1cn\xfa\xf6\xa1+h\x0fTK\xb8H\x8a\xd2\x12q\xd7\x1d*\x06\xdaNTc\x9e*\x88HG\xf9\x88\xc1\xe2\x9a89\x0b\x9cw\xa0\xa6\x04\x96\x04*)\'\xf3\xad\x98"\x94\x81\xe6\xb7\x96\x80\xe4"\xb6?:Rz\x10j\xc4w|\xc1F\x07@3\xcf\xa5P\xbf\xb8\x1b1\xe6\xaa\xcb\xd9FN\x0f\xbe+4&WW\x90\xc6\x92\\\xb9\\\xf1\x8c\xe4\n\xbdq\x18x\xc3\x08\xc6B\xfd\xd2\x7fJ\xa6#\x8f\xfb2\x13\xb8.=\xb3ZXtP\x07\xa5l\xdd\xc5k\x11\xb4D\xfc\xc3\x93G\x98L{X\x0e?:EZ\xc4\x1ef>QV6\x17\x1e\x941\xae\xc4\xb1\xa4\x8c~A\x9f\xadH\'\xb8\x86M\xd9\xda\x07j\x8d\x0b.I}s\xe4\xa9m\xa4w8\xe6\xa1/\x13\x052FFy;i\x93k\x08bF\x19RS=9\xa7q\x0ce:\xf3\xc9\x15,\xa5\xb9\x99 R\xe1Q\xb3\x9a\xd0\x80*I\xb7\x8ey\xc9\xaa\xe8\x1dna\xea\xac[\xca\xcfl\xff\x00J\xc1\xae\x88\xecsOs\xa5\x89\x93%\\n\xcdh\x997\x8c\xab|\xbe\xd5\x8bF\xaa\xc4\x12\x1c\x95\xdc\xcd\x8e\xc0\xd4\xeb\xc9\xc9^\x05b\xcd\xd2D\xbb\x03)\xc7\x1fZ\xa8P\x83\xb4\x10s\xd0\x8aHlf\xc6^\x1d\x80\x1e\x99\xab\xe2\x12\xe9\xb4\x01\x8a\xb6\xcc\xd2\xd0`O/>`\xce*\xfbG\x0c\xc8\xbb\x8f\x0b\xcf\x02\xa4\t\xd1"\x00\xaa\xbb~u^R\x90\xb1\xc4\x8c\xef\xd4m=\r\x04\xa4*]\t\x07\xce\xfbO\xa5U\x99\x95[\xe4_\xc7=*uL\xd4\xa6\xd2\x10\xc3=\xaa;\x87/&W\xa0\xe2\xb4\xb6\xa47\xa0\x1f\x965>[|\xc39&\xab\xc6\xad#\xe1x<\xf55\xa2Fm\xe89W$\x8c\x9c\x8fAK%\xb3D\xf89$\x8e\x94\xefaZ\xe3\x04^Q\x19\xce\xe3\xda\xaeD6\xfc\xdc~5\r\x9a$I3\x1e\x1bn{`T~^\xe8rx\x19\xa8,\x84(\x03$\x13\xe9]F\x8d\x84s\xb8u5d=\x8b\xba\x94\xdbC*\x83\xbd\xb0\x00\x1e\xb5\x83v\x186\xc8A\xda\xa0\x0fzL\xc2J\xea\xc5{y\x0f1\xc8\x0b\x01Unb\xdb"\x959\x04\xfc\xc0\xf6\xa4\xb75\x8d\xf9u,Im\x1b\'\xc8C\n\xe7\x9e\'\x86\xe4l8\xe7\xb5k\x17\xd1\x8aK\xa9\xd4\xc6\xca\xcb\xb0\x82sX71*?\x03\x8a")\x8c\xb6\xe2`\xf9\xe6\xbd\x07M\x07\xec\xf9\xfe\xe9<~4\xaa\x04\r@\xf9\x90\xe0\x1c\xf6\xaf=\xccf\xea\xe1\xddrKp;Vkb\xfa\x93Z\xdb\xab\xb3\t\x1b\xe9\x8e\xd5+[\x15\x04\xa7 \x1cs\xd6\x86\xcaEY]\x94\x00W\x06\xa7\x8e\x12\xd1+9\x0b\xe9\xeah\xe8>\xa4\'r\x12\xa0\x83\x9f\xd2\xa1[ief\x18\xe9M;\x03@ dl\xba\x92\x07\\\n\x89\xc6\xe0J\xae\x07\xa15W \xd5Ia[eP\x07\xcd\xc1\x1d\xeb\x11s\xf3`\xe4\n\x88\xf5-\x92F7\x9d\xc7\x80+]U\x0cx\x034\xe5\xa0\xa3\xa8\xb05\xbcR\xecC\xbes\xc0\x02\xaf\xdc\\\xc3m\x1e\\\x80\xd8\xce\x07<\xd44\xdb"\xe6\x01\xd4%\xb8"%\xc4\x10\xb1\xc6\xfd\xa4\x9a\xd9\x88[\xdb\xc1\xe6\xaa\xedE\x18\xdc\xdd[\xde\xb4j\xda\x19\xf9\x98SI&\xa90\x0b\xb9 ^\x87\x1c\x93We{\x9b;\x88\xd2Y\x0c\xb0\xb2\xf2J\x8e*\xb4\xd8\x9dAC\xb0\xe2#\x9a\xaaX\xb1$\xfc\xb8\xfcjV\xe7Kz\x0cY\x0c\x9b\x06F\xe0q\xf5\xa7\xce\x8c\x1b\x0c\x0eGZ\xad\x8cU\xd8\xf8\xa2\x11\x0c\xb2\xe7=3\xda\xa4P\x9b\xc9f\xda\x83\xf55\x95\xee\xcd\xeddXg)\xbd\xa2M\xab\xe8[\xa5$0\x9b\x97>k\x14\xc0\xcfL\xd3\xb7P\xd4u\xdc\t\n(Vg\xc8\xc9\xf6\xac\xd42}\xcey\xf5\xa0W\x07,\xa7\x91\xc7A\xefR+\xbbs\x823U\xd0W\xd4\x8eH\xca\x1e\x14\x06\xa9\x0f\x1c7\r\x8fZb1\xf5\x13\x91\x16}\xff\x00\xa5cWDv9\xe4\xee\xce\xc5\xec\xdbk7n\xb8\x1d\xaa\x98\x8d\x84f@q\xcf"\xb0\xb9\xb5\x8b\xd000\x95`7\x0f^\xf5\xafjWnB\xf3\x8eG\xf8Vl\xd1\x11K \x0f\xc1\xc2\x9e\xb5\x9f\xbdK\xe4eA=q\x9e*\x12-\x94%\x95\x04\xa5\x11X\xb7R\xc5\xabA&\x92@\x9bCt\xc1\xe3\x8c\x8f\xf2+V\xb41ORP\xae\xe4\x069\xf6\xa0[\xb9|3mS\xfa\xd6j\xc6\xac\xb6-\xe2C\xc6[\x1d\x89\xa8\xa4\x8e\x13\xd0\x15?ZM\x82ES\x10\xecw\x03N\x08\xa0c-N\xe3\xb0\xf4\xb7\x00\x87s\xc0\xa6\xbe\xc2\xd8Q\x96\xa7rlF\xf0\x13\x1fM\xc7\xae3M\xb79\xccn\x00\x1c\xf5\xedUrl8\xc4\xc17\xa0\x0c\xa3\xa8\x1dkb\x19-\xe4\x00\xc4\xb8`\xb9 \xd6oR\xd6\x85{\xbd\xb2\xc6F\x06\xee\xc7\x15\x94-\x0c\x98\xfd\xe2\x81\xeaM8\xbb \x92.\x9bp\x80\x90\xc1\xa9\xaa\x03\x10\xbd\x8d+\xeaWB\tm&\x85Km g\xd6\xb5lU\xa3`A\xe7\xbdl\x99\xcf \xber\xb7\x11\xf2T\x81\x9c\x83T#\x91\x99\xcf=\xfa\x93Sb\xd1uc\n\xe4\x93\xd0c5\r\xd1F\\\xb4{r>\xf0\xee}+2\xc8U\xd56\r\x9c\x81\xe9L\x92D\x9a@\xa0\x02\x01\xc95\xaa%\xe89\xddc_\x95\x88\'\x8e\x95\x9c\xc5Y\x89n\x01\xf5\xad\xe2\xac\x8eY;\xb2\xb4\x0e\x1a\xef\t\xf7Ew\x9acb9\x14\x10p\xc6\xb3\x99\xa4\x0b\xe2M\xc9\xf2\x9c\x12x\xaeAR6\xb62`ng8\xfa\n\xcb\xa1\xa2\xdc\x8e\x19\x02\xca\xc4\x8f\x94\x0ekK\xccIW\xe5<\x1ejM\x19V[Vl\xbb7\xca9\xe4\xd5S\x96\x90s\x85\x1dG\xa0\xa6+\x92E4K\xce>`{\x8a7\xc8\xed\xb8\x03\xb9\xbbt\xe2\x8bw\x1d\xf45"\x95!$1\x04\x11\xd2\xa3y\xad\x9b\xe6\x95N;\xe0f\xa4\xc5\'\xb9F3\x04\x8b\x98\x0eI<\x8ct\xa4ky9\xfd\xdeA\xe7 f\xabT\xf5.\xea\xc3Ll#\xc7\x96\xd8<g\x14\xd8 o\x9bd\x98\x03\xa84\xdb\xd0<\xcb\x10\xc6\xb11\x11\x0c\xee\xfb\xcd\x8e\xb45\xaaM0\x95\x80i\x14r\x0fCQw{\x99\x89z\xd0\x97L0\xda\xbd@\xfeU\x871k\xc9C\x9f\x96.\x8a\xb5\xacJ\x92\xb9\xd2[G\xb2$+\xf2\xa8\xce\x00\xfe*D\x8d\xa5\x90\x89\x18\xb7\'\x00\x9e\xb5\x992"\x95\xde\x1c\xc6\xa3\xafC\xd6\xaaDN\xef\x9f\x19>\xb5^ci\xc9Y\x12\xee\x82(\x89(\n\x8e\xb4\xb20\x91S\xca\xce\xce\xd9\x18\xa5\xba*\x11\xe5b:\xe1v\x06\x07\x9f\x9a\xa9;\xc0\x18\x1d\xcc\xec;(\xcd\x0b\xc8\xd1\xbe\xe5\xb8\x11B\xb3|\xces\x93\x91\xd2\xae\xc59c\x8e\x15z\x11\x8a\x87\xb8\xd5\x88\xe4\xb8\xdb>\xd2\x03zU2Q$\x07-\x8c|\xd9\x1d+D\x8ey=,P\x92x\x0bc8?\x9d7\xcc*\xbb\x84\x83\x03\x9a\xd6\xc6\x11m\x16\xd1\x8c\xa9\xd8\x8e\xf8=i\xdb\xa3@w\xb2\xa8Q\xdcc\xff\x00\xd7R\x12wG9w*\xcaWh8\x19\xe4\xf7\xaa\x15\xd4\x89Gn.7\x12\x19p\xa4t\xebU\xa4\x8d0J\x16\'<`g5\xc8\xb4;^\xa4\x81\xd7\x95(Q\x7fZ\xb3\x80\xe3h\'\xe5\x18\xe1y\x14\xd9;\x13-\x9c\x8e\x8c\xc0\x9c\x01\xc6j\xb2\xb2\xa1\x8d\x94\xeeB>n\xc0\xfbT\x95\xa9\xafgd\x92\xa1h\xc6I\xee{\x1a\x82\xe6\xc6K<\x95;\xa3\x1fy\x97\xb5gr\x8aq\xb38b\x178\xe6\xa4\x121\xe8\xa5s\xea)\xda\xc5^\xe4\xe4L\x14\xaa\x103\xcdU0>2d\x19=sLE9\t\x05F\xe0q\xceA\xe0\xd5\xbbX$\xba\x97x\xce\xd4\x1c\x9fz\xad\x91;\x96$\xb5\x90/\xce\xf8\xcfLTQD\xe3b\x801\x9eO\\\xe2\xa2\xe52C\xb22\xc0\x1c6N\x07\xa8\xac\xf6\x1b\xc1a\xf7\x81\xa4\x86^\xb7+\xcbgh<\x11\x9a\x92+_5\x9ee\x7f,\x0e\x00\xf54\xb6`\xf5CM\xd8S\xe5H\xaa\x18px\xcdK\x16\x02nDf\x07\xbe8\x1f\x8d\x16\x04\xcb\xea\xca\xa7h \xb1\x18\xaa3[\xb2\xbf\x07#\xfd\x91\xcdAdSH\x15R>F\xeeO\x1d\xaak[\x98\xa3\x94\xac\x8d\xcf\xa6\rt%\xa1\xcc\xf7)\xc9\'\x9d,\xeez\xf4O\xa5G\x13(rI\x03\xe9\xde\x82\x91\xa2\xe0\xc86 \xc9\xa8\x0b\xc9)\xf2\xc2\x80\xa3\xa9<sPYJi\x89\r\x1cNH=MU\t\xb1@\x1d\xeb\xa6\n\xc8\xe5\x9b\xbb\x00F2\xc4a}\xeb\x1e\xe6m\xef\xb5:z\xfa\xd6\xe6%\xe8@\x87j\x8e\xbdI\xae\xb2\xd1\xff\x00\xd1]\xd8r\xe7\xa5a5\xa1\xac^\xa5\xb4\x94\x08\xc9l\xed\xe7$\x1e\xdc\xd7+\t-\x17\xcc\xdd\t\xc0\xfck7\xb1\xa47-$a\xc1\\a\x8foZ\x9a!\xb1\xd5\x00\x18^\xa0w\xac\xaet2\xfd\xeb\x00\xa0\xf03\xd4\x0e\xd5\x8b\x12y\x920$\x81\xebV\xd9\x9aE\xd8\xe1\xd8\xdf6\xd7a\xd1{\nr\xb6\xc6g8\xdcx&\xb3l\x04x\xd5\xce\xf16T\xff\x00{\x8cR4H\xb1\xf3\xb5\xcbp0x\xa0\x9b\xe9b\xcc0\x04\x8f\x01v\x81\xd1\xaat\x88\xa8\xf9\x81\n\x0fA\xff\x00\xd6\xa5\xb9$\x91\xc9\x1cG\x0e\xec[\xa8L\xf4\xac\xf6\x7f5\x83\x04\x00\x93\x8cU\x128\xc6\xff\x00+\x13\x828\xc5=U\x88$\x02s\xe9Hd\x17\x16\xcf.\xe3\xb3\x0ey\xces\x9a\xce\x86\x1d\xc4\x07\xf93\xd0\xfa\x1a\xd1\x0e\xe6\xe0GR\x0e\xf2];\x9e\xe2\xaeH\x82@\xa5NNFF:Vl\x93:f\x86$\x93yo1\x00\'\x00\x9cf\xb1\xd6Q${\xf7g\xb6\x0fZ\xd2\xd7EE\xd9\x90\x84$~\xf0\x8c\x0e\x7f\n\xba\xf2\x96H\xf2\xf9\xf9x\x18\xedI\xbb\x9b\xa5b\xa0Y\x1c\xee^\x10w\xeekX<\x11\x05\xdd\x18\x8c{w\xa4\xfb!.\xe5\xa2\xb1\xba\x06\x8aM\xbb\xbbz\xd6H}\xb9\xc0;\xb3\xda\xa5\x03)\xdcy\x86]\xeb\x8d\xdfN\x86\xaa\xb3L\xc3\x0c\xff\x00)\xe4\x8a\xe8V\xb1\x83M\x89\xf6`\xa3\x1eXo\xc7\x9a\x92\x18\x9b\x7f\x94\xd1\xe56\x9e\x7f\x97\xebN\xf7\'\x97B\xe5\xa7\x97o\x1b3\x9d\xaa\x0ey\x1d\xeay\x1e;\xb7\xf3\x1a?\x91G\xca\x08\xff\x00>\xd5\r\xf5"1\xbc\xcc=S\x1f\xba\x03\x18\xe7\x00~\x15\x87[\xc7a\xc9Y\x9d1\x1b0\xbb~S\xeb\xd7\xf3\xa9\x97\xe6R\x00\xc1\xc7LV>f\xddlA\xb5\xb7\xe3\x958\xcekZ"B*+eH\xc1\xc7\xa6i7\xa0\xd2\xd4\x96\xe2\xe6Ip\xab\xb9\x15;\x83\xc9\xac\xf0I\x7f\x90g\x1dN)"\x8e\xf7Ja\x1cJ\x8c\xdb|\xcf\xd4\x8af\xa7s\x1d\xba\x94\x1f3\xb7T\x1d\xc5`i\xd4\xe4\x92\xdao\xb34\xd1\xe7h8`?\x87\xf3\xa6\xca\xd3\xb2#\xe0\x92W\xa6@\xc0\x07\xaf\xbdl\xecf\x98|\xec\xa1\x9d\x87\xa1\x03\xd2\x96f$m\xdd\xd2\xa4\xb4@\x96\xec\xcc2\xc9\xcf|\xf4\xab\x90\x0b\x9bX^T`b\xcf*\x0fOzw[\x05\xba\x90I,\xb3\xba\x9c\x90;\x9aA#\x8c@\x0eI9\xc1\x18\xcdM\x90\xee#\xc8\xdb\xdeY\x13+\x92\x02g\x04UX\x031n0\x075KB75-\xfc\x95\x8c\x9cfC\xcbs\xfaV\xb4r\x0f#r\x03\x86\xcfQX;\xde\xe6\xbd\x0cyUY\xcb\x18\tq\xdc\x1e\r<J1\xb1\x80S\xc6@\xef\xefW\xbe\x82\xb1]H\x12\x15\r\xca\x9f\xbc8\xe6\xa72\xbcE]X\xe4~4\x0c\xbb\x1b\x83\x17\x98v\xe789\x1d+\x12\xe9\x18\xa81\x80\t\x19$u\xad\x13\xd4\x86\x8c\xe0\xf2`\x89\x0e0:\xe3\x9a\xd5\xb7\xb7,\xe44\x83\xe5\xff\x00g\x15\xabH\xc96i\x0b\x88\xa3\n\x8azu>\xb5\x0f\x9a$\xc8\xc9\\\x8ex\xe3\x15\x95\x8bl\xcd\x0b\xb4\x921\xf8\xd5\x02\xf2g$g\xd0Wa\xc40\xac\x97.!\x8c\xf5\xeb\x9e?:\x98i\x92B\xeaXy\x81\xb9\x05\x06A\xa8r\xb6\x86\x8a%_\x99\xee6\xa09\x15\xd0\xc8\xe6\x1b5\\\xe5\xb7qS\'\xb2\x1cV\x97${\x8f\xdc\x91\x92\x08L~\x95J\xd5v\xdb\xa98\xce\xdc\xd2\x9e\xc5CrN_\x01X\xa9\xce*\xfcF(\x18\xe2>OZ\xc0\xe8e;\x93-\xc9%\x14\xe39\xe9\xd2\xaeC\x18\x8a$`~a\x92\x7f\xa5\r\x85\xac@\xb3\xed\x0c\xd8\x19\'\x9f\xa5*e\xd5\xca\x806\x9eGsCV3Z\xa1\xdf*\xaa\xc9\xc9\xcflb\x9d"\x86m\xe3\x03\x1c\xf0*H\x1b+\xb4Rn\x0czs\x83\xd2\x9ed2DIbs\xd7,EH\x10X\xc0#w9-\x90\t\xcf5q\x82\x85$d\xb7^;P\xde\xa0G\x0c\x88c(z\x03\x91K<B`\xa9\x8c(9\xeb\x8a\xae\xa1bS\tXJ4\xcc\x98\x1b\x86\xe3\x9cs\xeb\xd6\xb2\x8csHUb%\x8f\xa8\x02\xb4Mu\x1d\x89<\xd7\xb7*\xb2\x10\xec;\xa9\xe0\x8fL\xd5\xdbv\x92Fl\x05Q\xc9$\x1e\x83\xfa\xd0\xd2\xdc\x92G\x85QY\xd8\xe5d8$\x9e\xb5\x0bi\xe1\xa3v\x18\xdc{\xfa\x1a\x84\xcbz#([\x17p\xa4\xed^\xe5\xaa\xfbD6\xe5\xf3\xecq\xd6\xa8\xa4\xca\xcd)$`\x15\xe3\x9cq\xcdX]\x8d\xb49>\xc1\xba~tX\xab\xdc\x99`\x18\xf9\x9f\'\xd4Tp\xb2I)\x07\xb7\x14\x86&\xf0f\x90&\x17o\x19\xf55F\x18\x8c\xa4\xb4\xae\x00\xc6H\xefT\x8c\xe4\xf4$\x9e-\x97,\x140\\\xe0b\xb4mgV\xf9:\xe4\xe3>\xf44\x11\xda\xc5Y\xa2\x06\xe9W\x00\x9e\xde\xd4\xe3\x0e%\n\xfc\xe4g\xe9S\xd0\xd3\xa9\x8f\xad\xaa\xa2\xdb\xaa\xf6\xdd\x9e>\x95\xcb\xd7T69\'\xb9\xd6.J\x80\x10`T\x99$`\xb1\x07\xb8\xcf\x04VH\xd5\x96\x124\x12\x12\xe4\x0f\xd7?Z\xb5\x10E9\xce\xec\x8c\x9f\xf0\xacn\xcd\xec\x8c\xf2\x86I\xf6\x00y8\xfa\x9a\xd3\t\xe5\xed\x04\x8e\x9c\xa8\xec?\xc6\xac\x81\xbb\x0cg\xa9Rs\xd7\xa6\r>c$\xac\x0e\x19\x98g=\xc9\xa4\xd0\xd3+Ap\x10\x85\x99Y\x90\xb1\x08\xa0\xfd\xcc\xd2y\x10\xeeF@\xe5\x98e\xb7\x1c\x8c\xfbQ\xb6\xc2\xb1"\x90\x08\xca\xe4g\x04Sa\x90+4R|\xb8\xfb\xa5\xbbT#F \x9c\x17\nH\xc7\xad:I]UU[j\xb8\xc9\x07\xbd\x16\x0b\x90ng 1;y\xe4\nEt\xb7\x8cI\xd6N\xc0\xd6\x96\xecf\xdfr5\x9d\x9ac!_0\xb1\xe4z\xe6\x89\xe7\xda\xfb\xd8\x10\xe7\xb5\r\r;\x15\xde\xe25;\xc6\xed\xdd\xc1\xa9!\xbb\x9aIv\xae|\xbf\xee\x9e@\xaa\xe5\xd3R9\xae\xf45\x93p\x91\xb7\x0e\x0eI\xe7>\xf5T\x91$\xdc\x86bz\x81\xce+\x04\xb56z\x16\xad\xed\x1a(\xce\xdf3=K2\xe0\x01\xd8q\xd4\xff\x00\xf5\xab=\xcc\xfeh\x8a2\x88\x84\xf2\xcc2\x07\xff\x00Z\xae\xe9\xb2l\xd2.l\x8ddP\xd2g\x07\x90\x08\xe6\xa4\x92H\xc23.\t\xc6x\xa0\x0cHQ\xeen\x14\x18\xc8BynN+\xb2\x8bL@wn\x03\x1dN*\xe4\xc8\x8e\xa3\xda\xc2\xd9\x14\xab<\x9b\x87\xb8\xff\x00\n\xcd{e\x03\xf7<\xaf\xebX\xa7\xae\xa6\x8di\xa1\x91;!\x99\xb0\xd8\x03\x83\xefUd\xc9\xc2\xa8%\xd8\xedQ^\x828\x19{\xecf\xd5Ib]\x8e7\x05\xa8l\xaeg\x85\x9b\xe6VBI\xda\xc3\x9a\xe5\xbd\xeeu\xda\xd6F\xca\xcbl_{\x05W\xee\x07\x7f\xd6\xb2\xee@y\x17\xe6\x0c2O\x1d)Cp\x9e\xc6}\xcb(\xb6c\xd4\x93\x803\xd0\xd5\xe8U$\xb7O)\xb2v\x8c\x83\xd4\x1a\xda{\x19Crs#D\x9c\xe0\x9e:RGtU\xc3mV\x1d\x8b\x8a\xc6\xd7F\xad\xd9\x93M\xa9I(\xf2\xca\xedR9\n:\xd6xl\xa6I\xc1?\x86)(\xd8|\xd7\x1e\x88^M\xb1\x82\xeb\xdc\xa855\xc4*\x98\xe4\xfdz\x1f\xca\x9b\xdc#\xb1P\xbc\x91\xe3\x039\xe0\xf3\xc1\xff\x00\n\xbc\x1aB\x8b\x95\x1c\xe0\x0f\x9b\x07\x14\x9d\x89\xb3l\x82v\x89\xc8Wn\xa7\x03\x8e\xd5nHZ\x12\x06w!\xc6\x0f\xa8\xa9\xd9\x12\x11\xb2\xa2\x92\xdcn9\xc6y?Z\xaf.w\xb0\'\x00\xf4\xa8\xea\x16+\x90\x10\xeeC\x94\xef\xcf5\xa7\x15\xdf\x96\xd9+\xf7x\x19=+m\xca\xb5\x89\x99\x9eT\xc19\xdex\xcf\xa5Tx]\x02\xee&5o\xbc\xdd\x7f*\xcdX\xd5\xec9\xed D\xe6L\x1e\xe7v\xe3U\x97\x10FZ=\xd9#\x91\x8e\xb5Wfi\\\x92\xe2f\x9e\xdd#\x19\xe0\x1d\xc7\xdc\xfa~B\xa13L\xa8\x06\xe3\x8fN\x94\xf4\x1d\xbb\x95\x83\xa1\x0c%\x0c\xa4t\xc0\xcf5z)\x80\x08|\xc6\x91A\xfb\xbd1T\xd0\x93\xb8\xc9\x15N2\x07\xb7~*\t2\xc5\xb2\x01\xf7\xf4\xa8L\xd1\xad\x04H\xe5\x19\xda\xc5\x863\xf8T\x91\xa1\x19<\xa8\xeb\xcdSd\xa5a\tl4H\xaaF\xec\xe4\xf5\xa8W\xe5pN\x10\x0e\xa0UlF\xfb\x92\xe7\xf7\x7f9\xe0\x83\xd7\xbdC\x04a%\xde\x99 \xe7#?\x91\xa0v\xd5\x16K\xb67\x003\xebK\x07\x9b!\xfe\xf9\xce}\xeb4h\xcc\xeduHhI\x04d\x11\x83\xf8W1]P\xf8NI\xfcGc\xe53\xbe*I\x04Q\xe0+d\x1e\xa7\x06\xb9\xae\xfa\x1d6]E\x8e\x16p$e\xc4y\xc6O\x02\xadN\x8a\x8ar8\xa4Yj<E\x0b\x0f\xe2\x0c\n\xe7\xe9\xd6\xa2\x84\x97\x8bw$\xe7\x1e\xe4SFe\xe8U\x9d?x9\xce0zu\xa7\xbc.\x88|\xb3\xb4\xe3\x8c\x1e\xbf\xfdj\xa2\x0c\t\x18\x90J\xf0\xc0\xd3\x1d\x06\xe0{\x81\xd6\xa5hh\xf5\x15\x147s\x93\xdf5<)\xe6\x16F\xc9\x1dzRlv--\x94ok\x88\x97\x12/\xde`9\xac\xdc\x10\x06\xf0T\xaf\x18\xc5\x17\xb8lF\xf2\x15;Ps\xdf\xda\x88\xe3w<\xe0\x82?\x1a\xbd\x89\xd5\x96\xccD|\xe4c\x1cR\xbcH\xc3\x91\x92\x0eA57\x0b\x10\xad\x9c[\x89+\x9c\xf6\x1c\x01R\\\xe24T\x85Q2v\x9e\xe4\xd2\xbd\xd8\xedm\x85\xb5\xf9\x0e\x18n\xc9\xfaV\xcd\xbc\x1b\x98\xc82\x0609\xebY\xcb\xb9\xa2F\x9c\xa4\xaa\xe52\x1b\xfaVM\xdd\xbc\xb71I$k\xb4\x81\xc9\x1dH\xa8N\xccl\xa5\x1e\x9a\x96\xcae\xb9l\xb1\x1f*\x8e\xbf\xfdj\xb2f\x88\xaa\xacp*\x8f\x7f\x9b?^+Y;\x91\x15bki\x93yo-\xb8\xe0\x13\x81\x8a\xd8\xfbZ[\xdb\xf3\x82\xc7\xa0\x15\x9e\xc5\xeee\xfe\xfa\xe3\x878O\xee\x81V\xfe\xca\xe5>Q\xd2\xa7r\xf69\x9b\xc8q&pA\xcf\xcdR\xd8ZI%\xc6Yv\x13\xd3w\xf0\x8a\xecn\xd18\x92\xbc\x8d\x1b\xbbF\x8a@\x91\xc8\xe5\x18tc\xcek\x15\xe1\xeb\xbc6s\x8c\xe6\xb0L\xe9\xb5\xcaR[\xb7T-\xf4&\xae\xc3l\xf3D"\x03\x0c:\xf3\xdb\xde\xb7R0\x94Y\xa8\x961\xc3\t\x0cVB9$\x8e\x07\xe7U\x0c\x96\xe5\x1a6\x1bJ.\x11\x90c?\xe3Y\xa97&7\x14\x91D\xb1o\x94\x83\x8cp\xc4\xf1ZQ\xd9f\x10\xaa\xff\x009\xe4\x91\xc0\xaa~A\xea5-\xcco\x8c\xee\x03\xa6Gz\xb1\x140\xcf\'\x97!*\xa5\xb3\xbb<\xfb\nM\xf5\x15\x91\xd3%\x94J\x02|\xca;(\x18\xaa\x8d\n\xb91\xe7\xe5=Mr\xc5\xb6\xce\x86\xb41\'\xb2\xf2n\xd44\x84G\xb7w\xe3\x9e\xfe\xdcVvAR\t\xc6}N+\xa4\xc8\x9fb\x01\x97\xc6\x05\\\xc3\xf9c\xc9\x90\x81\xd8Vw*\xc6Z\xc7#3\x87\xc9v\xeb\x93S\xb4\xaa\x13\x0c\xa4c\xa6;\n\xd3r6(<o\x12\xc7\xbd\xb2Xt\x1f\xe1W\xad\xa2\x1ex \xe6!\xeey\xfa\xd5siq[[\x1aO*\xa3\xf23\xc8\xc8\x07\x1f\xad\x06h\xdf\x18\xca\xa7\xbf5\xce\x96\x87F\xa52\x8a\xdc\xae\x0f<\n\x8a5\x07)\'O\xe1\xc8\xabD\x92\x98\x95N\xd0I\xfa\x83T\xe7\x8aE\x00\x80v\xe7\x83\xd8U!=QJ$\x92iYV2v\x9f\x98\xf6\xad1j\xc1\x80\x00\x9c\xf6\x03\xad9J\xda\x13\x08\xf5\x10\xa8-\x82@\xc0\xeeqUY\xd1d\xfd\xd9\x12drA\xe9T\x84\xc9#\x91\xb2Ce:ci\'5e\x15\x8e\xe5\xc9\xfaT2\x92\xb1 B\xc4\xb3.Pu\x1d\xaa&D6\xd3pN\x0e99\xe34!I\x14\xa3RN@\xfc?\xc2\xba\x1b\x1d5]f\x0e\xdb\x1b\xb2\xed\xcdU\xfa\x05\xba\x95f\xb6d\xca\xb0\x1fQ\xde\xa9G*\xc59U8t\xc6\xe1Y\x96\xd9C\xc4\x13$\xa2\xd8\'U\xdd\x9f\xc7\x15\xc8\xd7tv8%\xb9\xdb_\xb1\x82@7\x00\x84r\xbdI\xa5\x80y\x9e\\\x93"\xfb-r\xec\xaeun\xecl\xcd"\x1b7v\xec:UXcYp\xf2d\x80\x00\x00\x9e3P\xb6\xb9}loCn\x92\xa1\xe5YNFEg\xc7\x0b\xc2\xe4\x15\xc0\xf6\xa7\x17\xdc\x96\xbb\x1aJ\x1b\xa0\x1f\\\xd5\xb1\x1a\xb0\x03\x90{\xfaQ}A-\x0eF\xee?&\xe8\xeeS\x86\xe7\x1d*\x07\x1bO^\xa0\x1cb\xa9\x82"V\t"\x83\xf2\xe4\xf5=\xaa\xecSD\xfb\x9dA\x00\x9c\x11\xd7\xf5\xa7k\xa2of*\xcb\xb2r\xa0\xe40\xe3=\xc5:f\x0c\xfb\x08\xe3\x19l\xf6\xa8.\xc5i\x964\xe0+q\xf8n\xf7\xa6D\xac\x8as\xf2\xa9\xe7\x9eM4\xf4\xd4=\t\xf7\xef\r\xc7_Ztc\x9c\xb6\t\xedR6M\xb7\x1c`\x0c\x9a\xa7"\x8f5Wi-\xeb\x8aE\x16DM\xb1\x89C\xd3\x82;T\xf6,\x13`2\xb1n\x9b@\xe3\xf3\xa7\xd0\x9b\xeakL\xcd\xe5\x10\xab\xb7$a\xb1\xce{c\xf1\xacG\xe2M\xbfz^\x85G\\T-Je\xd4\xb6\x9a_\xf5\x9f(\xc0\xe5\x8eO\xb51\xec\x1d\x00e\x950O$\xe7\xf1\xa62\xb2H\x03"8\xe3\r\xd0}\x0f\xf5\xa2\x1b\x98Y\xbeT\xdc\xf8\xf5\xcd\x16\x0b\x8d\x9fS(\xbe\x87\xb0\x15W\xfb[+\x80]\xc9\xed\xd3\xf5\xaaQlNIhTK\xa9e8\xde\xdcw\xc0\xfeX\xabv\xb7\x92\xdb\xee\xdf\x1e\xf7\'\xefd\x8c\xfe\x1d\xeb^Ta\xcc\xc9\xe7\xb9k\x84\xc3\x85\xcf`\x05W\x13K\x1e\x15\x82\x95<|\xfc\xd6v\xe8j\xef\xb9\xa5\r\xc4.@h\xb0I\xecsK\n\x88\xeee\x7f\xba\x0f\xaej\x1e\x83\xdcu\xde\x1b\x11\xac\x841\xea\xbe\xb5\x93"aI\xfb\xc5{\x8e+H\xe8K\xd4\xaeF\x06\xc2r:\x8c\xf6\xab\x89$\x88HG/\xb7\xa0\xc6N=\xabVd\x82\xde\xe1\xaeWq\xde9\xc7J\xd5\xb7\xb7\x85\xc7\xde\xdc\xe4p\x05f\xf74[\x17\x1a\xe1\xad\x98bB\xc4\x0c\x00\xc7\x80=\xaa\x18\xeeY\xc7P3\xdc\x0cVE\x9c\xe5\xdd\xdc\x97\x12\x17\\\x84C\x80Xu\xaa\xdb\xb3\xc8\xe3\xfd\xd3\x91\xf9V\xe9\x19\\{<\x92[\x00\x1c\r\xa7\xa6?\x9dY\xb6\x93\xe6\x08A\xc9=\t\xc6\r&\x90\xae\xc9e\xdcH\x0cx\xeeA\xa1\xe3\n\x13c\x17v\xff\x00g\x18\xa9\xd8\xd1jZ\x10K\xb0\xefe>\xaaN\x01\xfa{\xd3\x96P\xa8@PB\xf4\xf7\xac\xdd\xacU\xcaK\x04\xf2|\xf2\xb0\xc1=\x07oj\x97\xcb\x0c\x81\x88\x18\xdd\x8awW\xd0\xe5U\xae\xecH\xa83\xf2\xf1\x8fj\xb9\x13)`:5.\xa7S\xd8\x96o,\xe0\x0c\xb9?\x95E,\x8e\xca\x11\xa3\xca\x81\x80\x01\xe8*\xdd\xaeBN\xc6_\x9a\x90\xb1\x8c&\xd2y\'8\x1f\x97j\xb9\x1e\xf6#i\xd8\x7f\xbd\xe9Y\xb8\xebsT\xf4\xb0\xe9\x07\x92J\x8eKul\xe3#\xdb\xd2\x99\x12D~S\x18\x18\xe8{~ud\x1bQ\xc7l\x8b\xbbh8\xee\x07\x1f\x8dg_\xcb\x18\x95\x0cl\x88\xb8\xe9\xd2\xa5\x0c\xab=\xea22`\x06=v\xf5\xc5U\x91\xb6Z\x01\x95;\xf9`99\xcfZ\xd1&Cc-\\\xab\x86\x1cm9\xfcq]m\x9c\xbb\xe4\xe5\xb6\x86\x18\xce*z\x9a\xbd\x87\\4R\x86\x8eC\x86\xce\x06r\x07\xd7\xfc\xf1\xef\\\xfd\xe6\x98\xc5\x8b\x86,\x07~\xe0V\x9b\x18\x9c~\xaa\x867\x8dI\xcf_\xe9Xu\xd3\x1d\x8einu\x17k%\xcd\xd9?\xc0:U\xc5\xca\xb0\xfdI5\xcf\xd2\xc7B\xde\xe4\x92\xc8\xac\xbc\x1f\x97\xb8\xc5\x11\xabM\x11\x892#\x1f7\\\xe4\xd4\xad\x10\xde\xac\xea\xac\xefbH\x16 \x82=\xbd\x05^\x13#\x91\x9eEd\xde\xa6\x96\x1b\xc3\x1f\x94\x8f\xa5[R\x02\xf2\x06zR\x03\x97\xd4\xf0n#$\x02\x08?\xa5g"n\x0b\xdcc\x19\xab\xe8"\xb3\xa8\x97np\x02\xf0p?*\xd4\xb2[@\xe5P\xab\xf1\xca\xbeF\x7f\n\xd1=\x0c\xa4\xb5/^=\xbd\xba\x0f)\x14\x90Fpp@\xf4\xac\xcb\x9dI\xaeaX\x9a\x14A\xfd\xe0\xb8&\xa4\x11\x9b\xe6\x1d\xe0\x0f\x98\x8e3\x8a\xd1B\xdd[\x195/Cu\xa9,j\x18\x0f\xa5[\x8d0\xe0\x8e@5 \xc9\x18\x00\xc4\x1caz\xd5i1\x17\xcc{\xfef\x81\x0e\xb7\xb9H\xe5\x91d\x04\x06\x00g\xae=\xeb:5pwF\n\xb7v\xe3\x9a\xd6\xd63\xbd\xcb\x02K\x87 \xee\x00g\xa6r3\xefZ\xf6\xd3\xc1\x19b\xb1\xfc\xc7\xb95\x93i\x1a\xd9\xb2\xf7\x9e[\x85\xeb\xedY\xf7\x01\x83u zqQ\xb8\xcc\x99\x91\xa3\x89\x88\xd9\x9c\x82v\x83\xcf\xe3\xd3\xd6\xab\x99\x8b\xc6U\xbe\xebpA\x15\xa7Bz\x95J\xc5\xe6\x89N\xc0x$\x05\xe0\xfb\xff\x00:\xd3\xfb*\x14\x0e{\xf01\xd3\x15M\xbb\x13eq\x88\xaa\x93gr\x93\x8e\x9d\xea\xb2\x9d\x8cY\x879\'\x14\x91c\x0c\xc8\x87 s\xde\x86\xdd(\x1b\x89\xdb\xd7\x03\xa5]\xad\xa9\x9d\xee]\x8a\x16ip\xd1\xee\x18\xe7x\xc0\xfd+j;h\x82\x15.\\\x9f\xbf\xdb>\x9d+D\x8ce.\x86%\xc2\xa4WJ\x13\xa0\xeas\x9cz\nh_\x9d\xd3vA\xfe>\xdd3\xd2\xa5\xadM\x13\xd0\x89-\x99d\xf9YX\x8e\xa4\xf1RG\x1a-\xeaI\xf3d\x1c\x01\x9e\x05\'!\xa4YI0\xc1\x87<r\xa7\x8a\xbb\x15\xb4(|\xf9\x10o\xc7V\xfe\x11Y\xc7r\xa5\xb1FR\xb22\xaa\xb6\xe0rz\xfe\x95D\xcd$nw uN|\xbc\x83\xf8\xfe\x95z\x11\xa9\xbd\x02[\xca\xbee\xaa\x80J\x80a~1TZ\xd6%\x95\xd9\x90\xaa\x8e0\t\xe3\xde\xa5\xdd2\xd1Fkxcff\xe1\x8fa\xd7\xd3\x9f\xd6\xa81\r\x82N\x0f\xd0\xfe\xb5j\xe4\xb2\xc6\xef:&\xcc\xa0\x900Al\x13Q/\x99\xc2\xe3\xaf~\x94\x86\xbc\x8b;\xa6P\x838\x07\xdb\xaf\xbdZ\x82"\xf2rs\x9a\xceG=IYX\xd8\xb8\xda\x88\x17<\x0e\xb5\x8c$\xcb\xe3\xa0\xcf\x03\xb5.\xa7%?\x8d\x130\x1b\x01-\x9cv\xc5C\x06O\xc8#\x0f!\xeasVz\x86\x93\xdb\xcd\x02\x07\xc0\xcezu\xaa\xd2\x97*\xdc\x85\xcfL\x13\x81\xfa\xd4\xdc\xab\x0fh\xe2\x99\x03\x01\xd3\x82\x0f\xcc3H\xc5\x9d\xb1\xb8\x93\xe9Sq\x10\xc8\xad\x9ex5\x1c^j\x82\x04\xae\x14\xf6V\xc5U\xc2\xc3\xe3\x95\xfc\xcd\x9b\x89\x00\xe3%\x8f5fb\x8e\x1bb\xa9`0\xccE\x0ch\xa33D\xb1\x85<}*\xa2\xae\xf8\xd7b\x9ej\xa2\'a\xf1\x0f\x9b!A\x18\x19\xe8*Sra\x04\x8e\xb9\xe9\xe9N\xd7\x0b\x97>\xda\xd2\xa7\xce\xa1\x868*\xd8\xfdER\x8b{#,\xab\xb9\x01\xca\x1c\xe0\xad.\x82\xb6\xb79\xed[w\xeeA9\xc6\xec\x1cs\xdb\xbfz\xc0\xae\xc8\xecrKs\xb52\x058\x18\xaa,Y\xbe`\xa7\x1e\xa7\x81\xf9\xd7<Q\xd3&I\xc4\x91\xe1I#\xbe\xd1\xfe5m\x0bA\x1b4-\xcf\x19\xcf8\xa6\xf4%jU\xb7\x9ai\xee\xf2\xc4\xb1$\x9e\x06y\xfc+\xa0\x96\xf7\x16\xc8\x84`\x03\x83\x8e\xa0\xd4\xb5\xad\x91I\xe8W\x8d\xe5\r\xb8\xe1\x94\xf6\xab-?\x96\xbc\x86\xc62p\xdd*.U\x8c)\xefd|:\x1c\x0e\x9bH\xcdT[\xe6\xc6\x19\x01\xf7\xcdm\xcbtg\xcc\xd3%Y|\xd6\xe5J\x8c\x7f\x0f5a"YF\xd5d\xdf\xe8\xc3\x1f\xad\'\xa0^\xe6\xc0\x8d\x0c\xdf\xbe\x02<c\x0b\x9c\xfe\xb5,\xb1\xc4\x9c #p\xc9 \xf1\\\xf77H\xaf\x1e\x1a/\x93\x85#\x91MH\xd9\x8e3\xd0q\xcd6\x0bB\xec`t\xe3\x81\xd0V\x81\xc0P\x07\\\xd4\x88\xaaP\xb1!\x01\xdb\xc7J\xcf\x9a\x17w\xd9!\xc0\xeb\xeb\xf2\x8f\xff\x00U\\w\x13)\xe2@\x9eg\x96\xe64\x1fy\x87A\xd3\xad\\\xb7\xcb\xa8`\xd9\x18\xc9\xff\x00\xf5V\xdb\x98\xec>@\xa1\x9b\x00`\xf3\x83QD\xc5G\x98\x00#\xdf\xa5sX\xe9\xb9+^\x90\xe0}\xdcu\xf7\xe2\x95\xe6\x89\x80\xd8\xceI\xe7\x1d1O\x95\x8a\xe8\xa2\xe7x\xc2\xb7~\xc74\xa1AL\xaf\xe7O\xa1K\xb8\xae\xa3g#\x1cg=\xaa\xcd\xac\x84\xc3\xb7<\x0e\x86\x96\xe8\x9e\xa5Y\x81U\x18\x03\x1b\xb1\x93\xdb5BF\x01N\xd6\xc3\x1a\xda(\xc6O\xa1\x02\x03\xc8\xed\xdf\x9a\xb4\x1c\xc6\xc3on\x999\xcd[\x04v!\xc4\x90,\x9c\x05#9\xcfO\xf3\xd2\xb3\x19Hr\xeaK(9,:\x13\xfesZ\xb6s$6h%\x9069\xcfQ\x9e\x9cU(\xe0\x1e|\x9f\xbc<\x8c\x82Fs\xed\\\xbc\xd7v:\xb9l\x8b\x0c\x19"\x8eB\x08V\xce\xe2=}\xea\x16\x99J\xe0\x11\xc7\x1dy?_\xf3\xe9R\x95\xcbl\x82\x17\xf2\xcf\xde\xc3\xe7\x1d*\xf86\xec\xdf\xe924[\x87\xde\x1c\xfe\x82\xaa\xda\x89\xbd\n\xfetl7\xc8\x01c\xd1@\xea\x7f\x0e\x95X*\x97\xdd\x1a\xe0\x1e\x83\xaei;\xa4\x11\xdc\x93\xec\xb2+o\x89\xf0G#h \xd6\x8a_\xbcjE\xcca\xdct9\xfeuw\xb9\x16\xd4\xaa\xf7+1\n\xe0/\xab\x0e\x95Rh\xe4q\x90pW\xb7\xadF\xc6\x9b\x91\xc5m\xb9\xf0\xc3\x1e\x9d*\xd3\xa3\xc6A\xf9J\xa8\xc0\x03\xb0\xaa\xbd\xc4\xf4\x15\\\xcc\xaa\x82=\xae\t\xdcs[\x11\xaf\x93\x0eG-\x8e\xbe\x95\x93\xdc\xe0\x9d\xdc\x8c\xf6r\xcer3\x8fZj\xc4\xf27\'\x9e\xc0t\xa5k\x1dp\x8f-\xc6(UV/\x9fn*q9X\xc7\x92\xaaX\x1cn\x1fxsZ\xa2\xd9zIg\x9a1\xe6\xba\xe0\x1c\x00;}k2V=2\x0ex\xcezR\xb0\xee3\xe6\x8b\x98\xa4\xc8#\x9d\xa7\xadI\x0c\xcb\x19%\xc63\xdc\x8a\xa6\x93%2\xcbJ\xa1\xd4\xee\x0c\x0f=9\xc5=\x9e2\tC\x8c\xf6<W;\xd0\xdfs%\xa2d\x94\x80x#\x04\x1fJ\x99b\x95\x9cm\x03\'\xb95\xad\xd1\x9d\xacEs\xa7\xcd\x1e\x0b09\xeaGj\xdb\xd2\xedV%,\xddq\xf9U7\xa5\x89K[\x99\x97\xec\x89+mU^:\xa9\xcek\'.\xc3h(\x17\xfb\xddO\xe1Z-\x88{\xe8h,\xeb\xe5mdUu?{\xd4})\x82n\xc4\x0c\x0e\xd9\xac\x9a\xb35Z\xee`j\xce\x18B\x07l\xff\x00J\xc0\xae\xb8lrO\xe2:\x8d\xa0\xb6@\\\xa1\xfa\xe4\xd6\xaf\xcb%\xba\xa62q\xc7=\xeb\x19\x1b\xa5\xd4\xa5$&\x00N\xed\x8c9\xc09\xcd5n>WG\x1f\xc3\xd4\x1a_\x12\x1bve(\x91\x94\xe7\xa0#\x1c\x1a\xd5\x12\x06#v\x1c\x8f^\xf5R"&\x85\x84\x9b\xe5(\xc3\xe5\xed\xc5[\xbc\xb5\x12&\xd5\xe1\x87\xafJ\x9bX\xab\xear\xf3\xc6a;\\\x1c\xf4\x07\xb55\x16"7HrO@\x07\x15}.\x89\xebfJ\xa9\x17\x98B\x11\x8fs[\x96\xd0\xc7\xbbx\xdb\xb1\x01b\xc3\x9e\x95\x84\x9b6I\x1a)\xa8X\xc8VI\t\x8eD\xe8X}\xe0z\x8a\xae\xb7\xd0\xca\\\x122\xdcp\x00\xc7\xd2\x8b;\x13te\x15e\xb8\x08\xac[8\xff\x00\nl\x82H\xa5 \xb7|S\x19f9&P\t\x1b\x97>\xb8\xcdI-\xe4\x8a\x7f\xd5\x90;c\x9c\xfe4\xac;\x93\x19\xe7\x821\xbc,\x8cFp\xa7\x1b}\xb3\xde\xa6\xb1\x13\\\xdcm\x99HY\x06\xdc\xed\xc6\x07\\g\xdf\x18\xfci\xe9bu45\x92\xd0\xdal\x90n\xdc\xc0\x90\xbe\x83\xff\x00\xd6+\x96\x8ei#\xfb\xa9\x80\xdf\xec\xfe\x94\xe3\xb1\x0c\\\x93\xf31,\xde\x95:\x10\x99g\xc1^3\xdf\x1e\xf43H\xad\x07][\x86(\xe8p\x18~\xb5L\r\x81\x86rz\x91\xfe\x157*\xc4\xd8iADM\xc7\x1ftw\xaa\x10\xc9,`\xa6:\x1e\x87\xb5Z\xb5\xb5\'[\x9b\xe9n\'\xb5\xcb8\x19\xe3\x15\x91m\x13\xdb\\\x8d\xc4:0\xc1\xc1\xa4\xad\xb0\x9d\xd9\xba\xe0\xba\x02\xaa\x0f\xa8\xaet\xed2{zc\xf2\xa9\x8b\x06\x88\x06\x15\xf1\xf8\xd1\xbfp8\x19\x1d\xf8\xad\x00\xd6\x81\xe4]8\xe3\xee\xf4<\xf4\xe6\xab\xa5\xd1\x08\xd0\x0e7\xe0\xe4\x1f\xf3\xebOvg\xa2F\xc2\xdd2\xa8\r\xd0u9\xaa\x92\x98<\x83"\xca7\x12A\\\x1c\xd6\x11\x8e\xa6\xd2\x96\x85\x9b{\x8f2\xdeh\x88\x0c\t\x1b\x01\xef\xc5d\xce\x89\x10f\x7f\x90\xf6\xee\rk\xb33\xe8g\xfd\xba-\xdf0v\xc7}\xa2\xa6\x8e\xee\xd6B\x14\x92\x0fl\x8e\x95\xbd\x99\x85\xcd\x8f\xb3+m\x91$\xc1\xe7\xb6F?:\xb1;$+\xb68\xc6\xe2:\xe75\xcd+\x9d\x112\x9ai\xd7,$\xd8\x07`*\x8bHF\x15\xf9?\x97\xff\x00^\xb4\x8d\xba\x12\xeeJ\x92\x95!\xd8\x82\x83\xa1\x02\xb4\xd2X\xe5\x1c0\'\xd3\x15\x8c\xa2m\x19\x13\xaad\xfc\xa0q\xe8)\x922\xe4\x0c\x8c\xe7\x19\x03"\xa5\\\xb7m\xcb\xb1B\x90\x0f\x99\xbc\xc6\x1d\xc0\xa8n\xe7Y_v\x18`r\x00\xcf\xe3\x8a\xd1\x1cI4\xcaQ\x90\xc8X\x10\xde\xe7\xa5X\x8evC\x80\xa3>\xd4X\xe8\xb9\r\xc3\xc4X\x19N\xd6\\\xf3U\x17sI\xf2\xa9\x8dI\xc9c\xf7\x8e}=*\xd6\x9b\x99\xef\xb1\xa6\x19v\x84\xc1*={\xd5\x06\x8437\x04\xa9\xe9\x8e\xd5\x175Q.Z\xc7\x1f\x97\xb0&\xe6\xcf\\\xf4\xabW[\xa2E\x1b\x86;\xa8\x1d*w\xdcv\xb6\xc5\t"1\xb6\x19\x98\x122\t\x1cb\x91\xe3|\xf2H\'\xb6x4\x86\x99U\xa1u\x04\x80q\xec{\xd5\x88\xa6\xe8\x1c\x1fsU\xa3\x13M\x1a\xad,o\x17\x94\x1c\x13\xdc\x93\x9a\xd8\xb71\x8bY\x94\x9cp1S-\x02&4\xb0\x04\x08\xea\x01\xde0x\xac\xb9l\xd4\xb1 m$\xf2\x07j\xa8\xbb\x12\xf5)\x00c;\\ezc8\xa8\x99\x0e\xec.3\x8e\x95\xa0\x95\xcc;\xed\xc0\xa0~\xd9\xac\xca\xea[\x1c\x92\xdc\xec\r\xbb\xa0P>Uc\xc1\x15^U\xf2\xdb\xe6\x9c\xaa\x91\xd8d\xfd+\x99;\x9d\rX\xa9\x15\xc3\xc57\x98\xa3!O\x1b\xb9\xa9g\xb9{\xa9\xbc\xc7$\xb1\x18\xfa{V\xb61\xb9\x17P\x060kz\xce\xdb|"F9\x03=\xea%\xb1\xa4\x1e\xa5\xc8\xe6\x10\xbb:/\xccx\xcd\\\xb6\x9f\xed\x0eT\xe7wl\x8e\xb5\x8e\xb65i\\\xa9un\xd3n@\x08+\xc9SX\xa6\xd9Wp`Q\x87\xa9\xe3\xf2\xabOB\x1a\x10\xd8\x83\x18c(\xdd\x9e@\xe6\xa7\x83t+\xe5;\xabFO\xf0\xe7\x8a\xab\xdf\xa16\xb1nh\xd5\x82\xb2\xc2\xb1\x91\xc0\x03\xd3\xd6\xaa:\xfe\xf0FS\xe6#<\xadg\xb9\xae\xca\xc0\xb0::\x90\x18\x11\xc8\xc1\xe8j\xfb@\xc5\x8b?,{g\xbd&\xc1!\x9eB\xa9\x04\x83\xcf\\\xd5\xa8\xa7\x888V\xdb\x8cc\x9e*w(I\xe4\x06L\xe3\x08q\xc9\x14\xc5\xb8\xdaq\xc8#\x91\x83Y\x9a\x13\xdc\\=\xcc{\x19\xf6\x8e\xdc~?\xce\xb1W|\x0e\x8c\xc7q9\xadS\xe8b\xd0\xd3>\xe9\x18t=\xaa\xdcl\xcd \x0c\xb8#\xdf\x19\xad,+\x9a\x08\xfb\xd8\xa3\x82\xab\xd4n\xedM\x84\xa0\xe6E\x0cXp\xd8\xac{\x9a\x97\xd5\x80\\)\xfc\x85r:\x82\x18f\r\x9c\x87\x19\x06\x88=l)\xedr\xb2K#\xe0p{g\xbdj\x0e!i\x19I\xc0\x07\xe6\xe9]\r\x18\xa9\\\xacn\xdc\xb8\xdc\xb8Q\xd7m p\x00a\xc9\xc6\x0e\x05\x16\xb2\x15\xee\xc6\xc2\xaa\xd2\x81#\x10\x99\xf9\x88\xad\xb7\x8e\x06\xc9\x8c\xedA\xfc t\xa9e\xa32EU$)\'<\x8e1Q\x15\x01\x97\x82\x84\x0f\xbd\x83\x93T\x89\x91t+\xc5\xbbkF\xfb\xbb\xe0\xe4\xd1\xb1\x9c\xe6@\x0e1\xb4)\xe3\xf2\xa5t+2o+nD`\t\t89\xe3\x19\xff\x00\xebT-o&\xe2\xf8\n\xa0\x0e\x063\x9f\xa7zW\xd4v\xd3Av\x05\x04\xb6v\x93\xca1\x07\xa7\xa8\xc5Ph \xb9\x9fiO(\xb1\x1b\\|\xa3\x15I\xb2ZE\x86\xb3\xb9\xb5\'\xec\x97\x0b*g\xee\x9e?\x9f\x14\xc1{\x89\x8a\xdc\xc7\xe5\xbe9\xc8\xe0\xd5+2\x1e\x85\x82`\xb8^y\xe7\xb1\xcdJ\xd0F\xca\tl\x03\x80\t\xa9\xdbB\xed\xd4\x9e\xdf\xcb\xb5Y>`Q\xb9\xcb\x11\x8e+$\xc9\x131\x16\xa8\x0bg%\xf0p)[\xa8\xef\xa5\x8d\xabX\xfc\xd8\xc0\x9d\x99\xf3\xeap?![\x0f\x1cI\x16HP\x07\xe5S\xa1z\xf5)G\xfe\x94\xccc\\\x01\x8c`UY!]\xe1\xf03\x9eMCv\x1aC\x9d\xc4q7\xafa\x8a\xca\xdeT\x82r]\xfe\xeaz\xfb\xd6\x91DH\x9f\xec\xf2C.\xfb\xa1\xbeG]\xc0\xb0\xe3\xf0\xadi\x00E\xd9${[\x00\x82y\xe3\xb5\r]\x894\x91_\x03fC\x1f\xa6)b\xda\xa7-\x83X\x9d\x08l\xe8\xc9\x97\x87\xa9\x1c\x81U\x92Ie}\x80\x12z\xe34\xd6\xda\x92\xf7,<o6\x0c\xa1\xb2\xa3\x83\x9e@\xac\xe5\xf3\x86\x10\xb0\xdb\xeaj\x95\x98\xb6\'\x8eC\x19;\xf1\x9fn\xe2\xac\xb2\xab\x9c\xa8\x07\xbe*d\xac\\]\xc8\xbc\xb5\x07# \xfb\xd5\xb1:\xa2\xb2\xc8p\x18`\x9ct5\x1b\x96\xc8\r\xf7\x9a\xaa\x9b\x14\x11\xdf5\xa8.\xa3\x94\xb1 /\x18\xe6\xb4\xb6\xa67\xd0\xa1"\xa4\x84\x802\x07N*\xa4\x912\x80q\xd3\xd6\xb2\xe6\xd4\xda\xda\x1c\xde\xac\xc5\x8cY\x04c8\xe3\xe9X5\xe8\xc7c\xce\x9e\xe7\xa0\xe3\xf7M\xb1Hn\xc75\x9b"\x99\xa4\xcb\x0c\xe7\xa0\xeb\\\xe8\xde\xc5sl\x03m \xa9\xab\x82\xd1\n\xae\xe1\x80z\xe2\x93\x91j*\xc4\xa9k\n\x81\x93\xb9\xb3\xdf\x8a\x89\x95\xad\xce\xdd\xcc\x10\x9c\xf1\xfdi\xf3]\x93\xca\x91m\x19@\xf9\xcbI\xef\x8e\x94\xb1\\yw\x82E\xe1@\xc6*w+b\xf3\xdc<\x92\xac\x83\xef`\x8fJ\x8ai\x15\xa3PFYz\x1a\x1034\x82\x0e\x07_J\x9d\xa3h\xd41a\x9201TH\xe32\xc7\x1f\xcc\x84n\xe9\x9ai\x8cH\xe4\x9c\x83\xeb\xdc\xd1\xb0^\xe4\xc1\x02\xda\xbb\xbd\xc6\xd9\t\xe1:q\xf5\xab\x82\xea8\x17\x01\x1d\xce\x06\x0e\x0e}\xc1\xa4\xd5\xc4\x99I\xd9\xa5$\xb60y8<\x8f\xf0\xa7\xbb\xae\x13\x03\xee\x1c\xf2:\xd43D$wj\xf2H&\x1f3\x00\x00\xcf\x02\xab]\x03\xe6\x97#\xcc\x04c\xd2\xa9+1^\xe5\x84\xb5x\xedf\x9d\x91\xe3\x08\x01\x0b\xd4\xb0\xfe\x95\x86\xf2\x19$)\xf7@\x1c\xe7\xd6\xad+\xeaCv\xd0\xaa\xc3\r\xd4\x1a\xb0$\'\x07\xa3\x8e\xe2\xb4h\x84\xcbJ\xccv\xf5 \x9f^\xb5$[\x9c\x91\x96_\xf6@\xeb\xfex\xa84\xb9a\x9d\xa1\xf9\x83&\xd2@+\x9eV\xaa\xcc\xabs2\xb3\x0e\x9cd\x1f\xc7\xfa\xd4%\xad\xc1\xbd,3\xec\xe6\x1c;\xb8Np\xbd\xff\x00J\x9d\xaf\x9f\xcah\x83\x16\x8c\xe0\xe0\x9e\t\xf5\xc5^\xe4\xecEn\xca\xe7\xe7P\x01\xeb\x84\x04\xe7\x1cV\x80\x92\xde3\x8f)F\x7f\xbc2j]\xf6\x1a\xb6\xe6D\xa8\x99\xfd\xd9\xc0\xe7\x18\xa4F\xf2\xdb\x0c\xdf)\xee:\xd6\x9b\xa3=\x99\xa5\xbe\xddYBJ\xce\xc4\xf2v\xe0\x0fJa\x969\x08*\xc49\xc0\xc1\xa8\xb3.\xe8\xb9n\x16F\x11\x83\xf3t\xc7lU\xbb\xa1\xb3\x19V\x08\x9c\x81\x9c\x03Q\xd4\xb31n\xa3\xc6\x11\x99[\x91\x96\xe4\x0c\xf7\xfeuK`.O\x9a\xee\xecy\x1bj\xf5D\xe8\xcb\x85LaU\x94\xb3\x9c\xf1\x9e\x05O\xb4m\x18#=\xfd)y\x86\xce\xc2\xc9(\x88\x16\xce8\xe0\xf5\xc5UG3.\xd7\x882\x9e\x06GSI+\x83z\x93\x9bH\xf2\xaaT\x90>\xf2\xe7\xa5Op,\xe1\x8dcHv\xb9\x1e\xbdi\xb6\xf6\x05m\xca\x08\x92n-\xb7\n\xf9\xc8\xea3\xf4\xedZP\xc0\x0c\x81R0=p)7\xd0\xb4\xba\x8c`cWA\xd4\x1c\x8a\x8e\x14\x92iU\x03\x96\xc9\xfb\xa4\xe6\xa6\xe3\xb1\xd2\xdbI\xb0\x98\xc0\xda\xca\x01\xdc8\xf6\xc5TD\x02F_\xbc\rsI\xb3h\xa2\x13\x02y|p\xf9\xe0\xf5\xabqX\xab\xa3>\xd0\x1f\xb9\xc5\x1c\xcd\x8f\x95\x14\xa7\x82A\x80\xe1\x9d\x80\xeaOA\xedP\xacR}\xd6\xe0\xfb\xf7\xae\x9ec\x9b\x94\x86e\xf2H\xc4\x99\xcf\x18<T\x0c\xacf\x0b\xf7@\xe4\xf7\xa6\x9d\xf5\x1b\xd3B\xfa\xca#\xe1Uvz\x1at\xa6#\t\xe1rz\x02+\x15\xb9\xa7B\x92\t\x161\xceTv\xa7J\x12Kr\x8e\xbf1\xe8\xcbO\xa8\xccu\xb6\xb8,\x04M\x93\x9c\x00x\xad\x04WD\xf9\xf0\xac:\x9c\xd6\xcd\xa6`\x93\xb9!\x05\x94\x1f4\x11DQ\xa4\xf2*\x16d\xc7\xde%z\x1a\x8d\ru\xeaKqb\xd1\xc9\xf2H\xae1\xc9\xc6*\x83\xca\xb1.\xc8\x8b\x13\xdd\x8fzi\xdc\x96Im \x07\xe6f(\x0eO\x15\xab,\xf1\xed\x025.Oj\x87\x14Z\x96\x87\x19\xabo&2\xeb\xb4\x1c\xe3\xdf\xa5`Wt68\xa7\xb9\xe8RH\x9eP(\xff\x00)\xeazVrK\x12r\x0eO\xaek\x96\xcc\xde\xea\xe5\x98\x9d[\x96e\xcf^Mh\xcb\x8f!;\x93\xce\x01\xac\xda\xd4\xd5=\n?+\x1e\x06\x07nj\'%\xb0\x0e\x08\xaa\x11\x1f\xdcc\x82EA$\xea0\n\x91\x8a\xd1j\xc8z"`\xc1\xd1\x8e\xee\x17\x9eiS\xf7\xecNF@\x1f\x85\x16\xb0^\xe4\x91\xce\xf6\x85\xd4\xa0m\xff\x00\xde\x18"\xa9G#\xb7l(\xf55}\x0c\xfa\x96\x997\xae\xde@\x1d9\xe0R\x06\x91QTM\xb3os\xde\x8b\x83CbY$o\xde0\xc7\\\xb1\xc0\xad\xdbi\\\x86\n\x08\x18\xc1#\x8c\x1a\x89\r\\dv\xe6Wb@\xdcs\xf3d\xd4R[\xa0\x97b\xb8\x07n}\xab;\x9aZ\xcbR\x8c\xb1,R+\xc9\'\x98\xbcp;Q3\x86g$\x94\x8d\xb2T\x13\xcf\xe5Z\x10K>\xa5<\x96\xa2\x12\x13\xe6\x18/\x9eO\xe1X\xe9\x13\xcd\'\xee\xe3\'\xf5\xad\x12KS6\xef\xa1j\xee\xd9\xa0\x91\xa3\xda\x08\n\t8\xf5\xaa\x96\xed\xe5\xca\x1dT\xb0\x07;}\xa9\xee\x85\xb34.\x1d\xe4\x00\xaal\xed\x85\x1di\xf2_\x1c\xaem\xd1\\pN\x08&\xa1$h\xd9F\xe0\x0f5\xcf\x96Q\xb3\xd3vpj\xbe\xe6\r\xc7\xcb\xc75\xa1\x90\xe8\x90\xb9\xe1s\xd6\xa5\x860O88\xfe\x12\xd8\xcd\x03\xb1\xbf\x0b\xc4\x83j\x05S\x9c\xb6\x0f$}k\x12\xe2UiJ\x8f\xba\x0f\x02\xb2Z\xb3]\x91_\x8d\x9c\x0f\x9b\xaf\x06\x99\xb4\x1crsZ\x99\x0c\xe48\xd8\x0e=\xebj\xccD\xad\xbaE\xcf\x18$\x8e\x9f\x87\xe1S+\x8e)\x1a0M\n\xca\xcc\x88\t\xce\xd5\xc7\x1f\x9dV\x9b}\xdc\xac\xa5\xc0\x8c\x1f\x98\xaf\xf2\xac\xbdM\x05\x16\xd0\xc4\x87\x03>\xe6\xa3\xf3@`\x90\xa0\xc9\xee;\xfe5:\xb6^\x89\x19\x8e\xf9\x94\x92\xed\x91\xd4\x81\xd6\xa7\x88)9g)\xc7\x00\xf3[\xec\x8cw6\x92\x14\xf2AuS\x8e\xa5pA\xa9\x8b,\x10\x96\t\xc0\xe4V\t\xeal\xf63-c\xbe\xbe\xb8\x91\x16d\x84\xed\xdf\xc8\xcdW\x8a\xc6v\xbb+q \x0e\xa7\x1b\xabg$b\xa2\xcdg\x0c\x18o \xf3\xc9\x03\xad]\x87;p>_z\xe4z\x9dKBQn\x1fq-\x8c~\xb5\x04\x96\x0b\xb1dBT\xfb\x1e\x95)\xd8\xa6\xaeY\xb3\xb7s*&\xef\xbcz\x9e\xd5\xd9\xae\x90\x91)\xdc\xdb\x98\xf5\xc5Z\xd7R\x1e\x9a\x1c\xc9\xb7\x0b)\x1e\x86\xb6\x83G\x1c\x1b\xbd\x06I\xa8\xb6\xa6\x97\xd0\xaf4BX\xb7\x91\x90GZ\xe6\xae6\xa3\x13\x90@\xe8i\xecN\xe6R(\x9a]\xe7\xa0\x1djy\x1c\xa9V\xdc\t\xc7$\xd6\x84leI(^\x8dV!Y\x0e\xd6\xc6S\xb14\xeda\xde\xe6\xd4\n\xcc\xcc\xbbG\xcc0q\xd8TonUT)\xc9\x07\xa9\x15\x01\xad\xc7\x18qn\xc0?\xcd\xd7\x05j\xbb\xcc$\x8dC\xa8\x1bG\xe3M\t\xa2\x8b\x05\x08\xde^NG Tj\xb2(\xcb\xf4\xec\x1a\xac\x1d\xcd\x08\xe6\xc2\xfc\xa3\x06\xa2\x92(g\xe5\xc9W\x1d\xc5e\xb3\xb9v\xe8G\x1c(\x8av\x92\x7f\x1a\xb5\x1b\xa5\xb1$(9\xee\xd4\xee+\x1c\x86\xb1/\x9a\xf1\x91\xd0g\x1f\xa5s\xf5\xdf\r\x8e\x19\xeeZ3\x93\x8c\xe4\x81\xefA\x9f\xd1\x7fZ\xbb\x10;\xed\x1c\x0c/\xebR%\xe3\xa1\xf9s\xf9\xd2\xb0\\\xb5\xfd\xa2H\xc3G\x93\xea\x1a\xa1k\xf9\t\x18\xc8\x03\xa0\x06\xa3\x91\x1a9\xb1Z\xfd\xdb\x04\xaf#\xde\x9c/\x86\xd2\xa6"A\xff\x00o\xff\x00\xadG*\x0eg\xd4{\xea;\xe3\x08b\xe0\x0e0\xdf\xfdj!\xd4\x16!\xcc\x1b\x9b\xb1\xdd\xd3\xf4\xa3\x949\x89&\xd5d\x98 )\x80\xbd\xb3Q.\xa0\x07&,\xb6y;\xbf\xfa\xd4\xb94\x1f>\xa2\xff\x00h\xf3\xfe\xa8~\rK\xfd\xa23\xc4#\xfe\xfa\xa3\x949\x866\xa0Xc\xcb\xe3\xfd\xea\x9e\xd7S\xf2$\x0cbgQ\xfc>f\x07\xf2\xa6\xe2%"\xfb\xf8\x82_4\xb4q\x08\xd7\x18\xdb\x9c\xff\x00J\xc5{\xe2\xfdS\'9$\x9eI\xa4\xa1a\xb9\xdcr\xdfp\x03\xc7\xb8\x0e\xc1\xb1R\x7fh)bZ\x00\xde\x9f7J|\xa4\xa9\x12\x7fi.~[e\x1f\x8f\xff\x00Z\xab\xb6\xa0\xe4\xb6\xd0T\x13\x92\x03P\xa3\xdcnD"\xec\x8e\x8b\xf8\xe6\xa4[\xd6B\n\xae1\xef\xff\x00\xd6\xaa\xb1\x17&MI\xd4\xe4\xa0obj&\xbe-\x8d\xc8N:|\xdd)r\xa2\xb9\x86\xc9z\xd2\x1c\xb2\xe4\xf4\xc94\x82\xedF?t3\xfe\xf5;\x13q\xa2\xeb\x03\xee~\xb4\xa6\xef-\x93\x18>\xd9\xe2\x8b\x05\xc4\x17]\x01O\xc9\xa9\xe6\xf0\x1e\xb1\xe7\xfe\x05\xff\x00\xd6\xa7`\xb8\xcf\xb5s\xf71\xf8\xd2}\xab\xfd\x8f\xd6\x8b\x05\xc9c\xbe(s\xe5\x83\xecM[\xfe\xd6\x7f\x9b\xf7`d\xe4`\xf4>\xbd:\xd4\xb8\xdc\xa5+\x12\x8d\\\x00\xb8\x83\x0c\x0eK\x06\xc6\x7fJ\xa4\xb7\xe5P\xae\xce\xbcd6)r\x8f\x98b\xdf0\x8fc\x02\xc39\x19j_\xb7d\xf2\x84\xaf\xa1j\xab\x13r\xc7\xf6\x92\xe3\x881\xff\x00\x03\xff\x00\xebR\x8dIq\x83\x06}>\x7f\xfe\xb5.Pl\xb3\xfd\xb26\x81\xf6~\x00\xc0\xf9\xff\x00\xfa\xd4\xad\xad\xb1]\xbeN\x17\xfd\xff\x00\xfe\xb5f\xe9\xdf\xa9\xaa\x9d\xba\x12\xc1\xaf4\x0eX[\xe7\xea\xff\x00\xfdj\xaa\xfa\xbbHIx\x89>\xbb\xff\x00\xfa\xd4\xbd\x9f\x98\xfd\xa7\x91#k%\x94\x03\x07#\xbe\xff\x00\xfe\xb5N\xba\xe8P\x07\xd9\xb8\xef\xfb\xce\xbf\xa5/g\xe6\x1e\xd3\xc8\xb1\x17\x88\x84nI\xb4\xdc\x0fo3\xff\x00\xadM\xff\x00\x84\x87\x8f\xf8\xf5\x19\xcf\xf7\xff\x00\xfa\xd4\xbd\x97\x98\xfd\xa7\x90\xb1\xf8\x88\xc6\xd9[c\xff\x00\x7f?\xfa\xd5\xb5\xff\x00\t\xa3\x95\n\xd6y\xc7\xfd5\xff\x00\xebST\xed\xd4N\xa5\xfa\x19\xe7\xc5\x19\xcf\xfa\x1f$\xe7>o\xff\x00Z\x88\xfcQ\xb1YM\x9e\xec\xfa\xcb\xff\x00\xd6\xa7\xec\xfc\xc3\xda\x04~(\xf2\x81U\xb4\xf9\x0fE\xf3z~\x95\x93s\xad\x19\xcf\x10m\x1e\x9b\xf3\xfd):w\xea5S\xc8dz\xc7\x96\xb8\x10~;\xff\x00\xfa\xd5\x1b\xea\xa1\xb1\xfb\x8cz\xfc\xf9\xfe\x95\\\x84\xf3\x95\xfe\xde\x81X-\xbe\t\xef\xbf\xff\x00\xadZ1\xeba`1\xb5\xbe\xefC\xe6c\x1f\xa5\x1c\x9ea\xce\xbb\x0f\xb7\xd7\x8c\x12\xef\xfb>\xee\x0e~\x7f\xfe\xb5L\xfe"f\xe9\x01\x19\xff\x00\xa6\x9f\xfdjN\x9d\xc1N\xc4\x9f\xf0\x92\xb8\xc7\xfa8\xe3\xd5\xff\x00\xfa\xd5\x13\xf8\x81d9{5?\xf0?\xfe\xb5G\xb2\xf3/\xda\xf9\x14\xe4\xd6\x15\x8f\xcbm\xb4\x7f\xbf\xff\x00\xd6\xaa\xe7SS\xd6\x03\xff\x00}\xff\x00\xf5\xaa\x95?0u<\x83\xfbP\x83\xc4\\\x7f\xbd\xff\x00\xd6\xa9\x0e\xac\x08\xff\x00\x8f~}w\xff\x00\xf5\xa8\xf6~b\xf6\x9eC\x06\xa9\x8e\x90\xe3\xfe\x07\xff\x00\xd6\xa8?\xb43\xd62G\xa1~\x94\xd51:\x9eE{\xcb\xa5\xb9\t\xb6//ns\xf3g?\xa5gV\xe9YX\xc1\xbb\xbb\x9f\xff\xd9'
#---- Minta 2
from io import BytesIO
from PIL import Image, TiffImagePlugin, TiffTags
from PIL.ExifTags import TAGS
from PIL.TiffImagePlugin import ImageFileDirectory_v2
## Kiolvasás
fn =(r"c:\Users\User\Documents\kepek\allat\Dsc_8579_roka.jpg")
ret = {}
i = Image.open(fn)
info = i._getexif()
info[271] = 'KLajos' ## Beállítása a gyártónak (Make : 271)
for tag, value in info.items():
decoded = TAGS.get(tag, tag)
if decoded=='Make' :
print(decoded, ' -> ', tag,' -> ', value)
print("\n ----------------------------------\n")
# i.save(r"c:\Users\kecskemetil\kl_kep_mod.jpg", exif=info)
#Tag szótár feltöltése
_TAGS_r = dict(((v, k) for k, v in TAGS.items()))
# Képaállomány létrehozása és tag-olása
jpgimg1 = Image.new("RGB", (64, 64))
# Kép File Directory
ifd = ImageFileDirectory_v2()
# TiffTags kikeresése
TiffTags.lookup(_TAGS_r["Artist"])
TiffTags.lookup(_TAGS_r["LightSource"])
# TagInfo(value=315, name='Artist', type=2, length=1, enum={}) # 2 : string tipus
ifd[_TAGS_r["Artist"]] = u'Kecskeméti Lajos'
ifd[_TAGS_r["Make"]] = u'Kiss Ildiko'
# TagInfo(value=37384, name='LightSource', type=None, length=0, enum={})
ifd[_TAGS_r['LightSource']] = 1 # nappali fény /DayLight
ifd.tagtype[_TAGS_r['LightSource']] = 3 # Tipus beállítása / short
# Szekezet összeállítása és mágikus exif structure minta hozzáadás
out = BytesIO()
ifd.save(out)
exif = b"Exif\x00\x00" + out.getvalue()
# Mentés állományba
jpgimg1.save(r"c:\Users\User\Documents\kepek\allat\Dsc_8579_roka_uj.jpg", exif=exif)
# Visszaellenőrzés
jpgimg2 = Image.open(r"c:\Users\User\Documents\kepek\allat\Dsc_8579_roka_uj.jpg")
info = jpgimg2._getexif()
for tag, value in info.items():
decoded = TAGS.get(tag, tag)
print(decoded, ' -> ', tag,' -> ', value)
Make -> 271 -> KLajos ---------------------------------- LightSource -> 37384 -> 1 Artist -> 315 -> Kecskem?ti Lajos Make -> 271 -> Kiss Ildiko
%matplotlib inline
import matplotlib.image as mpimg
import matplotlib.pylab as plt
im = mpimg.imread(r"c:\Users\User\Documents\kepek\allat\Dsc_8579_roka.jpg") # Képállomány beovasása numpy ndarray
print(im.shape, im.dtype, type(im)) # ez a kép tartalmaz egy α csatornát// num_channels= 4
# (960, 1280, 4) float32 <class 'numpy.ndarray'>
plt.figure(figsize=(10,10))
plt.imshow(im) # megjelenítés
plt.axis('off')
plt.show()
plt.close()
(2000, 3008, 3) uint8 <class 'numpy.ndarray'>
%matplotlib inline
import matplotlib.image as mpimg
import matplotlib.pylab as plt
im = mpimg.imread(r"c:\Users\User\Documents\mintak\jupiter\kl\kepek\python-logo-glassy.png") # Képállomány beovasása
plt.imshow(im)
plt.axis('off')
plt.show()
im1 = im
im1[im1 < 0.8] = 0 # a kép elsőtétitése
plt.imshow(im1)
plt.axis('off') # ne legyen rács
plt.tight_layout()
plt.savefig(r"c:\Users\User\Documents\mintak\jupiter\kl\kepek\python-logo-glassy_dark.png") # sötétitett kép mentése állományba
plt.close()
plt.imshow(im[:,:,2],cmap='Blues') # a kek csatorna kekkel
plt.colorbar() #skala
plt.axis('off') # ne legyen rács
plt.show()
plt.imsave('out_mentett_kep.jpg',im) # így mentünk jpg-be
plt.imsave('out_mentett_kep.png',im) # így mentünk png-be
plt.imsave('out_mentett_kep.tiff',im) # így mentünk tiff-be
im = mpimg.imread(r"c:\Users\User\Documents\mintak\jupiter\kl\kepek\python-logo-glassy_dark.png") # ötétitett kép megnyítása
## plt.figure(figsize=(10,10)) ## méretezés
plt.imshow(im)
plt.axis('off') # ne legyen rács
plt.tight_layout()
plt.show()
plt.close()
%matplotlib inline
import matplotlib.image as mpimg
import matplotlib.pylab as plt
im = mpimg.imread(r"c:\Users\User\Documents\kepek\allat\Dsc_8596_mokus_thumbnail.jpg") # read the image from disk as a numpy ndarray
methods = ['none', 'nearest', 'bilinear', 'bicubic', 'spline16', 'lanczos']
fig, axes = plt.subplots(nrows=2, ncols=3, figsize=(15, 12), subplot_kw={'xticks': [], 'yticks': []})
fig.subplots_adjust(hspace=0.05, wspace=0.05)
for ax, interp_method in zip(axes.flat, methods):
ax.imshow(im, interpolation=interp_method)
ax.set_title(str(interp_method), size=20)
plt.tight_layout()
plt.show()
plt.close()
%matplotlib inline
import matplotlib.image as mpimg
import matplotlib.pylab as plt
import numpy as np
## Áttűnés két kép között
im1 = mpimg.imread(r"c:\Users\User\Documents\mintak\jupiter\kl\ronaldo.jpg") ## 255 # scale RGB values in [0,1]
im2 = mpimg.imread(r"c:\Users\User\Documents\mintak\jupiter\kl\messi.jpg") ## 255
i = 1
plt.figure(figsize=(18,15))
for alpha in np.linspace(0,1,15): ## 15 lépéss beállítása
plt.subplot(4,5,i)
plt.imshow((1-alpha)*im1 + alpha*im2)
plt.axis('off')
i += 1
plt.subplots_adjust(wspace=0.05, hspace=0.05)
plt.show()
plt.close()
%matplotlib inline
from PIL import Image
from skimage.io import imread, imshow, show
import matplotlib.pylab as pylab
im = Image.open(r'c:\Users\User\Documents\mintak\jupiter\kl\kepek\alice_color.png') # the original small clock image
pylab.axis('off'), pylab.imshow(im), pylab.show()
# pylab.close()
im1 = im.resize((im.width*5, im.height*5), Image.NEAREST) # nearest neighbor interpolation
pylab.figure(figsize=(10,10)), pylab.imshow(im1), pylab.axis('off'), pylab.show()
pylab.close()
# WEB kép megnyitása
%matplotlib inline
import matplotlib.image as mpimg
import matplotlib.pylab as plt
import urllib.request
url = 'https://1.bp.blogspot.com/-LvQsQz0kOTU/XfyOEdINRWI/AAAAAAAAXxc/k1cZdGkTJnwYvkABO3oMxH10kKwx2edPwCLcBGAsYHQ/s1600/KL_karacsonyi_szofelho.png'
urllib.request.urlretrieve(url, 'kep_file.jpg')
im = Image.open('kep_file.jpg') # the original small clock image
pylab.imshow(im), pylab.show()
(<matplotlib.image.AxesImage at 0x1c00cf51d48>, None)
%matplotlib inline
from skimage.io import imread, imsave, imshow, show, imread_collection, imshow_collection
from skimage import color, viewer, exposure, img_as_float, data
## skimage minta képmegjelenítése
im = data.astronaut()
pylab.figure(figsize=(5,5)), pylab.imshow(im), pylab.axis('off'), pylab.show()
pylab.close()
# imshow(im), show()
%matplotlib inline
from skimage.io import imread, imsave, imshow, show, imread_collection, imshow_collection
from skimage import color, viewer, exposure, img_as_float, data
from scipy import misc
im = misc.face() # moso medve arc beolvasása
plt.imshow(im), plt.axis('off'), plt.show() # megjelenítés
plt.savefig('mosomedve.png') # kép metése a lemezterületre
<Figure size 432x288 with 0 Axes>
%matplotlib inline
from skimage.io import imread, imsave, imshow, show, imread_collection, imshow_collection
from skimage import color, viewer, exposure, img_as_float, data
from scipy import misc
im = misc.face()
im_g = color.rgb2gray(im)
plt.subplot(121), plt.imshow(im, cmap='gray'), plt.axis('off')
plt.subplot(122), plt.imshow(im_g, cmap='gray'), plt.axis('off')
plt.show()
%matplotlib inline
from skimage.io import imread, imsave, imshow, show, imread_collection, imshow_collection
from skimage import color, viewer, exposure, img_as_float, data
from scipy import misc
import numpy as np
im = misc.face()
im = np.array(im) # numpy ndarray létrehozása a képből
imshow(im) # skimage segítségével megjelenítés
plt.axis('off'), show() # megjelenítés
((-0.5, 1023.5, 767.5, -0.5), None)
%matplotlib inline
from PIL import Image, ImageFont, ImageDraw
from PIL.ImageChops import add, subtract, multiply, difference, screen
from scipy import misc
import PIL.ImageStat as stat
im = Image.open(r"c:\Users\User\Documents\kepek\allat\Dsc_8596_mokus_thumbnail.jpg") ## ('kep_file.jpg')
draw = ImageDraw.Draw(im)
font = ImageFont.truetype("arial.ttf", 23) # use a truetype font
draw.text((10, 5), "KLajos", font=font)
del draw
# im.show()
im_a = np.array(im)
imshow(im_a)
plt.axis('off'), show() # megjelenítés
s = stat.Stat(im)
print('Kép statisztika :')
print('extrema',s.extrema) # maximum and minimum pixel values for each channel R, G, B
print('count',s.count)
print('mean',s.mean)
print('median', s.median)
print('stddev',s.stddev)
pl = im.histogram()
plt.bar(range(256), pl[:256], color='r', alpha=0.5)
plt.bar(range(256), pl[256:2*256], color='g', alpha=0.4)
plt.bar(range(256), pl[2*256:], color='b', alpha=0.3)
plt.show()
Kép statisztika : extrema [(14, 255), (25, 255), (0, 255)] count [10880, 10880, 10880] mean [87.7640625, 128.58023897058823, 74.83492647058823] median [81, 126, 67] stddev [34.93996077890455, 30.35907345620685, 37.014709824297505]
## szin csatornák kezelése
im = Image.open(r"c:\Users\User\Documents\kepek\allat\Dsc_8596_mokus_thumbnail.jpg")
ch_r, ch_g, ch_b = im.split() # split the RGB image into 3 channels: R, G and B
# we shall use matplotlib to display the channels
plt.figure(figsize=(18,6))
plt.subplot(1,3,1); plt.imshow(ch_r, cmap=plt.cm.Reds); plt.axis('off')
plt.subplot(1,3,2); plt.imshow(ch_g, cmap=plt.cm.Greens); plt.axis('off')
plt.subplot(1,3,3); plt.imshow(ch_b, cmap=plt.cm.Blues); plt.axis('off')
plt.tight_layout()
plt.show() # show the R, G, B channels
%matplotlib inline
%pylab inline
from PIL import Image
import scipy.fftpack as fp
from scipy import fftpack
from scipy import ndimage, misc, signal
from skimage.color import rgb2gray
#im = Image.open(r"c:\Users\User\Documents\kepek\allat\Dsc_8596_mokus_thumbnail.jpg")
im = 255*rgb2gray(imread(r"c:\Users\User\Documents\kepek\allat\Dsc_8596_mokus_thumbnail.jpg"))
epsilon = 10**-6
gauss_kernel = np.outer(signal.gaussian(im.shape[0], 3),
signal.gaussian(im.shape[1], 3))
freq = fp.fft2(im)
freq_kernel = fp.fft2(fp.ifftshift(gauss_kernel)) # this is our H
convolved = freq*freq_kernel # by convolution theorem
im_blur = fp.ifft2(convolved).real
im_blur = 255 * im_blur / np.max(im_blur) # normalize
freq = fp.fft2(im_blur)
freq_kernel = 1 / (epsilon + freq_kernel) # avoid division by zero
convolved = freq*freq_kernel
im_restored = fp.ifft2(convolved).real
im_restored = 255 * im_restored / np.max(im_restored)
print(np.max(im), np.max(im_restored))
pylab.figure(figsize=(10,10))
pylab.gray()
pylab.subplot(221), pylab.imshow(im), pylab.title('Original image'), pylab.axis('off')
pylab.subplot(222), pylab.imshow(im_blur), pylab.title('Blurred image'), pylab.axis('off')
pylab.subplot(223), pylab.imshow(im_restored), pylab.title('Restored image with inverse filter'), pylab.axis('off')
pylab.subplot(224), pylab.imshow(im_restored - im), pylab.title('Diff restored & original image'), pylab.axis('off')
pylab.show()
Populating the interactive namespace from numpy and matplotlib 227.56509999999997 255.0
from skimage import color, data, restoration
im = color.rgb2gray(imread(r"c:\Users\User\Documents\kepek\allat\Dsc_8596_mokus_thumbnail.jpg"))
from scipy.signal import convolve2d as conv2
n = 7
psf = np.ones((n, n)) / n**2
im1 = conv2(im, psf, 'same')
im1 += 0.1 * im1.std() * np.random.standard_normal(im1.shape)
im2, _ = restoration.unsupervised_wiener(im1, psf)
fig, axes = pylab.subplots(nrows=1, ncols=3, figsize=(20, 4), sharex=True, sharey=True)
pylab.gray()
axes[0].imshow(im), axes[0].axis('off'), axes[0].set_title('Original image', size=20)
axes[1].imshow(im1), axes[1].axis('off'), axes[1].set_title('Noisy blurred image', size=20)
axes[2].imshow(im2), axes[2].axis('off'), axes[2].set_title('Self tuned restoration', size=20)
fig.tight_layout()
pylab.show()
## szinkép tartomány
%matplotlib inline
import numpy as np
from skimage import data, img_as_float, img_as_ubyte, exposure, io, color
def plot_image(image, title=''):
pylab.title(title, size=20), pylab.imshow(image)
pylab.axis('off') # comment this line if you want axis ticks
def plot_hist(r, g, b, title=''):
r, g, b = img_as_ubyte(r), img_as_ubyte(g), img_as_ubyte(b)
pylab.hist(np.array(r).ravel(), bins=256, range=(0, 256), color='r', alpha=0.5)
pylab.hist(np.array(g).ravel(), bins=256, range=(0, 256), color='g', alpha=0.5)
pylab.hist(np.array(b).ravel(), bins=256, range=(0, 256), color='b', alpha=0.5)
pylab.xlabel('pixel value', size=20), pylab.ylabel('frequency', size=20)
pylab.title(title, size=20)
im = Image.open(r"c:\Users\User\Documents\kepek\allat\Dsc_8596_mokus.jpg")
im_r, im_g, im_b = im.split()
pylab.style.use('ggplot')
pylab.figure(figsize=(15,5))
pylab.subplot(121), plot_image(im, 'original image')
pylab.subplot(122), plot_hist(im_r, im_g, im_b,'histogram for RGB channels')
pylab.show()
## éldetektálás
%matplotlib inline
import numpy as np
from scipy import signal, misc, ndimage
from skimage import filters, feature, img_as_float
from skimage.io import imread
im = rgb2gray(imread(r"c:\Users\User\Documents\kepek\allat\Dsc_8596_mokus.jpg"))
im = ndimage.gaussian_filter(im, 4)
im += 0.05 * np.random.random(im.shape)
edges1 = feature.canny(im)
edges2 = feature.canny(im, sigma=2)
fig, (axes1, axes2, axes3) = pylab.subplots(nrows=1, ncols=3, figsize=(30,
12), sharex=True, sharey=True)
axes1.imshow(im, cmap=pylab.cm.gray), axes1.axis('off'),
axes1.set_title('noisy image', fontsize=50)
axes2.imshow(edges1, cmap=pylab.cm.gray), axes2.axis('off')
axes2.set_title('Canny filter, $\sigma=1$', fontsize=50)
axes3.imshow(edges2, cmap=pylab.cm.gray), axes3.axis('off')
axes3.set_title('Canny filter, $\sigma=3$', fontsize=50)
fig.tight_layout()
pylab.show()
from skimage.data import astronaut
from skimage.io import imread
from skimage.color import rgb2gray
from skimage.filters import sobel
from skimage.segmentation import felzenszwalb, slic, quickshift, watershed
from skimage.segmentation import mark_boundaries, find_boundaries
from skimage.util import img_as_float
from matplotlib.colors import LinearSegmentedColormap
for imfile in [r"c:\Users\User\Documents\kepek\allat\Dsc_8596_mokus.jpg", r"c:\Users\User\Documents\mintak\jupiter\kl\ronaldo.jpg", r"c:\Users\User\Documents\mintak\jupiter\kl\messi.jpg"]:
img = img_as_float(imread(imfile)[::2, ::2, :3])
plt.figure(figsize=(20,10))
segments_fz = felzenszwalb(img, scale=100, sigma=0.5, min_size=100) #300
borders = find_boundaries(segments_fz)
unique_colors = np.unique(segments_fz.ravel())
segments_fz[borders] = -1 #len(unique_colors)
colors = [np.zeros(3)]
for color in unique_colors:
colors.append(np.mean(img[segments_fz == color], axis=0))
cm = LinearSegmentedColormap.from_list('pallete', colors, N=len(colors))
plt.subplot(121)
plt.imshow(img)
plt.title('Original', size=20)
plt.axis('off')
plt.subplot(122)
plt.imshow(segments_fz, cmap=cm)
plt.title('Segmented with Felzenszwalbs\'s method', size=20)
plt.axis('off')
plt.tight_layout()
plt.show()
## Active contour keresés
from skimage import data
from skimage.filters import gaussian
from skimage.segmentation import active_contour
img = data.astronaut()
img_gray = rgb2gray(img)
s = np.linspace(0, 2*np.pi, 400)
x = 220 + 100*np.cos(s)
y = 100 + 100*np.sin(s)
init = np.array([x, y]).T
i = 1
plt.figure(figsize=(20,20))
for max_it in [20, 30, 50, 100]:
snake = active_contour(gaussian(img_gray, 3), init, alpha=0.015, beta=10, gamma=0.001, max_iterations=max_it)
plt.subplot(2,2,i), plt.imshow(img), plt.plot(init[:, 0], init[:,
1], '--b', lw=3)
plt.plot(snake[:, 0], snake[:, 1], '-r', lw=3)
plt.axis('off'), plt.title('max_iteration=' + str(max_it), size=20)
i += 1
plt.tight_layout(), plt.show()
(None, None)